到此为止,R I P的基本机制和特性已经以一种相当静态的方式进行了讨论,然而通过考察这些机制如何相互作用来适应网络的拓扑变化,可以获得对R I P这些机制更深层的理解。
收敛
R I P互联网络中拓扑变化带来的最重要可能是它会改变相邻节点集,这种变化也会导致下一次计算距离向量时得到不同的结果。因此,新的相邻节点集必须得到汇聚,从不同的起始点汇聚到新拓扑结构的一致看法,得到一致性拓扑视图的过程称为收敛( c o n v e rg e n c e )。简单地讲,收敛就是路由器独立地获得对网络结构的共同看法。
图1 2 - 9显示了收敛过程;图中画出了两条可能的从路由器A和网络1 9 2 . 1 6 8 . 1 2 5到路由器D的路由。路由器D是一个网关路由器。到路由器D网络的基本路由要通过路由器C。假如这条路由器出现故障,就需要一些时间使所有的路由器收敛至新的拓扑结构,这个拓扑中不再包括路由器C和D之间的链路。
路由器C和D之间的链路出现故障,它就不再可用,但是整个网络却需要相当一段时间才能知道这一事实。收敛的第一步是D熟悉到至C的链路发生故障。这里假设路由器D的更新计时器先于C的计时器到期。因为这条链路本应传输从路由器D到路由器C的更新报文,所以C就不能收到D发送来的更新报文。C ( A和B )仍没有意识到C - D链路已经发生故障。互联网络中的所有路由器会继续通过那条链路对寻址到路由器D网络的报文进行转发。收敛的第一阶段显示在图1 2 - 1 0中。
图12-9 从路由器A到路由器D的两条可能路径
图12-10 只有路由器D意识到链路故障
一旦更新计时器超时,路由器D会试图把对网络拓扑变化的推测通知给它的相邻路由器。直接相邻者中只有路由器B能直接联系。收到更新报文, B会更新它的路由表,设置从B到D (通过C )的路由为无穷。这样答应其通过B - D的链路与D进行通信。一旦B更新了自己的路由
器,它会把关于拓扑结构的新变化广播给它的其他相邻者, A和C。
注重记住,Rip节点通过设置路由的度量为16来作废一条路由—16对RIP而言相当于无穷。
A和C一收到更新报文并重新计算了网络耗费之后,它们就能用B - D的链路来替换路由表中使用C - D链路的表项。以前所有的节点,包括B本身都不使用B - D的路由,因为它比C - D的链路耗费大。它的耗费度量为1 0,而C - D的耗费为1。现在, C - D链路发生了故障, B - D链路的耗费变为最低。因此,这条新的路由会代替相邻节点路由表中超时的路由。
当所有的路由器熟悉到通过B是到D的最有效路由时,它们就收敛了,如图1 2 - 11所示。
图12-11 路由器把B-D作为新路由
确定收敛完成之前所需的时间不轻易。它因网络不同而区别很大,这要依靠于许多因素,包括路由器和传输线路的健壮性、交通流量等等。