首都长度:IP首部的长度,一般为20B.版本:IP地址的版本,目前我们使用的都是第4版,所以这种IP也经常称为IPV4.
服务类型:服务类型包括一个3bit的优先权字段(现已被忽略),4bitTOS字段和1位未用位但必须置为0。4位的TOS分别代表最小延迟、***吞吐量、***可靠性和最小费用。对于TOS值,不同应用有不同的***值。具体值可参考RFC1394文档:http://www.rfc-editor.org/pdfrfc/rfc1349.txt.pdf
总长度:数据包的总长度。该字段是IP首部的必要内容,因为链路层需要填充一些数据以达到最小长度。(PS:以太网的最小帧长为46B).
标识符:唯一标识主机发送的每一份数据报。
标志:分为3个字段,依次为保留位、不分片位和更多片位。
● 保留位:一般被置为0;
● 不分片位:表示该数据报是否被分片,如果被置为1,则不能对数据报进行分片,如果要对其进行分片处理,就应将其置为0。
● 更多片位:除了***一个分片,其他每个组成数据报的片都要讲该位置为1.
片偏移:该分片相对于原始数据报开始处位置的偏移量。
生存时间:设置数据报可以经过的最多路由器数,它指定了数据报的生存时间。生存时间由源主机指定,在数据报传输过程中,每经过一个路由器,该值就减1,当该字段的值为0时,数据报就会被丢弃,并发送ICMP报文通知源主机。
协议:向IP层传输数据的协议类型,常见协议类型的值:表示
1. ICMP协议表示
2. IGMP协议
3. 表示TCP协议
4. 表示UDP协议
首部许校验和:校验接收到的IP数据报是否有差错。
源IP地址:源主机的IP地址。
目的IP地址:目的主机的IP地址。
选项:该字段是数据报中的可选字段。这也是前面所说的IP首部长度一般为20B的原因。目前这个选项有如下定义:
1)安全和处理限制(用于军事领域)
2)记录路径
3)时间戳
4)宽松的源站选路
5)严格的源站选路
PS:这些选项很少被使用,并非所有的主机和路由器都支持这些选项。
下面看一个使用WireShark抓取到的一条信息的IP首部:
从上面的数据包中我们可以看出IP首部中的每一个字段信息,通过了解这些字段的含义,我们就可以对数据包进行准确的分析,从而解决遇到的网络问题。