IPv6数据报有一个40个八位组的基本首部(base header),其后可允许有零个或多个扩展首部(extension header),再后面为数据,如下图所示。
基本首部的格式如下图所示。下面介绍主要字段的含义:
■ 版本(version) 占4比特,指明版本号,IPv6该字段为6。
■ 优先级(priority) 占4比特。优先级字段使源站能够指明数据报的流(flow)类型。IPv6把流分为两大类,即可进行拥塞控制的和不可进行拥塞控制的。每个分类分为8个优先级,其中数值越大,优先级越高。对可进行拥塞控制的业务,优先级为0~7。对不可进行流量控制的业务,其优先级为8~15。这些都是实时性业务,如音频或视频业务的传输。
■ 流标号(flow label) 占24比特。IPv6可以支持资源预留机制,并允许将每个数据流与一个给定的资源分配相联系。所谓流就是互联网上从一个特定源站到一个特定目的站的一系列数据报。源站要求在数据报传输的路径上的路由器保证指明的服务质量。流标号是用来表示一个数据流的标识符,源站为每个数据流随机地选择一个流标号。如果流标号为0,则表示不采用流标号。
■ 净载荷长度(payload length) 占16比特。该长度指明除首部外,IPv6数据报的长度。由于IPv6首部长度固定,因此没有首部长度字段。
■ 下一个首部(next header) 占8比特。该字段用于标识紧跟IPv6首部的扩展首部的类型。
■ 跳数限制(hop limit) 占8比特。该字段用于防止数据报在网络中无限期地存在。每个路由器在转发数据报时,将跳数值减1。当跳数值减至0时,就丢弃该数据报。