IP数据报头部信息

IP数据报头部长度20到60字节,其中前20字节是固定长度,是所有IP数据报必须有的,后面部分为可选字段,长度可变。

IP数据报头部信息_第1张图片 IP数据报头部信息

4位版本号:标记使用IP地址的版本,常用4或6,分别标识IPv4或IPv6。

4位首部长度:标识IP首部占多少个4字节,4位2进制最多表示15,所以最长为60字节。

8位区分服务:用来获得更好的服务,一般情况下不使用。

16位总长度:这里的单位为字节,表示报文头部加总的数据信息之和的长度。所以最大值为2^16-1。数据在传输过程中,可能一次发包放不下或者其他情况,需要进行“分片”,将数据放在多个数据报中发送,这里每个数据报头部的总长度都表示了分片之前的总长度。

16位标识:每产生一个数据报,这里就加1,当数据量超过数据链路层所能传输最大的值时,这个标识字段的值就被复制到所有的数据报片的标识字段中。相同的值的报文最终就可以重装成原来的数据报。

3位标志位:目前只有两位有意义。最低位为MF,值位1时表示后面还有报文,为0时表示这是最后一个。中间一位位DF,当这一位为1时表示不能分片,为0才允许分片。

13位片偏移:表示该分片在原数据的偏移。片偏移以8字节为偏移,所以每个分片一定是8字节的整数倍。

8位生存时间:常用TTL(Time to live)表示,表示数据报在网络中的生存时间。值减到零时该数据报被丢弃。最初的设计是以秒单位的,每转发一次减少一定的时间,如果发一次路由器的时间小于一秒就减一。随着技术的进步,路由器转发一次一般都少于1秒,所以这个这个值的功能变成了跳数限制。每转发一次减小一,到零时该数据包被丢弃。

8位协议类型:表示该报文使用的是哪种上层协议,便于目的主机的IP层知道交给哪个协议进行处理。

16位校验和:因为IP数据报在网络中每转发一次其中一些字段就会发生改变(片偏移,生存周期等),所以在这里对数据报首部信息进行校验,结果为零就保留,否则丢弃。

32位源地址和32位目的地址用于标记发送接收方的IP地址。

可变部分是一个可选字段,用于排错,测量以及安全措施,长度为1字节到40字节不等,为IP数据报增加了一些功能,但同时也增加了网络转发过程中数据处理的开销,因此新的IPv6就把IP数据报首部长度做成了固定的。

 

你可能感兴趣的:(计算机网络)