Appearance
题目
直接封装 RIP、OSPF、BGP 报文的协议分别是( )。
错因
A
RIP 错算成 TCP——但 RIP 是周期性广播向量,丢包重发即可,不需要 TCP 的可靠传输机制;用 UDP 更合理。OSPF 错算成 UDP——但 OSPF 直接用 IP(协议号 89)封装,不走 UDP/TCP。BGP 错算成 IP——但 BGP 需要可靠有序传输路由信息,必须用 TCP。全错。
B
RIP 错算成 TCP(同 A)。OSPF 算成 IP 对了。BGP 算成 UDP 错——BGP 需要可靠传输(路由表更新不能丢),用 TCP 端口 179。RIP 和 BGP 这两个都错。
C
RIP 算成 UDP 对了 ✓。OSPF 错算成 TCP——但 OSPF 用 IP 直接封装。BGP 错算成 IP——但 BGP 用 TCP。OSPF 和 BGP 两个错。
总解析
三大动态路由协议的传输层封装对照:
| 协议 | 全称 | 封装方式 | 端口 / 协议号 | 选择原因 |
|---|---|---|---|---|
| RIP | Routing Information Protocol | UDP | 端口 520 | 距离向量周期性广播;丢包重发简单,UDP 够用 |
| OSPF | Open Shortest Path First | 直接用 IP | 协议号 89 | 链路状态需要确认 + 重传,但需要快速反应;OSPF 自己实现可靠机制(LSA 确认 + 重传),跳过 TCP/UDP 直接用 IP 减少开销 |
| BGP | Border Gateway Protocol | TCP | 端口 179 | AS 间路由信息必须可靠有序传输;TCP 提供成熟的握手 + 重传 + 顺序保证 |
核心记忆点:
- 链路状态(OSPF)"自己造轮子"实现可靠性 → 直接用 IP
- 距离向量(RIP)"懒得管"丢包 → 用 UDP
- 跨 AS(BGP)"重大事件"不能丢 → 用 TCP
核对答案 D:
| 协议 | 题面顺序 | 答案 D 对应 | 正确? |
|---|---|---|---|
| RIP | 第一 | UDP | ✅ |
| OSPF | 第二 | IP | ✅ |
| BGP | 第三 | TCP | ✅ |
最终答案是 D(UDP、IP、TCP)。
编者注(生僻术语):OSPF "直接用 IP" 是个特别的设计——大多数应用层协议都通过 UDP/TCP 间接用 IP,但 OSPF 跳过传输层、直接把自己当成 IP 的"传输层"。它在 IP 头里用协议号 89 表明自己(同等地位的还有 ICMP=1、IGMP=2、TCP=6、UDP=17、OSPF=89)。这种设计权衡:
- 优势:减少封装层数、可定制可靠性逻辑(适合"必须快速反应链路变化"的链路状态协议)
- 劣势:每次升级 OSPF 协议都要重写自己的可靠性栈
考研里"OSPF 用 IP 而不用 UDP/TCP" 是高频考点,记牢即可。