RIP路由协议的局限性和特点(2)
日期:2010-08-10 08:14 | 来源: 未知 | 作者: admin | 阅读: 次
路由器每30秒发送一次自己的路由表(以RIP应答的方式广播出去).针对某一条路由信息,如果180秒以后都没有接收到新的关于它的路由信息,那么将其标记为失效,即metric值标记为16.在另外的120秒以后,如果仍然没有更新信息,该条失效信息被删除.
2)RIP版本1对RIP报文中"版本"字段的处理:
0:忽略该报文.
1:版本1报文,检查报文中"必须为0"的字段,若不符合规定,忽略该报文.
1:不检查报文中"必须为0"的字段,仅处理RFC 1058中规定的有意义的字段.因此,运行RIP版本1的机器能够接收处理RIP版本2的报文,但会丢失其中的RIP版本2新规定的那些信息.
(3)RIP路由协议版本1对地址的处理
RIP版本1不能识别子网网络地址,因为在其传送的路由更新报文中不包含子网掩码,因此RIP路由信息要么是主机地址,用于点对点链路的路由;要么是A、B、C类网络地址,用于以太网等的路由;另外,还可以是0.0.0.0,即缺省路由信息.
(4)计数到无穷大(Counting to Infinity)
前面在RIP的局限性一部分提到了可能出现的计数到无穷大的现象,下面就来分析一下该现象的产生原因与过程.考察下面的简单网络:
c(目的网络)----router A------router B
在正常情况下,对于目标网络,A路由器的metric值为1,B路由器的metric值为2.当目标网络与A路由器之间的链路发生故障而断掉以后:
c(目的网络)--||--router A------router B
A路由器会将针对目标网络C的路由表项的metric值置为16,即标记为目标网络不可达,并准备在每30秒进行一次的路由表更新中发送出去,如果在这条信息还未发出的时候,A路由器收到了来自B的路由更新报文,而B中包含着关于C的metric为2的路由信息,根据前面提到的路由更新方法,路由器A会错误的认为有一条通过B路由器的路径可以到达目标网络C,从而更新其路由表,将对于目标网络C的路由表项的metric值由16改为3,而对于的端口变为与B路由器相连接的端口.很明显,A会将该条信息发给B,B将无条件更新其路由表,将metric改为4;该条信息又从B发向A,A将metric改为5……最后双发的路由表关于目标网络C的metric值都变为16,此时,才真正得到了正确的路由信息.这种现象称为"计数到无穷大"现象,虽然最终完成了收敛,但是收敛速度很慢,而且浪费了网络资源来发送这些循环的分组.
另外,从这里我们也可以看出,metric值的最大值的选择实际上存在着矛盾,如果选得太小,那么适用的网络规模太小;如果选得过大,那么在出现计数到无穷大现象的时候收敛时间会变得很长.