实验背景:
三台路由器都已收敛完毕之后,10.4.0.0网段无意中被down掉。
过程分析:
1.10.4.0.0网段无意中被down掉之后,对于路由器C来说,网路拓扑发生了变化,在路由器C没有到达更新计时器30S之前,路由器B会更新路由器C的路由表,更新完之后,在路由器C的路由表中,网段10.4.0.0的跳数就变成了2跳;
2.然后,路由器C会向他的邻居路由器B发送更新信息,因此,路由器B的路由表更新完成只有,在路由器B的路由表中的10.4.0.0就变成了3跳;
3.接着,路由器B会继续向他的邻居路由器A和路由器C发送更新信息,在路由器A的路由表中的10.4.0.0就变成了4跳,在路由器B的路由表中的10.4.0.0也变成了4跳;
4.再接着,路由器C再向路由器B发送更新信息,在路由器B的路由表中的10.4.0.0就变成了5跳
. . . . . .
5.一直循环下去,在路由器B和路由器C之间,就形成了路由回环现象。
但是路由回环现象并不一定会造成网络瘫痪,比如,路由器B到路由器C之间的带宽是10M的,路由回环带来的数据只有十几K,这相对于10M的带宽来说,几乎没有什么影响。
解决路由回环的方法:
1.水平分割:从某个接口接收到的路由不会再从这个接口回传。
比如:路由器B是从S1的接口接收到的更新,当10.4.0.0的更新到达路由器B后,路由器B并不会在通过S1向路由器C发送路由更新。
2.毒性逆转:从某个接口收到路由后,将该路由的度量值设为无穷大(16)并从原接口发回邻居路由器。比如:路由器B是从S1的接口接收到的更新,当10.4.0.0的更新到达路由器B后,路由器B会把该路由(10.4.0.0)的度量值设为无穷大(16)并从原接口发回邻居路由器。
3.抑制计时器:当一条路由的度量值为无穷大时,该路由将会进入到抑制列表,在被抑制的状态下,只有同一邻居且度量值小于无穷大的路由更新才会被路由器接收。比如:路由器C是通过E0接口得到的10.4.0.0的信息,但是它接收路由器B的路由信息是通过S0接口得到的,并不是同一邻居的路由更新,所以,路由器C不会接收。
4.触发更新:当路由表中的路由信息发生变化时,路由器不用等到更新周期的到来,就立即发送路由更新给邻居路由器(路由更新中包含不可达的信息迅速传遍全网)
5.最大跳数:rip最大只能15跳,第16跳为无效路由。