网络层数据整个TCP/IP 模型中非常关键的一环,承上启下,提供了面向无连接的报文发送服务。IP(Internet protocl)协议就是工作在这个层次。
先看看这个IP协议数据包的格式:
从图形中可以看出,IP协议的头部是以四个字节分段来组织的,每个功能段是4(Header Length 的值就是以四个字节为一组的组数)个字节,头部最短为20个字节,最长为60个字节。
下面我们逐步的解释每个字段的含义:
Version : IP 协议版本号
HeaderLength : 头的长度(按段的字段个数来计数)
Different Service Code Point: 服务类型,(在这里可以指定消息的优先级,或者其他额外的信息)主要是用来告诉网络层如何来处理这个报文,该字段具体含义见下面明细:如果该字段右边3位全部是0,那么左边三位用来表示报文的优先级,如果右边3位不是全部是0则用来表示各种服务,服务在这里定义的比较复杂不是IP协议的关键,所以我们先跳过这个。
Total Length : 总报文长度,(Head + Data)。当前最大65536.
Identification : 分片,数据报ID,属于同一个数据报的不同分片该字段值相同
Flags : 分片,控制该数据报是否可以进行分片。
Fragment Offset : 分片