IPoption资料文档.docx
《IPoption资料文档.docx》由会员分享,可在线阅读,更多相关《IPoption资料文档.docx(19页珍藏版)》请在冰点文库上搜索。
![IPoption资料文档.docx](https://file1.bingdoc.com/fileroot1/2023-5/26/1beb847e-4a26-4240-b374-e7769b1daffc/1beb847e-4a26-4240-b374-e7769b1daffc1.gif)
IPoption资料文档
因特网协议(IP)提供了可选的报头字段由选项类型字段标识。
选项0和1恰好是一个八位位组是它们的类型字段。
所有其他选项都有自己的选择八位字节类型字段,后跟一个八位字节长度字段,后跟长度为2个字节的选项数据。
选项类型字段被细分进入一个位复制标志,一个两位类字段和一个五位选项号码。
这些一起形成了8位的值选项类型字段。
IP选项通常由此值引用。
一、IPoption汇总:
Copy
Class
Number
Value
Name
0
0
0
0
EOOL-EndofOptionsList
0
0
1
1
NOP-NoOperation
1
0
2
130
SEC-Security
1
0
3
131
LSR-LooseSourceRoute
0
2
4
68
TS-TimeStamp
1
0
5
133
E-SEC-ExtendedSecurity
1
0
6
134
CIPSO-CommercialSecurity
0
0
7
7
RR-RecordRoute
1
0
8
136
SID-StreamID
1
0
9
137
SSR-StrictSourceRoute
0
0
10
10
ZSU-ExperimentalMeasurement
0
0
11
11
MTUP-MTUProbe
0
0
12
12
MTUR-MTUReply
1
2
13
205
FINN-ExperimentalFlowControl
1
0
14
142
VISA-ExperimentalAccessControl
0
0
15
15
ENCODE-?
?
?
1
0
16
144
IMITD-IMITrafficDescriptor
1
0
17
145
EIP-ExtendedInternetProtocol
0
2
18
82
TR-Traceroute
1
0
19
147
ADDEXT-AddressExtension
1
0
20
148
RTRALT-RouterAlert
1
0
21
149
SDB-SelectiveDirectedBroadcast
1
0
22
150
-Unassigned(Released18October2005)
1
0
23
151
DPS-DynamicPacketState
1
0
24
152
UMP-UpstreamMulticastPkt.
0
0
25
25
QS-Quick-Start
0
0
30
30
EXP-RFC3692-styleExperiment[2]
0
2
30
94
EXP-RFC3692-styleExperiment[2]
1
0
30
158
EXP-RFC3692-styleExperiment[2]
1
2
30
222
EXP-RFC3692-styleExperiment[2]
二、常见IPoption
0.EndofOptions(EOP结束选项)
单字节选项用于指示IP头中选项列表的结尾。
根据标题长度,这可能与标题的结尾不符。
该选项在所有选项的末尾使用,而不是每个选项的结尾,仅在选项的结尾不会与IP头的结尾相符时才需要使用。
MACheader
IP header
IPoption0
Data:
:
:
IPoption0:
00
01
02
03
04
05
06
07
Type
Type. 8bits.Clearedto0.
00
01
02
03
04
05
06
07
C
Class
Option
C,Copyflag. 1bit.Clearedto0.
表示该选项不被复制到所有片段中。
Class. 2bits.Clearedto0.
这是一个控制选项。
Option. 5bits.Clearedto0.
IPoption号
1.NOP(忽略选项)
此选项通常用于对齐IP头中32位边界的下一个选项的开头。
或者由于任何其他原因可能会被复制,引入或删除。
MACheader
IP header
IPoption1
Data:
:
:
IPoption1:
00
01
02
03
04
05
06
07
Type
Type. 8bits.Setto1.
00
01
02
03
04
05
06
07
C
Class
Option
C,Copyflag. 1bit.Clearedto0.
该选项不被复制到所有片段中。
Class. 2bits.Clearedto0.
这是一个控制选项。
Option. 5bits.Setto1.
IPoption号
2.IP Security Option(IP 安全性选项)
此选项为主机提供了一种手段,可发送与DOD 要求兼容的安全性、分隔、TCC(非公开用户组)参数以及“处理限制代码”。
在IP报头中最多可能出现一次,并且必须在分片时复制。
MACheader
IP header
IPoption2
Data:
:
:
IPOption2:
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Type
Length
Security
Compartments
Handlingrestrictions
TransmissionControlCode
Type. 8bits.Setto130.
00
01
02
03
04
05
06
07
C
Class
Option
C,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.Loose Source Route Option(松散源路由选项)
防火墙设备封锁IP 选项为3(松散源路由)的封包。
此选项为封包源提供了一种手段,可在向目标转发封包时提供网关所要使用的路由信息。
此选项是松散源路由,因为允许网关或主机IP 使用任何数量的其它中间网关的任何路由来到达路由中的下一地址。
松散源和记录路由(LSRR)选项提供了一种互联网数据报源提供网关将数据报转发到目的地使用的路由信息,并记录路由信息的手段。
报文结构:
MACheader
IP header
IPoption3
Data:
:
:
IPOption3:
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Type
Length
Pointer
Route[]:
:
:
Type. 8bits.Alwayssetto131.
00
01
02
03
04
05
06
07
C
Class
Option
C,Copyflag. 1bit.Setto1.
表示该选项被复制到所有片段中。
Class. 2bits.Clearedto0.
这是一个控制选项。
Option. 5bits.Setto3.
IPoption号.
Length. 8bits.
该option字段的大小(以byte为单位的数字)
Pointer. 8bits.
Route[]. Variablelength.
一组32位IP地址。
4.IP Timestamp Option(IP 时戳选项)
防火墙设备封锁IP 选项列表中包括选项4(互联网时戳)的封包。
始发主机必须使用足够大的时间戳记数据区域来组合此选项,以保存所有期望的时间戳信息。
选项的大小不会因为添加时间戳而改变。
时间戳数据区域的初始内容必须为零或互联网地址/零对。
如果时间戳数据区已经满(指针超过长度),则数据报将转发而不插入时间戳,但溢出计数增加1。
如果有一些空间,但没有足够的空间来插入完整的时间戳,或者溢出计数本身溢出,则原始数据报被认为是错误的并被丢弃。
在任一情况下,可能会向源主机发送ICMP参数问题消息。
分片时不会复制时间戳选项。
它在第一个片段中携带。
在数据报中最多出现一次。
MACheader
IP header
IPoption4
Data:
:
:
IPOption4:
00
11
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Type
Length
Pointer
Overflow
Flag
Timestamp[]
:
:
:
Type. 8bits.Setto68.
00
01
02
03
04
05
06
07
C
Class
Option
C,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.
Flag
Description
0
Timestamp containsonly Time fields.
1
Timestamp contains IPaddress and Time fields.
3
The IPaddress fieldsareprespecified.AnIPmoduleonlyregistersitstimestampifitmatchesitsownaddresswiththenextspecifiedinternetaddress.
Timestamp[]. Variablelength.
一个或多个时间戳结构。
Timestamp. 32or64bits.
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
IPaddress
Time
IPaddress. 0or32bits.
可选的
Time. 32bits.
自UT以来以毫秒为单位的右对齐时间戳。
如果时间不能以毫秒为单位,或不能提供相对于午夜UT,则任何时间都可以插入时间戳,只要时间戳字段的高位被设置为1,以指示使用非标准值。
5.extendedsecurity(扩展安全选项)
此选项允许在IP数据报中提供超出基本安全选项中存在的附加安全标签信息,以满足注册机构的需求。
请注意,不是标签数据或仅对终端系统(而不是中间系统)有意义的信息不适用于IP层中的传输,因此不应使用此选项进行传输。
必须在分片时复制此选项。
与基本选项不同,此选项可能会在数据报中多次出现,受IP头大小限制。
此选项可能仅与基本安全选项一起使用,因此所有支持扩展安全选项的系统也必须支持基本安全选项。
但是,并不是所有支持基本安全选项的系统都需要支持扩展安全选项,并且对这些选项的支持可能是有选择性的,即系统不需要支持所有扩展安全选项。
MACheader
IP header
IPoption5
Data:
:
:
IPoption5:
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Type
Length
Formatcode
AdditionalSecurityInfo :
:
:
Type. 8bits.Setto133.
00
01
02
03
04
05
06
07
C
Class
Option
C,Copyflag. 1bit.Setto1.
表示该选项不被复制到所有片段中。
Class. 2bits.Clearedto0.
这是一个控制选项。
Option. 5bits.Setto5.
IPoption号。
Length. 8bits.
该option字段的大小(以byte为单位的数字)
00
01
02
03
04
05
06
07
0
Length
Formatcode. 8bits.
指定“附加安全信息”字段的语法和语义。
对于每个格式代码,将发布RFC以指定语法,并提供确定是否应接受或拒绝携带由此格式代码指定的标签的数据报的处理所需的算法描述。
该规范必须足够详细,以允许供应商产生可互操作的实现,例如,它应该与本RFC中提供的基本安全选项的规范相当。
然而,如果这样的映射会使规范的分布受到限制,则该规范不需要包括从该选项的语法到人类标签的映射。
AdditionalSecurityInfo. Variablelength,0..29bytes.
此字段包含由扩展安全选项的格式代码指定的附加安全标签信息。
该字段的语法和处理要求由关联的RFC指定。
7.Record Route Option(记录路由选项)
防火墙设备封锁IP 选项为7(记录路由)的封包。
此选项用于记录封包的路由。
记录的路由由一系列互联网地址组成,外来者经过分析可以了解到您的网络的编址方案及拓扑结构方面的详细信息。
当互联网模块路由数据报时,它会检查是否存在记录路由选项。
如果是的话,它会插入自己的互联网地址,如在该指针所指定的字节开始的数据报被转发到记录的路由的环境中已知的,并将指针递增四。
如果路由数据区已经满(指针超过长度),则转发数据报而不将该地址插入记录的路由。
如果有一些空间,但是没有足够的空间来插入一个完整的地址,原来的数据报被认为是错误的并被丢弃。
在任一情况下,可能会向源主机发送ICMP参数问题消息。
不复制在碎片上,仅在第一个片段。
在数据报中最多出现一次。
MACheader
IP header
IPoption7
Data:
:
:
IPOption7:
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Type
Length
Pointer
RouteData []:
:
:
Type. 8bits.Setto7.
00
01
02
03
04
05
06
07
C
Class
Option
C,Copyflag. 1bit.Clearedto0.
表示该选项不被复制到所有片段中。
Class. 2bits.Clearedto0.
这是一个控制选项。
Option. 5bits.Setto7.
IPoption号。
Length.8bits.
该option字段的大小(以byte为单位的数字)。
Pointer.8bits.4to255
指向路由数据的指针指示开始下一个区域以存储路由地址的字节。
指针是相对于此选项。
RouteData [].Variablelength.
记录的路线由一系列互联网地址组成。
每个IP地址大小为32位。
如果指针大于长度,记录的路径数据区域已满。
始发主机必须使用足够大的路由数据区域来组合此选项,以保存所有预期的地址。
由于添加地址,该选项的大小不会更改。
路由数据区域的初始内容必须为零。
8.IP Stream Option(IP 流选项)
防火墙设备封锁IP 选项为8(流ID)的封包。
此选项提供了一种方法,用于在不支持流概念的网络中输送16位SATNET流标识符。
它必须在碎片上复制,并且可能在数据报中最多出现一次。
MACheader
IP header
IPoption8
Data
IPOption8:
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Type
Length
StreamID
Type. 8bits.Setto136.
00
01
02
03
04
05
06
07
C
Class
Option
C,Copyflag. 1bit.Setto1.
表示该选项复制到所有片段中。
Class. 2bits.Clearedto0.
这是一个控制选项。
Option. 5bits.Setto8.
IPoption号。
Length. 8bits.Alwayssetto4.
StreamID. 16bits.
SATNET流标识符。
9.IP Strict Source Route Option(IP 严格源路由选项)
防火墙设备封锁IP 选项为9(严格源路由选择)的封包。
IP严密源路由选项用于根据源提供的信息路由IP包。
RFC791,pgs19,20:
严格的源和记录路由(SSRR)选项提供了一种互联网数据报源提供路由信息供网关使用的路由信息,将数据报转发到目的地,并记录路由信息。
记录的路由地址是互联网模块自己的互联网地址,在该数据报正在转发的环境中已知。
将源路由替换为记录路由的过程(尽管它必须与用于作为源路由的顺序相反)意味着该选项(和整个IP报头)保持恒定长度数据报通过互联网进行。
此选项是严格的源路由,因为网关或主机IP必须通过仅在下一个地址中指示的直接连接的网络将数据报直接发送到源路由中的下一个地址,才能到达路由中指定的下一个网关或主机。
必须在碎片上复制。
在数据报中最多出现一次。
MACheader
IP header
IPoption9
Data:
:
:
IPOption9:
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Type
Length
Pointer
RouteData []:
:
:
Type. 8bits.Setto137.
00
01
02
03
04
05
06
07
C
Class
Option
C,Copyflag. 1bit.Setto1.