IPv4 首部中的选项字段
IPv4 用于网络通信。数据包包含重要信息。IPv4 首部包含一个选项字段,用于提供灵活性和控制。选项字段是可选的,位于首部长度和服务类型之间。其是否存在取决于首部长度字段中的值。
IPv4 首部中的选项字段
IPv4 首部包含有关 IP 数据包的源和目标的信息。它还包含其他参数,这些参数会影响路由器和主机如何处理数据包。它由 20 字节的固定部分和最多 40 字节的可选项部分组成。可选项部分,称为选项字段,长度可变,可以包含零个、一个或多个选项。虽然它可以从 0 到 40 字节不等,但选项字段通常要短得多。
IPv4 首部中的选项字段为 IP 协议提供了附加的功能或灵活性。它可以包含不同类型的选项,每个选项都有其特定的用途。这些选项可以提供各种功能,例如路由控制、安全措施和网络诊断。选项字段的可变长度可以根据特定要求或所需功能自定义 IP 数据包。
IPv4 首部中的选项字段是与 IP 数据包一起发送的信息的一部分。它有助于控制如何处理数据包。此字段的长度可变,并且是可选的,这意味着它可能并非包含在所有数据包中。
IPv4 选项的格式
在 IPv4 首部中,每个选项都有其特定的格式。选项由三个字段组成:类型、长度和数据。类型字段指示选项的特定类型。它可能包含子字段:“复制”和“类别”。长度字段指示选项的总长度(以字节为单位)。选项数据包含实际参数,格式因类型而异。选项字段可以用于其他目的,例如指示数据包版本或安全信息。大多数选项在正常情况下不使用,但在需要时可以提供自定义功能。
注意
选项字段的最大长度为 40 字节。
选项按顺序处理,从选项字段的开头到结尾。
如果无法识别某个选项,则会忽略该选项。
IPv6 数据报不使用选项字段。
选项类型
第一个字节是服务类型,第二个字节是每个选项字段的长度。我们总结了 RFC 791 和 RFC 1108 中定义的选项类型。
选项类型 | 名称 | 含义 |
---|---|---|
0 | 选项列表结束 (EOL) | 指示选项字段的结尾 |
1 | 无操作 (NOP) | 用于填充或对齐目的 |
2 | 安全 | 携带安全信息,例如分类级别 |
3 | 松散源路由和记录路由 (LSRR) | 允许源指定数据包必须访问的中间节点列表 |
4 | 流标识符 | 用于实验目的 |
5 | 严格源路由和记录路由 (SSRR) | 类似于 LSRR,但是要求数据包仅访问源指定的节点 |
6 | 实验测量 | 用于实验目的 |
7 | 记录路由 (RR) | 记录处理数据包的路由器的 IP 地址 |
8 | 流标识符 | 用于实验目的 |
9 | 实验测量 | 用于实验目的 |
10-16 | 未分配 | 保留供将来使用 |
17-18 | 实验访问控制 | 用于实验目的 |
19-126 | 未分配 | 保留供将来使用 |
127-130 | 保留用于安全选项扩展 | 保留供将来使用 |
131-136 | 未分配 | 保留供将来使用 |
137-138 | 实验访问控制扩展 | 用于实验目的 |
139-140 | IMI 流量描述符 (IMITD) | 用于实验目的 |
141-252 | 未分配 | 保留供将来使用 |
253-254 | 实验和测试 (EXP) | 用于实验目的 |
这些选项将在下面解释。
记录路由 (RR)
此选项记录从源到目标路径上的最多九个路由器 IP 地址。它有助于调试和跟踪。格式包括类型 7、复制位 0、类别 0(控制)和可变选项长度。指针字段(1 字节)显示下一个可用的 IP 地址记录槽。源将其初始化为 4,每个路由器将其递增 4。路由数据字段按处理顺序保存路由器的 IP 地址。未使用的槽用零填充。
源路由 (LSRR 和 SSRR)
源路由选项允许源设置数据包路径的中间节点。有两种类型:松散源路由和记录路由 (LSRR) 以及严格源路由和记录路由 (SSRR)。
LSRR 允许附加节点,SSRR 仅遵循指定的节点。
有两种类型:LSRR (3) 和 SSRR (5) 选项。复制位为 1,类别为 0(控制),选项长度可变。指针字段(1 字节)显示下一个要访问的节点。源将其初始化为 4,每个节点将其递增 4。路由数据字段包含要访问的节点的 IP 地址。第一个地址是第一个要访问的节点,最后一个地址是最终目标。
安全
此选项携带安全信息,用于对数据包进行特殊处理。类型为 2,复制位为 1,类别为 2(保留),选项长度为 11 字节。安全字段(2 字节)显示数据包的分类级别。四个级别:未分类、机密、秘密和绝密。分隔字段(4 字节)对信息访问有其他限制。处理限制字段(4 字节)有进一步的分发限制。传输控制代码(1 字节)控制对信息的访问。
填充
如果选项不是 4 字节的倍数,则填充选项会将其填充。填充选项:EOL (0) 指示结束,NOP (1) 用于对齐。例如,如果选项为 7 字节,则 NOP (1) 将使其成为 8 字节。如果没有更多选项,则 EOL (0) 标记结尾。
选项列表结束 (EOL)
标记选项字段的结尾,一个字节,无数据。
无操作 (NOP)
用于填充或对齐,一个字节,无数据。
流标识符
标识数据报流,四个字节,两个字节的数据。
实验测量
测量网络性能,可变长度,至少三个字节。
未分配
保留供将来使用,没有定义的格式或含义。
实验访问控制
用于基于标准的访问控制,可变长度,至少三个字节。
实验访问控制扩展
用于基于标准的访问控制,可变长度,至少三个字节。
IMI 流量描述符 (IMITD)
描述数据报流量特性,可变长度,至少三个字节。
实验和测试 (EXP)
用于测试新功能或协议,可变长度,至少三个字节。
总结
IPv4 首部中的选项字段为该协议提供了附加的功能和灵活性。它包含各种控制参数以及有关数据包的其他信息。选项字段位于首部长度和服务类型字段之间。其是否存在由首部长度字段中的值决定。
选项字段可以包含不同类型的选项,每个选项都有其特定的用途。这些选项提供各种功能,例如路由控制、安全措施和网络诊断。每个选项的格式都包含选项类型、选项长度和选项数据字段。
虽然选项字段提供了自定义和灵活性,但大多数功能在正常情况下并不需要。因此,它很少使用。但是,提供选项字段可以根据特定需要进行自定义和灵活调整。
需要注意的是,选项字段的最大长度为 40 字节。选项按顺序从字段的开头到结尾进行处理。无法识别的选项将被忽略。IPv6 数据报不使用选项字段。
总而言之,IPv4 首部中的选项字段增强了 IP 协议的功能。它提供了对如何处理 IP 数据包的额外控制。