我正在学习网络课程,并且我知道有效负载数据是数据包的一部分(在 TCP 或 UDP 内),即从发送方发送到接收方的实际数据。但是,除了电子邮件之外,计算机还会向收件人发送哪些数据?
什么样的数据可以被认为是有效载荷?
如果您查看网络层,网络堆栈的每一层都有一个有效负载:
- 第 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) 添加到帧以实际启用物理传输。然后根据特定的物理层对该以太网数据包进行线路编码,并通过线路(或光纤或...)发送线路符号。重复最后一步,直到到达目的地。
这是一个仅显示示例的简化视图 - 在实践中,有许多不同的方法和协议可以使其工作。它的美妙之处在于您可以以无数种方式组合各种图层选项。