第4章:网络层——数据平面(The Network Layer: Data Plane)
一、导读
4.1 本章学习目标
网络层负责将分组从源主机路由到目的主机。本章分为两部分:数据平面(转发)和控制平面(路由)。本章聚焦数据平面,讲解 IP 协议、IPv4/IPv6、NAT、以及路由器的工作原理。
本章的核心学习目标包括:
- 理解网络层的功能:路由和转发
- 掌握 IP 协议:IPv4 数据报格式、分片、TTL
- 理解 IPv4 编址:分类编址、CIDR、子网划分
- 掌握 NAT 的工作原理:地址转换的利与弊
- 理解 IPv6:为什么需要 IPv6、IPv6 数据报格式
- 掌握路由器的工作原理:输入端口、交换结构、输出端口
4.2 为什么网络层如此重要
网络层是互联网的核心。IP 协议使得全球数十亿设备能够互联互通。理解网络层的工作原理,对于开发网络应用、配置网络设备、调试网络问题至关重要。
二、核心概念详解
2.1 数据平面 vs 控制平面
网络层有两个核心功能:
- 数据平面(Data Plane):转发(forwarding)——将分组从输入端口移动到输出端口
- 控制平面(Control Plane):路由(routing)——确定分组从源到目的的路径
控制平面:决定路由路径
数据平面:执行分组转发2.2 IP 数据报格式
IPv4 数据报的关键字段:
| 字段 | 长度 | 功能 |
|---|---|---|
| 版本 | 4 bit | IP 版本(4 或 6) |
| 首部长度 | 4 bit | 首部长度(以 4 字节为单位) |
| 服务类型 | 8 bit | 区分服务(DSCP + ECN) |
| 总长度 | 16 bit | 数据报总长度(字节) |
| 标识 | 16 bit | 用于分片 |
| 标志 | 3 bit | DF(不分片)、MF(更多分片) |
| 片偏移 | 13 bit | 分片偏移量 |
| 生存时间 | 8 bit | TTL,防止无限循环 |
| 协议 | 8 bit | 上层协议(TCP=6, UDP=17) |
| 首部校验和 | 16 bit | 首部完整性校验 |
| 源 IP 地址 | 32 bit | 发送方 IP |
| 目的 IP 地址 | 32 bit | 接收方 IP |
2.3 IPv4 编址
2.3.1 分类编址
早期 IPv4 采用分类编址:
| 类别 | 范围 | 网络位 | 主机位 |
|---|---|---|---|
| A | 1.0.0.0 - 126.255.255.255 | 8 | 24 |
| B | 128.0.0.0 - 191.255.255.255 | 16 | 16 |
| C | 192.0.0.0 - 223.255.255.255 | 24 | 8 |
2.3.2 CIDR(无类别域间路由)
CIDR 使用 /n 表示前缀长度,如 192.168.1.0/24 表示前 24 位是网络前缀。
2.3.3 子网划分
子网划分将一个大网络分成多个小网络:
原始网络:192.168.0.0/16(65534 个主机)
子网划分:192.168.1.0/24(254 个主机)
192.168.2.0/24(254 个主机)
...2.4 NAT(网络地址转换)
NAT 将内部私有 IP 地址转换为外部公有 IP 地址:
内部网络 NAT 路由器 互联网
192.168.1.100 ──→ 203.0.113.1:5001 ──→ 服务器
192.168.1.101 ──→ 203.0.113.1:5002 ──→ 服务器NAT 的优点:
- 节省公有 IP 地址
- 隐藏内部网络结构
NAT 的缺点:
- 违反端到端原则
- P2P 应用难以穿透 NAT
2.5 IPv6
IPv4 地址空间(43 亿)已经耗尽,IPv6 提供 128 位地址空间(3.4×10^38)。
IPv6 的改进:
- 更大的地址空间
- 更简单的首部(固定 40 字节)
- 更好的扩展性(扩展首部)
- 内置安全性(IPsec)
三、重要知识点
3.1 DHCP(动态主机配置协议)
DHCP 自动为设备分配 IP 地址:
设备发送 DHCP Discover(广播)
DHCP 服务器回复 DHCP Offer
设备发送 DHCP Request
DHCP 服务器发送 DHCP ACK
3.2 ICMP(互联网控制报文协议)
ICMP 用于网络诊断和错误报告:
- ping:使用 ICMP Echo Request/Reply
- traceroute:使用 ICMP Time Exceeded
3.3 路由器的工作原理
路由器由三部分组成:
- 输入端口:接收分组、查表、转发
- 交换结构:将分组从输入端口移动到输出端口
- 输出端口:缓存分组、发送到链路
四、常见误区与难点
4.1 误区一:"IP 保证可靠传输"
IP 是不可靠的,不保证交付、不保证顺序、不重传。可靠传输由 TCP 提供。
4.2 误区二:"NAT 是安全的"
NAT 隐藏内部地址只是"隐蔽性安全",不是真正的安全。防火墙才是安全的第一道防线。
4.3 难点:理解子网划分
子网划分需要理解二进制运算和位掩码。
五、实践应用
5.1 使用 ifconfig/ip 查看网络配置
# Linux
ip addr show
ip route show
# Mac
ifconfig
netstat -rn5.2 使用 ping 和 traceroute
# 测试连通性
ping www.google.com
# 查看路由路径
traceroute www.google.com5.3 使用 nslookup/dig 查询 DNS
nslookup www.google.com
dig www.google.com六、本章小结
第4章讲解了网络层的数据平面:
IP 协议 是互联网的核心协议,负责分组的路由和转发
IPv4 编址 采用分类编址和 CIDR
NAT 解决 IP 地址短缺问题
IPv6 提供更大的地址空间
路由器 通过查表和转发实现分组传输
后续章节将讲解网络层的控制平面——路由算法。