路由信息协议 RIP
(Routing Information Protocol)是内部网关协议 IGP
中最先得到广泛使用的协议之一,其相关标准文档为 RFC 1058
。
RIP
要求自治系统 AS
内的每一个路由器都要维护从它自己到 AS
内其他每一个网络的距离记录。这是一组距离,称为 “距离向量D−V(Distance−Vector)\color{red}距离向量D-V(Distance-Vector)距离向量D−V(Distance−Vector)”。
RIP
使用跳数\color{red}跳数跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离\color{red}来衡量到达目的网络的距离来衡量到达目的网络的距离。
- 路由器到直连网络的距离定义为 111。
例如:以下图中的路由器 R1
到其直连网络 N1
的距离为 111
- 路由到非直连网络的距离定义为所经过的路由器树加 111
例如:以下图中的路由器 R3
到其直连网络 N2
的距离为 222
- RIP 允许一条路径最多只能包含 151515 个路由。"距离"等于16时相当于不可达\color{red}"距离" 等于 16 时相当于不可达"距离"等于16时相当于不可达
- 因此,RIP只适用于小型互联网\color{red}RIP 只适用于小型互联网RIP只适用于小型互联网
说明:有些厂商的路由器并没有严格按照 RIP
标准文档的规定来实现 RIP
- 例如:思科路由器中的
RIP
将路由器到直连网络的距离定义为 000 - 但这并不影响
RIP
的正常运行
1、好的路由就是“距离短”的路由
RIP
认为好的路由\color{red}好的路由好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由\color{red}所通过路由器数量最少的路由所通过路由器数量最少的路由。
例如:
尽管这条路由上各段链路的带宽都非常小
当到达同一目的网络有多条 “距离相等” 的路由时,可以进行等价负载均衡\color{red}等价负载均衡等价负载均衡。
- 将通信量均衡的分布到等价路由上
2、RIP 包含以下三个要点
和谁交换信息
仅和相邻路由器\color{red}相邻路由器相邻路由器交换信息
交换什么信息
自己的路由表\color{red}路由表路由表
何时交换信息
周期性交换\color{red}周期性交换周期性交换(例如每 30 秒)
3、RIP 的基本工作过程
一、路由器刚开始工作时,只知道自己到直连网络的距离为1\color{red}只知道自己到直连网络的距离为 1只知道自己到直连网络的距离为1
例如:各路由器刚开始工作时各自的路由表
二、之后每个路由器仅和相邻路由器周期性地交换并更新路由信息\color{red}和相邻路由器周期性地交换并更新路由信息和相邻路由器周期性地交换并更新路由信息
三、若干次交换和更新后,每个路由器都知道到达本AS内个网络的最短距离和下一跳地址\color{red}每个路由器都知道到达本 AS 内个网络的最短距离和下一跳地址每个路由器都知道到达本AS内个网络的最短距离和下一跳地址,称为收敛
4、RIP 的路由条目的更新规则
路由器 C
和 D
互为相邻路由器。
它们之间周期性的交换并更新路由信息
路由表 C
中到达各目的网络的下一跳都记为 ???
- 理解为路由器
D
并不需要关心路由器C
的这些内容
假设路由器 C
的 RIP
更新报文发送周期到了
则路由器 C
将自己路由表中的相关路由信息封装到 RIP
更新报文中发送给路由器 D
- 简单的理解为路由器
C
将自己的路由表发送给了路由器D
路由器 D
收到后对其进行改造
- 将到达各目的网络的下一跳都改为
C
、距离都增加 111
这样的操作很容易理解,因为路由器 C
告诉 D
它可以到达这些目的网络,
那么路由器 D
作为 C
的邻居路由器,当然也就可以通过 C
来到达这些目的网络,只是比 C
到达这些网络的距离加 111
路由器 D
根据改造好的路由表来更新自己先前的路由表了
5、习题
6、RIP 存在 “坏消息传播慢\color{red}坏消息传播慢坏消息传播慢” 问题
假设 R1
到达直连网络 N1
的链路出现了故障
当 R1
检测出该故障后,会将到达 N1
的路由条目中的距离修改为 161616
- 表示
N1
不可达
并等待 RIP
更新周期到时后发送该路由信息给 R2
而此时 R2
的路由表中关于 N1
的路由条目仍然是先前通过 RIP
协议获取到的
- 也就是到达
N1
的距离为 222 - 下一跳通过
R1
转发
假设 R2
的这条路由信息先到达 R1
- 也就是
R2
的这条路由信息先到达R1
- 而
R1
的路由信息后到达R2
当 R1
收到 R2
的这条路由信息后,就会被该谣言误导
- 认为可以通过
R2
到达N1
,距离为 333 - 并在自己的
RIP
更新周期到时后将这条路由信息发送给R2
当 R2
收到 R1
的这条路由信息后,就会被该谣言误导
- 认为可以通过
R2
到达N1
,距离为 444 - 并在自己的
RIP
更新周期到时后将这条路由信息发送给R1
…
7、减少路由环路问题措施
“坏消息传播得慢” 又称为路由环路\color{red}路由环路路由环路或距离无穷计数\color{red}距离无穷计数距离无穷计数问题,这是距离向量算法的一个固有问题\color{red}距离向量算法的一个固有问题距离向量算法的一个固有问题。可以采取多种措施减少\color{red}减少减少出现该问题的概率或减小该问题带来的危害。
例如:
- 限制最大路径距离\color{red}限制最大路径距离限制最大路径距离为 151515(161616 表示不可达)
- 当路由表发生变化时就立即发送更新报文(即 “触发更新\color{red}触发更新触发更新” ),而不仅是周期性发送
- 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送
- (即 “水平分割\color{red}水平分割水平分割” )
即:使用上述措施后也不能彻底避免路由环路问题
- 这是距离向量算法的本质所决定的