04

网络层

数据平面和控制平面

阅读量:2 · 预计 5 分钟读完

IP协议IPv4/IPv6路由算法BGPOSPFSDN
阅读进度10%

第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 bitIP 版本(4 或 6)
首部长度4 bit首部长度(以 4 字节为单位)
服务类型8 bit区分服务(DSCP + ECN)
总长度16 bit数据报总长度(字节)
标识16 bit用于分片
标志3 bitDF(不分片)、MF(更多分片)
片偏移13 bit分片偏移量
生存时间8 bitTTL,防止无限循环
协议8 bit上层协议(TCP=6, UDP=17)
首部校验和16 bit首部完整性校验
源 IP 地址32 bit发送方 IP
目的 IP 地址32 bit接收方 IP

2.3 IPv4 编址

2.3.1 分类编址

早期 IPv4 采用分类编址:

类别范围网络位主机位
A1.0.0.0 - 126.255.255.255824
B128.0.0.0 - 191.255.255.2551616
C192.0.0.0 - 223.255.255.255248

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 查看网络配置

bash
# Linux
ip addr show
ip route show

# Mac
ifconfig
netstat -rn

5.2 使用 ping 和 traceroute

bash
# 测试连通性
ping www.google.com

# 查看路由路径
traceroute www.google.com

5.3 使用 nslookup/dig 查询 DNS

bash
nslookup www.google.com
dig www.google.com

六、本章小结

第4章讲解了网络层的数据平面:

IP 协议 是互联网的核心协议,负责分组的路由和转发

IPv4 编址 采用分类编址和 CIDR

NAT 解决 IP 地址短缺问题

IPv6 提供更大的地址空间

路由器 通过查表和转发实现分组传输

后续章节将讲解网络层的控制平面——路由算法。