IP option文档.docx
《IP option文档.docx》由会员分享,可在线阅读,更多相关《IP option文档.docx(16页珍藏版)》请在冰豆网上搜索。
IPoption文档文档因特网协议(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-styleExperiment2023094EXP-RFC3692-styleExperiment21030158EXP-RFC3692-styleExperiment21230222EXP-RFC3692-styleExperiment2二、常见二、常见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:
01234567890123456789012345678901TypeLengthSecurityCompartmentsHandlingrestrictionsTransmissionControlCodeType.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:
01234567890123456789012345678901TypeLengthPointerRoute:
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:
01234567890123456789012345678901TypeLengthPointerOverflowFlagTimestamp:
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.01234567890123456789012345678901IPaddressTimeIPaddress.0or32bits.可选的Time.32bits.自UT以来以毫秒为单位的右对齐时间戳。
如果时间不能以毫秒为单位,或不能提供相对于午夜UT,则任何时间都可以插入时间戳,只要时间戳字段的高位被设置为1,以指示使用非标准值。
5.extendedsecurity(扩展安全选项)(扩展安全选项)此选项允许在IP数据报中提供超出基本安全选项中存在的附加安全标签信息,以满足注册机构的需求。
请注意,不是标签数据或仅对终端系统(而不是中间系统)有意义的信息不适用于IP层中的传输,因此不应使用此选项进行传输。
必须在分片时复制此选项。
与基本选项不同,此选项可能会在数据报中多次出现,受IP头大小限制。
此选项可能仅与基本安全选项一起使用,因此所有支持扩展安全选项的系统也必须支持基本安全选项。
但是,并不是所有支持基本安全选项的系统都需要支持扩展安全选项,并且对这些选项的支持可能是有选择性的,即系统不需要支持所有扩展安全选项。
MACheaderIPheaderIPoption5Data:
IPoption5:
01234567890123456789012345678901TypeLengthFormatcodeAdditionalSecurityInfo:
Type.8bits.Setto133.0001020304050607CClassOptionC,Copyflag.1bit.Setto1.表示该选项不被复制到所有片段中。
Class.2bits.Clearedto0.这是一个控制选项。
Option.5bits.Setto5.IPoption号。
Length.8bits.该option字段的大小(以byte为单位的数字)00010203040506070LengthFormatcode.8bits.指定“附加安全信息”字段的语法和语义。
对于每个格式代码,将发布RFC以指定语法,并提供确定是否应接受或拒绝携带由此格式代码指定的标签的数据报的处理所需的算法描述。
该规范必须足够详细,以允许供应商产生可互操作的实现,例如,它应该与本RFC中提供的基本安全选项的规范相当。
然而,如果这样的映射会使规范的分布受到限制,则该规范不需要包括从该选项的语法到人类标签的映射。
AdditionalSecurityInfo.Variablelength,0.29bytes.此字段包含由扩展安全选项的格式代码指定的附加安全标签信息。
该字段的语法和处理要求由关联的RFC指定。
7.RecordRouteOption(记录路由选项)(记录路由选项)防火墙设备封锁IP选项为7(记录路由)的封包。
此选项用于记录封包的路由。
记录的路由由一系列互联网地址组成,外来者经过分析可以了解到您的网络的编址方案及拓扑结构方面的详细信息。
当互联网模块路由数据报时,它会检查是否存在记录路由选项。
如果是的话,它会插入自己的互联网地址,如在该指针所指定的字节开始的数据报被转发到记录的路由的环境中已知的,并将指针递增四。
如果路由数据区已经满(指针超过长度),则转发数据报而不将该地址插入记录的路由。
如果有一些空间,但是没有足够的空间来插入一个完整的地址,原来的数据报被认为是错误的并被丢弃。
在任一情况下,可能会向源主机发送ICMP参数问题消息。
不复制在碎片上,仅在第一个片段。
在数据报中最多出现一次。
MACheaderIPheaderIPoption7Data:
IPOption7:
01234567890123456789012345678901TypeLengthPointerRouteData:
Type.8bits.Setto7.0001020304050607CClassOptionC,Copyflag.1bit.Clearedto0.表示该选项不被复制到所有片段中。
Class.2bits.Clearedto0.这是一个控制选项。
Option.5bits.Setto7.IPoption号。
Length.8bits.该option字段的大小(以byte为单位的数字)。
Pointer.8bits.4to255指向路由数据的指针指示开始下一个区域以存储路由地址的字节。
指针是相对于此选项。
RouteData.Variablelength.记录的路线由一系列互联网地址组成。
每个IP地址大小为32位。
如果指针大于长度,记录的路径数据区域已满。
始发主机必须使用足够大的路由数据区域来组合此选项,以保存所有预期的地址。
由于添加地址,该选项的大小不会更改。
路由数据区域的初始内容必须为零。
8.IPStreamOption(IP流选项)流选项)防火墙设备封锁IP选项为8(流ID)的封包。
此选项提供了一种方法,用于在不支持流概念的网络中输送16位SATNET流标识符。
它必须在碎片上复制,并且可能在数据报中最多出现一次。
MACheaderIPheaderIPoption8DataIPOption8:
01234567890123456789012345678901TypeLengthStreamIDType.8bits.Setto136.0001020304050607CClassOptionC,Copyflag.1bit.Setto1.表示该选项复制到所有片段中。
Class.2bits.Clearedto0.这是一个控制选项。
Option.5bits.Setto8.IPoption号。
Length.8bits.Alwayssetto4.StreamID.16bits.SATNET流标识符。
9.IPStrictSourceRouteOption(IP严格源路由选项)严格源路由选项)防火墙设备封锁IP选项为9(严格源路由选择)的封包。
IP严密源路由选项用于根据源提供的信息路由IP包。
RFC791,pgs19,20:
严格的源和记录路由(SSRR)选项提供了一种互联网数据报源提供路由信息供网关使用的路由信息,将数据报转发到目的地,并记录路由信息。
记录的路由地址是互联网模块自己的互联网地址,在该数据报正在转发的环境中已知。
将源路由替换为记录路由的过程(尽管它必须与用于作为源路由的顺序相反)意味着该选项(和整个IP报头)保持恒定长度数据报通过互联网进行。
此选项是严格的源路由,因为网关或主机IP必须通过仅在下一个地址中指示的直接连接的网络将数据报直接发送到源路由中的下一个地址,才能到达路由中指定的下一个网关或主机。
必须在碎片上复制。
在数据报中最多出现一次。
MACheaderIPheaderIPoption9Data:
IPOption9:
01234567890123456789012345678901TypeLengthPointerRouteData:
Type.8bits.Setto137.0001020304050607CClassOptionC,Copyflag.1bit.Setto1.表示该选项复制到所有片段中。
Class.2bits.Clearedto0.这是一个控制选项。
Option.5bits.Setto9.IPoption号。
Length.8bits.该option字段的大小(以byte为单位的数字)。
Pointer.8bits.4to255指向路由数据的指针指示开始下一个要处理的源地址的字节。
指针是相对于此选项。
如果目的地址字段中的地址已达到并且指针不大于长度,则源路由中的下一个地址将替换目的地址字段中的地址,并且记录的路由地址将替换刚使用的源地址,而指针增加了四。
RouteData.Variablelength.路由数据由一系列互联网地址组成。
每个互联网地址是32位。
如果指针大于长度,则源路由为空(并且记录的路由已满),路由将基于目标地址字段。
11.MTUprobeIPMTUProbe选项可用于从非分片数据报传送的网络路径中找到最低的MTU。
MTU值将在MTUReply选项中返回。
此选项始终包含由数据报到目前为止已经遍历的所有网络的最低MTU。
发送此选项的主机必须将值字段初始化为直连网络的MTU。
如果主机是多宿主的,则应该是第一跳网络。
接收包含此选项的数据报的每个网关必须将MTU字段与数据报的入站和出站链路的MTU进行比较。
如果MTU低于选项的MTU字段的值,则选项值应设置为较低的MTU。
(注意,符合RFC-1009的网关在处理IP选项时可能不知道入站接口或出站接口,因此,对此选项的支持可能需要主要的网关软件更改)。
接收包含此选项的数据报的任何主机应确认该选项的MTU字段的值小于或等于入站链路的值,如有必要,请在处理该选项之前减少MTU字段值。
如果接收主机不能接受由选项的MTU字段的值指定的数据报,那么它应该将MTU字段减小到可以接受的最大数据报的大小。
此选项现在已过时。
12.MTUreplyIPMTUReply选项用于将检测到的最小MTU返回给MTUProbe选项的发送者。
此选项已过时。
18.traceroute(跟踪路由)(跟踪路由)ICMPEcho(或任何其他)数据包(以下称为出站数据包)中存在此选项将导致路由器将新定义的ICMPTraceroute消息发送到出站数据包的发起方。
以这种方式,出站数据包的路径将由发起者记录,只有n+1(而不是2n)数据包。
如果出站分组的目的地保留返回分组中的IPTraceroute选项,则该算法不会遭受变化的路径的影响,并且允许对出站分组的响应(以下称为返回分组)进行跟踪。
MACheaderIPheaderIPoption18IPoption18:
01234567890123456789012345678901TypeLengthIDNumberOutboundHopCountReturnHopCountOriginatorIPAddressType.8bits.Setto82.0001020304050607CClassOptionC,Copyflag.1bit.Clearedto0.表示该选项不复制到所有片段中。
Class.2bits.Setto2.调试和测量选项。
Option.5bits.Setto18.IPoption号。
Length.8bits.Setto12.该option字段的大小(以byte为单位的数字)。
IDNumber.16bits.出站数据包的发起者使用的任意数字来标识ICMPTraceroute消息。
它与IP头中的ID号无关。
OutboundHopCount.16bits.出站数据包通过的路由器数量。
此字段不会由出站数据包的目的地递增。
ReturnHopCount.16bits.返回数据包通过的路由器数量。
该字段不会被返回数据包的目的地递增。
OriginatorIPAddress.32bits.出站数据包的发起者的IP地址。
这是需要的,所以路由器可以知道在哪里发送ICMPTraceroute消息以返回数据包。
还需要具有“源路由”选项的出站数据包。
19.addressextension(地址扩展)(地址扩展)提供IP地址扩展选项,用于承载将IPv4地址转换为IPv7地址所需的附加字节。
MACheaderIPheaderIPoption19DataIPOption19:
0123456789012345678901234567890123456789TypeLengthSourceIPv7ADSource7thByteDestinationIPv7ADDestination7thByteType