首页/计算机网络/04-network/距离向量路由(RIP) 🔗 在 Obsidian 中打开
计算机网络 · 04-network

距离向量路由(RIP)

难度 ★★★重要度 ★★★★★ 考查频率 低题型 选择 / 简答 / 计算 RIP距离向量Bellman-Ford路由环路
速查
RIP 是基于 Bellman-Ford距离向量协议,以跳数为度量(最大 15 跳,$16=$ 不可达),每 30 秒广播整个路由表。核心难题是路由环路(计数到无穷),靠水平分割/毒性逆转/触发更新等防环。

核心概念

RIP 概述

  • 距离向量协议:每个路由器只知道到邻居的距离。
  • 度量:跳数(Hop Count),最大 15 跳($16=$ 不可达)。
  • 更新方式:周期性广播(每 30 秒)。
  • 适用范围:小型网络(AS 内部,IGP)。

Bellman-Ford 方程

$$D_x(y) = \min_v \{ c(x,v) + D_v(y) \}$$

Dx(y) = 从 x 到 y 的最短距离
c(x,v) = x 到邻居 v 的链路代价
Dv(y) = 邻居 v 到 y 的最短距离

含义:x 到 y 的最短路径 = 经过所有邻居 v 的路径中的最小值

路由表结构

路由器 A 的路由表:
目的网络    跳数    下一跳
Net1        0       直连
Net2        1       B
Net3        2       B
Net4        3       C

RIP 工作过程

更新过程

1. 每 30 秒向所有邻居广播整个路由表
2. 收到邻居的路由表后,用 Bellman-Ford 方程更新自己的路由表
3. 如果 180 秒未收到邻居更新,标记该邻居不可达

例:
A 的路由表: Net1=0, Net2=1(B)
B 的路由表: Net1=1(A), Net2=0, Net3=1

A 收到 B 的更新后:
到 Net3: 经过 B 的距离 = 1+1 = 2
A 更新路由表: Net3=2(B)
要点周期性广播整个路由表,开销大;180 秒超时未更新则标记不可达。

路由环路问题

为什么会产生环路

好消息传播快,坏消息传播慢

初始:A→Net1=1(B), B→Net1=1(直连)

情况1:Net1 断开
B 发现 Net1 不可达(16跳)
但 A 之前告诉 B:A 到 Net1=1 跳
B 以为经过 A 可以到 Net1:A 的距离 1 + B 到 A 的 1 = 2 跳
B 更新:Net1=2(A)
A 收到 B 的更新:Net1 = 2+1 = 3(B)
...无限增加直到 16

解决方法

机制规则
水平分割不向收到路由的方向回传该路由
毒性逆转回传该路由但设为不可达(16 跳),比水平分割更积极
抑制计时器收到不可达后,等待一段时间才接受该路由更新,防震荡
触发更新路由变化立即发送更新,不等待 30 秒,加速坏消息传播

RIP 的特点

特性说明
度量跳数(最大 15)
更新周期30 秒
超时时间180 秒
更新方式广播整个路由表
收敛速度
适用规模小型网络
算法Bellman-Ford(距离向量)

常见考法

题型分布Bellman-Ford 方程计算、路由环路原因、水平分割/毒性逆转、RIP 参数(15 跳/30 秒)是高频点。
考点说明
Bellman-Ford 方程计算最短路径
路由环路的原因坏消息传播慢
水平分割和毒性逆转防环机制
RIP 的特点跳数、周期、最大 15 跳

易错点

必记
  • RIP 最大跳数是 15,16 表示不可达(不是最大 16 跳)。
  • 水平分割是不回传,毒性逆转是回传但设为不可达
  • RIP 周期性广播整个路由表,开销大
  • RIP 收敛慢,会出现计数到无穷问题。

核心结论

  1. RIP 使用跳数作为度量,最大 15 跳。
  2. 每 30 秒广播整个路由表,收敛慢
  3. 路由环路是距离向量协议的主要问题。
  4. 水平分割、毒性逆转、触发更新等机制用于防环。

记忆卡片

RIP 的最大跳数?
15(16 表示不可达)。
RIP 的更新周期?
每 30 秒广播整个路由表。
水平分割 vs 毒性逆转?
水平分割不回传路由,毒性逆转回传但设为 16(不可达)。
为什么 RIP 收敛慢?
坏消息传播慢,需多次更新才收敛(计数到无穷)。

交互动画 · 计数到无穷

Net1 B1 A1 B–A 链路
点击「Net1 断开」观察坏消息如何被反复传播(计数到无穷)
打开「水平分割」可阻止 A 把到 Net1 的路由回传给 B,环路消失

相关知识点

link-state-ospf static-and-dynamic-routing hierarchical-routing

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。