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。

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

相关推荐
搬码临时工11 分钟前
如何通过外网访问内网?哪个方案比较好用?跨网远程连接网络知识早知道
网络·智能路由器
stormsha32 分钟前
Linux中su与sudo命令的区别:权限管理的关键差异解析
linux·运维·服务器·鸿蒙系统·ux·batch命令
新加坡内哥谈技术1 小时前
Meta计划借助AI实现广告创作全自动化
运维·人工智能·自动化
zyjyyds1131 小时前
win11系统 Docker Desktop 突然提示Docker Engine stopped解决情况之一
运维·docker·容器
Altairr1 小时前
Docker基础(一)
运维·docker·容器·eureka
文牧之1 小时前
PostgreSQL 的扩展pageinspect
运维·数据库·postgresql
小兔子酱#2 小时前
【Docker 01】Docker 简介
运维·docker·容器
还有几根头发呀3 小时前
UDP 与 TCP 调用接口的差异:面试高频问题解析与实战总结
网络·网络协议·tcp/ip·面试·udp
jugt3 小时前
CentOS 7.9安装Nginx1.24.0时报 checking for LuaJIT 2.x ... not found
linux·运维·centos
21号 15 小时前
9.进程间通信
linux·运维·服务器