📖 路由信息协议 RIP(路由信息协议)
🎯 课程摘要:RIP(路由信息协议) 是内部网关协议中最先广泛使用的协议之一,基于距离向量算法,以跳数为度量,最大 15 跳(16 表示不可达),仅适用于小型互联网。RIP(路由信息协议) 仅和相邻路由器交换完整路由表,存在"坏消息传播慢"的固有问题。
📝 详细笔记
1. RIP(路由信息协议) 的基本概念
- 概念定义:RIP(路由信息协议) 是内部网关协议(IGP)中最先得到广泛使用的协议之一,相关标准文档为 RFC1058。
- 距离向量:RIP(路由信息协议) 要求 AS(自治系统) 内每一个路由器维护从自己到 AS 内其他每个网络的距离记录,这一组距离称为距离向量。
- 度量方式:使用跳数作为度量。直连网络距离定义为 1,非直连网络距离定义为所经过的路由器数加 1。
- 距离上限:允许一条路径最多包含 15 个路由器,距离等于 16 时相当于不可达,因此只适用于小型互联网。
- 厂商差异:思科路由器将直连网络距离定义为 0,但不影响 RIP(路由信息协议) 的正常运行。
2. RIP(路由信息协议) 距离举例
| 路由器 | 到网络 N1 的关系 | RIP 距离 |
|---|---|---|
| R1 | 直连 | 1 |
| R2 | 非直连 | 15(已达上限) |
| R16 | 非直连 | 16(不可达) |
- 好路由判据:RIP(路由信息协议) 认为好的路由就是距离短的路由,即所通过路由器数量最少的路由。
- 带宽无关性:即便路径一带宽高、路径二带宽低,只要路径二经过路由器数量少,RIP(路由信息协议) 就认为路径二是好路由。
- 等价负载均衡:到达同一目的网络有多条 RIP 距离相等的路由时,可将通信量均衡分布到多条等价路径上。
3. RIP(路由信息协议) 的三个重要特点
| 特点 | 内容 |
|---|---|
| 和谁交换 | 仅和相邻路由器交换(直连、中间无其他路由器) |
| 交换什么 | 路由器自己的路由表(到各网络的最短距离 + 下一跳) |
| 何时交换 | 每隔约 30 秒;网络拓扑变化时及时通告,称为触发更新 |
4. RIP(路由信息协议) 的基本工作过程
- 初始状态:路由器刚开始工作时只知道自己到直连网络的距离为 1。
- 周期交换:每个路由器仅和相邻路由器周期性交换并更新路由信息。
- 收敛:若干次交换和更新后,每个路由器都知道了到达本 AS(自治系统) 内各网络的最短 RIP 距离和下一跳路由器。
5. RIP(路由信息协议) 的距离向量算法
核心步骤:路由器 C 将自己的路由表封装在 RIP 更新报文中发送给相邻路由器 D;D 收到后进行修改——将到达各目的网络的下一跳都改为 C,并将 RIP 距离都加 1;然后基于修改后的路由信息更新自己的路由表。
路由表更新规则:
| 情形 | 更新理由 | 操作 |
|---|---|---|
| 到达目的网络相同、下一跳相同 | 最新消息要更新 | 用新距离更新原条目 |
| 发现了新的网络 | 添加新路由条目 | 加入路由表 |
| 不同下一跳、新距离更小 | 新路由有优势 | 更新旧路由条目 |
| 不同下一跳、新距离相同 | 可等价负载均衡 | 添加新路由条目 |
| 不同下一跳、新距离更大 | 新路由处于劣势 | 不更新 |
时间参数:
| 参数 | 含义 |
|---|---|
| 30 秒 | 路由器向所有相邻路由器发送路由更新报文的周期 |
| 180 秒 | 未收到某条路由条目更新,则标记为无效(距离设为 16) |
| 120 秒(之后再过) | 仍未收到更新,则将该路由条目从路由表中删除 |
6. 坏消息传播慢的问题
- 现象:当 R1 到直连网络 N1 的链路出现故障后,R1 将距离改为 16;但 R2 之前从 R1 获取的条目仍为距离 2,并在周期到达时发回给 R1,使 R1 误认为可通过 R2 到达 N1(距离 3)。R1、R2 之间反复"谣言"更新,直到双方距离都增大到 16 才收敛。
- 别名:路由环路 / RIP 距离无穷计数问题,是距离向量算法的固有问题。
- 危害:R1 和 R2 之间会出现路由环路,时间长达数分钟;若无最大距离 15 的限制,该过程将永久持续。
缓解措施(无法彻底解决):
| 措施 | 说明 |
|---|---|
| 限制最大距离为 15(16=不可达) | 限制问题持续范围 |
| 触发更新 | 路由表变化时立即发送更新,而非仅周期性发送 |
| 水平分割 | 记录收到路由信息的接口,不让同一路由信息从该接口反方向传回 |
- ⚠️ 根本原因:距离向量算法中每个路由器都缺少到目的网络整个路径的完整信息,无法判断所选路由是否出现环路。
7. RIP(路由信息协议) 版本与报文封装
- RIP2:1998 年 11 月公布,已成为因特网标准协议。
- 相比 RIP1:支持变长子网掩码和 CIDR
- 提供简单的鉴别过程
- 支持多播
- 封装:使用运输层 UDP(用户数据报协议) 封装,UDP 端口号为 520。
- 层次归属:从报文封装角度看属于 TCP/IP 体系结构的应用层;但其核心功能是路由选择,属于网际层。
8. RIP(路由信息协议) 的优缺点
| 类别 | 内容 |
|---|---|
| 优点 | 实现简单、路由器开销小;发现更短路由时更新信息传播快(好消息传播快) |
| 缺点 | 最大距离 15 限制 AS(自治系统) 规模;交换完整路由表使开销随规模增大;坏消息传播慢、收敛时间长 |
对于规模较大的 AS(自治系统) 应当使用 OSPF(开放最短路径优先) 协议。
💡 核心总结
- RIP(路由信息协议) = 距离向量 + 跳数度量 + 最大 15 跳 + 仅与邻居交换完整路由表 + UDP 520。
- 三大特点:和谁交换(邻居)、交换什么(路由表)、何时交换(约 30 秒 + 触发更新)。
- 距离向量算法 5 条更新规则是 408 高频考点。
- 坏消息传播慢是固有缺陷,水平分割、触发更新、限制最大距离仅能缓解。
❓ 课后思考 / 经典考题
- (2010 408) RIP 协议中距离 16 表明目的网络不可达;若 R2 无法到达网络 1,则 R1 也无法通过 R2 到达网络 1。(答案:D)
- (2021 408) 采用距离向量路由算法时,根据邻居路由器给出的距离向量计算本路由器到各目的网络的最短距离与下一跳。E 通过 A 到网络 1(距离 9)、通过 A 到网络 2(距离 20)、通过 B 或 C 到网络 3(距离 28)、通过 C 到网络 4(距离 20)。(答案:D)
- 为什么说"坏消息传播慢"是距离向量算法的固有问题?水平分割能否彻底解决?请说明原因。
- RIP(路由信息协议) 报文为何使用 UDP 封装,端口号是多少?从封装角度它属于哪一层?