IP选项处理
1:引言
I P输入函数(i p i n t r)将在验证分组格式(检验和,长度等)之后,确定分组
是否到达目的地之前,对选项进行处理。这表明,分组所遇到的每个路由器以及最终的目的
主机都要对分组的选项进行处理。
RFC 791和11 2 2指定了I P选项和处理规则。本章将讨论大多数 I P选项的格式和处理。我们
也将显示运输协议如何指定I P数据报内的I P选项。
I P分组内可以包含某些在分组被转发或被接收之前处理的可选字段。 I P实现可以用任意
顺序处理选项;N e t / 3按照选项在分组中出现的顺序处理选项。图 显示,标准I P首部之后最多可跟4 0字节的选项。
2:代码介绍
两个首部描述了 I P选项的数据结构。选项处理的代码出现在两个 C文件中。图列出了相关文件。
3:选项格式
I P选项字段可能包含0个或多个单独选项。选项有两种类型,单字节和多字节,如图 中
所示。
所有选项都以1字节类型(t y p e)字段开始。在多字节选项中,类型字段后面紧接着一个长
度(l e n)字段,其他的字节是数据 (d a t a)。许多选项数据字段的第一个字节是 1字节的位移
(o f f s e t)字段,指向数据字段内的某个字节。长度字节的计算覆盖了类型、长度和数据字段。
类型被继续分成三个子字段: 1 bit 备份 (c o p i e d)标志、 2 bit 类(c l a s s)字段和 5 bit 数字
(n u m b e r)字段。