Appearance
网络层功能:路由、转发与异构网络互联
考情分析
网络层是 408 中题量第二多的一章,本文聚焦"网络层做什么"这一通论:路由与转发的分工、IP 如何把异构网络拼成一张大网、数据报与虚电路的差别、SDN 把这些功能解耦后的新形态。具体协议(IP/ARP/路由协议等)有专题文章。
题型分布:
- 路由 vs 转发的概念辨析(2012, 2020)
- 路由聚合 / 最长前缀匹配后的转发动作(2015, 2026)
- 路由协议(距离向量 / 链路状态)下的路由表生成(2010, 2021, 2026)
- 跨子网的转发与默认网关(2011, 2022)
考频:★★★★
网络层的三大基本功能
408 大纲点出网络层的核心功能:路由(routing)、转发(forwarding)、异构网络互联。在最新教材里又把 SDN(软件定义网络) 作为对前两者的解耦补充。
路由(routing)= 控制面
- 谁干? 路由协议(RIP、OSPF、BGP 等)协作完成
- 干什么? 综合全网拓扑、链路开销,算出每个目的网络该走哪条路径,把结果写进路由表
- 时间尺度:相对慢(链路状态变化后几秒到几十秒收敛)
转发(forwarding)= 数据面
- 谁干? 路由器的转发引擎(硬件查表加速)
- 干什么? 对已经到达的每个分组,查路由表选下一跳、改 TTL、重新封装并转出
- 时间尺度:极快(线速,每包微秒级)
2012 真题第 37 题问"IP 路由器可能的功能"。会做的:①运行路由协议、维护路由表;②按目的 IP 查表转发;③检测拥塞时丢 IP 分组。不会做的:对 IP 数据进行差错校验确保不丢失(IP 不保证可靠传输,校验只在头部、且不重传)。这道题本质就是分清"路由器属于网络层、不做端到端可靠性"。
异构网络互联
不同链路层技术(以太网、WiFi、PPP、广域网等)有不同的帧格式、最大帧长(MTU)、寻址方式。IP 协议作为统一的网络层"普通话",向上为传输层提供与底层无关的统一服务,向下用各种链路层封装把 IP 分组带到下一跳。这种"在下面差异化、在中间统一"的设计就是沙漏模型的腰部。
具体技术手段:
- IP 分片(不同链路 MTU 不同)
- ARP(IP 地址→各自链路层地址的转换)
- 路由器(在不同链路类型之间做协议转换 + 转发)
SDN(Software Defined Networking)
传统路由器把控制面(算路)和数据面(转发)做在同一台设备里。SDN 把它们分开:
| 组件 | 物理位置 | 职责 |
|---|---|---|
| 控制器(Controller) | 集中部署的服务器集群 | 统一计算路由策略,下发流表 |
| 转发设备(OpenFlow Switch) | 网络节点 | 只按控制器下发的流表做匹配 + 动作 |
| 南向接口 | 控制器 ↔ 转发设备 | OpenFlow 协议 |
| 北向接口 | 控制器 ↔ 应用 | RESTful API 等 |
408 中 SDN 是了解性内容,关键考点是"控制面与数据面分离",以及"集中式控制 vs 分布式控制"的差别。
数据报与虚电路:两种网络层服务模型
历史上网络层有两类服务方式,408 要求会辨析。
| 维度 | 数据报(Datagram) | 虚电路(Virtual Circuit, VC) |
|---|---|---|
| 是否建立连接 | 不需要 | 需要(建立、传输、释放三阶段) |
| 每个分组是否独立寻址 | 是,分组头部带完整目的 IP | 否,只带 VCID(虚电路号) |
| 路径 | 每个分组可走不同路 | 同一连接的分组走同一条路 |
| 失序 | 可能失序 | 不会失序(同路径同顺序) |
| 节点故障 | 只影响经过该节点的少量分组 | 整条 VC 失效,需要重建 |
| 代表实例 | IP 网络(最重要) | X.25、帧中继、ATM、MPLS(早期) |
2020 真题第 34 题问"关于虚电路网络的叙述错误的是"。"虚电路网络要为每条虚电路预分配带宽"——这是 ATM/电话网那种基于电路交换思想的设计,统计复用的 IP 虚电路并不真的预留带宽。所以这句话作为"对虚电路的普遍描述"是错的。
408 实务中考虑的网络层基本就是数据报模型(IP);虚电路概念主要用于和数据报做对比。
路由表与转发动作
路由表的核心字段
| 字段 | 含义 |
|---|---|
| 目的网络(含掩码) | 用 CIDR 表示,如 192.168.1.0/24 |
| 下一跳(next hop) | 把分组扔给谁继续转发 |
| 出接口 | 从本路由器哪个物理接口送出 |
| 距离 / 度量值(metric) | 路由协议算出来的开销 |
最长前缀匹配(Longest Prefix Match)
一个目的 IP 可能同时匹配路由表的多条记录,取掩码最长的那条。这是 CIDR 时代的核心查表规则。
2015 真题第 38 题:路由表里
169.96.40.0/23、/25、/27三条都覆盖169.96.40.5,外加默认路由0.0.0.0/0。/27(255.255.255.224)把 169.96.40.5 划进169.96.40.0/27这个子网内,掩码最长,所以走 S3 接口。解法套路:把目的 IP 按各条记录的掩码做 AND,看能否等于该记录的"目的网络";能匹配的里头取掩码位数最多的。
路由聚合(route aggregation)
把多条相同下一跳的细路由合并成一条粗路由,缩减路由表项。例如:
199.10.20.0/27、199.10.20.32/27、199.10.20.64/27、199.10.20.128/25- 共有前缀
199.10.20.0/25?不对:前 3 条的前 25 位不全同 - 实际能合并的是前 3 条到
199.10.20.0/26+ 一条/25,或者其它组合
2026 真题第 37 题就是给一张拓扑,让你算 R1 失去 R2 那条链路后、重新跑链路状态算法、再做最大聚合后的路由表条目数。考的就是聚合的边界条件:只有目的网络相邻、出接口和下一跳相同时才能合并。
默认路由
掩码为 /0、目的网络为 0.0.0.0 的特殊路由——当所有其它路由都不匹配时使用,对应"指向默认网关"。
2022 真题第 36 题:主机 192.168.1.60、网段 192.168.1.62/27、上游链路是 /30。子网 /27 → 掩码 255.255.255.192,默认网关就是 H 所在子网的路由器接口地址,即 192.168.1.62。
路由协议两大类(仅通论,细节见各专题文章)
| 类型 | 代表协议 | 思路 | 收敛速度 | 适用规模 |
|---|---|---|---|---|
| 距离向量 | RIP | 邻居告诉我"它到目的的距离",我加上"到邻居的距离"取最小 | 慢,可能"无穷计数" | 小型自治系统 |
| 链路状态 | OSPF | 每台路由器把自己的链路状态广播到全域,每台路由器各自跑 Dijkstra | 快、稳定 | 中大型自治系统 |
| 路径向量 | BGP | 不只距离,还带路径列表,避免环路 | 中等 | 自治系统之间 |
2010 真题第 35 题:R1 收到邻居 R2 给的距离向量
<net1, 16>。RIP 中 16 = 不可达。只有 R2 才能确定 net1 不可达(因为 R2 是邻居);至于 R1 经过 R2 到 net1 是否可达,要看 R1-R2 之间的链路成本——RIP 规则是R1→net1 经 R2 = R1→R2 + R2→net1,由于 R2→net1 已经 = 16(不可达),所以R1 不能经 R2 到达 net1。
2021 真题第 37 题:链路状态路由本质就是"我能拿到全网拓扑,自己跑最短路"。E 看到 A 报告"到 Net1 距离 1",加上 E-A 链路 = 8,得 9;B 报告"到 Net1 距离 23",加上 E-B = 10,得 33,但不一定是 E 到 Net1 的最短路——E 还可能经 C 或 D。所以E 到 Net1 = min(8+1, 10+23, 12+20, 6+22) = 9。
通论考点对比表(速查)
| 对照点 | 数据报 | 虚电路 |
|---|---|---|
| 路由器是否需要状态 | 无(每包独立查表) | 有(每条 VC 一行状态) |
| 路由计算时机 | 持续动态进行 | 建立连接时一次性确定 |
| 对照点 | 路由 | 转发 |
|---|---|---|
| 层面 | 控制面 | 数据面 |
| 速度 | 慢(秒级收敛) | 极快(每包微秒级) |
| 涉及范围 | 全网拓扑 | 单台路由器内部 |
| 对照点 | 传统网络 | SDN |
|---|---|---|
| 控制面位置 | 每台路由器各自有 | 集中控制器 |
| 数据面 | 与控制面在同一设备 | 仅做流表匹配 |
| 部署灵活性 | 受协议绑死 | 软件可编程 |
易错点
1. 转发不等于路由
路由是"算路径并更新路由表"的过程,发生在控制面、相对慢;转发是"对单个分组按已建好的路由表选下一跳",发生在数据面、极快。这两词在 408 题目里一旦混用就会扣分。
2. IP 提供无连接、不可靠服务,但路由器仍可丢分组
"不可靠"不代表"不会丢",而是"丢了不重传、不告知"。拥塞时路由器主动丢 IP 分组是网络层正常行为,不是 bug。
3. 虚电路 VCID 在不同路由器接口上可能不同
VCID 是局部标识,每条链路一段:路由器接收时按"入接口 + 入 VCID"查表,输出时换成"出接口 + 出 VCID"。这与"IP 地址端到端不变"形成鲜明对比。
4. 最长前缀匹配的"最长"指的是掩码位数,不是匹配字节数
/27(27 位)比 /24(24 位)"长",所以 /27 优先。学生常把"网络号字节数"和"掩码位数"搞混。
5. 默认网关与"路由表里能查到的下一跳"不冲突
默认网关只是 0.0.0.0/0 这一条特殊路由。如果有更具体的路由匹配,默认网关不会被用到。
6. SDN 把"控制面"集中化,不是把"路由"消灭
SDN 路由器(OpenFlow 交换机)依然在做转发,依然按"匹配 + 动作"工作;只是路由由集中控制器计算后下发,而不是各设备自己算。
高频考点清单
- 路由与转发的分工:控制面 vs 数据面
- IP 数据报模型 vs 虚电路模型的特性对比
- 最长前缀匹配的查表规则
- 路由聚合的条件(同下一跳 + 同出接口 + 相邻网段)
- 距离向量与链路状态的工作机制差别
- 距离向量的"16 = 不可达"约定(RIP 跳数上限)
- SDN 的控制面 / 数据面分离思想