首页 理论教育 水平分割导致路由表更新丢失

水平分割导致路由表更新丢失

时间:2023-11-17 理论教育 版权反馈
【摘要】:当路由器B经过30 s,需要定时广播或组播更新报文时,如果接口S2/0启动了水平分割,那么不会从该接口发送包含“1.1.1.0/24”的路由表条目,在没有启动水平分割的情况下则要发送。图9-4RIP水平分割图例路由器A的配置:路由器B的配置:锐捷路由器所有接口默认开启了RIP水平分割功能。在路由器B的S2/0接口关闭RIP水平分割功能。再次查看路由更新内容,包括“1.1.1.0/24”的路由表条目。

水平分割导致路由表更新丢失

水平分割是指路由器从某个接口收到的路由更新报文不能够再从这个接口发出去。图9-4中,路由器B将从S2/0接口收到关于“1.1.1.0/24”的路由更新报文,所以路由器B就知道该网段的存在,如果有数据需要转发到该网段就把数据交给路由器A处理。当路由器B经过30 s,需要定时广播或组播更新报文时,如果接口S2/0启动了水平分割,那么不会从该接口发送包含“1.1.1.0/24”的路由表条目,在没有启动水平分割的情况下则要发送。

如图9-4所示连接设备并配置路由器的接口IP地址,完成后使用下列指令配置RIP协议。

图9-4 RIP水平分割图例

路由器A的配置:

路由器B的配置:

锐捷路由器所有接口默认开启了RIP水平分割功能。在开启的情况下查看路由更新内容,不包括“1.1.1.0/24”的路由表条目。

在路由器B的S2/0接口关闭RIP水平分割功能。再次查看路由更新内容,包括“1.1.1.0/24”的路由表条目。

关闭水平分割可能会带来一些问题,为了便于说明,将路由器A和路由器B的S2/0接口上的水平分割功能都关闭。下面代码关闭路由器A的S2/0接口上的水平分割。

(www.xing528.com)

当两台路由器上的路由表稳定后,将路由器A的S2/0端口配置为被动接口,然后断开路由器上的“1.1.1.0/24”网络。

断开路由器上的“1.1.1.0/24”网络将引起触发更新,路由器A不用等待30 s的超时计时器,立即发出针对“1.1.1.0/24”的路由更新,但是由于S2/0端口已经配置为被动接口,不能发出路由更新报文,所以,这个消息路由器B不会收到。而当路由器B定时发出更新报文时,包含了“1.1.1.0/24”的路由更新(经过1跳可以达到),经过路由器A的被动接口,路由器A能够收到。现在路由器A本身已经没有了与自身直连的“1.1.1.0/24”的信息,它以为路由器B能通往“1.1.1.0/24”,所以就无选择地接受路由器B发来的更新报文,认为通过路由器B可以2跳到达。

此时路由器A上的路由表如下。

将路由器A上S2/0端口配置的被动接口取消,路由器A下次更新时会将“1.1.1.0/24”条目的路由更新信息发送给路由器B,根据RIP路由更新原则,当路由器B的路由表中已经存在该条路由条目,并且收到的路由更新与原路由条目中的下一跳地址相同时,将无条件接受路由器A的更新报文,不论度量值会不会增加,即跳数会不会增加。因此,路由器B将更新自己的路由表,记录达到“1.1.1.0/24”需要3跳,下一跳地址是路由器A。在路由器B上查看路由表,度量值为3。

路由器A上取消被动接口:

路由器B上查看路由表:

同理,路由器A上再次查看路由表,路由器A也会接受路由器B发来的更新,因为路由器A上记录下一跳地址是路由器B,路由器A上变为4跳。

如此这样的路由更新报文不断循环下去,最终跳数达到无穷大,RIP认为16跳为无效路由,然后从路由表中删除。这样不仅会消耗带宽,也会使数据包误以为失效的网络依然存在。

上面的实验利用被动接口构造出当一个网络失效后的更新报文晚于其他路由器针对此网络的更新报文发送的情况。在实际应用中可能会因为CPU繁忙,链路拥塞等原因造成这样的情况。启用水平分割后,从一个端口接收到的路由更新不会再从此接口发出,就可以避免产生这样的路由环路。默认情况下,路由器上都启用了水平分割。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