我正在阅读 Richard Stevens 说明的 TCP 中的 IP 标头。如下所述
在 IP 标头选项字段中存在。选项字段始终以 32 位边界结束。如有必要,将添加值为 0 的填充字节。这确保了 IP 标头始终是 32 位的倍数(根据标头长度字段的要求)。
我很难理解上述陈述。
作者所说的 32 位边界是什么意思?IP头总是32位的倍数作者是什么意思?
请用简单的例子解释。
谢谢
我正在阅读 Richard Stevens 说明的 TCP 中的 IP 标头。如下所述
在 IP 标头选项字段中存在。选项字段始终以 32 位边界结束。如有必要,将添加值为 0 的填充字节。这确保了 IP 标头始终是 32 位的倍数(根据标头长度字段的要求)。
我很难理解上述陈述。
作者所说的 32 位边界是什么意思?IP头总是32位的倍数作者是什么意思?
请用简单的例子解释。
谢谢
用作参考。
TCP 标头中的字段IHL (Header Length)
之一告诉接收器有多少 32 位块组成标头。
由于末尾的可变长度选项字段,可能会有一个未完全填充的 32 位块。
为确保没有数据被意外读取为标头信息,标头必须以 32 位倍数结尾,这是使用填充完成的。
请参阅Wikipedia 条目中的图表。
IP 标头以称为“选项”的东西结尾,它是一个可变长度的实体。它由一系列选项组成,编码为选项列表。每个选项至少需要 16 位,因此可以通过包含奇数个此类选项来“取消对齐”标头。因此,需要语言来要求填充。