在 TCP/IP 堆栈中放置实际负载的位置

Where in the TCP/IP stack the actual payload is placed

我是这个领域的初学者,在阅读有关 tcp/ip 堆栈的文章后,我发现每一层都有自己的有效负载字段。 如果我们假设栈组件的结构如下:

Aplication
Transport
Network
Data Link
Physical Link 

而且我们知道上述每一层都有自己的有效负载层,出现以下问题: 在哪一层放置实际传输的有效负载数据? 如果答案(例如)是将数据放入应用程序层,那么其他层有效负载中有什么? 他们是空的吗? 对不起,英语不是我的母语!

应用层的负载包含您正在传输的数据。例如,包含您正在访问的网页的 HTML 的 HTTP 响应。

所有应用层的字节都放在传输层的有效载荷中。您的 HTTP 数据包现在是 TCP 数据包的负载,TCP 数据包包含 link 控制信息。

TCP 数据包现在放置在网络层的有效负载中。继续该示例,您的 TCP 数据包现在放置在一个 IP 数据包中,该数据包包含源计算机和目标计算机的 IP 地址。

这个概念叫做封装。您可以在 Wikipedia.

上阅读更多内容

这是维基百科文章中的一张图片来说明它: