距离向量算法(RIP协议)

距离向量路由算法要求,每个结点都参与定期交换整个路由表,即把路由表传递给自己与之相连的结点。
首先,当前路由表的组成如下,<目的网络 N,跳数,下一跳地址>

RIP算法执行步骤

  1. 从相邻的X路由器接收发送过来的RIP报文。
  2. 讲该RIP报文的下一条地址改为X,且跳数(距离)加1。
  3. 对每个项目执行如下步骤:
    a.若原路由表没有 RIP 中的目的网络 N,直接添加到原路由表中
    b.若原路由表中有 RIP 中的目的网络 N,但下一跳地址不是 X ,选择跳数少的替换。如果两者跳数一样,则保留原路由表的项。
    c.若原路由表中有 RIP 中的目的网络 N,且下一跳地址是 X,使用收到的项替换
  4. 若超过 180s (RIP 默认 180s)还没有收到相邻路由器的更新路由表,则相邻路由器置为不可达,跳数为 16

实例1

如下,有 B,C 两个路由器的路由表。B,C 为相邻路由器,现在 C 向 B 发送 RIP 报文,求 B 更新后的路由表

B的路由表

目的网络 距离 下一条
N1 7 A
N2 2 C
N6 8 F
N8 4 E
N9 4 D

C 的 RIP 报文中的路由表

目的网络 距离
N2 15
N3 2
N4 8
N8 2
N7 4

解:

1.将RIP报文的下一跳地址改为C且跳数增加1

目的网络 距离 下一跳
N2 16 C
N3 3 C
N4 9 C
N8 3 C
N7 5 C

2.与原路由表(B 的路由表)比较并更新
a. 因为 C 路由表中并无关于 N1,N6 和 N9 的信息,所以原路由表保存不变
b.对于 N2,目的网络一样,下一跳地址一样(同为 C),所以更新跳数为 16
c.对于 N3,因为原路由表中无该项,所以直接添加。N4 和 N7 同理添加
d.对于 N8,目的网络一样,但下一跳不一样,选择距离短(跳数少的添加),所以更新为 C 路由表的信息。

更新后的B路由表

目的网络 距离 下一跳
N1 7 A
N2 16 C
N3 3 C
N4 9 C
N6 8 F
N7 5 C
N8 3 C
N9 4 D
原文地址:https://www.cnblogs.com/hzcya1995/p/13308084.html