跳转至

第 4 章:网络层(下)—— 路由协议

场景: 你从北京开车到广州,导航软件帮你规划路线——走京港澳高速还是大广高速?哪条路不堵车?路由器做的事情和导航软件一模一样:根据目的地选择最优路径。


4.1 路由的基本概念

核心比喻:路由器就是快递中转站的分拣员

快递到了中转站,分拣员看一眼包裹上的目的地地址,决定下一站发往哪个城市。路由器做的事情完全一样——收到数据包,查看目的 IP 地址,查路由表,决定从哪个接口转发出去。

路由表

每台路由器维护一张路由表,记录"去往哪个网络,下一跳是谁":

目的网络          子网掩码          下一跳          出接口
192.168.1.0      255.255.255.0    直连            eth0
10.0.0.0         255.0.0.0        192.168.1.1     eth0
0.0.0.0          0.0.0.0          192.168.1.254   eth0  ← 默认路由
字段 含义
目的网络 数据包要去往的目标网络
子网掩码 用于匹配目的 IP 的网络部分
下一跳 数据包应该转发给哪个相邻路由器
出接口 从路由器的哪个端口发出

路由优先级

当多条路由匹配同一个目的地时,按 最长前缀匹配 原则选择:

目的 IP:192.168.1.100

路由 A:192.168.0.0/16    → 下一跳 R1  (匹配 16 位)
路由 B:192.168.1.0/24    → 下一跳 R2  (匹配 24 位)✅ 选这个!
路由 C:0.0.0.0/0         → 下一跳 R3  (匹配 0 位)

4.2 静态路由 vs 动态路由

对比维度 静态路由 动态路由
配置方式 管理员手动配置 路由器自动学习
适用规模 小型网络 中大型网络
网络变化 需手动更新 自动适应拓扑变化
CPU/内存开销 有(运行路由协议)
可靠性 不会出错(人为配置正确时) 可能出现路由环路等问题

4.3 RIP 协议 —— 距离向量路由

核心比喻:RIP 就像问路——"到广州怎么走?"

你站在路口问路人:"到广州怎么走?"路人说:"往前走 500 米到下一个路口,再问那里的人。"

RIP 就是这样——每个路由器只知道到目的地的"距离"(跳数)和"方向"(下一跳),然后告诉邻居。邻居再根据自己的信息更新。

RIP 核心特征

特征 说明
算法 距离向量(Distance Vector)
度量值 跳数(Hop Count),最大 15 跳
更新方式 周期性广播(每 30 秒)
收敛速度 慢(好消息传得快,坏消息传得慢)
适用场景 小型网络

RIP 的局限性

  • 最大 15 跳 :超过 15 跳视为不可达,限制了网络规模
  • 慢收敛 :网络拓扑变化后,所有路由器更新路由表需要较长时间
  • 计数到无穷问题 :环路检测需要特殊机制(水平分割、毒性反转)

4.4 OSPF 协议 —— 链路状态路由

核心比喻:OSPF 就像拥有整个城市的实时交通地图

RIP 是"问路"模式——只知道下一跳。OSPF 是"导航软件"模式——拥有整个网络的完整拓扑图,用 Dijkstra 最短路径算法计算出到每个目的地的最优路径。

每台 OSPF 路由器都有一张相同的"网络地图"(链路状态数据库),独立计算最短路径树。

OSPF 核心特征

特征 说明
算法 链路状态(Link State),Dijkstra SPF 算法
度量值 链路开销(Cost = 参考带宽 / 链路带宽)
更新方式 触发更新(拓扑变化时立即更新)
收敛速度
分层结构 支持区域(Area)划分,Area 0 为骨干区域
适用场景 中大型企业网络

OSPF 区域划分

┌────────────────────────────────────┐
│            Area 0 (骨干区域)         │
│         ┌──────────────┐           │
│         │   骨干路由器   │           │
│         └──┬────────┬──┘           │
│            │        │              │
│    ┌───────┴─┐  ┌──┴───────┐      │
│    │ Area 1  │  │  Area 2  │      │
│    └─────────┘  └──────────┘      │
└────────────────────────────────────┘

4.5 BGP 协议 —— 互联网的"导航系统"

核心比喻:BGP 就是国家之间的航线协议

国内快递靠中转站(OSPF/RIP),跨国快递需要各国海关和航空公司协商航线。BGP 就是互联网上不同自治系统(AS)之间的"航线协议"——决定数据包从中国到美国走哪条海底光缆。

特征 说明
类型 路径向量(Path Vector)协议
作用范围 不同自治系统(AS)之间
端口 TCP 179
度量方式 AS 路径长度(经过的 AS 数量)
策略控制 支持丰富的路由策略(如优先走某个 ISP)

4.6 常见考试题型

例题 1: RIP 协议允许的最大跳数是( )。

A. 8  B. 15  C. 16  D. 255

查看答案

答案:B

RIP 协议以跳数作为度量值,最大有效跳数为 15,16 跳表示不可达。这个限制使得 RIP 只适用于小型网络。

例题 2: OSPF 协议使用的路由算法是( )。

A. 距离向量算法  B. 最短路径优先(SPF)算法  C. 路径向量算法  D. 洪泛算法

查看答案

答案:B

OSPF(Open Shortest Path First)使用 Dijkstra 的 SPF(Shortest Path First)算法,基于链路状态数据库计算到每个目的地的最短路径。

例题 3: 以下关于静态路由和动态路由的说法,错误的是( )。

A. 静态路由由管理员手动配置 B. 动态路由能自动适应网络拓扑变化 C. 静态路由适用于大型复杂网络 D. 动态路由需要消耗 CPU 和带宽资源

查看答案

答案:C

静态路由需要管理员手动配置每一条路由,当网络规模增大时,配置工作量急剧增加,且无法自动适应拓扑变化。因此静态路由适用于小型简单网络,而非大型复杂网络。


要点总结

  • 路由表记录"目的网络 → 下一跳 → 出接口"的映射
  • 最长前缀匹配原则:掩码越长越优先
  • RIP:距离向量协议,最大 15 跳,适合小型网络
  • OSPF:链路状态协议,Dijkstra 算法,支持区域划分,适合中大型网络
  • BGP:路径向量协议,用于不同自治系统之间的路由

课后练习

  1. 路由表分析 :某路由器路由表中有三条记录:10.0.0.0/8 → R110.1.0.0/16 → R20.0.0.0/0 → R3。目的 IP 为 10.1.2.3 的数据包会从哪个接口转发?为什么?

  2. 协议对比 :从算法、度量值、收敛速度、适用场景四个维度对比 RIP 和 OSPF。

  3. 真题演练 :OSPF 协议中,所有非骨干区域必须与( )区域相连。


下一章预告: 网络层解决了"送到哪"的问题。但数据到了目标主机后,该交给哪个应用程序?传输层用"端口号"解决这个问题——第 5 章见。

继续第 5 章:传输层 →