RIP协议-中兴( 二 )


RIP规定 , 网关每30秒向外广播一个V-D报文 , 报文信息来自本地路由表 。RIP协议的V-D报文中 , 其距离以驿站计:与信宿网络直接相连的网关规定为一个驿站 , 相隔一个网关则为两个驿站……依次类推 。一条路径的距离为该路径(从信源机到信宿机)上的网关数 。为防止寻径回路的长期存在 , RIP规定 , 长度为16的路径为无限长路径 , 即不存在路径 。所以一条有限的路径长度不得超过15 。正是这一规定限制了RIP的使用范围 , 使RIP局限于小型的局域网点中 。
对于相同开销路径的处理是采用先入为主的原则 。在具体的应用中 , 可能会出现这种情况 , 去往相同网络有若干条相同距离的路径 。在这种情况下 , 无论哪个网关的路径广播报文先到 , 就采用谁的路径 。直到该路径失败或被新的更短的路径来代替 。
RIP协议对过时路径的处理是采用了两个定时器;超时计时器和垃圾收集计时器 。所有机器对路由表中的每个项目对设置两个计时器 。每增加一个新表 , 就相应的增加两个计时器 。当新的路由被安装到路由表中时 , 超时计时器被初始化为0 , 并开始计数 。每当收到包含路由的RIP消息 , 超时计时器就被重新设置为0 。假如在180秒内没有接收到包含该路由的RIP消息 , 该路由的度量就被设置为16 , 而启动该路由的垃圾收集计时器 。假如120秒过去了 , 也没有收到该路由的RIP消息 , 该路由就从路由表中删除 。假如在垃圾收集计时器到120秒之前 , 收到了包含路由的消息 , 计时器被清0 。而路由被安装到路由表中 。
慢收敛的问题及其解决的方法 。包括RIP在内的V-D算法路径刷新协议 , 都有一个严重的缺陷 , 即“慢收敛”(slow convergence)问题 。又叫“计数到无穷”(count to infinity) 。假如出现环路 , 直到路径长度达到16 , 也就是说要经过7番往返(至少30X7秒) , 路径回路才能被解除 , 这就是所谓的慢收敛问题 。采用的方法有很多种 , 主要采用有分割范围(split horizon)法和带触发更新的毒性逆转(Posion Reverse with Triggered updates))法 。分割范围法的原理是:当网关从某个网络接口发送RIP路径刷新报文时 , 其中不能包含从该接口获得的路径信息 。毒性逆转法的原理是:某路径崩溃后 , 最早广播此路径的网关将原路径继续保存在若干刷新报文中 , 但是指明路径为无限长 。为了加强毒性逆转的效果 , 最好同时使用触发更新技术:一旦检测到路径崩溃 , 立即广播路径刷新报文 , 而不必等待下一个广播周期 。
3.RIP报文的格式对于RIP报文有两种版本的格式 , Version 1和Version 2 。两种报文稍有不同 , 如图1所示:

图1 RIP报文格式
命令字段的值的范围是从1到5 , 但只有1和2是正式的值 。命令码1标识一个请求报文 , 命令码2标识一个相应报文 。RIP是一个基于UDP协议的 , 所以受UDP报文的限制一个RIP的数据包不能超过512字节 。两个版本都包含一个地址族 , 对于IP地址该字段的值为2 , 后面是一个IP地址和它的度量值(站点计数) 。这些通告字段可重复25次 。
路由选择域:与该报文相关的路由选择守护进程的标识符 。在UNIX系统中 , 该字段是一个进程的标识符 。一台机器通过使用路由选择域 , 就可以同时运行多个RIP 。
路径标签:若干RIP支持外部网关协议(EGP) , 该字段包含一个自治系统号 。
子网掩码:该字段与报文中的IP地址相关 。
下一站的IP地址:假如该字段为0 , 则表明数据报应当发送到正在发送该RIP报文的机器 , 否则 , 该字段包含一个IP地址 , 指明应将数据报发往何处 。

推荐阅读