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