当前位置: 首页 > news >正文

【网安第18课】数据包的拆包与封包过程

数据在网络中传输,就像寄快递:发件人将物品层层包装(封装),每层贴上标签(协议头);收件人收到后层层拆解,最终取出物品(数据)。下图展示了数据从发送端到接收端经过的完整路径:


一、封包过程(发送端)

假设用户在浏览器访问 http://www.example.com,浏览器生成一个 HTTP GET 请求作为应用层数据。

应用层

  • 数据:HTTP 请求报文,例如:

    GET /index.html HTTP/1.1\r\nHost: www.example.com\r\n\r\n
  • 处理:应用层协议(HTTP)将数据交给传输层,不添加额外头部(某些应用协议会加头,如 SMTP)。

  • PDU 名称:报文(Message)

传输层(以 TCP 为例)

  • 功能:建立端到端连接,提供可靠传输。

  • 封装:在应用层数据前添加 TCP 头部(20~60 字节)。

  • 关键字段:

    ​ · 源端口(随机,如 54321) ​ · 目的端口(80,HTTP 默认) ​ · 序列号(Seq=1) ​ · 确认号(Ack=0,初始) ​ · 控制标志(SYN=1 或 PSH=1 等) ​ · 校验和
  • 结果:形成 TCP 段(Segment)。

  • PDU 名称:段(Segment)

网络层(IP)

  • 功能:路由和寻址,将数据从源主机发送到目的主机。

  • 封装:在 TCP 段前添加 IP 头部(20~60 字节)。

  • 关键字段:

· 版本(IPv4) · 头部长度 · 服务类型 · 总长度 · 标识、标志、片偏移(用于分片) · 生存时间(TTL,默认 64) · 协议(6 表示 TCP) · 源 IP 地址(192.168.1.100) · 目的 IP 地址(93.184.216.34) · 头部校验和
  • 结果:形成 IP 数据报(Datagram)。

  • PDU 名称:数据报 / 包(Packet)

注意:若数据报长度超过链路 MTU(如 1500 字节),IP 层会进行分片,每个分片独立传输。

数据链路层(以以太网为例)

  • 功能:在相邻网络节点之间可靠传输帧。

  • 封装:在 IP 数据报前后分别添加 以太网头部 和 尾部(FCS)。

  • 以太网头部(14 字节):

· 目的 MAC 地址(下一跳路由器的 MAC,通过 ARP 获得) · 源 MAC 地址(本机网卡 MAC) · 类型(0x0800 表示 IPv4) · 尾部(4 字节):帧校验序列(FCS,CRC 校验)
  • 结果:形成 以太网帧(Frame)。

  • PDU 名称:帧(Frame)

物理层

  • 功能:将帧转换为比特流,并通过物理介质传输。

  • 处理:

· 以太网帧被编码为电信号(双绞线)、光信号(光纤)或无线电波(WiFi)。 · 添加前导码(7 字节)和帧首定界符(1 字节)以便接收端同步。
  • PDU 名称:比特(Bit)


二、拆包过程(接收端)

数据到达目的主机后,从物理层向上逐层解封装。

物理层

  • 接收比特流,恢复成以太网帧,交给数据链路层。

数据链路层

  • 检查帧头的目的 MAC 地址是否与本机 MAC 匹配(或广播/组播)。

  • 使用 FCS 进行差错检测,若出错则丢弃请求重传。

  • 剥离以太网头部和尾部,取出 IP 数据报,根据类型字段(0x0800)交给网络层。

网络层

  • 检查 IP 头部的目的 IP 地址是否与本机 IP 匹配(或组播地址)。

  • 校验 IP 头部,丢弃损坏的数据报。

  • 检查 TTL,若为 0 则丢弃。

  • 若收到分片,则重组完整 IP 数据报。

  • 根据协议字段(6 → TCP)剥离 IP 头部,将 TCP 段交给传输层。

传输层(TCP)

  • 根据 TCP 头部的源/目的端口,将段交给对应的应用进程(如 80 端口 → HTTP 服务)。

  • 校验和验证,丢弃损坏段。

  • TCP 协议栈处理:确认收到、排序、去重、流量控制等。

  • 剥离 TCP 头部,取出 HTTP 报文,交给应用层。

应用层

  • HTTP 协议解析请求或响应,最终呈现给用户(如网页内容)。


三、封包拆包过程中的关键概念

协议数据单元(PDU)

层级PDU 名称示例
应用层报文HTTP 请求
传输层段(TCP)/ 数据报(UDP)TCP Segment
网络层数据报 / 包IP Datagram
链路层Ethernet Frame
物理层比特0/1 序列

头部信息(以典型以太网+IPv4+TCP+HTTP 为例)

  • 以太网头:14 字节(MAC 地址、类型)

  • IP 头:20 字节(无选项)

  • TCP 头:20 字节(无选项)

  • HTTP 头:可变(几十到几百字节)

  • 总封装开销:至少 54 字节(不计应用层头)

