RIP路由协议具有“坏消息传播的慢”的特点。由于每台路由器不能同时或接近同时地完成路由表的更新,有可能产生“路由环路”。解决办法包括如下方面:
一: 定义最大跳计数。任何经过16跳可达的网络都被认为是不可达的。最大跳计数可以控制一个路由表项在达到多大的值后会变为无效。所以如果一个router1中有一个路由表项"192.168.10.0/24[ 120/15]",那么当这个表项传给它的邻居router2,其router2就会认为无法经过router1到达192.168.10.0/24。
二: 水平分割(Split horizen)限制router不能将信息发生回接受信息的方向。
三: 路由中毒(route poisoning)路由信息在路由表中失效的时候,把该表项的的度量值(metric)设为无穷大(16),而不是马上从路由表中删掉这条路由信息。(这句话要理解,如RIP协议中,其度量值变为16,意味着路由不可达)再将其信息发布出去,这样相邻的路由器就得知这条路由己无效了。
四: 中毒反转(poison reverse)它是指收到路由中毒消息的路由器,不遵守水平分割原则将中毒消息转发给所有的相邻路由器,也包括发送中毒信息的源路由器,也就是通告相邻路由器这条路由信息己失效了。主要目的是 达到快速收敛的目的
五: holddowns:
A holddown prevents regular update messages from reinstating a route that is going up and
down (called flapping). Typically, this happens on a serial link that’s losing connectivity and then
coming back up. If there wasn’t a way to stabilize this, the network would never converge and
that one flapping interface could bring the entire network down
!
Holddowns prevent routes from changing too rapidly by allowing time for either the downed
route to come back up or the network to stabilize somewhat before changing to the next best
route.