发布时间:2026/8/4 10:28:21
数据包在OSI各层之间的封装与解封装过程 一、一个值得思考的问题当你在浏览器中输入一个网址按下回车到网页内容呈现在屏幕上——数据在这个过程中经历了什么大多数人知道数据从网线发出去到了服务器再回来。但很少有人能说清楚数据在发送端从应用层一路向下每一层做了什么到了接收端又是怎么恢复成原始数据的这就是封装与解封装的过程。二、封装自上而下逐层添加控制信息数据在发送端从应用层开始逐层向下传递。每一层在收到上层数据后会加上自己的控制信息通常是头部Header然后交给下一层。这个过程叫做封装Encapsulation。2.1 各层数据单位的名称变化在封装过程中数据在不同层级有不同的名称层级数据单位名称说明应用层数据Data用户原始数据传输层数据段Segment添加TCP/UDP头部网络层数据包Packet添加IP头部数据链路层数据帧Frame添加MAC头部和FCS尾部物理层比特流Bit转换为电信号或光信号2.2 一个完整的封装流程场景你访问一个网页浏览器构造了一个HTTP请求请求首页内容。第一步应用层应用层HTTP协议构造请求报文textGET /index.html HTTP/1.1 Host: www.example.com User-Agent: Chrome/...这段文本就是原始数据。应用层把这个数据交给下一层传输层。此时数据单位称为数据Data第二步传输层传输层收到数据后根据应用层的要求选择TCP或UDP协议。假设使用的是TCP协议。传输层做三件事将数据分割成适合传输的“数据段”添加TCP头部源端口、目的端口、序列号、确认号等将数据段交给网络层TCP头部包含的关键字段源端口Source Port浏览器动态分配的端口号目的端口Destination Port80HTTP或443HTTPS序列号Sequence Number数据段编号用于接收端重组确认号Acknowledgment Number确认已收到的数据标志位FlagsSYN、ACK、FIN等控制标志此时数据单位称为数据段Segment第三步网络层网络层收到数据段后进行以下操作在数据段前面添加IP头部查询路由表决定从哪个网卡发出IP头部包含的关键字段源IP地址Source IP发送设备的IP地址目的IP地址Destination IP接收设备的IP地址TTLTime to Live数据包的生存时间协议号Protocol标识上层使用的是什么协议6TCP17UDP此时数据单位称为数据包Packet第四步数据链路层数据链路层收到数据包后进行以下操作在IP包前面添加MAC头部在IP包后面添加FCS帧校验序列尾部MAC头部包含的关键字段源MAC地址发送网卡的MAC地址目的MAC地址接收端或下一跳路由器的MAC地址类型Type标识上层协议0x0800IPv40x0806ARPFCS尾部包含CRC校验码用于接收端检测数据是否在传输过程中出错。此时数据单位称为数据帧Frame第五步物理层物理层收到数据帧后将数据帧转换为比特流0和1的序列通过物理介质网线、光纤、WiFi发送出去。此时数据单位称为比特流Bit三、一个形象的类比封装过程可以用寄快递来理解网络层类比说明应用层数据信件内容你真正想说的话传输层TCP/UDP头部信封写上寄件人和收件人姓名端口号网络层IP头部快递面单写上寄件地址和收件地址IP地址链路层MAC头部尾部快递包装贴上快递单号MAC地址和防拆封条校验码物理层快递车运输实际运送信件内容逐层被封装最终变成可运输的包裹。接收端收到后逐层拆开最终取出信件内容。四、解封装自下而上逐层剥离控制信息数据到达接收端后过程完全反过来——从物理层开始逐层向上每层剥离对应的控制信息最终恢复原始数据。这个过程叫做解封装De-encapsulation。4.1 解封装流程第一步物理层物理层收到比特流将其还原为数据帧交给数据链路层。第二步数据链路层数据链路层做三件事检查FCS校验码确认数据在传输过程中没有出错如果校验通过剥离MAC头部和FCS尾部查看MAC头部中的“类型”字段确定上层协议IPv4→交给网络层此时数据还原为数据包Packet第三步网络层网络层做三件事检查IP头部确认目的IP地址是否为本机剥离IP头部查看IP头部中的“协议”字段确定上层协议6TCP→交给传输层此时数据还原为数据段Segment第四步传输层传输层做三件事检查TCP头部确认端口号根据序列号重组数据段剥离TCP头部此时数据还原为数据Data第五步应用层应用层收到原始数据根据协议HTTP解析请求或响应最终呈现给用户。五、完整过程示意图text发送端封装 接收端解封装 ┌─────────────┐ ┌─────────────┐ │ 应用层 │ │ 应用层 │ │ HTTP请求 │ │ HTTP请求 │ │ 原始数据│ │ 原始数据│ └──────┬──────┘ └──────▲──────┘ │ 添加TCP头部 │ 剥离TCP头部 ┌──────▼──────┐ ┌──────┴──────┐ │ 传输层 │ │ 传输层 │ │ TCP头部 │ │ TCP头部 │ │ 数据 │ │ 数据 │ └──────┬──────┘ └──────▲──────┘ │ 添加IP头部 │ 剥离IP头部 ┌──────▼──────┐ ┌──────┴──────┐ │ 网络层 │ │ 网络层 │ │ IP头部 │ │ IP头部 │ │ TCP头部 │ │ TCP头部 │ │ 数据 │ │ 数据 │ └──────┬──────┘ └──────▲──────┘ │ 添加MAC头部FCS │ 剥离MAC头部和FCS ┌──────▼──────┐ ┌──────┴──────┐ │ 数据链路层 │ │ 数据链路层 │ │ MAC头部 │ │ MAC头部 │ │ IP头部 │ │ IP头部 │ │ TCP头部 │ │ TCP头部 │ │ 数据 FCS│ │ 数据 FCS│ └──────┬──────┘ └──────▲──────┘ │ 转换为比特流 │ 还原为帧 ┌──────▼──────┐ ┌──────┴──────┐ │ 物理层 │ ──────网线/光纤────→ │ 物理层 │ │ 比特流 │ │ 比特流 │ └─────────────┘ └─────────────┘六、封装与解封装的关键点6.1 为什么要在每一层加头部每一层的头部包含了对等层通信所需的控制信息。这些信息只在发送端和接收端的同一层之间有意义。举例IP头部只在网络层之间有意义。传输层不关心IP头部的内容它只负责处理TCP头部。路由器的网络层在转发数据包时只需要查看IP头部中的目的IP地址和TTL值。路由器不关心TCP头部的内容。6.2 对等层通信的逻辑在OSI模型中发送端的第N层和接收端的第N层之间存在“逻辑通信”。它们通过协议进行对话但实际上数据经过了所有下层。形象理解两个公司的老板通过秘书传递文件。老板之间是逻辑通信实际传递靠秘书逐层传递。每个秘书只负责自己这一层的工作。6.3 数据在不同层级看到的范围不同应用层看到的是原始数据传输层看到的是端口号和数据网络层看到的是IP地址和数据数据链路层看到的是MAC地址和数据每一层只关心自己需要的控制信息对上层的数据内容“透明”。最后封装与解封装是网络通信中最基本、最重要的过程之一。发送端自上而下逐层添加控制信息接收端自下而上逐层剥离控制信息。每一层只处理自己负责的信息对上层数据内容不关心。这种分层设计确保了网络的灵活性和可扩展性。理解了这个过程你就能理解数据从你的电脑发出去经过路由器、交换机最终到达服务器中间每一步发生了什么。

