什么样的数据可以被认为是有效载荷?

网络工程 通讯协议 奥西 数据
2021-08-04 00:31:52

我正在学习网络课程,并且我知道有效负载数据是数据包的一部分(在 TCP 或 UDP 内),即从发送方发送到接收方的实际数据。但是,除了电子邮件之外,计算机还会向收件人发送哪些数据?

3个回答

如果您查看网络层,网络堆栈的每一层都有一个有效负载:

  • 第 2 层帧具有第 3 层数据包的有效载荷。
  • 第 3 层数据包具有第 4 层段的有效载荷。
  • 第 4 层段具有应用程序数据的有效载荷。
  • 应用程序数据也可以有自己的数据报,这些数据报有有效载荷,但 OSI 第 4 层以上的任何内容在这里都是无关紧要的。

您应该查看其中一个网络模型,例如 OSI 模型,但请记住,这些模型只是模型,现实世界通常可能与任何模型预测的不同。

任何使用网络的应用程序都将数据作为网络堆栈的有效负载。例如,Web 浏览器和服务器使用 HTTP 作为应用层协议,而 HTTP 使用 TCP 作为其第 4 层协议,因此 HTTP 是 TCP 的有效载荷。浏览器向服务器发送请求,服务器返回网页作为结果。请求和结果都是 TCP 段的有效载荷。

......来自类比部门:

你开车带着一个信封,里面有一份文件,这是一封附有支票的求职信,你将把它交给某人。

  • 汽车认为你是有效载荷
  • 你认为信封是有效载荷
  • 信封认为信件是有效载荷
  • 信认为支票是有效载荷

相应地

  • 不管你带什么车
  • 信封里装的是什么对你来说无关紧要
  • 信封上写什么无关紧要
  • 支票好不好信无关

当然,这次演习的全部目的是为了得到支票,这可以称为最终有效载荷。

任何不属于协议的数据都可以被视为有效载荷。

在您的电子邮件示例中,特定的消息文本、附件……是有效载荷。消息格式将所需的标头添加到此有效负载以形成标准的 RFC 电子邮件消息。例如,此消息可以通过 SMTP 传输:

SMTP 从上面获取消息作为有效载荷并将其协议对话添加到通信中(有效载荷被包装)。这是通过 TCP 发送的。

TCP (L4) 将 SMTP 对话作为有效负载,并将其标头添加到分组流中以使其工作。然后 TCP 使用 IP 将数据包发送到目的地。

IP (L3) 以 TCP 段作为有效载荷,并将其 IP 报头添加到 TCP 段中,形成一个可以实际传输到目的地的网络层数据包。IP 可以使用以太网作为到达该目的地的路由中的一跳。

以太网帧 (L2) 获取 IP 数据包作为有效载荷并添加其帧头以启用以太网传输。以太网还将数据包开销 (L1) 添加到帧以实际启用物理传输。然后根据特定的物理层对该以太网数据包进行线路编码,并通过线路(或光纤或...)发送线路符号。重复最后一步,直到到达目的地。

这是一个仅显示示例的简化视图 - 在实践中,有许多不同的方法和协议可以使其工作。它的美妙之处在于您可以以无数种方式组合各种图层选项。