OSI模型中协议数据单元(PDU)

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。

  • 物理层:转为比特流发送。

相关推荐
迎仔7 小时前
A-算力中心网络隔离总览:数字世界的“酒店房间“
网络
wangjialelele7 小时前
Linux下的IO操作以及ext系列文件系统
linux·运维·服务器·c语言·c++·个人开发
宝塔面板7 小时前
AllinSSL 一站式搞定 SSL 自动续期:永久免费,开源可自托管
网络·网络协议·ssl
csdn今天倒闭了吗7 小时前
飞牛lucky配置ipv6 ddns+ssl+反向代理
网络·网络协议·ssl
HypoxiaDream7 小时前
LINUX-Ext系列⽂件系统
linux·运维·服务器
小毛驴8507 小时前
Linux curl 命令用法
linux·运维·chrome
强风7947 小时前
Linux-网络层
网络
李斯啦果8 小时前
【Linux】Linux目录配置
linux·运维·服务器
AI+程序员在路上8 小时前
linux下线程中pthread_detach与pthread_join区别
linux·运维·服务器
独行soc8 小时前
2026年渗透测试面试题总结-19(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