OSI模型中协议数据单元(PDU)
协议数据单元(Protocol Data Unit, PDU)是网络通信中每一层协议处理的数据单位,其内容和格式由特定层的协议定义。PDU在不同OSI层次中有不同的名称和结构,体现了分层模型的核心思想:每一层为上层提供服务,并利用下层的服务传递数据。

OSI各层PDU的名称与封装关系
OSI层 | PDU名称 | 组成说明 |
---|---|---|
应用层 (Layer 7) | 报文/消息 (Message) | 用户数据(如HTTP请求、FTP文件) |
表示层 (Layer 6) | 报文 (Message) | 加密/压缩后的数据(如SSL/TLS加密的HTTP数据) |
会话层 (Layer 5) | 报文 (Message) | 建立/维护会话的数据(如RPC调用、NetBIOS会话) |
传输层 (Layer 4) | 段 (Segment) | TCP/UDP数据,添加端口号、校验和(如TCP段包含序列号、窗口大小) |
网络层 (Layer 3) | 包 (Packet) | IP数据包,包含源/目的IP地址(如IPv4包) |
数据链路层 (Layer 2) | 帧 (Frame) | 以太网帧,添加MAC地址、CRC校验(如Ethernet II帧) |
物理层 (Layer 1) | 比特流 (Bits) | 二进制信号(如电脉冲、光信号) |
PDU的封装与解封装过程
数据在发送时从上到下逐层封装,接收时从下到上逐层解封装:
发送方(封装流程)
应用层生成原始数据(如HTTP请求)。
-
传输层(TCP/UDP)添加端口号、校验和,形成Segment。
-
网络层(IP)添加源/目的IP地址,形成Packet。
-
数据链路层(以太网)添加MAC地址、帧头/尾,形成Frame。
-
物理层将帧转为比特流,通过介质传输。
接收方(解封装流程)
-
物理层接收比特流,还原为帧。
-
数据链路层校验帧,去除MAC头,提取Packet。
-
网络层检查IP地址,去除IP头,提取Segment。
-
传输层验证端口和校验和,去除TCP/UDP头,传递数据给应用层。

关键点
-
每层只处理本层的PDU
-
例如,路由器(网络层设备)只处理IP包,不关心TCP段或以太网帧的内容。
-
交换机(数据链路层设备)只处理MAC帧,不解析IP包。
-
-
PDU的命名差异
-
TCP/IP模型中:
-
网络接口层PDU称Frame(帧)。
-
互联网层(IP)PDU称Packet(包)。
-
传输层(TCP/UDP)PDU仍称Segment(段)。
-
-
-
封装开销
- 每层添加的头部/尾部会增加传输开销(如以太网帧头14字节,IP头20字节,TCP头20字节)。
实例分析(HTTP over TCP/IP)
假设用户访问一个网页,PDU变化如下:
-
应用层:HTTP请求(GET /index.html) → Message。
-
传输层:添加TCP头(源端口、目的端口80) → Segment。
-
网络层:添加IP头(源IP 192.168.1.2,目的IP 93.184.216.34) → Packet。
-
数据链路层:添加以太网头(源MAC 00:1A:2B:3C:4D:5E,目的MAC 网关MAC) → Frame。
-
物理层:转为比特流发送。