新一代IP QoS的实现

发布时间:2003-11-27 作者:常新杰/CHANG Xin-jie 阅读量:

作为Internet实现的基石,IP协议体系自20世纪80年代以来得到了广泛的应用,并已逐渐成为汇聚数据、语音与视频业务的公共网络技术平台。IP技术不仅在面向个人用户的Internet接入中起到了重要作用,在银行、保险、航空、医疗等传统的专用网企业用户向基于IP的虚拟专用网过渡中,IP技术的应用也成为一种必然的趋势。

  由于IP技术自身的一些限制,在宽带接入高速发展的今天,仍有许多问题期待解决。IP网络中数据传输的服务质量(QoS)保证就是其中之一[1]。随着计算机等用户终端设备在性能上的大幅提高以及高层网络协议功能方面的扩展,对于传输网络的要求已在简单的文本、图片传递基础上增加了对音频、视频数据流的支持。由于各种应用数据流具有各自的流量参数特性和不同服务质量要求,现有IP协议中单一的“尽力而为”传递方式已远远不能适应新的需要;另一方面,对于众多网络服务供应商(ISP)而言,单一雷同的服务产品使得竞争日益激烈并大大影响了其利润率,这也迫使他们急于寻找一种有效的手段来提供个性化服务以维持竞争力与利润的最大化。因此,有关IP QoS的研究已成为当前的技术热点,得到了业界的一致支持。

1 IP QoS的定义

  服务质量(QoS)从概念上来说,可以看做是为一项或一类网络业务而定义的一组网络性能参数。IP QoS则是指IP数据包在网络传输中得到的服务质量,常用的性能参数包括网络的可用性、数据包的优先级别、数据包的通过率、传输延时、数据包丢失率等。一般在IP QoS保证的实现中,可以根据具体应用的不同要求将这些参数组合起来构成不同的服务等级。值得一提的是,IP QoS在具体实现中常常被简化为服务等级(CoS)的概念。按照ISP预先定义好的服务等级,数据流被划分为不同的等级进行相应处理。

  理论上说,对应于不同的性能参数的多样组合,IP QoS可以非常精细地划分为许多服务等级。但是,过细的划分将增加网络设备与传输系统在软硬件实现上的复杂性,而过于粗糙的划分又将有损控制的力度,因此如何合理地划分服务等级是一个值得深入研究的课题。目前这一方面的研究正在进行,总体上来看,IP QoS的发展将是一个由粗到精的渐进过程。

2 IP QoS体系结构

  早期的IP QoS通过利用在IP数据包头的8比特空间的业务类型(ToS)域实现,如图1所示。IETF 的RFC 791中定义前3比特为IP优先级,它可以将网络中传输的数据标记为从0到7的8个优先级,网络设备可以依次提供不同等级的服务。后来IETF 的RFC 1349又定义后5比特为ToS字段,一共可定义16个优先级,分别对应不同的处理,如尽快转发或最大吞吐量转发。这些简单的IP QoS功能的主要缺陷在于只定义了路由器对已标记数据包的处理而并没有一个完整的体系结构。尤其是对于ISP而言,由于不同的设备厂商对标准的实现不同,造成网络中不同设备不同处理,导致无法保证端到端QoS控制。

  有鉴于此,IETF先后提出了两套IP QoS的整体解决方案,即基于集成业务模型的IntServ体系结构和基于差分业务模型的DiffServ体系结构。

2.1 IntServ体系结构

  集成业务模型解决方案是一种端到端基于流的IP QoS技术[2],依赖RFC 1633中提出的资源预留协议(RSVP)作为信令机制来在网络的节点上为数据流进行资源预留。信令的过程在数据传输开始之前完成,这样预留的资源就能保证数据流的服务质量是可以达到的。如果没有足够的资源可供预留,这时有两种情况,如果新的数据流具有更高的优先级别,则它可以强行中断低优先级别的数据流以获得资源;如果没有低优先级别的数据流或即使中断低优先级别的数据流也无法提供足够的资源,则数据流的建立请求被拒绝,这样也起到了接入控制的作用。这里的资源主要包括带宽、CPU处理时间以及转发队列。数据流的优先级别由ISP根据应用的特性进行分配,在IntServ中定义的优先级别有3种:最低的优先级别没有任何保证,类似于“尽力而为”服务;高一级的优先级别称为可控制负载,它对数据的传输有一定保证;最高的优先级别称为确保传输,它保证数据的带宽与一定程度的时延。

  IntServ最大的问题来自于RSVP可扩展性差的缺点。RSVP需要为每一数据流进行端到端的信令过程,对于大型网络而言,成千上万个数据流建立信令将占用大量的带宽资源。同时,RSVP的“软状态”特性决定了即使是在信令完成后也还需要大量的定期刷新信息,不仅占用带宽资源,还占用了路由器的CPU处理时间。另外,对于资源预留消息的认证与优先区别也有待完善。

  目前,业界对于IntServ的一致看法是,这一体系结构适用于企业网络的边缘到用户桌面,因为在这里数据流的数目不多而带宽资源相对丰富,可扩展性问题不会有太多的负面影响。微软公司WINDOWS 98/2000操作系统中内带的RSVP协议对IntServ应用起到了推动作用。