分片与重组

当 IP 数据报长度超过链路 MTU 时,网络层会将数据报分成多个较小的片(片偏移字段标识位置),每个片独立传输,到达目的主机后再由 IP 层重组。

地址解析

网络层需要目的 IP 地址,但数据链路层需要目的 MAC 地址。发送端通过 ARP(地址解析协议) 获取下一跳设备的 MAC 地址,并缓存。

封装嵌套示例

封装内容层级
以太网头TCP头[FCS]完整帧
IP头[HTTP数据]IP 数据报
TCP头TCP 段
[HTTP数据]HTTP 报文

四、实际场景举例:访问网页

  1. 浏览器(应用层)生成 HTTP GET 请求。

  2. 传输层(TCP)将请求分割为合适大小的段,加上 TCP 头(源端口随机,目的端口 80)。

  3. 网络层(IP)封装 IP 头(源 IP 为客户端 IP,目的 IP 为服务器 IP)。

  4. 数据链路层(以太网)封装以太网头(源 MAC 为本机,目的 MAC 为默认网关 MAC,通过 ARP 获取)。

  5. 物理层将帧转为电信号发送。

  6. 数据经过路由器:每跳路由器在数据链路层拆包、查路由表、重新封装新的链路层头(源和目的 MAC 改变)再转发。

  7. 最终到达服务器,物理层接收,逐层解封装,服务器获取 HTTP 请求并响应。

  8. 响应数据再以同样方式封装返回客户端。


五、常见问题

  • 为什么需要多层封装?

每层关注不同功能(寻址、可靠传输、差错控制),解耦设计便于标准化和替换(例如将以太网换成 Wi-Fi,上层不受影响)。
  • 封装是否增加额外开销?

是,但换来的是通用性和灵活性,且现代网络带宽足够支撑。
  • UDP 封装有何不同?

UDP 头部更简单(8 字节),没有可靠性机制,但过程类似。

封包拆包是网络通信的基础,理解这个过程能帮助分析网络故障、优化性能以及理解安全攻击(如分片攻击、ARP 欺骗等)。

http://www.jsqmd.com/news/831846/

相关文章:

  • 网页触摸体验优化:从Pointer Events到自定义手势的实现
  • FMCW雷达干扰抑制:分数傅里叶变换的工程实践
  • 有限状态机进阶:复合状态与历史机制的设计原理与应用
  • 中小团队如何利用taotoken实现多模型api的统一管理与访问控制
  • 嵌入式语音模块技术解析:从核心原理到智能家居实战应用
  • 直击底层根基:乌兰察布智算中心全套设备绝密清册
  • Arm Neoverse CMN-700一致性网格网络架构与寄存器配置详解
  • 智能合约赋能AI代理:构建可验证、可审计的自动化工作流
  • SpringBoot核心原理与实战:从自动配置到RESTful API开发
  • 2026年当下,汕头制袋机技术革新与品牌选择指南 - 2026年企业推荐榜
  • 嵌入式语音模块实战:从原理到智能家居应用全解析
  • 通过Taotoken CLI工具一键配置多款AI助手的开发环境
  • 折纸与电路融合:制作发光莲花与青蛙的STEAM创意实践
  • 激光清洗设备人机交互方案:大彩串口屏开发实战与抗干扰设计
  • 2026年5月,温州企业如何借力GEO服务商破局AI搜索? - 2026年企业推荐榜
  • 智能体组织架构:从单体AI到协同工作流的范式演进
  • ElevenLabs马拉雅拉姆文支持深度解析:3大未公开API限制、4种音色适配陷阱与实时绕过方案
  • 前端安全边界
  • 基于ESP32-S2与MAX17048的物联网电池监控系统设计与实现
  • 大语言模型并行推理技术Hogwild! Inference解析
  • Android设备安全认证绕过:SafetyNet-Fix模块完整指南
  • Windows效率神器!微软官方白送,30+工具让 Windows 效率翻倍!
  • 【Midjourney铁银印相风格终极指南】:20年影像工艺专家亲授3大核心参数调校法,97%用户忽略的暗房级质感密码
  • 车规级3D Touch芯片:电容+压力双模方案如何重塑汽车智能表面交互
  • 【Midjourney等距视角风格实战指南】:20年视觉架构师亲授3大构图铁律、5类工业级提示词模板与避坑清单
  • HPC与AI硬件融合:INT8精度调优加速科学计算
  • WarcraftHelper:魔兽争霸3玩家的终极优化神器,告别卡顿与限制
  • 3D打印LED发光史莱姆:零焊接电子制作与创意材料科学实践
  • 揭秘Midjourney V6中Ash印相模式:3步精准复刻安塞尔·亚当斯暗房调色逻辑(含LUT映射对照表)
  • 鸿蒙微内核架构解析:从设计哲学到开发实战