我正在学习一些 tcp/ip 基础知识,但在理解 UDP 中的消息长度字段时遇到了麻烦。在我的书中,它说消息长度表示 UDP 标头和八位字节中的数据,并且由于 UDP 标头是 8 个八位字节,因此最小消息长度值为 8。我有一个场景,UDP 标头是 8 个八位字节,并且数据是一个 13 个字符的字符串(13 个八位字节)。但是,我正在查看的示例说消息长度是 20 + 13,然后解释说它是 20 个八位字节用于标头,13 个八位字节用于数据。我认为 UDP 标头是 8 个八位字节,而不是 20 个,那么为什么是 20 个呢?
我怀疑它可能与伪标头有关,它是 12 个八位字节,所以 12 个来自伪标头,8 个来自实际标头 = 20 个总标头八位字节。是这种情况吗?这对我来说真的没有任何意义。也不需要将 13 个八位字节数据四舍五入为 4 的倍数吗?它在我的书中呈现的方式使它看起来需要将数据填充到 32 位(4 个八位字节)。
很抱歉造成这种混乱,只是想了解这里的布局。如果你们需要任何其他信息,请询问。