2.2 DiffServ体系结构

  相对IntServ而言,差分业务模型提出较晚,可扩展性也较为优越[3]。DiffServ的IP QoS实现更注重于数据流的分类与差分服务,而尽量减少信令过程。首先,在网络边界处根据服务要求与控制策略对业务数据流进行分类与流量整形;在网络内部则根据实施好的QoS机制来对每一类通信区别服务。这有两个优点:一方面DiffServ域中的节点只需遵守单跳行为(PHB)的要求来处理到达本节点的数据包,而无须参与任何信令传递,减少了节点与链路的负担;另外,多个数据流可以按照预定的规则划分为同一类后合并传输,大大简化管理的复杂程度并提高可扩展性。

  数据流进行分类也利用了IPv4数据包头的ToS字段,并重新定义了前面的6比特,在此称为DiffServ编码点(DSCP)。不同的DSCP对应于不同的PHB规则,对数据流的分类即是为数据包设置报文的DSCP域的过程。理论上DSCP可支持多达64种分类,但在实际网络中可根据需要选择支持较少的分类,如8或16个分类。

  基于DSCP实现的简单灵活性,DiffServ不仅适合运营商在其自己的网络中应用,同时也可以方便地在互连互通的网络之间协调QoS保证,从而为提供端到端的IP QoS提供基础。

  DiffServ的高可扩展性使其非常适用于骨干网络,因而得到了大力推广,而IntServ因其自身的限制,应用范围不多。近来,由于IntServ的信令机制可以完成精细的数据流控制,因此如能有效地结合两种技术,将可为终端用户提供完善的服务质量。

3 IP QoS的实现

  DiffServ定义了一种合适的IP QoS体系结构[4],这需要在网络中每一个节点上对DSCP识别与PHB的实现来得以完成。DSCP的识别较为简单,只需在IP数据包头中查找相应的字段。对PHB的实现较为复杂,主要是依靠节点的出口接口上的排队机制。基于数据包头中的目的地址与DSCP码,数据包被分配到指定出口接口上的对应队列中去。根据排队机制的不同可以为数据分配需要的出口带宽与优先级别,以实现多种PHB。另外,在网络的边界节点,还需要对进入的数据流进行整形与分类,并分配相应的DSCP编码。下面对这些功能加以介绍。

3.1 排队机制

  队列是网络设备接口的数据包缓存区,实际上是一段内存空间。数据包从入接口进入,经过路由或交换处理后到达出接口,被放入队列中等待,然后根据排队机制先后发送。主要的排队机制包括以下几种:

  (1)先进先出

  先进先出(FIFO)是最为简单直观的排队机制,先到达的数据包先处理,后到达的后处理。其缺点是无法区别对待不同优先级别的数据包。

  (2)严格的优先排队

  严格的优先排队机制具有从高到低的优先级别,并严格地按照级别的高低作先后处理。这样的机制可以保证高优先级别数据的优先处理,但如果这样的数据包过多,则低优先级的数据包可能会因长时间无法得到处理而造成拥塞。

  (3)公平排队

  公平排队(FQ)机制为从高到低的优先级别分配不同比例的处理能力(即对应接口带宽),按照高低顺序轮流的方式循环处理(即round robin),这样就能保证即使是低优先级的数据包也可以获得一定的带宽。

  (4)带权重的公平排队

  公平排队的问题在于,由于数据包的长度不同,所需的处理时间不同,简单的FQ导致短小的数据包可能会因等待对一个长数据包的处理而空闲很长时间。为此,带权重的公平排队(WFQ)作为FQ的一种改进,在比例的分配中考虑了包长度的权重,减少了短小数据包的不必要等待。

  (5)基于类别的队列

  基于类别的队列(CBQ)是一种两层的队列机制,以实现更为精细的控制。首先,不同服务类别的数据包被放入不同的队列中,这些队列有优先级别的高低。同时,在任意队列内部,也可以有不同的优先级别。队列间的优先级别可以保证不同服务需求的数据得到相应的处理,而对列内的优先级别则可进一步保证同一服务类别中不同的应用得到相应处理。

  (6)结构化的CBQ

  结构化的CBQ将基于类别的队列的两层队列扩展到更多层的队列结构,每一层中可以有子层。这里,一个突出的改进是一个子层在自身分配的带宽不够时,可以向其他的空闲子层借用带宽,从而提高了带宽利用率与接口的吞吐量。这一机制相应的算法相当复杂。

