在网络服务质量保障方面,IPv6在其数据包结构中定义了流量类别字段和流标签字段。流量类别字段有8位,和IPv4的服务类型(ToS)字段功能相同,用于对报文的业务类别进行标识;流标签字段有20位,用于标识属于同一业务流的包。流标签和源地址、目的地址一起,唯一标识了一个业务流。同一个流中的所有包具有相同的流标签,以便对有同样QoS要求的流进行快速、相同的处理。
目前,IPv6的流标签定义还未完善,但从其定义的规范框架来看,IPv6流标签提出的支持服务质量保证的最低要求是标识流,即给流打标签。流标签应该由流的发起者——信源节点赋予一个流,同时要求在通信路径上的节点都能够识别该流的标签,并根据流标签来调度流的转发优先级算法。这样的定义可以使物联网节点上的特定应用有更大的调整自身数据流的自由度,节点可以只在必要时选择符合应用需要的服务质量等级,并为该数据流打上一致的标识。在重要数据转发完成后,即使通信没有结束,节点也可以释放该流标识,这样的机制再结合动态服务质量申请和认证、计费的机制,就可以使网络按应用的需要来分配服务质量。同时,为了防止节点在释放流标签后又误用该流标签,造成计费上的问题,信源节点必须保证在120 s内不再使用释放了的流标签。
在物联网应用中,普遍存在节点数量多、通信流量突发性强的特点。与IPv4相比,由于IPv6的流标签有20 bit,足够标识大量节点的数据流。与IPv4中通过五元组(源/目的IP地址、源/目的端口、协议号)的方式不同,IPv6可以在一个通信过程中(五元组没有变化),只在必要时数据包才携带流标签(如在节点发送重要数据时),这可以动态提高应用的服务质量等级,做到对服务质量的精细化控制。
当然,IPv6的QoS特性并不完善,由于使用的流标签位于IPv6包头,容易被伪造,造成服务被盗用的安全问题,因此,在IPv6中流标签的应用需要开发相应的认证加密机制,同时为了避免流标签使用过程中发生冲突,还要增加源节点的流标签使用控制的机制,保证在流标签使用过程中不会被误用。