实验内容:静态路由和默认路由的配置
实验环境:Cisco Packet Tracer模拟器
实验原理:
路由协议是路由器软件中的重要组成部分。
路由器为互联的网络之间选择最佳的通信路都是通过这些路由协议来完成的。
路由协议的作用还在于建立以及维护路由表。
路由表用于为每个IP包选择输出端口或下一跳地址。
路由器在没有配置路由时,只能实现与它直连的网络间的通信,为了实现在更大范围的网络间通信,需要进行路由配置,路由包括静态路由、默认路由和动态路由几类。
1、静态路由
是一种由网管手工配置的路由路径,网管必需了解路由器的拓扑连接,通过手工方式指定路由路径,而且在网络拓扑发生变动时,也需要网管手工修改路由路径。
2、默认路由
也是一种由网管手工配置的路由路径,它使路由器把所有地址不能识别的数据包通过指定的路径发送出去,由其它路由器进行处理。默认路由可看作是静态路由的特例,而且维护代价较低。
3、动态路由
是一种通过某种路由协议,由路由器自学习到的路由,它不需要手工配置,而且可自动随着网络环境的变化而变化,维护代价很低,特别适合大范围的路由。
关键命令
本实验的关键命令:
模式
|
命令
|
功能
|
(config)# | ip route address subnet-mask address | 设置静态路由 |
(config)# | no ip route address subnet-mask address | 删除静态路由 |
(config)# | ip route 0.0.0.0 0.0.0.0 address | 设置默认路由 |
(config)# | no ip route 0.0.0.0 0.0.0.0 address | 删除默认路由 |
# | show ip route | 查看路由表 |
# | show ip interface brief | 查看端口简表 |
下面是静态路由 的配置:
首先根据拓扑图配置路由器的以太网接口。
配置好后,开始测试路由器间的连通性。
首先从 R1 路由器 ping 路由器 R2 和 R3
ping 路由器 R2
Router#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/20/20 ms
Ping 路由器 R3
Router#ping 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
从 R0 到 R1 的 192.168.1.1 端口是跨网段的 ping, 没有 ping 通。
查看下路由表
Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, FastEthernet0/0
!此时能从 R0 发送 ICMP 报文到 R2, 而 R2 却不能发送 ICMP 报文到 R0 。
原因是 R 2 上还没有发往 R0 的路由信息。用 debug ip packet 和 debug ip icmp 命令来监视 IP 包和 ICMP 包的传输情况。(监视完后可以用 undebug all 命令关闭 debug)
Router#debug ip packet
Packet debugging is on
Router#
IP: tableid=0, s=10.1.1.2 (FastEthernet0/0), d=192.168.1.2 (FastEthernet0/0), routed via RIB
IP: s=10.1.1.2 (FastEthernet0/0), d=192.168.1.2 (FastEthernet0/0), len 28, rcvd 3
IP: s=192.168.1.2 (local), d=10.1.1.2 len 28, unroutable
结果得到了验证。
此时需要在 R2 上加入发往 R0 网段数据包的路由信息
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 10.1.1.0 255.255.255.0 192.168.1.1
Router(config)#end
Router#show ip route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
S 10.1.1.0 [1/0] via 192.168.1.1
C 192.168.1.0/24 is directly connected, FastEthernet0/0
这样就可以实现路由器 R 0 到 R2 之间的连通性,相互可以 ping 通了。
Router#ping 10.1.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/42/50 ms
下面进行默认路由的配置:
按以上拓扑搭建好实验环境
现在用PC01去ping PC02,是ping不同的,原因是之间没有路由。
那我们就来配置默认路由
Router#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.2
Router>enable
Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 192.168.2.2 to network 0.0.0.0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
S* 0.0.0.0/0 [1/0] via 192.168.2.2
从以上路由信息,我们可以看到默认路由信息 S* 0.0.0.0/0 [1/0] via 192.168.2.2
当pc01 ping pc02的时候,icmp包到达路由器R0,路由器R0没有静态或动态路由表,不知道如何转发,路由器R0就根据默认路由器给出的下一跳地址,将不能识别的数据包转发给下一跳地址192.168.2.2,
路由器R2接收后,发现目的地址就与自己直接相连,就转发给目的地。现在Pc01能给PC02发数据包了,可是PC02还不能给PC01发送数据包啊。
那是因为PC02 ping PC01的时候,也需要个路由。
那我们就在路由器R1上也配上相应的默认路由
Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.1
现在我们在PC01上ping PC02,ping通了,实验完成。