3.2 包丢弃机制

  队列与排队机制是网络设备(路由器,交换机)上的一个重要功能,IP QoS的实现离不开一个好的队列管理与排队机制。队列管理的另一个功能是在队列溢出时的包丢弃机制,属于拥塞控制的范围。最简单的丢弃机制是对尾丢弃,因队列的空间有限,在接口出现拥塞的情况下,数据包会在队列中堆积直至队列溢出(队列的空间被占满)。超过队列空间的数据包被丢弃,新到达的数据包也被丢弃。对于高层协议,如传输控制协议(TCP)而言,这样的数据包丢弃会有引发网络崩溃的危险。因为包丢弃导致TCP的重传,反而带来更多的数据包,进而占用大量的带宽与路由器CPU,导致路由器瘫痪。随机提前检测(RED)为解决这一问题提供了办法。其原理是,当队列充满到一定程度(这可由一个设定的队列长度阈值决定)时,队列开始随机地丢弃一些新到达的数据包以保证队列不会溢出,因为被丢弃的少量数据包会引起TCP减缓数据的发送。这影响到了一些TCP连接的性能,但从整体上维护了网络的稳定性。带权重的随机提前检测(WRED)改进了随机的选择数据包丢弃,增加了有针对性的选择数据包丢弃。

3.3 数据流分类与整形

  由前面的论述可以看出,DiffServ体系结构中IP QoS的实现离不开对数据流的分类。进入DiffServ网络的数据流可以是根据IP源/目的地址、传输层协议类型(TCP或UDP)以及传输层端口号,甚至应用层协议类型来区分不同服务级别[5]。各个服务级别由对应的DSCP编码加以表示。另外,不同的接入网络如以太网、ATM、FR等有自己的服务等级分类,到达的数据流可能已有分类,这时则需要将这些不同的分类手段映射到DiffServ业务类别上去。这些可以由称为分类器(classifier)的功能模块完成。

  为了保证数据流符合相应业务类别所对应的流量参数,流量的整形一般可根据预定的规则利用令牌漏桶(token bucket)算法或其他类似的算法对数据流进行整形。预定的规则可以根据服务级别约定(SLA)中包含的诸如平均流量、峰值流量、突发(burst)幅度等具体化。由这些参数计算出对应的令牌数量控制数据流的传输,这样整形后的数据流就具备预期的流量参数,从而方便服务质量的保证。

4 利用MPLS实现端到端的QoS

  如前所述,DiffServ为端到端的IP QoS打下了基础[6]。但DiffServ结构主要注重于网络边界的业务分类与网络内部每一节点上PHB的实现,还缺乏一种全局的信令机制以综合节点之间的信息传递与控制。作为下一代Internet宽带骨干网络的核心技术,多协议标签交换(MPLS)以及其实施流量工程的能力与DiffServ体系结构的结合为保证端到端的的IP QoS提供了有效手段。

  多协议标记交换技术是一种结合了第2层的高速交换能力和第3层的灵活特性,利用标签(label)引导数据包在开放的通信网络上高速、高效传输的新技术。建立与标签的概念以及节点之间标签分配协议的信令机制基础上的MPLS流量工程为IP QoS实现提供了多种有效工具。由于有关MPLS协议的介绍文献较多,所以本文只探讨MPLS流量工程(MPLS-TE)与DiffServ体系结构的结合问题。

  MPLS与DiffServ对数据包的处理过程相当类似。数据包在网络边缘被加以标记,在网络内部则根据包头中的标记进行相应处理。不同的是,DiffServ的标记是直接修改IP报头中的ToS相关字段,而在MPLS中则是通过在第2层与第3层报头之间插入标签实现的。值得一提的是,在标签中也有与ToS类似的字段,称为MPLS CoS域。如果能在MPLS CoS域与DSCP之间形成映射关系,则MPLS与DiffServ的结合将可以直接方便地完成。
