IP协议头格式

IP协议在协议栈中位于网络层,网络数据传输封装方式如下:

IP协议头格式_第1张图片

 IP报文格式如下:

IP协议头格式_第2张图片

1、版本:IP报文版本号 IPV4:4,IPV6:6 

2、首部长度:IP header 长度,没有选项,则一般为5(5x32bit=20B) 

3、8位服务类型:一般没有使用,详细参考RFC    

      3位优先权字段(已经弃用)   

      4位TOS字段:最小延时,最大吞吐量,最高可靠性,最小成本(这四者冲突,只能选择一个)    

      1位保留字段,必须为0

4、总长度:header+数据 总长度 

5、16位标识:IP 报文的唯一id,分片报文的id 相同,便于进行重组。 

6、3位标志:标明是否分片。

Bit 0: reserved, must be zero
Bit 1: (DF) 0 = May Fragment,  1 = Don't Fragment.
Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments.

          0   1   2
        +---+---+---+
        |   | D | M |
        | 0 | F | F |
        +---+---+---+1

     第一位:保留

     第二位:是否允许分片(置0:允许,置1:不允许),如果置1,但是IP报文长度超过MTU则被丢弃

     第三位:结束标志(最后一片置1,表示已经完了,其余的置0)

7、13位片偏移:参考下图。如果是第一片取值为0,第二片取值175,以此类推。

IP协议头格式_第3张图片

8、TTL:生存时间,即路由器的跳数,每经过一个路由器,该TTL 减一,因此路由器需要重新计算IP报文的校验和。 

9、8位协议:ICMP:1,TCP:6,UDP:17,其他的自行百度 

10、首部校验和:IP header校验和,接收端收到报文进行计算如果校验和错误,直接丢弃。 

11、源IP地址:无须解释 

12、目的IP地址:无须解释 

13、选项:这个一般也没有使用。详细参考RFC 

14、数据:上层的报文,如TCP 报文、UDP报文等。

 

抓包测试如下:

IP协议头格式_第4张图片

你可能感兴趣的:(网络协议)