首先IP分组由首部和数据两部分组成。
首部中相应字段含义:
其中重要的字段:
1、首部长度: 占4位,单位是4个字节,也就是说最大值可以表示15*4=60字节,但我们通常首部的长度是20字节;
2、总长度: 占16位,单位是1个字节,这里总长度是包括了首部长度和数据部分;
3、标示: 占16位,用来标示分片分别属于那一个ipv4分组,因为如果ip分组大于了数据链路层的最大传输单元长度,那么就得分片,而每一个片的标示字段都为该ip分组的标示字段值,表明这些分片属于该ip分组;
4、标志:占3位,其中标志字段最低位为MF,MF=1标示该分片不是最后一个分片,MF=0标示该分片是最后一个分片;中间字段是DF,DF=1标示不可以分片,DF=0表示可以分片;
5、片偏移:占13位,单位是8个字节,该字段的值表示该分片的数据部分在原ip分组数据部分相对于数据部分起点的偏移量;
6、生存时间TTL:占8位,表示数据包在网络中可通过的路由器的最大值,也就是表示分组在网络中的寿命。每经过一个路由器该TTL就会减1,当减为0时,就丢弃分组;
7、首部校验和:占16位,ip数据报只校验分组的首部,不校验数据部分;
另外就是不重要的字段:
8、协议:占8位,表示分组携带的数据是使用的何种协议,在上交数据时,分组的数据部分该交给哪个传输层协议,如:TCP、UDP等。如果该字段值为6表示TCP,17表示UDP;
9、源地址:占32位;
10、目的地址:占32位;
11、版本:占4位,指IP协议的版本;
12、区分服务:占8位;
总结规律:
1、由上可以看出第二层32位的字段主要是关于分片的字段:标示、标志、片偏移。
2、对于上面总长度、首部长度、片偏移对应的单位,可以这样记忆:不要总(总长度)是那一(1字节)条假首(首部长度)饰(4字节)来骗(片偏移)我吧(8字节);