9.3选项格式I P选项字段可能包含0个或多个单独选项。选项有两种类型,单字节和多字节,如图9-4中所示。所有选项都以1字节类型(type)字段开始。在多字节选项中,类型字段后面紧接着一个长度(len)字段,其他的字节是数据(data)。许多选项数据字段的第一个字节是1字节的位移(offset)字段,指向数据字段内的某个字节。长度字节的计算覆盖了类型、长度和数据字段。类型被继续分成三个子字段:1 bit备份(copied)标志、2 bit类(class)字段和5 bit数字(number)字段。图9-5列出了目前定义的I P选项。前两个选项是单字节选项;其他的是多字节选项。

第1列显示了Net/3的选项常量,第2列和第3列是该类型的十进制和二进制值,第4列是选项的长度。Net/3列显示的是在Net/3中由ip_dooptions实现的选项。I P必须自动忽略所有它不识别的选项。我们不描述Net/3没有实现的选项:安全和流ID。流ID选项是过时的,安全选项主要只由美国军方使用。RFC 791中有更多的讨论。

当Net/3对一个有选项的分组进行分片时,它将检查copied标志位。该标志位指出是否把所有选项都备份到每个分片的I P首部。class字段把相关的第9章IP选项处理计计197下载多字节len字节单字节1 2 bit 5 bit位移字段没有出现在每个多字节选项中。对于感兴趣的读者,可以查看RFC791了解更多细节。如果你需要更详细的解释和例子,不妨参考RFC791中文IP协议IP协议RFC791中文版。你还在等什么?快去看看这些资源吧,保证让你对I P选项有更深入的理解!