目前,IPv4 QoS已经获得比较好的发展,因此在IPv6大规模部署之前,可以先借助IPv4 QoS的成果,进一步研究Flow Label机制的使用。从目前情况看,可以通过Diff-Serv实现QoS,以后随着技术的发展和标准的成熟,可以逐渐引入其他更有效的方法。而终结目标是,伴随着ITU-T的QoS架构和实现方法的成熟,最终解决IPv6 QoS。
现在的信息网络可以用“Everything over IP”和“IP over Everything”来概括。业界基本达成共识,IP网络将成为下一代信息网络的基础设施。 但自由、开放和“Best Effort”的IP网络,在担负这样的责任时,还需要大量的改进。
一方面,由于宽带网络的高速发展、NGN(下一代网络)和3G网络的大规模部署以及家庭网络等即将成为现实,需要大量的IP地址,而目前广泛使用的IPv4地址,由于总量的缺乏以及分配的不公平性等原因存在严重短缺,在不久的将来势必耗尽。所以,早在10多年前,鉴于当时B类地址需求高速增长,眼看地址耗尽指日可待,一度造成恐慌而发展了具有巨大地址空间的IPv6技术。同时,也发展了CIDR(无级别域内路由选择)和保留地址/NAT技术,以进一步延缓IPv4地址的消耗速度。另一方面,IPv4在地址自动配置、QoS、安全性以及移动性等方面也难以满足下一代网络的发展要求,因此,IPv6不仅仅解决地址问题,也在其他方面做了相应的改进。
本来希望IPv6一劳永逸地解决一系列问题,但经过10多年的发展,许多目标并没有实现,包括下面将要讨论的IPv6 QoS问题。
IPv6 QoS基本情况
和IPv4相比,IPv6在QoS方面提供了更多的措施,以期改善甚至彻底解决网络的服务质量问题。最初的想法是,根据当时IP QoS的研究进展,引入Flow Label机制,帮助处理QoS。由于受到当时网络技术发展水平的限制,第一个比较成熟的成果在1994年前后才推出,即所谓的Int-Serv模型。该模型在信息传递之前,使用资源预留协议(RSVP)建立一个可以保证QoS各有关指标的一个通道。这种想法似乎是可行的,因为和它相类似的ATM技术在QoS上获得了较大的成功,或者说后者的一个主要特点就是解决了QoS问题(当然,各有关技术还在不断发展之中)。但是,Int-Serv并没有获得广泛的应用。今天再来分析其原因,可以发现,ATM网络支持的电路/流的数量,基本上是以千条(thousands)为单位实施扩展的;而IP网络,特别是Internet这样的全球网络,其业务流基本上是以百万条(millions)为基本单位的,这对于网络中的路由器设备来说,很难支持如此大量的软状态。同时,也存在跨多个运营商进行资源预留管理等问题。后来进一步发展了Diff-Serv模型,它基于对网络业务的分类来简化处理的类别,从而解决了可扩展性问题,为IP网络的QoS提供了一个可行的解决方案。但是,Diff-Serv模型并不能提供一个端到端的解决方案,其对IP QoS的实现,需要通过与PHB(Per-Hop-Behavior)、网络流量规划或者流量工程(Traffic Engineering,TE)等措施联合提供。
IPv6 QoS定义
IP QoS的实现,需要网络中所有相关元素的全面支持,包括应用、终端和网络设备等。在基本的IP协议层面,提供一些字段的定义,用于支持QoS的实现。IPv6同样如此。
IPv6包头格式
IPv6的报头格式如图1所示(图中同时显示了IPv4报头格式,以示对比)。和IPv4相比,IPv6采用更规整的结构,便于使用硬件进行高速处理。IPv6定义了一个固定长度的基本报头,其他的一些选项归类为扩展报头,其中包括每一个网络节点都必须处理的Hop by Hop报头等。
从图中可以看出,IPv6有两个字段与QoS有关,分别为流量类别(Traffic Class,TC)和流标签(Flow Label,FL)字段。流量类别字段有8位,和IPv4的服务类型(ToS)字段功能相同,用于对报文的业务类别进行标识;流标签字段有20位,用于标识属于同一业务流的包。流标签和源、目的地址一起,惟一标识了一个业务流。同一个流中的所有包具有相同的流标签,以便对有同样QoS要求的流进行快速、相同的处理。