行业新闻

RIP协议之距离向量算法的具体描述

时间:2019-11-28 11:05 作者:admin 分享到:
         距离向量算法的具体描述如下:
         (l ) 接收相邻路由器发送过来的路由信息。接收到的路由表中每一个项目都有 3 个关键数据,即:到目的网络 N , 距离是d , 下一跳路由器是 X。
        ( 2 ) 对地址为X 的相邻路由器发来的  RIP报文,先修改此报文中的所有项目。将“下一跳” 字段中的地址都改为 X , 并把所有的"距离” 字段的值加 1。
       ( 3 ) 对修改后的 RIP 报文中的每一个项目,执行以下操作:
       CD 若本路由器的路由表中没有目的网络 N , 则 把该项目添加到路由表中,然后执行步骤( 4 ) ;
       a、若下一跳路由器地址是X , 则把收到的项目替换本路由器原路由表中的项目,然后执行步骤( 4 ) ;
       b、若收到的项目中的距离d 小千路由表中的距离 ,则 进行更新 ,然后执行步骤( 4 ) ;
       c、 执行步骤( 4 ) 。
       ( 4 ) 若 3min 还没有收到相邻路由器的更新路由表,则把到此相邻路由器的距离置为 16 , 即标记为不可到达。
       ( 5 ) 返回。
      下面用一个简单的例子来说明 RIP 协议中路由表的更新过程。
如图 一 所示为一个自治系统的一部分,这里只标识出 4 个路由器( R1  、 R2、R 3 、R4 )和 4 个网络( A 、B、C、D ) ' 虚线部分表示该自治系统还有多 个路由器和链路。
图 一        一个自治系统的一部分
       每个路由器都维护有自己的路由表。表 一为路由器 凡 的当前路由表。从表中可以看出第1 列为路由器 R2 所要到达的目的子网,第 2 列为到达目的子网所需的(最短)距离,最后一列为沿此最短路径的下一跳路由器地址。
       现在假定 30s 以后,路 由器 R2 接收到来自路由器 凡 的通告,见表 二。路由器凡 首先把表二 中的距离都加1'  并把下一跳路由器都改为 R1   , 见表三。

                                                                                                          表 一 路由器 R2 的当前路由表                                                  表二 来自路由器R1 的通告
      路由器R2将表 三 的每一行与自身的路由表(表一 ) 进行比较。表 三 的第 1 项在表 一 中有,且下一跳路由器也是 R, , 因此需要用收到的项目替换原项目。第 2 项、第3 项和第 4 项在表 一 中也有,但下一跳路由器不同,于是需要进行距离比较。对千第 2 项和第3 项,由于 2 > 1 , 4 > 2 , 因此不需要更新。而对于第4 项,由于 6 > 5 , 因此将该项的距离更新为 5 , 下一跳路由器更新为R1。更新后 R2的路由表见表四。
                                                                                                        表 三    修改后的路由表                                                           表 四 路由器 凡 更新后的路由表
       在 RIP 中,相邻路由器之间通过 RIP 报文来进行路由表的交换。目前 RIP 主要存在两个版本,其中较新的 RIP 版本为 1998 年 11 月公布的 RIP2。新版本较旧版本而言增加了对变长子网掩码和CIDR 的支持。RIP 使用用户数据报UDP 协议进行传送。RIP2 的分组格式如图二所示。
       从图 二 中可以看出,RIP 报文由首部 和路由部分组成。RIP 的首部占 4 个字节,其中的命令字段指出报文的意义。其中 1 表示请求路由信息 ,2   表示对请求路由信息的响应或未被请求而发出的路由更新报文。” 为 O" 字段的目的是填充 0 以保证4 字节字对齐。
       RIP  报文中的路由 部分由若干个路由信息组成。每个路由信息的长度为 20 个字节。地址族标识符(地址类别)字段用来标识所使用的地址协议。设置此字段是考虑到 RIP 也可用于其他非 TCP / IP 协议集。路由标记填入自治系统号( Au­ tonomous Sys tem  Number , ASN) , 这是考虑使 RIP 有可能收 到本自治系统以外的路由选择信息。再后面是路由表项的核心信息   ,包括网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离。
图 二     RIP2 的分组格 式
一个 RIP 报文最多可包括 25 个路由,因此 RIP 报文的最大长度为 4 +20x25 =
504  字节。如果路由器的路由表超过了这个长度,必须再 用 一个 RIP 报文来发送。虽然 RIP 协议具有实现简单的优点,但其 缺点也是显而易见的。
(1  )  当网络出现故障时,要经过比较长的时间才能将故障信息传送到所有的路由器。我们用一个的简单例子来说明。如图 3.  18 所示,设 3 个 网 络 通过两个路由器互连起来,并 且 都 已建立了各自的路由表。图中路由器 凡 中的" 1 , 1 , 直接” 表 示”到网络 l 的距离是 1'   直 接交付"。路由器 R2   中 的 "  1  , 2 , R1   "  表  示  ”到  网 络  l的 距 离是 2 , 下 一 跳路 由器为 R1。
图 三   RIP 故障信息传播
       假定路由器 凡 到网络 l 的链路出了故障,凡 无法到达网络 l 。千是路由器凡 将到网络 l 的距离改为16( 即不可到达),因而在 凡 的路由表中的相应项目变为" 1 , 16 直 接"。然而,如前所述,路由器是按一定的时间间隔互相交换路由表的, 在凡 把故障更新信息发送给 R2 之前,R2 就可能已经先把自己的路由表发送给了
R1, 其中包含了" 1 , 2 , R1  "  这一项。
       凡 收到民 的更新报文后,误认为可经过 R2 到达网 1' 千是把现有的" 1 , 16, 直接” 更新为" 1 , 3 , R2     "  , 表明” 到网络 l  的距离是 3 , 下一跳为 R2 "  , 并把更新后的信息发送给凡。同理,凡 接着又更新自己的路由表为 " 1 , 4 , R 1。这样的更新一直待续下去,直到 R1 和R2 到网 l 的距离都增大到 16 时,R1和 R2最终才知道网络是不可达的。因此,在基于 RIP  协议的网络中,网络故障往往需要较长的时间才能够传递到每一个路由器。
        (1) RIP  不能在两个网络之间同时使用多条路由。RIP   总是选择一条具有最少路由器的理由,即使还存在另一条高速但路由器较多的路由。
        (2)   RIP  允许一条路径最多只能包含15 个路由器,距离等于 16  时相当于“不可到达” 。
       综上所述,RIP 只适用于较小规模的网络中 。

版权所有:融合通信:http://www.alloll.com 转载请注明出处

融合通信行业案例SUCCESS CASE