RIP协议的简介
RIP = Routing Information Protocol 路由信息协议,它是一种内部网关协议(IGP),用于一个自治系统(AS)内的路由信息的传递。RIP协议是基于距离矢量算法(Distance Vector Algorithms)的,它使用"跳数",即metric来衡量到达目标地址的路由距离。
RIP协议分类的最新日记
路由器最初启动时只包含了其直连网络的路由信息,并且其直连网络的metric值为1,然后它向周围的其他路由器发出完整路由表的RIP请求(该请求报文的"IP地址"字段为0.0.0.0)。路由器根据接收到的RIP应答来更新其路由表,具体方法是添加新的路由表项,并将其 metric值加1。如果接收到与已有表项的目的地址相同的路由信息,则分下面三种情况分别对待:第一种情况,已有表项的来源端口与新表项的来源端口相同,那么无条件根据最新的路由信息更新其路由表;第二种情况,已有表项与新表项来源于不同的端口,那么比较它们的metric值,将metric值较小的一个最为自己的路由表项;第三种情况,新旧表项的metric值相等,普遍的处理方法是保留旧的表项。
RIP协议产生路由环路的原因:
路由器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,此时,才真正得到了正确的路由信息。这种现象称为"计数到无穷大"现象,虽然最终完成了收敛,但是收敛速度很慢,而且浪费了网络资源来发送这些循环的分组。
路由器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,此时,才真正得到了正确的路由信息。这种现象称为"计数到无穷大"现象,虽然最终完成了收敛,但是收敛速度很慢,而且浪费了网络资源来发送这些循环的分组。
RIP中一共使用了4个定时器:update timer, timeout timer, garbage timer, holddown timer。
