Appearance
408 > 计算机网络 > 路由协议:RIP
一、定位信息
- 所属圈层:核心层
- 前置知识:需了解距离-向量路由算法(CN-04-01)的基本原理,特别是Bellman-Ford方程、计数到无穷问题和毒性逆转
- 知识网络位置:RIP是距离-向量路由算法的具体实现,是AS内路由协议(IGP)之一。与OSPF(CN-04-13)形成对比,共同构成域内路由协议的两大范式
- 考点热度等级:H级(高频重点) — RIP的工作原理和特点几乎每年都会考查
二、知识点讲解
2.1 RIP的基本概念
RIP(Routing Information Protocol,路由信息协议) 是一种基于距离-向量算法的内部网关协议(IGP),使用跳数(Hop Count) 作为度量(metric),即经过的路由器数量。
RIP的关键参数:
- 最大跳数:15(跳数为16表示不可达)
- 更新周期:每30秒广播一次完整路由表
- 路由失效计时器:180秒未收到更新则标记为不可达
- 传输层协议:使用UDP,端口号520
2.2 RIP的工作过程
初始化:路由器启动时,只知道自己直接相连的网络,距离为1跳。
周期性更新:每30秒,路由器将自己的完整路由表以广播形式发送给所有邻居。
路由更新规则(Bellman-Ford方程的应用):
- 收到邻居的路由更新后,对每个目的网络:
- 计算经该邻居到达目的的距离 = 到邻居的距离(通常为1)+ 邻居报告的距离
- 如果新距离 < 当前路由表中的距离,更新路由表
- 如果路由表中没有该目的网络,添加该条目
- 更新路由条目的超时计时器
2.3 RIP的计时器
| 计时器 | 默认值 | 作用 |
|---|---|---|
| 更新计时器 | 30秒 | 周期性发送路由表的间隔 |
| 失效计时器 | 180秒 | 超过此时间未收到某路由的更新,标记为不可达 |
| 刷新计时器 | 240秒 | 超过此时间删除不可达的路由条目 |
2.4 RIP的环路防止机制
RIP采用多种机制防止路由环路:
水平分割(Split Horizon):路由器不会从某个接口收到的路由信息再从该接口发送出去。即"不要把从邻居学到的路由再告诉那个邻居"。
毒性逆转(Poisoned Reverse):从邻居学到的路由,在发回给该邻居时将距离设为16(无穷大),明确告诉邻居"这条路走不通"。
触发更新(Triggered Update):当路由表发生变化时立即发送更新,不必等待30秒的更新周期。
最大跳数限制:将最大跳数限制为15,超过即不可达,防止计数到无穷。
2.5 RIP的版本
| 特性 | RIPv1 | RIPv2 |
|---|---|---|
| 类别 | 有类别 | 无类别 |
| 子网掩码 | 不携带 | 携带子网掩码 |
| 广播/组播 | 广播 | 组播(224.0.0.9) |
| 认证 | 不支持 | 支持 |
| 路由聚合 | 不支持 | 支持 |
三、记忆与理解辅助
- 口诀:"RIP距离向量代表,跳数最大十五不过;三十秒广播路由表,毒性逆转防环路。"
- 数字记忆:"15最大跳,30秒一更新,180秒失效,240秒刷新"(15-30-180-240)
- RIP与OSPF速记对比:
| 对比维度 | RIP | OSPF |
|---|---|---|
| 算法 | 距离-向量(Bellman-Ford) | 链路状态(Dijkstra) |
| 度量 | 跳数 | 链路代价(带宽) |
| 最大跳数 | 15 | 无限制 |
| 更新方式 | 周期性全量(30秒) | 事件触发增量 |
| 收敛速度 | 慢 | 快 |
| 适用规模 | 小型网络 | 大型网络 |
四、例题与精解
例题1(基础巩固)
题目:以下关于RIP协议的描述中,错误的是( ) A. RIP使用跳数作为度量,最大跳数为15 B. RIP每30秒向所有邻居广播完整的路由表 C. RIP使用TCP协议传输,端口号为520 D. RIP支持水平分割和毒性逆转来防止路由环路
命题意图:考查RIP的基本特征和参数。
精解:
- 审题分析:选出错误的描述。
- 解题思路:逐项核对RIP的关键参数。
- 完整步骤:
- A正确:RIP最大跳数为15,16表示不可达。
- B正确:RIP每30秒周期性广播完整路由表。
- C错误:RIP使用UDP协议,端口号520,不是TCP。RIP选择UDP是因为路由更新不需要TCP的可靠传输机制(RIP有自己的超时和重传机制)。
- D正确:水平分割和毒性逆转都是RIP的环路防止机制。
- 方法反思:记住RIP使用UDP(不是TCP),端口520。
例题2(中等提升)
题目:在一个RIP网络中,路由器A的路由表如下:到网络N1距离为3(下一跳B),到网络N2距离为2(下一跳C)。现在A收到邻居B发来的路由更新:到N1距离为2,到N2距离为4,到N3距离为1。请给出A更新后的路由表。
命题意图:考查RIP路由表更新的具体计算过程。
精解:
- 审题分析:A当前路由表和B的更新信息已知,需要逐条计算。
- 解题思路:对每个目的网络,应用Bellman-Ford方程。
- 完整步骤:
对网络N1:
- 经B到达N1的距离 = A到B的距离(1) + B到N1的距离(2) = 3
- 当前A到N1的距离 = 3(下一跳B)
- 3 = 3,没有改善,保持不变
对网络N2:
- 经B到达N2的距离 = 1 + 4 = 5
- 当前A到N2的距离 = 2(下一跳C)
- 5 > 2,经B更远,保持不变
对网络N3:
- 经B到达N3的距离 = 1 + 1 = 2
- 当前A的路由表中没有N3
- 新增条目:N3,距离2,下一跳B
A更新后的路由表:
| 目的网络 | 距离 | 下一跳 | 变化 |
|---|---|---|---|
| N1 | 3 | B | 不变 |
| N2 | 2 | C | 不变 |
| N3 | 2 | B | 新增 |
- 方法反思:RIP更新的核心就是对每条路由应用Bellman-Ford方程:经邻居的距离 = 1(到邻居的跳数)+ 邻居报告的距离,然后与当前值比较。
五、考情分析
- 考查频次:近5年出现4-5次
- 常见题型:选择题考查RIP特征参数;综合题考查路由表更新计算
- 分值占比:选择题2分,综合题5分
- 命题趋势:RIP常与OSPF对比出题,路由表更新计算是综合题的常见题型
六、易错点提醒
错误表现:认为RIP使用TCP传输
- 错误原因:看到"协议"就想到TCP
- 正确理解:RIP使用UDP,端口520。路由更新不需要TCP的可靠保证,用UDP更轻量
错误表现:混淆水平分割和毒性逆转
- 错误原因:两者都是防环路机制,功能相似
- 正确理解:水平分割是"不把从A学到的路由告诉A"(不发),毒性逆转是"告诉A从你那学的路由不可达"(发但设为无穷大)。毒性逆转是水平分割的增强版
错误表现:认为RIP适用于大型网络
- 错误原因:没有理解RIP的15跳限制
- 正确理解:RIP最大15跳,只适用于小型网络。大型网络应使用OSPF(无跳数限制)
七、来源标注
- 依据2026考研统考大纲
- 依据《计算机网络(第8版)》谢希仁版
- 依据RFC 2453(RIP Version 2)