相关新闻

2026/8/4 10:23:21

价值流图优化AI提示工程:方法论与实战

1. 价值流图在提示工程中的核心价值作为一名在AI交互领域深耕多年的架构师,我深刻体会到价值流图(Value Stream Mapping)对于提示工程(Prompt Engineering)的系统性优化价值。传统软件开发中的价值流分析工具&#xff…

2026/8/4 10:23:21

Codex CLI斜杠命令:自然语言与CLI的高效融合

1. Codex CLI 与斜杠命令初探第一次接触Codex CLI时,我被它的斜杠命令(/commands)系统彻底惊艳到了。这个设计巧妙地将自然语言交互与传统命令行工具的高效性结合起来,创造了一种全新的开发体验。作为一名长期在终端里摸爬滚打的开…

2026/8/4 10:23:21

如何轻松抓取网页视频?猫抓浏览器扩展的完整使用指南

如何轻松抓取网页视频?猫抓浏览器扩展的完整使用指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 想要从网页中快速获取视频资源却不…

2026/8/4 11:13:23

Linux网络数据接收机制与性能调优实战

1. 网络数据接收核心机制解析当我们需要从网络接口获取数据时,系统底层究竟发生了什么?这个看似简单的操作背后,隐藏着一套精密的网络协议栈协作机制。今天我们就来深入剖析网络数据接收(net_recv)的全过程&#xff0c…

2026/8/4 11:13:23

如何快速配置2048游戏AI:3步实现自动高分通关

如何快速配置2048游戏AI:3步实现自动高分通关 【免费下载链接】2048-ai AI for the 2048 game 项目地址: https://gitcode.com/gh_mirrors/20/2048-ai 2048是一款风靡全球的数字益智游戏,而2048-ai项目为你提供了一个强大的AI助手,能够…

2026/8/4 11:13:23

用 Charles 看懂 AI 对话“逐字回复”:客户端视角的 SSE 流式渲染

用 Charles 看懂 AI 对话“逐字回复”:客户端视角的 SSE 流式渲染 ┌──────────────────┐ ┌───────────────────┐ ┌──────────────────┐ ┌────────────────┐ │ App / …

2026/8/4 11:13:23

解决Windows下npm.ps1数字签名缺失警告的完整指南

1. 问题现象解析:npm.ps1数字签名缺失警告当你在Windows系统上安装Node.js后尝试运行npm命令时,可能会遇到这样的安全警告:"未对文件 D:\node-v24.14.0-win-x64\node-v24.14.0-win-x64\npm.ps1 进行数字签名"。这个错误本质上是Win…

2026/8/4 11:13:23

12个新职业来了,入门岗却在缩水——AI时代新人如何启航

7月初,人社部公示12个新职业,具身智能机器人应用技术员、智能体开发员、数字孪生工程技术人员赫然在列;几乎同时,斯坦福大学数字经济研究中心发布数据:22至25岁年轻人在AI高暴露职业中的就业人数正以每年超4%的速度萎缩…

2026/8/4 11:08:23

动态IP到底是什么?动态IP的使用方法

“动态IP”到底是啥? 简单说,动态IP就是会变动的IP地址。当你连接网络、拨号或切换代理时,获取的IP地址不是固定的,而是从一个IP池中动态分配来的。 你可以把它理解为:每次“上线”,你的网络身份就变了个样…

2026/8/3 21:14:30

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/4 0:02:01

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/3 22:40:58

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/3 13:26:41

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/3 16:43:13

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…