RIP — 路由信息协议
基于距离矢量(跳数)的内部网关协议,适合小网络 / 网络层 / UDP 520 / RFC 2453
Table of Contents
1. 协议定位
| 项目 | 信息 |
|---|---|
| 所属层 | 网络层(IGP 内部网关协议) |
| 英文全称 | Routing Information Protocol |
| 主要 RFC | RFC 2453(RIPv2);RFC 1058(v1);RFC 1723 前身 |
| 端口 | UDP 520(请求/响应均用) |
| 封装于 | UDP / IPv4 |
| 典型应用 | 小型网络、分支接入、实验室与教学(易理解) |
2. 一句话理解
RIP 是"听邻居说、再告诉邻居"的路由协议:每个路由器只和直连邻居交换"到各网络的距离(跳数)",用距离矢量(一张"目的网—跳数—下一跳"表)描述全网。选路原则极简——跳数最少者胜。
生活化类比
想象一个不看地图的路人问路:他只会问身边的人"去 XX 地方要走几个路口?",然后挑那个回答"路口数最少"的方向走,自己再加上一个路口,转头告诉下一个来问路的人。
每个人都只知道邻居告诉他的数字,谁也没见过全城地图。好处是简单得不能再简单;坏处是消息靠一传一慢慢扩散,路断了以后,“这条路不通"这句话要传遍全城得花不少时间——而且中途还可能出现两个人互相听对方说"我这边能走"的乌龙。
3. 它解决什么问题
为什么没有它,网络就"缺了一块”:
- 动态收敛:比静态路由省心,拓扑变化(链路 down/up)自动重新计算并扩散。
- 算法极简:基于 Bellman-Ford,实现与排错门槛低,是小网络的快速方案。
- 跨厂商互通:UDP 520 的标准协议,各家设备都支持。
4. 核心特征
- 【数跳数】距离矢量 + 跳数度量:每跳 +1,最大有效 15,16 = 不可达(无穷大) —— 天然限制网络直径 ≤15 跳。
- 【定时广播】周期性全表广播:默认每 30s 发一次完整路由表(v1 广播 255.255.255.255,v2 组播 224.0.0.9)。
- 【收敛慢】慢收敛:靠"传言"扩散,需多轮才能全网一致,故配防环机制。
- 【防环机制】防环四件套:水平分割(Split Horizon,不向来源口回发)、毒性反转(Poison Reverse,回发时置 16)、触发更新(Triggered Update,变化即报)、抑制计时器(Holddown,怀疑路由期间不接受更优)。
- 【版本差异】有类 vs 无类:RIPv1 有类(不夹掩码),RIPv2 无类(带掩码+支持 VLSM/CIDR,可认证)。
5. 与其他协议的关系
| 相关协议 | 关系 |
|---|---|
| OSPF | 同为 IGP,但链路状态、收敛快、无跳数限制;大网络替代 RIP |
| BGP | EGP,跨 AS;RIP 只用于单一 AS 内部 |
| EIGRP | Cisco 高级距离矢量(混合型),收敛优于 RIP |
| UDP | RIP 的承载,故不可靠,靠周期性重发保证最终一致 |
6. 本目录学习路线
- 01-原理与报文 — Bellman-Ford 选路、RIPv2 报文与 RTE 字段、路由更新时序图、计时器与防环机制、知识框架。
- 02-实战与排错 — Wireshark
rip/udp.port==520抓包、FRR/vtysh 与 Cisco 配置、计数到无穷大/路由环路/不连续子网排查、与 OSPF 对比与面试速查。
初学者最常踩的坑:把 16 当成"还能再走一跳"。16 是"无穷大 = 不可达"的专用值,有效跳数只到 15;另外别忘了 RIPv1 是有类的、不带掩码,遇到不连续子网必须换 RIPv2 并关掉自动汇总,否则路由怎么调都不通。