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。

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

相关推荐
少妇的美梦5 小时前
logstash教程
运维
chen9455 小时前
k8s集群部署vector日志采集器
运维
chen9455 小时前
aws ec2部署harbor,使用s3存储
运维
白帽黑客沐瑶10 小时前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业
東雪蓮☆10 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_2642208910 小时前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
树码小子11 小时前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
乌萨奇也要立志学C++11 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy11 小时前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡
Yyyy48211 小时前
Nginx负载均衡集群实验步骤
运维·nginx·负载均衡