MPLS的流量工程在标签概念的基础上,改进了IP路由中的最短路径优先(SPF)算发,采用了带限定条件的SPF。在路由的选择过程中,不仅考虑了路径最短,同时还考虑了网络资源的合理分配利用而得到最优路径(LSP)[7]。MPLS的流量工程还支持信令过程中的显式路由能力,即可由源节点指定数据流所期望经过的节点或整条路径,为网络运营商提供了强大的资源规划工具。MPLS-TE 与DiffServ的结合形成了所谓的DiffServ-Aware TE的解决方案。 一方面,在MPLS网络的边缘,利用DiffServ分类器对业务数据流进行归类,不同的业务类别对应于不同服务级别,而不同级别的数据流则通过不同的MPLS-TE LSP来进行传输。网络运营商可以根据网络中资源的实时利用情况实现LSP与资源的合理分配,保证LSP可以得到所需的资源而网络负载均衡分布,这样就从网络规划的层面上提供了端到端的的IP QoS能力。另一方面,在每一LSP内部,可以利用MPLS CoS域与DSCP之间的映射关系进一步实现业务的服务级别细分,并在途径的网络节点上形成期望的PHB。这一解决方案充分利用了DiffServ 的灵活性与可扩展性以及MPLS-TE的显式路由与资源调配能力,有效地作到了网络资源按用户的需求得到最优的利用,是解决骨干网IP QoS的有效技术。目前,有关这一方案的研究已得到了网络运营商的大力支持,相关的技术草案也进入了标准制定的过程,有望在近期内得到应用。

5 结束语

  IP QoS 技术的发展经历了一个漫长的过程,目前相关的研究工作在多个不同层次展开得如火如荼。作为当前IP QoS研究中最为突出的解决方案,MPLS与DiffServ技术体系得到了包括设备制造厂商、网络运营商、服务供应商以及科研机构与标准化组织等多方面的关注。这两种技术体系的有效结合更是获得了业界的广泛接受,成为最有希望在下一代Internet骨干网上实现端到端的IP QoS的重要手段。有理由相信,随着研究的进展与技术标准的出台,这一技术将会得到迅速的推广应用,同时,在扩展和完善基本服务的服务质量保证基础上,各种新兴的增值业务也必将得到大规模发展。

6 参考文献

  [1] Aurrecoechea C. A Survey of QoS Architecture [R]. New York: Columbia University, 1997.

  [2] IETF RFC 1633. Integrated Services in the Internet Architecture: an Overview [S].

  [3] IETF RFC 2475. An Architecture for Differentiated Services [S].

  [4] Bernett Y. A Framework for End-to-End Qos Combining RSVP/IntServ and DiffServ [EB/OL]. http://www.ietf.org/proceedings/98dec/I-D/draft-bernet-intdiff-00.txt.

  [5] Zhang L. A Two-bit Differentiated Services Architecture for the Internet [EB/OL]. http://www.netsys.com/ietf/1997/4765.html.

  [6] Nortel Networks White Paper. IP QoS?a Bold New Network:an IP Quality of Service Backgrounder for Service Provider [Z]. 1998.

  [7] IETF RFC 3209. RSVP-TE: Extensions to RSVP for LSP Tunnels [S].

  

[摘要] 文章介绍了新一代IP骨干网上的IP QoS实现技术,论述了集成业务(IntServ)与差分业务(DiffServ)解决方案的特点,详细介绍了相关的队列管理与排队机制,并结合多协议标签交换(MPLS)技术的最新发展,阐述了综合多协议标签交换流量工程与DiffServ技术体系端到端IP QoS的实现。

[关键词] IP服务质量;集成业务;差分业务;多协议标签交换;流量工程;队列管理;排队机制

[Abstract] This paper gives an overview of the IP QoS technologies for new generation IP backbone networks. Two different IP Qos architectures?IntServ and DiffServ are discussed with regard to queue scheduling and queue dropping mechanisms. Based on the latest development of MPLS technology, the MPLS DiffServ-Aware Traffic Engineering solution scheme for end-to-end IP QoS is also presented.

[Keywords] IP QoS; IntServ; DiffServ; MPLS; traffic engineering; queue scheduling; queue dropping mechanism