4位版本号:目前的协议版本号是4,IPV4的由来。
4位首部长度:首部占32 bit字的数目,也就是说单位为4字节,4位能够表达的最大数值为15,为此首部最长为60个字节。当然,这里除开某些带有选项的首部外,普通的IP首部长度的为5,即20个字节。
8位服务类型(TOS):3位的优先权子字段(现在已被忽略),4位的TOS字字段和1位未用但必须置0。4位的TOS分别代表:最小延时,最大吞吐量,最高可靠性和最小费用。4位中只能有一位为1,如果4位均为0,那么就以为着是一般服务。
其中个协议的值分布如下:
Telnet/RLogin:1000
FTP
控制:1000
数据:0100
TFTP:1000
SMTP
命令阶段:1000
数据阶段:0100
DNS
UDP查询:1000
TCP查询:0000
区域传输:0100
ICMP
差错:0000
查询:0000
其他不做罗列了。
16位总长度:整个IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。注意:
1、总长度决定了数据报的大小限制。
2、总长度字段是IP首部中必要的内容,因为一些数据链路需要填充一些数据以达到最小长度。
16位标识:唯一地标识主机发送的每一份数据报。其实就是ID值,没发送一份报文ID + 1
3位标志:
13位片偏移:
TTL(time-to-live):生存时间字段设置了数据报可以经过的最多路由数。它指定了数据报的生存时间。每经过一个处理它的路由器,它的值减去1,当该字段的值为0时,数据报就废弃,并发送ICMP报文通知源主机。
8位协议字段:指协议类型,如tcp UDP等。
16位首部校验和:首部校验和字段是根据IP首部计算的校验和码。它不对首部后面的数据进行计算。ICMPIGMP UDP TCP在他们各自的首部中均含有同时覆盖首部和数据校验和码。
32位源IP地址
32位目的IP地址
最后一个字段是人选项:这些选项很少被使用,并非所有的主机和路由器都支持这些选项。