取消
显示结果 
搜索替代 
您的意思是: 
cancel
714
查看次数
1
有帮助
0
回复

【原创】路由选路时选择了静态路由而不是直连路由,为什么呢?

Classy Lily
Level 1
Level 1

ClassyLily_0-1685371155224.png

 

我们首先看 路由Router38 路由表信息:

 

 

 

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

C    188.88.0.0/16 is directly connected, FastEthernet0/1
C    200.24.16.0/20 is directly connected, FastEthernet0/0

 

 

 

从倒数第一行可以看出:200.24.16.0/20是直连路由。观察到出接口是路由Router38的Fa0/0接口

此时,我们为路由Router38新增一条静态路由:

 

 

 

Router(config)#ip route 200.24.24.0 255.255.254.0 200.24.16.1

Router(config)#

 

 

 

那就是目的网段200.24.24.0/23,下一跳为200.24.16.1,观察到出接口也是路由Router38的Fa0/0接口

我们思考一下:这个静态路由,目的网段能成功被加入到路由Router38的路由表上吗?

答:因为目的网段200.24.24.0/23是静态路由,走的是Fa0/0出接口。但同时存在200.24.16.0/20是直连路由, 走的也是Fa0/0出接口。①在直连路由比静态路由更优先。②直连(200.24.16.0/20)是一个大范围的网段,包含了静态(200.24.24.0/23)的所有网段。

所以目的网段200.24.24.0/23静态路由加表失败,意味着不能够写入路由表。我使用华为模拟器ENSP测试过了,确实不能加入路由表,华为模拟器中把这条路由定为Inactive。

但震惊的是:思科模拟器却能成功加表,并且能起作用。这个是为什么??以下是分析和证明过程:

以下是思科模拟器对于路由Router38的路由表显示

 

 

 

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

C    188.88.0.0/16 is directly connected, FastEthernet0/1
C    200.24.16.0/20 is directly connected, FastEthernet0/0
S    200.24.24.0/23 [1/0] via 200.24.16.1

Router#

 

 

 

倒数第一行是静态路由,倒数第二行是直连路由。

思科里面有Simulation,可以看到报文的具体过程和路径,我是这样分析报文走直连还是走静态,请您指教:

第一步:计算机PC9 的IP地址时188.88.88.2,让这台计算机ping 200.24.24.5时,观察路由Router38在处理200.24.24.0网段时,报文的路径是怎样的?

 

第二步:我们猜想,如果路由Router38在处理200.24.24.0网段走的是直连路由,不走静态路由,那么在路由Router38本地ARP缓存没有mac情况下,路由Router38会广播发出ARP请求,寻找200.24.24.5的mac地址,报文信息将会是ARP类型的。如果路由Router38在处理200.24.24.0网段走的是静态路由,不走直连路由,报文会直接到达路由Router 43的Gig0/1进接口。

第三步:从Simulation看出报文从计算机PC9出发,到了路由Router 38 ,再到了路由Router 43

具体报文详情如下图:

 

333.png

从图中数据链路层的MAC地址走向看出,从路由Router38的Fa0/0端口 到了 路由器Router43的Gig 0/1端口.说明静态路由是有效的。

从图中红色划线看出,这是ICMP类型的信息,不是ARP信息。

因此说明路由Router38在处理200.24.24.0网段走的是静态路由,不走直连路由,这一点为什么和华为模拟器不一样呢??难道确定最优路由的方法两种模拟器不一样吗?

最后我再做了一个实验,删除静态路由(200.24.24.0/23,下一跳为200.24.16.1),保留直连路由(200.24.16.0/20)。

第一步:计算机PC9 的IP地址时188.88.88.2,让这台计算机ping 200.24.24.9时,观察路由Router38在处理200.24.24.0网段时,报文使用直连路由的情况。

ClassyLily_3-1685374695592.png

 

 

第二步:此时路由Router38发出ARP请求,寻找200.24.24.9对应的mac地址,但没想到ARP响应包却记录了路由Router43的Gig0/1的mac地址,于是将其返回,路由Router38收到ARP响应包后,写入ARP表, 数据报下一次就直接通过ICMP的模式把数据包从路由Router38发往路由Router43。这就完全想不通了。如果在华为模拟器ENSP上,路由Router38发出ARP请求,寻找200.24.24.9对应的mac地址,结果一直没有找到200.24.24.9,后来超时了,不可能到达Router43。而这个思科模拟器的ARP响应包却记录了路由Router43的Gig0/1的mac地址,并返回,使得下一次数据包需要访问200.24.24.9时,直接通过ICMP类型到达了Router43。这也说明思科模拟器和华为模拟器的区别??

 

请教一下各位技术大神,对我以上的标红文字有什么什么评论和相关解答,谢谢。

 

 

 

 

0 条回复0
快捷链接