RIP是一种基于距离向量的分布式路由选择协议。每个路由器都要不断地仅与相邻的路由器交换路由表。路由表的主要信息就是:到某个网络的最短距离,以及经过的下一跳地址。这种更新算法又称为距离向量算法。
距离向量算法
对每一个相邻路由发送过来的RIP报文,进行一下步骤:
- 对于相邻路由X发来的RIP报文,先修改此报文中的所有项目,到目的网络的距离+1,下一跳地址为X。
- 将修改后的路由表与当前的路由表进行对比:
(1)如果原来的路由表中没有网络N,则把该项目添加到当前路由表中。
(2)否则(即原来的路由表中有N,这时候看下一跳路由地址):
- 如果当前表中下一跳路由地址是X,则直接把这条项目加入到表中。因为这是最新的消息,要以最新的消息为准
- 如果当前路由表中的下一跳地址不为X,则要比较距离,若项目中的距离小于路由表中的距离,则进行更新。
(3)若3min后还没有收到相邻路由的更新路由表,则把此路由器记录为不可达的路由器,把距离设置为16.
(4)返回。
例题
表1为当前路由器R6的路由表,现在收到了相邻路由R4发来的更新路由表,如表2,请更新R6的路由表
| 目的网络 | 距离 | 下一跳路由器地址 |
|---|---|---|
| Net2 | 3 | R4 |
| Net3 | 4 | R5 |
| … | … | … |
| 目的网络 | 距离 | 下一跳路由地址 |
|---|---|---|
| Net1 | 3 | R1 |
| Net2 | 4 | R2 |
| Net3 | 1 | 直接交付 |
解题
(1)将表2进行修改
| 目的网络 | 距离 | 下一跳路由地址 |
|---|---|---|
| Net1 | 4 | R4 |
| Net2 | 5 | R4 |
| Net3 | 2 | R4 |
(2) 将这个表与表1进行比较:
Net1没有,需要加进去;
Net2有,下一跳为R4,和原来相同于是更新信息;
Net3有,下一跳原来为R5,现在为R4, 但是现在的距离为2,于是也要更新
最后得到更新后的R6路由表
| 目的网络 | 距离 | 下一跳路由地址 |
|---|---|---|
| Net1 | 4 | R4 |
| Net2 | 5 | R4 |
| Net3 | 2 | R4 |
本文深入探讨了RIP路由协议的工作原理,详细解释了距离向量算法如何在路由器间交换路由表,以及如何通过更新算法维护网络路径。通过具体实例展示了RIP报文的处理流程,包括距离的增加、路由表的对比与更新过程。
987





