因特网协议(IP)提供了可选的报头字段由选项类型字段标识。选项0和1恰好是一个八位位组是它们的类型字段。所有其他选项都有自己的选择八位字节类型字段,后跟一个八位字节长度字段,后跟长度为2个字节的选项数据。选项类型字段被细分进入一个位复制标志,一个两位类字段和一个五位选项号码。这些一起形成了8位的值选项类型字段。IP选项通常由此值引用。一、IPoption汇总:CopyClassNumberValueName0000EOOL-EndofOptionsList0011NOP-NoOperation102130SEC-Security103131LSR-LooseSourceRoute02468TS-TimeStamp105133E-SEC-ExtendedSecurity106134CIPSO-CommercialSecurity0077RR-RecordRoute108136SID-StreamID109137SSR-StrictSourceRoute001010ZSU-ExperimentalMeasurement001111MTUP-MTUProbe001212MTUR-MTUReply1213205FINN-ExperimentalFlowControl1014142VISA-ExperimentalAccessControl001515ENCODE-???1016144IMITD-IMITrafficDescriptor1017145EIP-ExtendedInternetProtocol021882TR-Traceroute1019147ADDEXT-AddressExtension1020148RTRALT-RouterAlert1021149SDB-SelectiveDirectedBroadcast1022150-Unassigned(Released18October2005)1023151DPS-DynamicPacketState1024152UMP-UpstreamMulticastPkt.002525QS-Quick-Start003030EXP-RFC3692-styleExperiment[2]023094EXP-RFC3692-styleExperiment[2]1030158EXP-RFC3692-styleExperiment[2]1230222EXP-RFC3692-styleExperiment[2]二、常见IPoption0.EndofOptions(EOP结束选项)单字节选项用于指示IP头中选项列表的结尾。根据标题长度,这可能与标题的结尾不符。该选项在所有选项的末尾使用,而不是每个选项的结尾,仅在选项的结尾不会与IP头的结尾相符时才需要使用。MACheaderIPheaderIPoption0Data:::IPoption0:0001020304050607TypeType.8bits.Clearedto0.0001020304050607CClassOptionC,Copyflag.1bit.Clearedto0.表示该选项不被复制到所有片段中。Class.2bits.Clearedto0.这是一个控制选项。Option.5bits.Clearedto0.IPoption号1.NOP(忽略选项)此选项通常用于对齐IP头中32位边界的下一个选项的开头。或者由于任何其他原因可能会被复制,引入或删除。MACheaderIPheaderIPoption1Data:::IPoption1:0001020304050607TypeType.8bits.Setto1.0001020304050607CClassOptionC,Copyflag.1bit.Clearedto0.该选项不被复制到所有片段中。Class.2bits.Clearedto0.这是一个控制选项。Option.5bits.Setto1.IPoption号2.IPSecurityOption(IP安全性选项)此选项为主机提供了一种手段,可发送与DOD要求兼容的安全性、分隔、TCC(非公开用户组)参数以及“处理限制代码”。在IP报头中最多可能出现一次,并且必须在分片时复制。MACheaderIPheaderIPoption2Data:::IPOption2:0001020304050607080910111213141516171819202122232425262728293031TypeLengthSecurityCompartmentsHandlingrestrictionsTransmissionControlCodeType.8bits.Setto130.0001020304050607CClassOptionC,Copyflag.1bit.Alwayssetto1.该选项将被复制到所有片段中。Class.2bits.Alwaysclearedto0.这是一个控制选项。Option.5bits.Alwayssetto2.IPoption号。Length.8bits.Setto11.Security.16bits.指定16个级别的安全性之一。Compartments.16bits.当发送的信息不分隔时,使用全零值。隔间区域的其他值可以从国防情报局获得。Handlingrestrictions.16bits.控制和释放标记的值是字母数字有向图,并在国防情报局手册DIAM65-19“标准安全标记”中定义。TransmissionControlCode.24bits.提供了一种隔离流量并定义用户之间感兴趣受控区的方法。TCC值是三位数,可从HQDCA代码530获得。3.LooseSourceRouteOption(松散源路由选项)防火墙设备封锁IP选项为3(松散源路由)的封包。此选项为封包源提供了一种手段,可在向目标转发封包时提供网关所要使用的路由信息。此选项是松散源路由,因为允许网关或主机IP使用任何数量的其它中间网关的任何路由来到达路由中的下一地址。松散源和记录路由(LSRR)选项提供了一种互联网数据报源提供网关将数据报转发到目的地使用的路由信息,并记录路由信息的手段。报文结构:MACheaderIPheaderIPoption3Data:::IPOption3:0001020304050607080910111213141516171819202122232425262728293031TypeLengthPointerRoute[]:::Type.8bits.Alwayssetto131.0001020304050607CClassOptionC,Copyflag.1bit.Setto1.表示该选项被复制到所有片段中。Class.2bits.Clearedto0.这是一个控制选项。Option.5bits.Setto3.IPoption号.Length.8bits.该option字段的大小(以byte为单位的数字)Pointer.8bits.Route[].Variablelength.一组32位IP地址。4.IPTimestampOption(IP时戳选项)防火墙设备封锁IP选项列表中包括选项4(互联网时戳)的封包。始发主机必须使用足够大的时间戳记数据区域来组合此选项,以保存所有期望的时间戳信息。选项的大小不会因为添加时间戳而改变。时间戳数据区域的初始内容必须为零或互联网地址/零对。如果时间戳数据区已经满(指针超过长度),则数据报将转发而不插入时间戳,但溢出计数增加1。如果有一些空间,但没有足够的空间来插入完整的时间戳,或者溢出计数本身溢出,则原始数据报被认为是错误的并被丢弃。在任一情况下,可能会向源主机发送ICMP参数问题消息。分片时不会复制时间戳选项。它在第一个片段中携带。在数据报中最多出现一次。MACheaderIPheaderIPoption4Data:::IPOption4:0011020304050607080910111213141516171819202122232425262728293031TypeLengthPointerOverflowFlagTimestamp[]:::Type.8bits.Setto68.0001020304050607CClassOptionC,Copyflag.1bit.Clearedto0.表示该选项不被复制到所有片段中。Class.2bits.Setto2.该选项是调试和测量选项。Option.5bits.Setto4.IPoption号Length.8bits,unsigned.?to40.该option字段的大小(以byte为单位的数字)Pointer.8bits,unsigned.5to?从该选项开始到Timestamp[]加一个的字节数(即,它指向开始下一个时间戳的空格的字节)。指针大于长度时,时间戳区域已满。Overflow.4bits,unsigned.由于缺少空间而无法注册时间戳的IP模块数。Flag.4bits.FlagDescription0TimestampcontainsonlyTimefields.1TimestampcontainsIPaddressandTimefields.3TheIPaddressfieldsareprespecified.AnIPmoduleonlyregistersitstimestampifitmatchesitsownaddresswiththenextspecifiedinternetaddress.Timestamp[].Variablelength.一个或多个时间戳结构。Timestamp.32or64bits.0001020304050607080910111213141516171819202122232425262728293031IPaddressTimeIPaddress.0or32bits.可选的Time.32bits.自UT以来以毫秒为单位的右对齐时间戳。如果时间不能以毫秒为单位,或不能提供相对于午夜UT,则任何时间都可以插入时间戳,只要时间戳字段的高位被设置为1,以指示使用非标准值。5.extendedsecurity(扩展安全选项)此选项允许在IP数据报中提供超出基本安全选项中存在的附加安全标签信息,以满足注册机构的需求。请注意,不是标签数据或仅对终端系统(而不是中间系统)有意义的信息不适用于IP层中的传输,因此不应使用此选项进行传输。必须在分片时复制此选项。与基本选项不同,此选项可能会在数据报中多次出现,受IP头大小限制。此选项可能仅与基本安全选项一起使用,因此所有支持扩展安全选项的系统也必须支持基本安全选项。但是,并不是所有支持基本安全选项的系统都需要支持扩展安全选项,并且对这些选项的支持可能是有选择性的,即系统不需要支持所有扩展安全选项。MACheaderIPheaderIPoption5Data:::IPoption5:0001020304050607080910111213141516171819202122232425262728293031TypeLengthFormatcodeAdditionalSecurityInfo:::Type.8bits.Setto133.0001020304050607CClassOptionC,Copyflag.1bit.Setto1.表示该选项不被复制到所有片段中。Class.2bits.Clearedto0.这是一个控制选项。Option.5bits.Setto5.IPoption号。Length.8bits.该option字段的大小(以byte为单位的数字)00010203040506070LengthFormatcode.8bits.指定“附加安全信息”字段的语法和语义。对于每个格式代码,将发布RFC以指定语法,并提供确定是否应接受或拒绝携带由此格式代码指定的标签的数据报的处理所需的算法描述。该规范必须足够详细,以允许供