0

我正在阅读 Richard Stevens 说明的 TCP 中的 IP 标头。如下所述

在 IP 标头选项字段中存在。选项字段始终以 32 位边界结束。如有必要,将添加值为 0 的填充字节。这确保了 IP 标头始终是 32 位的倍数(根据标头长度字段的要求)。

我很难理解上述陈述。

作者所说的 32 位边界是什么意思?IP头总是32位的倍数作者是什么意思?

请用简单的例子解释。

谢谢

4

2 回答 2

3

图片来自 nmap.org用作参考。

TCP 标头中的字段IHL (Header Length)之一告诉接收器有多少 32 位块组成标头。
由于末尾的可变长度选项字段,可能会有一个未完全填充的 32 位块。
为确保没有数据被意外读取为标头信息,标头必须以 32 位倍数结尾,这是使用填充完成的。

于 2013-05-17T13:45:26.877 回答
2

请参阅Wikipedia 条目中的图表

IP 标头以称为“选项”的东西结尾,它是一个可变长度的实体。它由一系列选项组成,编码为选项列表。每个选项至少需要 16 位,因此可以通过包含奇数个此类选项来“取消对齐”标头。因此,需要语言来要求填充。

于 2013-05-17T13:45:49.390 回答