Networking 什么是开销、有效载荷和收割台

Networking 什么是开销、有效载荷和收割台,networking,overhead,payload,Networking,Overhead,Payload,有人能告诉我什么是开销、有效载荷、报头和数据包吗。据我所知,数据包是要传输的全部数据。这个数据包由实际数据组成,我认为这是有效载荷,数据包的源/目的地信息在报头中。因此,数据包由报头和有效载荷组成。那么这个开销是多少?头顶是收割台的一部分吗?我是从互联网上得到的“数据包被偷听到,包括存储在数据包头中的所有额外信息字节”。 标头已包含源/目标信息。此数据包开销有哪些额外的信息字节?我很困惑。您是正确的,一个数据包通常由一个报头和一个有效负载组成。分组类型的开销是传输有效负载所需的浪费带宽量。数据包

有人能告诉我什么是开销、有效载荷、报头和数据包吗。据我所知,数据包是要传输的全部数据。这个数据包由实际数据组成,我认为这是有效载荷,数据包的源/目的地信息在报头中。因此,数据包由报头和有效载荷组成。那么这个开销是多少?头顶是收割台的一部分吗?我是从互联网上得到的“数据包被偷听到,包括存储在数据包头中的所有额外信息字节”。
标头已包含源/目标信息。此数据包开销有哪些额外的信息字节?我很困惑。

您是正确的,一个数据包通常由一个报头和一个有效负载组成。分组类型的开销是传输有效负载所需的浪费带宽量。数据包头是放在数据包有效负载之上的额外信息,以确保数据包到达目的地

开销是可变的,因为您可以选择不同类型的数据包(或数据包协议)来传输数据。不同的数据包协议提供不同的功能。目前存在的两种关键类型的数据包协议是和

可以说UDP的开销低于TCP,因为它的数据包具有较小的报头,因此发送有效负载(数据)所需的带宽较少


其原因是一个深刻的主题,但只需说TCP提供了UDP所不具备的许多非常有用的功能,例如确保数据包的传递和损坏检测。两者都是非常有用的协议,都是根据应用程序需要的功能(速度或可靠性)来选择的。

如您所说的数据包具有“有效载荷”,即它需要传输的数据本身(通常是用户的数据),“标头”包含各种内容,具体取决于您使用的协议,例如,头中只包含简单的内容,如目的地和源IP/端口,另一端包含更多的内容,如数据包的序列号,以确保有序交付,许多标志,以确保数据包在其目的地中实际接收,并对数据进行校验和,以确保数据包在其确定过程中没有损坏和正确接收

现在,“开销”部分实际上是发送有效负载所需的额外数据。在我上面提到的例子中,它是报头部分,因为您需要将它添加到希望通过internet发送的每个有效负载中。TCP比UDP有更大的开销,因为它需要向有效负载添加更多数据,但可以保证数据将按照发送顺序在其目的地接收,并且不会损坏。UDP没有此功能,因此无法保证

有时,您会根据要发送的数据阅读/听到关于使用何种协议的讨论。例如,假设您有一个游戏,并且您希望在玩家每次移动时更新其位置,其自身的有效载荷将包含以下内容:

int playerID;
float posX;
float posY;
有效负载的大小是12字节,假设我们使用TCP发送它,现在整个数据包将如下所示:

-------------
TCP_HEADER
-------------
int playedID;
float posX;
float posY;
现在整个数据包的大小是payload+TCP_头,它是12字节+(32字节到72字节),您现在有32到72字节的数据开销。您可以阅读有关TCP头的信息。注意,开销甚至比数据本身还要大


现在,如果您不需要TCP为您提供的功能,您需要确定它是否是您希望用于游戏的协议,因为TCP的开销较小,因此要发送的数据较少。

标头是开销。在网络社区中,这个问题不太广泛;第一个答案是对这个问题的公认答案的简单陈述。实际上,在OSI模型中,考虑应用程序头、呈现头和UTO数据链头,它们是逐个增加的。这是不是太高了