第4章 网络层:数据平面
分离转发与路由,剖析路由器输入、交换、输出、排队和调度,并掌握IPv4编址、NAT、IPv6、泛化转发、SDN与中间盒
第4章 网络层:数据平面
本课程锁定James F. Kurose、Keith W. Ross著,陈鸣译《计算机网络:自顶向下方法(原书第8版)》,机械工业出版社,2022年10月,ISBN 9787111712367;英文原版Pearson第8版,2020年出版、2021版权,ISBN 9780135928615。机械工业出版社官方中文目录与Pearson、作者官方第8版目录共同确认8章结构;正式分母为8个章标题和全部编号节/小节,共218个节点。课后习题、编程作业、Wireshark实验、人物专访和参考文献作为学习支持保留说明,但不重复计入核心节点。
学习目标
- 能解释“第4章 网络层:数据平面”全部节点,并把术语放回端到端协议路径。
- 能绘制通信实体、报文次序、状态机、表项和逐层封装。
- 能设计单变量实验,验证“任一分组的本地处理都能由匹配字段、转发表项、队列和调度动作解释,地址转换与返回路径保持可逆状态”。
- 能写出含版本边界、性能、故障、恢复与复核人的独立证据包。
机制总览
第4章 网络层:数据平面:机制路径
- 1
从一条可证伪的端到端路径开始
先预测:只查看路由表而忽略输入匹配、交换能力、输出队列、ACL/NAT和中间盒状态,会把数据平面丢包错误归因于路由协议。把预测写成“应用意图、运输状态、数据平面、控制平面、链路/无线、安全”六行,再运行协议或抓包。若结果与预测不同,先定位首个偏差,不把后续连锁症状冒充根因。
- 2
核心词汇与第8版边界
这些词汇固定在原书第8版语境。HTTP/2、QUIC/HTTP/3演化、CUBIC/BBR、SDN、NETCONF/YANG、4G/5G和WPA3语境属于本版;第9版重排或新增内容只能另行比较,不能修改218个节点分母。
- 3
核心机制深读
路由器输入端口解析首部并查表,交换结构把分组送往输出端口;控制平面负责形成规则。两者分离后才能定位是规则错误还是执行拥塞。
章级决策实验
第4章 网络层:数据平面:机制与证据
切换《第4章 网络层:数据平面》的三个关键教学阶段,先解释机制,再用运行与失败证据验证结论。
选择推理阶段
当前阶段 · 从一条可证伪的端到端路径开始
先预测:只查看路由表而忽略输入匹配、交换能力、输出队列、ACL/NAT和中间盒状态,会把数据平面丢包错误归因于路由协议。把预测写成“应用意图、运输状态、数据平面、控制平面、链路/无线、安全”六行,再运行协议或抓包。若结果与预测不同,先定位首个偏差,不把后续连锁症状冒充根因。
可核验证据
用确定的客户端与服务端输入复现「从一条可证伪的端到端路径开始」,同时核对应用日志、套接字状态和分层抓包中的字段、时序与失败响应。
学完《第4章 网络层:数据平面》后,应能从输入和前置条件推导状态变化,并用可重复的构建、运行或边界测试证明结果。
失效—证据矩阵
第4章 网络层:数据平面:失效与核验
从一条可证伪的端到端路径开始
典型失效
若把「从一条可证伪的端到端路径开始」当成孤立协议名而忽略分层接口、时序和端到端状态,丢包、重传或路由变化后就难以解释观测结果。
核验证据
用确定的客户端与服务端输入复现「从一条可证伪的端到端路径开始」,同时核对应用日志、套接字状态和分层抓包中的字段、时序与失败响应。
核心词汇与第8版边界
典型失效
若把「核心词汇与第8版边界」当成孤立协议名而忽略分层接口、时序和端到端状态,丢包、重传或路由变化后就难以解释观测结果。
核验证据
用确定的客户端与服务端输入复现「核心词汇与第8版边界」,同时核对应用日志、套接字状态和分层抓包中的字段、时序与失败响应。
核心机制深读
典型失效
若把「核心机制深读」当成孤立协议名而忽略分层接口、时序和端到端状态,丢包、重传或路由变化后就难以解释观测结果。
核验证据
用确定的客户端与服务端输入复现「核心机制深读」,同时核对应用日志、套接字状态和分层抓包中的字段、时序与失败响应。
从一条可证伪的端到端路径开始
先预测:只查看路由表而忽略输入匹配、交换能力、输出队列、ACL/NAT和中间盒状态,会把数据平面丢包错误归因于路由协议。把预测写成“应用意图、运输状态、数据平面、控制平面、链路/无线、安全”六行,再运行协议或抓包。若结果与预测不同,先定位首个偏差,不把后续连锁症状冒充根因。
本页主问题是:分离转发与路由,剖析路由器输入、交换、输出、排队和调度,并掌握IPv4编址、NAT、IPv6、泛化转发、SDN与中间盒。每个箭头要注明通信实体、报文、地址或标识、状态变化、定时器以及证据位置;每个性能结论要注明负载、路径、窗口和瓶颈假设。
验收不变量是:任一分组的本地处理都能由匹配字段、转发表项、队列和调度动作解释,地址转换与返回路径保持可逆状态。一次ping、一个HTTP状态码或一个接口up都只证明局部事实,不能独立证明名称解析、双向运输、转发、移动性与身份安全全部成立。
核心词汇与第8版边界
↡路由器在本地依据转发表把到达分组移到适当输出端口的动作、↡在多个目的前缀中选择位数最长且匹配目标地址的规则、↡在边界改写地址或端口并维护映射状态的网络地址转换机制、↡按多个首部字段匹配并执行转发、丢弃、改写等动作的模型、↡执行传统IP转发之外网络功能的路径内设备或功能实体
这些词汇固定在原书第8版语境。HTTP/2、QUIC/HTTP/3演化、CUBIC/BBR、SDN、NETCONF/YANG、4G/5G和WPA3语境属于本版;第9版重排或新增内容只能另行比较,不能修改218个节点分母。
核心机制深读
数据平面逐包快,控制平面全网慢
路由器输入端口解析首部并查表,交换结构把分组送往输出端口;控制平面负责形成规则。两者分离后才能定位是规则错误还是执行拥塞。
动手试:先画预期报文时间线与状态变化,再抓取一次正常流和一次单变量故障流。标出首个偏差,避免用最终症状倒推任意根因。
队列位置决定观察到的故障
输入排队可能发生队头阻塞,输出到达率超过链路服务率会积压和丢包。调度算法决定不同流的延迟、公平与隔离。
IPv4编址是一组前缀约束
子网由接口间无需路由器即可互达来定义,CIDR用前缀长度聚合地址。DHCP提供配置,NAT把私网端点映射到外部标识。
IPv6不是把地址加长这么简单
固定基础首部、扩展首部和不同的分片责任改变处理方式;迁移常借助双栈或隧道,需要分别验证路径MTU和策略。
匹配加动作统一多种路径功能
OpenFlow式规则可匹配入端口和多层首部并执行转发、丢弃、改写或送控制器。中间盒则提醒我们真实路径还包含防火墙、均衡和转换状态。
原书目录核对清单
本页承担21个原书正式节点。正文、图解、实验和题目必须能反向定位每项:
- 第4章 网络层:数据平面
- 4.1 网络层概述
- 4.1.1 转发和路由选择:数据平面和控制平面
- 4.1.2 网络服务模型
- 4.2 路由器工作原理
- 4.2.1 输入端口处理和基于目的地转发
- 4.2.2 交换
- 4.2.3 输出端口处理
- 4.2.4 何处出现排队
- 4.2.5 分组调度
- 4.3 网际协议:IPv4、寻址、IPv6及其他
- 4.3.1 IPv4数据报格式
- 4.3.2 IPv4编址
- 4.3.3 网络地址转换
- 4.3.4 IPv6
- 4.4 泛化转发和SDN
- 4.4.1 匹配
- 4.4.2 操作
- 4.4.3 运行中的匹配加操作的OpenFlow例子
- 4.5 中间盒
- 4.6 小结
建立逐层正常路径
从应用消息向下标出运输端点、IP与转发表、下一跳链路、无线或接入状态以及安全保护边界。
可复现实验记录
destination = 10.23.7.41
candidates = [10.0.0.0/8, 10.23.0.0/16, 10.23.7.0/24]
selected = longest_matching_prefix(candidates)match: in_port=3, ipv4_dst=10.0.4.0/24, tcp_dst=443
action: decrement_ttl, set_queue=gold, output=7inside = 10.0.0.8:53000
public = 203.0.113.7:62001
return traffic must match the same NAT state独立证据门
第4章 网络层:数据平面 的最小证据包包含:第8版节点、正常报文时间线、地址与端口、协议状态、路由/邻居/链路表项、性能条件、单变量故障、安全策略、恢复、偏差、责任人与复核人。
练习
练习
问题 1:为什么“第4章 网络层:数据平面”必须固定第8版?
问题 2:怎样构造“只查看路由表而忽略输入匹配、交换能力、输出队列、ACL/NAT和中间盒状态,会把数据平面丢包错误归因于路由协议”的最小反例?
问题 3:何时可以认为本页完成独立交接?
本章回顾
“第4章 网络层:数据平面”的核心是分离转发与路由,剖析路由器输入、交换、输出、排队和调度,并掌握IPv4编址、NAT、IPv6、泛化转发、SDN与中间盒。真正掌握不是背缩写,而是能把应用意图、报文、状态、表项、性能、故障与安全证据连成可证伪的端到端模型。
名词解释
本章出现的专业名词,用大白话再讲一遍。
- 转发
路由器在本地依据转发表把到达分组移到适当输出端口的动作。掌握标准是能在报文、状态机或表项中定位,并构造一个最小失败反例。
- 最长前缀匹配
在多个目的前缀中选择位数最长且匹配目标地址的规则。掌握标准是能在报文、状态机或表项中定位,并构造一个最小失败反例。
- NAT
在边界改写地址或端口并维护映射状态的网络地址转换机制。掌握标准是能在报文、状态机或表项中定位,并构造一个最小失败反例。
- 泛化转发
按多个首部字段匹配并执行转发、丢弃、改写等动作的模型。掌握标准是能在报文、状态机或表项中定位,并构造一个最小失败反例。
- 中间盒
执行传统IP转发之外网络功能的路径内设备或功能实体。掌握标准是能在报文、状态机或表项中定位,并构造一个最小失败反例。
← 上一页:第3章 运输层 · 下一页:第5章 网络层:控制平面 →
原版目录概念补充核对
以下条目补齐官方目录中容易被示例主线掩盖的概念。它们不重复罗列目录,而是明确每项概念的机制、适用边界和验收证据。
4.1 网络层概述:机制、边界与证据
第4章 网络层:数据平面中的4.1 网络层概述应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.1.1 转发和路由选择:数据平面和控制平面:机制、边界与证据
第4章 网络层:数据平面中的4.1.1 转发和路由选择:数据平面和控制平面要区分每台路由器的逐包转发与全网路径计算:前者查表执行,后者生成和更新表项。验证时记录前缀、下一跳和控制协议状态,再改变一条链路或策略,观察收敛期间路径与丢包如何变化。
4.1.2 网络服务模型:机制、边界与证据
第4章 网络层:数据平面中的4.1.2 网络服务模型应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.2 路由器工作原理:机制、边界与证据
第4章 网络层:数据平面中的4.2 路由器工作原理要区分每台路由器的逐包转发与全网路径计算:前者查表执行,后者生成和更新表项。验证时记录前缀、下一跳和控制协议状态,再改变一条链路或策略,观察收敛期间路径与丢包如何变化。
4.2.1 输入端口处理和基于目的地转发:机制、边界与证据
第4章 网络层:数据平面中的4.2.1 输入端口处理和基于目的地转发要区分每台路由器的逐包转发与全网路径计算:前者查表执行,后者生成和更新表项。验证时记录前缀、下一跳和控制协议状态,再改变一条链路或策略,观察收敛期间路径与丢包如何变化。
4.2.2 交换:机制、边界与证据
第4章 网络层:数据平面中的4.2.2 交换发生在一跳交付与局域网转发范围内,地址解析、帧封装和交换表学习共同决定实际出口。可清空相关缓存后发起一次通信,按时间核对 ARP/邻居发现、MAC 表、帧地址以及跨 VLAN 时的三层边界。
4.2.3 输出端口处理:机制、边界与证据
第4章 网络层:数据平面中的4.2.3 输出端口处理应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.2.4 何处出现排队:机制、边界与证据
第4章 网络层:数据平面中的4.2.4 何处出现排队应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.2.5 分组调度:机制、边界与证据
第4章 网络层:数据平面中的4.2.5 分组调度应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.3 网际协议:IPv4、寻址、IPv6及其他:机制、边界与证据
第4章 网络层:数据平面中的4.3 网际协议:IPv4、寻址、IPv6及其他要区分每台路由器的逐包转发与全网路径计算:前者查表执行,后者生成和更新表项。验证时记录前缀、下一跳和控制协议状态,再改变一条链路或策略,观察收敛期间路径与丢包如何变化。
4.3.1 IPv4数据报格式:机制、边界与证据
第4章 网络层:数据平面中的4.3.1 IPv4数据报格式要区分每台路由器的逐包转发与全网路径计算:前者查表执行,后者生成和更新表项。验证时记录前缀、下一跳和控制协议状态,再改变一条链路或策略,观察收敛期间路径与丢包如何变化。
4.3.2 IPv4编址:机制、边界与证据
第4章 网络层:数据平面中的4.3.2 IPv4编址要区分每台路由器的逐包转发与全网路径计算:前者查表执行,后者生成和更新表项。验证时记录前缀、下一跳和控制协议状态,再改变一条链路或策略,观察收敛期间路径与丢包如何变化。
4.3.3 网络地址转换:机制、边界与证据
第4章 网络层:数据平面中的4.3.3 网络地址转换应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.3.4 IPv6:机制、边界与证据
第4章 网络层:数据平面中的4.3.4 IPv6要区分每台路由器的逐包转发与全网路径计算:前者查表执行,后者生成和更新表项。验证时记录前缀、下一跳和控制协议状态,再改变一条链路或策略,观察收敛期间路径与丢包如何变化。
4.4 泛化转发和SDN:机制、边界与证据
第4章 网络层:数据平面中的4.4 泛化转发和SDN要区分每台路由器的逐包转发与全网路径计算:前者查表执行,后者生成和更新表项。验证时记录前缀、下一跳和控制协议状态,再改变一条链路或策略,观察收敛期间路径与丢包如何变化。
4.4.1 匹配:机制、边界与证据
第4章 网络层:数据平面中的4.4.1 匹配应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.4.2 操作:机制、边界与证据
第4章 网络层:数据平面中的4.4.2 操作应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.4.3 运行中的匹配加操作的OpenFlow例子:机制、边界与证据
第4章 网络层:数据平面中的4.4.3 运行中的匹配加操作的OpenFlow例子应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.5 中间盒:机制、边界与证据
第4章 网络层:数据平面中的4.5 中间盒应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。
4.6 小结:机制、边界与证据
第4章 网络层:数据平面中的4.6 小结应沿“发送端—网络核心—接收端”的分层接口定位责任。先写输入报文、每层新增状态和可观察输出,再改变一个链路或协议条件,用抓包、表项和端点日志交叉验证因果关系。