教学目标
📖 课前导入
上节课我们学了静态路由——手动一条条配。如果你管的网络有100台路由器、500个网段呢?手配到猝死……而且一条链路断了,你得半夜爬起来改路由表。
能不能让路由器自己学习、自动适应变化?这就是动态路由协议。今天学最经典的入门协议——RIP。
🎯 本课目标:理解动态路由 vs 静态路由,掌握RIP的工作原理(距离矢量、跳数度量、30秒更新),能在路由器上配置RIPv2并验证路由学习,了解RIP的防环机制和局限性。
📚 一、动态路由协议概述
什么是动态路由?
路由器之间自动交换路由信息,自动学习整个网络的拓扑,网络变化时自动更新路由表——无需人工干预。
| 对比项 | 静态路由 | 动态路由 |
|---|---|---|
| 配置方式 | 手动逐条配置 | 自动学习 |
| 适应变化 | 不能(需手动改) | 自动收敛 |
| CPU/带宽开销 | 无 | 有(定期交换路由) |
| 适用规模 | 小型/末端网络 | 中大型网络 |
| 安全性 | 高(不泄露路由) | 需认证保护 |
动态路由协议分类
距离矢量协议(Distance Vector)
路由器只知道"邻居告诉我的"——方向(矢量)和距离(跳数)。
代表:RIP(本课)、EIGRP
类比:问路人"火车站往左走3个路口"——你不知道中间经过什么
链路状态协议(Link State)
每个路由器都有完整的网络拓扑图,用Dijkstra算法自己计算最短路径。
代表:OSPF(下节课)、IS-IS
类比:看完整地图——知道每条路的长度和状态,自己规划最优路线
📚 二、RIP协议详解
RIP简介
RIP(Routing Information Protocol)——最古老、最简单的动态路由协议,1988年RFC 1058定义。以跳数(Hop Count)为度量值,每经过一个路由器跳数+1。
| 特性 | RIPv1 | RIPv2 |
|---|---|---|
| 度量值 | 跳数(最大15,16=不可达) | |
| 更新方式 | 广播 255.255.255.255 | 组播 224.0.0.9 |
| 支持VLSM | ❌ | ✅ |
| 携带子网掩码 | ❌(有类路由) | ✅(无类路由) |
| 认证 | ❌ | ✅ MD5认证 |
| 传输协议 | UDP 端口 520 | |
| 管理距离(AD) | 120 | |
RIP的四个定时器 ⭐
30秒发一次完整路由表
180秒没更新→路由失效
180秒内不接受同一路由的更差信息
240秒后从路由表删除
实际使用中应选择RIPv2(支持VLSM和认证)。RIPv1已基本淘汰。
📚 三、RIP的工作过程
🌐 RIP路由学习过程示例
初始状态:R1只知道 192.168.1.0/24 和 10.0.12.0/30(直连),R3只知道 192.168.3.0/24 和 10.0.23.0/30。
第1轮(30秒后):R1把路由表发给R2,R3也把路由表发给R2。R2学到 192.168.1.0/24(跳数1,经R1)和 192.168.3.0/24(跳数1,经R3)。
第2轮(60秒后):R2把新学到的路由告诉R1和R3。R1学到 192.168.3.0/24(跳数2,经R2→R3)。全网收敛完成!
持续维护:每30秒发一次完整路由表。如果R3断开,R2在180秒内收不到 192.168.3.0 的更新,将其标记为不可达(跳数16),再通知R1。
// R1收敛后的路由表
C 192.168.1.0/24 直连 GE0/0
C 10.0.12.0/30 直连 GE0/1
R 10.0.23.0/30 [120/1] via 10.0.12.2 ← 1跳到达
R 192.168.3.0/24 [120/2] via 10.0.12.2 ← 2跳到达
📚 四、RIP的路由环路与防环机制
路由环路问题——距离矢量协议的天敌
当网络变化时(如链路断开),由于RIP收敛慢,路由器可能互相告诉对方"我能到那个网段",造成数据包在两台路由器之间无限循环。
例:R3到192.168.3.0断了→R3从R2学到这条路由(R2还没更新)→R2又从R3学到→跳数不断增加直到16("计数到无穷"问题)。
水平分割(Split Horizon)
从某接口学到的路由,不再从同一接口发回去。R2从R3学到的路由不会发回给R3。
毒性逆转(Poison Reverse)
从某接口学到的路由,以跳数16(不可达)发回去。明确告诉邻居"别走我这条路"。
抑制定时器(Holddown Timer)
路由失效后的180秒内,不接受同一路由的更差信息。防止错误路由被重新学习。
触发更新(Triggered Update)
路由变化时立即发送更新,不等30秒定时器。加快收敛速度。
📚 五、RIP配置与验证实战
R标记=RIP学到的路由,[120/2]中120是管理距离(RIP固定120),2是跳数。管理距离越小越优先(直连0,静态1,OSPF 110,RIP 120)。
RIP配置三步曲(每台路由器都要做)
router rip // 1. 启用RIP
version 2 // 2. 使用v2
no auto-summary // 3. 关闭自动汇总
network 直连网段的主类号 // 4. 宣告每个直连网络
network命令只需填主类网络号(如10.0.12.0/30→填10.0.0.0;192.168.1.0/24→填192.168.1.0)。
RIP的局限性——为什么大网络不用RIP?
❌ 最大15跳:16跳=不可达。超过15台路由器的网络无法使用RIP。
❌ 收敛慢:每30秒更新+多轮传播=拓扑变化后可能需要数分钟才收敛。
❌ 只看跳数,不看带宽:1跳的10Mbps链路 > 2跳的10Gbps链路——选了慢的!
❌ 浪费带宽:每30秒广播完整路由表(即使没变化)。
结论:RIP仅适用于小型网络(≤15跳)或教学。中大型网络用OSPF。
RIPv2配置与路由收敛实验
在Packet Tracer中搭建3台路由器网络,配置RIPv2,观察路由表的自动学习过程,模拟链路故障和恢复
在Packet Tracer中搭建3台路由器网络,配置RIPv2,观察路由表的自动学习过程,模拟链路故障和恢复
✅ 课堂小测
随堂测验
第 1/7 题RIP使用什么作为度量值?
📋 本课小结
动态路由:路由器自动学习+自动适应变化。分距离矢量(RIP)和链路状态(OSPF)两大类。
RIP:跳数度量,最大15跳,30秒更新,管理距离120,使用UDP 520。
防环:水平分割、毒性逆转、抑制定时器、触发更新。
配置:router rip → version 2 → no auto-summary → network 主类网络号。
局限:15跳限制、收敛慢、只看跳数不看带宽——只适合小型网络。
🤔 课后作业
实验
- 在Packet Tracer中搭建R1—R2—R3三台路由器,配置RIPv2,用
show ip route验证路由学习。 - 断开R2—R3链路,观察R1路由表变化(路由消失需要多久?)。
思考题
- R1到192.168.3.0有两条路:经R2(1跳10Mbps)和经R4→R5(2跳1Gbps)。RIP会选哪条?这合理吗?
- 如果没有水平分割机制,RIP在链路故障后可能发生什么?