1.IP(v4)
协议
1.1
消息结构
Version
占用4
比特,在使用IPv4
时设置值为4
;IHL(Internet Header Length)
占用4
比特,指示头部占用多少个32
比特的word
,最小为5
即IP
头长度,典型值20
字节,最大值为60
字节;Type Of Service
占用8
个比特,定义不同的QoS(Qualityofservice)
;Total Length
为数据和头的总长度,占用16
比特,最大值为65535
,单位是字节;Identification
占用16
比特数据包ID
,可用来组包级联等;Flags
占用3
比特,最前一比特是保留位,固定为0
,后面一个比特指示是否分段DF(Don’tFragment)
,0
表示可能分段,1
表示不分段,最后一个比特指示是否为最后一个分段MF(More Fragments,0
表示最后一个分段,1
表示还有后续)
;FragmentOffset
占用13bits
,指示分段在数据包中的偏移位置,单位为8
字节数;TTL(Time to Live)
占用8
比特,表示最大生命周期,单位为秒,但在实际处理中,每次对包头处理分析时至少减去一而不去关心真正消耗的时间;Protocol
指示IP
中承载的数据的具体类型,如1
表示ICMP
,6
表示TCP
,而17
表示UDP
,具体在RFC790
中定义;Header checksum
只是对头部进行校验,由于TTL
在每次头部处理时会发生变化,对应每次处理的checksum
也需重新计算,当</