IPv6 首部格式
《图解TCP/IP》 4.8 IPv6的首部格式
IPv6为了减轻路由器的负担,省略了首部校验和字段。因此路由器不再需要计算校验和,从而提高了包的转发效率。
此外,分片处理所用的识别码成为可选项。为了让64位CPU的计算机处理起来更方便,IPv6的首部及可选项都由8字节构成。
版本:和IPv4 一样,由4比特构成。IPv6其版本号为6,因此在这个字段上的值为“6”。
通信量类:相当于IPv4的TOS(Type Of Service)字段,也由8比特构成。有TOS在IPv4中几乎没有什么建树,未能成为卓有成效的技术,本来计划在IPv6中删掉这个字段,不过出于今后研究的考虑还是保留了该字段。
流标号:由20比特构成,准备用于服务质量(Qos:Quality Of Service)控制。使用这个字段提供怎样的服务已经成为未来研究的课题。不适用Qos时每一位可以全部设置为0。 在进行服务质量控制的时,将流标号设置为一个随机数,然后利用一种可以设置流的协议RSVP(Resource Reservation Protocol )在路由器上进行Qos设置。当某个包在发送途中需要Qos时,需要附上RSVP预想的流标号。路由器接收到这样的IP包后现先将流标号作为查找关键字,迅速从服务质量控制信息中查找并做相应处理。此外,只有流标号、源地址以及目标地址三项完全一致时,才被认为是一个流。
有效荷载长度:有效荷载长度是指包的数据部分。IPv4的TL(Total Length)是指包含首部在内的所有长度。然而IPv6中的这个Playload Length不包括首部,只表示数据部分的长度。由于IPv6的可选项是指连接IPv6首部的数据,只有当有可选项时,此处包含可选项数据的所有长度就是Playload Length。
下一个首部:相当于IPv4中的协议字段。由8比特构成。通常表示IP的上一层协议是TCP或UDP。不过在有IPv6扩展首部的情况下,该字段表示后面第一个扩展首部的协议类。
跳数限制:由8比特构成。与IPv4中的TTL意思相同。为了强调“可通过路由器个数”这个概念,才将名字改为“Hop Limit”。数据每经过一次路由器就减1,减到0则丢弃数据。
源地址:由128比特构成,表示发送端IP地址。
目标地址:由128比特构成,表示接收端IP地址。
IPv6扩展首部:IPv6的首部长度对固定,无法将可选项将入其中,取而代之的是通过扩展首部对功能进行了有效扩展。 扩展首部通常介于IPv6首部与TCP/UDP首部中间。在IPv4中可选项长度固定为40字节,但是在IPv6中没有这样的限制。也就是说,IPv6的扩展首部可以是任意长度。扩展首部当中还可以包含扩展首部协议以及下一个扩展首部字段。