路由信息协议RIP是第一个实现动态选路的路由协议,该协议是基于本地网络的矢量距离算法实现的。RIPv1由RFC1058定义,RIPv2由RFC1723定义。ZXR10 5960全面支持RIPv1和RIPv2,缺省使用RIPv2。RIPv2相比RIPv1有以下主要优点:
• 支持路由选择刷新中带有子网掩码
• 支持路由选择刷新的认证
• 支持组播路由刷新
以下将主要介绍RIPv2,除非特别指定,否则RIP指的就是RIPv2。
• 度量值和管理距离
RIP使用用户数据报文协议UDP包(端口号520)来交换RIP路由信息。RIP报文中的路由信息包含了路由所经过的路由器的数量,即跳数,路由器根据跳数决定到目的网络的路由。
RFC规定最大跳数不得大于16,因此,RIP仅适用于规模较小的网络。如果跳数为16则表示是无限远的距离,代表了不可达的路由,这也是RIP识别和防止路由环的一种方法。
RIP在选路时仅以跳数作为度量值,不考虑带宽、时延或其他可变因素。RIP总是把跳数最小的路径作为优选路径,有时这会导致所选路径不是最佳。
RIP的默认管理距离AD的值为120。对AD而言,值越低,路由选择来源的可信度越高。与其他路由选择协议相比,RIP并不十分可靠。
• 定时器
RIP提供以下四种定时器:
→ 刷新定时器(Update timer)
运行RIP的交换机每隔一定的时间间隔(默认为30秒)发送一次路由信息的更新报文,反映了该交换机所有的路由信息,这个过程称为路由信息通告。
→ 失效定时器(Invalid timer)
如果一个交换机在一段时间内(默认为180秒)未能从另一个交换机收到更新信息,则会将该交换机提供的路由标记为不可用路由。
→ 保持定时器(Holddown timer)
当交换机得知路由无效后,交换机将进入holddown状态,默认时间是180秒。如果在这180秒里,交换机接收到路由更新或者超过180秒,保持计时器停止计时。
→ 清除定时器(Flush Timer)
如果经过一段时间(默认为240秒)还是未能得到更新,交换机将从路由表中彻底清除该路由。
• 路由更新
RIP协议使用触发更新来加快路由变化在RIP路由域中的扩散。当一个RIP路由器检测到某个接口正在或已经停止工作,某个相邻节点瘫痪了,或者是一个新的子网或邻居节点加入进来,这时RIP将发送一个触发更新。触发更新报文只包括变化了的路由。
RIP协议使用毒性逆转来加速协议的收敛。毒性逆转将那些不可达的网络前缀的度量设置为16(表示不可达),收到此度量的路由更新后,交换机会抛弃该路由,而不是等待其到达老化时间。
RIP使用水平分割来防止产生路由环路和减少路由更新的大小。水平分割是指在收到某个路由更新的接口上不再重复发送这些更新信息。
RIP工作原理 >>
RIP协议定义了两种消息类型:请求消息和响应消息。请求消息用来向邻居交换机发送一个更新,响应消息用来传送路由更新。
-
RIP启动时的初始路由表仅包含本路由器的一些直连接口路由,RIP协议启动后向各接口发送Request报文。
-
邻居路由器从某接口收到Request报文后,将形成包含其路由表的Response报文,发送到该接口对应的网络。
-
接收到邻居路由器的Response报文后,形成自己的路由表,并将收到的路由Metric加1,下一跳设置为邻居路由器地址。
-
路由器定时(默认为30秒)用Response报文发送自己的路由表。
-
收到邻居发送来的Response报文后,RIP协议计算报文中路由的度量值,比较其与本地路由表中路由项度量值的差别,更新自己的路由表;如收到路由的Metric为16,或路由超时没有更新(默认为180秒),则置Metric=16,表示该路由失效。
-
继续向周围发送,通知邻居此路由失效。
-
某路由项的度量值变为不可达后,以该度量值在Response报文中发布四次(120秒),之后删除这个路由。
来源:CSDN
作者:永远的烟火
链接:https://blog.csdn.net/sinat_27180563/article/details/103634177