0Pricing
Cloud & IT Cert Prep · 课时

跟踪数据包穿过协议栈

观察数据如何沿发送方协议栈向下,再沿接收方协议栈向上移动

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

跟踪一条消息

为了具体说明各层的工作方式,让我们跟踪一条消息从一台计算机传到另一台计算机的过程。我们将观察数据如何沿发送方协议栈向下移动,穿过网络,再沿接收方协议栈向上移动。完整地了解这一过程,可以把封装、寻址和路由串联成一个清晰的故事,也能展示每一层如何发挥自己的作用。

发送方创建数据

过程始于发送计算机上的应用层。例如,浏览器生成一个请求网页的请求。这个原始请求就是最初的数据,此时还没有任何网络首部。应用层将其向下交给传输层,开始传输。从这里开始,每一层都会在数据向下接近网络的过程中对其进行封装。

向下到达传输层

传输层会添加包含端口号的首部,使数据到达正确的服务;使用 TCP 时,还会添加用于保证可靠性的序列号。此时数据成为一个段。如果需要,传输层还会将较大的数据拆分成多个段。随后,每个段都会向下传递到互联网层进行寻址。

向下到达互联网层

互联网层会用包含源和目的IP 地址的IP 首部封装这个段,形成一个数据包。这些 IP 地址从始至终保持不变,用于标识最初的发送方和最终的接收方。现在,无论中间经过多少个网络,数据包都知道最终必须到达哪台设备。

向下到达链路层

链路层会将数据包封装进一个帧,其中包含本地网络上下一台设备的MAC 地址,以及错误检查尾部。帧会被转换成信号,并通过传输介质发送出去。请注意,目的 MAC 只是下一跳设备的 MAC,而不是最终设备的 MAC;这是整个传输过程中的一个关键细节。

第一跳到达路由器

如果目的地位于另一个网络,帧会先发送到路由器(默认网关)。路由器接收帧并将其拆除,读取数据包中的IP 地址,然后决定下一步将其转发到哪里。接着,路由器会使用下一跳的新目的 MAC 地址构建一个新帧。数据包得以保留,而帧则被重新构建。

逐跳穿过网络

沿路径经过的每个路由器都会重复这一过程。在每一跳,帧都会针对本地链路使用新的 MAC 地址重新构建,而数据包及其中的 IP 地址保持不变。因此,链路层的包装会不断变化,但网络层的寻址是端到端的。数据包会从一个路由器传到另一个路由器,直到到达目的网络。

抵达接收方

当数据包到达最终网络后,最后一台设备会将帧交付给目的计算机。此时解封装开始。接收方让数据沿协议栈向上移动,每一层都会读取并移除自己的首部。发送方一路向下的过程,与接收方一路向上的过程相互对应。

沿接收方协议栈向上

链路层检查帧是否有错误,并将其拆除以露出数据包。互联网层确认目的 IP,并移除 IP 首部。传输层读取端口;如有需要,还会重新排序并重组各个段,然后将完整的数据交给上层。每一层都会准确地执行发送方对应层所做操作的逆操作。

交付给应用层

最后,接收方的应用层会获得原始数据,也就是发送方创建的网页请求,内容完全一致。接收服务会对其进行处理,并发送一个响应,响应也会以相反的方向完成同样的过程。消息已经穿过网络,而对于两个应用来说,这看起来就像它们进行了直接通信。

完整的传输过程

一条消息会沿发送方协议栈向下移动,依次获得传输层首部(形成段)、IP 首部(形成数据包)和链路层首部(形成帧)。它会穿过多个路由器,在每一跳重新构建帧,而数据包保持不变;随后,消息沿接收方协议栈向上移动,各个首部依次被移除。这条向下—跨网络—向上的路径,就是每次网络通信实际发生的方式。

快速检查

数据包穿过路由器时,什么保持不变,什么会在每一跳发生变化?

回顾

跟踪数据包时:在发送方,数据向下移动,依次成为段(端口)、数据包(端到端的IP 地址)和帧(下一跳的MAC)。在每个路由器处,帧都会使用新的 MAC 地址重新构建,而数据包和 IP 地址保持不变。在目的地,数据向上移动,各层依次移除自己的首部,最终将原始消息交给应用层。向下、跨网络、向上。

常见问题解答

「跟踪数据包穿过协议栈」课时是免费的吗?

是的 — 「跟踪数据包穿过协议栈」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 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 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 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