0Pricing
Cloud & IT Cert Prep · 课时

封装如何包裹数据

了解数据准备发送时每一层如何添加报头

封装如何包裹数据 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

在各层封装数据

数据沿协议栈向下传输以便发送时,每一层都会添加自己的控制信息。这个过程称为封装。这就像先把一封信封进一个信封,再放进更大的信封,最后装入邮袋;每一层都会用一个首部包裹数据,该首部供对端的对应层使用。封装正是分层模型为网络准备数据的实际方式。

首部承载指令

每一层添加的信息主要是首部,也就是放在有效载荷前面的一小段控制数据。首部会告诉接收方的对应层应如何处理数据:数据要发送到哪里、使用哪种协议,以及其他信息。有些层还会在数据后面添加尾部。首部就是让数据能够完成传输的指令。

从顶层开始

封装始于应用层,实际数据(例如网页请求)就是在这里生成的。这些数据随后被交给传输层,开始传输过程。最开始,数据只是消息本身,还没有任何网络首部。随着数据沿协议栈向下、接近传输介质,每个下层都会添加自己所需的信息。

传输层添加首部

在传输层,系统会添加一个包含端口号的首部;对于 TCP,该首部还包含序列信息和确认信息。数据加上这个首部后称为段(TCP)或数据报(UDP)。这个首部确保数据能够到达正确的应用,并且在使用 TCP 时,能够在对端可靠、按顺序到达。

互联网层再次封装

接下来,互联网层会添加一个包含源和目的IP 地址的IP 首部。所得结果称为数据包。这个首部让路由器能够跨网络传送数据,使其到达正确的设备。此时,传输层的段已被封装在数据包中,成为 IP 层看来隐藏的有效载荷;IP 层只读取自己的首部。

链路层将其组帧

最后,链路层会添加包含MAC 地址的首部和包含错误检查信息的尾部,从而生成帧。帧会以比特的形式真正发送到电缆或空中。每一层都添加了自己的包装后,原始数据就完成了封装,可以通过本地传输介质发送。

各层使用的名称

每个阶段都有自己的名称来称呼封装后的数据,这些名称统称为协议数据单元。其变化过程是:数据(应用层)、段(传输层)、数据包(互联网层)和帧(链路层)。了解这些名称,就能立即判断正在讨论哪一层。有人说“数据包”时,指的是互联网层;说“帧”时,指的是链路层。

有效载荷与首部

在每一层,从上层传下来的数据都会成为有效载荷,而新的首部则添加在它的前面。一层会把来自上层的全部内容视为不透明的有效载荷,只关注自己的首部。这种嵌套方式让每一层都无需了解内部细节,从而保持各层相互独立,并使设计保持清晰。

到达时进行解封装

在接收设备上,这个过程会反向进行,称为解封装。数据沿协议栈向上移动时,每一层都会读取并移除自己的首部,然后将有效载荷交给上层。链路层去除帧,互联网层去除 IP 首部,依此类推,直到原始数据到达应用层。向下封装,向上拆封。

为什么这很重要

封装是分层网络在实践中能够工作的基础。它让每一层只使用自己的首部完成工作,同时原封不动地承载上层内容。因此,您可以更改某一层而不破坏其他层;网络问题也往往隐藏在首部中。在正确的层读取首部,是排查故障的核心技能。

完整的封装过程

封装会在数据沿协议栈向下传输时,在每一层添加一个首部(有时还会添加尾部):数据变成段,再变成数据包,最后变成可以发送到传输介质上的帧。到达后,解封装会在数据向上移动时反向移除各个首部。每一层只读取自己的首部,并将其余内容视为有效载荷,这正是分层网络能够实用的原因。

快速检查

数据从顶层向下封装时,数据单元的正确顺序是什么?

回顾

封装会在数据沿协议栈向下传输时,在每一层用首部(有时还包括尾部)进行包裹。数据单元依次从数据(应用层)变为段(传输层,添加端口),再变为数据包(互联网层,添加 IP 地址),最后变为帧(链路层,添加 MAC 地址和错误检查信息)。到达后,解封装会在数据向上移动时移除各个首部。每一层只读取自己的首部。

常见问题解答

「封装如何包裹数据」课时是免费的吗?

是的 — 「封装如何包裹数据」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「封装如何包裹数据」这节课中我会学到什么?

了解数据准备发送时每一层如何添加报头 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「封装如何包裹数据」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. TCP/IP 四层概览
  2. 比较 TCP/IP 与 OSI 模型
  3. 封装如何包裹数据
  4. 跟踪数据包穿过协议栈
← 返回 Cloud & IT Cert Prep