摘 要:介绍IP网络的服务分类功能及其发展过程,对几种在服务分类发展过程中出现的技术作了简要的分析、比较。
关键词:CoSRSVPIntServDiffServ
在IP网络发展初期,Internet应用(如E-mail、远程登录和Web访问)并没有特别的性能要求,单个尽力而为(Best-Effort)服务类就能支持所有Internet应用。但Internet巨大的商业成功已经改变了这一切。这些改变主要体现在以下几个方面:
(1)带宽日益成为网络瓶颈。
(2)对网络适用性和可靠性的要求越来越高。
(3)为在竞争中脱颖而出,服务提供者为适应不同的用户群,必须提供多种服务类型。
(4)服务提供者甚至可能被要求提供类似Voice over IP、虚拟专用网(VPN)等有着更严格性能要求的服务,这些服务是传统Internet所无法提供的。
基于上述变化,服务提供者必须在同一个IP基础设施上提供多种服务,这些服务有着不同的性能要求。另外,随着数据网络应用的普及,把传统的、分别由三个不同网络提供的服务(语音通信、视频传输和数据传输)综合到单一IP基础设施上的要求日益迫切。这种在单一IP基础设施上提供多种服务的数据网络就称为多服务网络,或者统一网络。服务提供者将网络综合成统一网络后,由于其提供的广泛服务可以吸引并保留更多新的用户,而且由于统一网络有效地减少了需要管理的网络设备,将运行成本降到最低,可以为用户提供优质、廉价的服务,因而能争取到更多的用户。由于数据网络采用分组交换技术,因此比传统的语音通信网络、视频传输网络具有更高的带宽利用率。
目前有二种用于实现统一网络的方法,其实现机制有根本区别。一种方法是成倍增加网络带宽,通过大幅度提高网络带宽来满足统一网络的性能要求;另一种方法是通过在IP核心网络中增加基于带宽管理的服务分类(CoS)功能来满足统一网络的性能要求。
对于第一种方法,主要的反对意见如下:
(1)成本和信息流管理复杂性的增加有可能抵消增加带宽所带来的效益。
(2)在大型的IP网络中,对多种服务类型进行监测、认证、计费都是十分困难的。
而且在现有的网络基础设施中,已经存在具有服务分类(CoS)功能的网络基础设施,如ATM网络,并且已经用这些网络基础设施支持具有严格性能要求的服务。
第二种方法的主要优势是:
(1)网络管理能够最大程度地优化带宽利用率,使网络能够为用户提供最大的传输容量。
(2)当出现新的应用时,服务提供者可能要采用新的网络设备,这些新增的网络设备可能使网络的局部带宽得到增加。但这些事件很少以协调一致的方式发生,极有可能造成网络带宽不匹配问题。带宽管理允许服务提供者控制带宽,处理由于带宽不匹配对网络造成的危害。
(3)带宽管理通过在同一网络基础设施上为用户提供多种服务而使网络增值。通过带宽管理实现的统一网络可以降低操作成本,用单一的接入设备为用户提供多种接入服务,如Internet接入、VPN接入、语音通信及视频会议。
1 服务分类(CoS)的必要性
路由器是分组交换设备,实现统计复用。而Internet协议(IP)是数据报协议,对每一个报文独立地选择传输路径(路由),没有连接的概念。传统IP只提供单一的尽力而为服务类型。在这种服务方式下,所有经过网络传输的报文具有相同优先级,尽力而为意味着IP网络会尽一切可能将数据报正确、完整地送达目的地。但是,它不能保证数据报在传输过程中不发生丢弃、损坏、重复、失序及错送现象,另外,也不对数据报传输质量相关的传输特性,如传输时延、时延抖动、吞吐率等作出任何承诺。
如果网络只通过尽力而为服务来满足客户,不对丢弃的报文进行任何裁决,网络操作势必会发生问题。解决这一问题的方法就是使用智能的运输层协议,尽力而为服务之所以能够在全球IP网络中良好操作,惟一的理由是TCP协议能够在网络发生拥挤时,监测报文丢弃情况的发生,并通过降低传输速率对报文丢弃情况作出响应。正是因为TCP的作用,才使得路由器中尽力而为服务队列成为具有良好行为的队列。
尽力而为服务并不是一个贬义词,相反,正是这种支持单一尽力而为服务的能力,使得大型IP网络和Internet成为当今无可替代的技术,也成为在全球范围支持紧要事务应用的惟一传输平台。当然,IP网络这种只支持单一尽力而为服务的能力,也给它带来一些问题,并对它进一步的商业成功产生负面影响。许多服务提供者已经迫切感觉到为了进一步支持新开发的应用,有必要提供多种服务类型,使得每种服务类型能够保证特定的性能要求。
为特定应用和用户提供不同的服务,自然涉及到对属于不同应用的报文进行区别对待的问题,多种服务归根到底是对特定信息流提供统一管理下的不公平服务。
服务分类通过控制特定数据流的一些关键属性,让用户感觉到网络对该数据流提供的服务质量(QoS)发生了变化,这些关键属性包括:(1)单位时间内传输的数据量(吞吐率);(2)将数据从网络中的某个节点传输到另一个节点所花费的时间(时延);(3)属于同一数据流的报文,相同二个节点之间的传输时延的变化范围(时延抖动);(4)不能正确到达目的地的报文比例(丢失率)。
值得注意的是:指定服务类的服务质量取决于端到端传输路径上性能最差的链路所能提供的服务质量。
要给用户或应用提供多种服务类型,则对统计复用技术将有更多的依赖,这主要因为特定数据流从源节点传输到目的节点需要经过多个路由器,网络对特定数据流提供的服务质量取决于传输路径上每一跳路由器执行统计复用的方式及传输路径上每一条物理链路的特性。如果对属于特定数据流的报文采用和其他数据流不同的统计复用操作方式,则网络中的路由器就能够对特定数据流提供有别于其他数据流的吞吐率、时延、时延抖动和报文丢失率。
需要指出的是,通过为高优先级服务预留带宽或是降低过载系数来支持服务分类,将会导致带宽利用率的降低。单就网络带宽利用率而言,单一的、通过统计复用实现的尽力而为服务对网络带宽的利用率是最高的,而服务分类在网络带宽利用率方面所受的损失,与由于服务分类能够支持语音传输、视频会议、紧要事务应用等新开发的应用所导致的网络服务增值比较,该损失则显得微不足道了。
2 服务分类发展过程
在IP结构上提供多种服务的努力已经有20多年,本文将简要地回顾几种在大型IP网络中提供服务分类的方法。
(1)IP首部中的服务类型字段(TOS)
1981年9月,RFC191对互连网协议(IP)进行了标准化,并将IP首部的第2个字节作为服务类型字段(TOS),服务类型字段中各位的定义如图1所示。
TOS字段的前三位是优先级位,节点通过设置该三位值来选择报文的优先级。D位用于选择正常时延和低时延,T位用于选择正常吞吐率和高吞吐率,R位用于选择正常可靠性和高可靠性,TOS字段的最后二位保留,为以后扩展用。虽然RFC791中对TOS字段各位作了定义,但很少有路由器或其他转发设备支持TOS字段定义的这些功能。
直到20世纪90年代中期才开始用优先级位选择报文丢弃,这种用优先级位选择报文丢弃的方法称作选择性报文丢弃(SPD)。通过设置优先级位,SPD将控制报文(如链路级存活消息、路由协议存活消息、路由更新消息)的丢弃可能性设置成较低,在网络发生拥挤的情况下,使得关键的控制报文成为最后被丢弃的报文,以此增强网络在拥挤过程中的稳定性。事实上,D、T、R位定义的功能从未实现过。
(2)综合服务模型(IntServ)
在1993年前后,IETF的综合工作组开始开发在IP网络中支持多种服务的机制,它的目标是在IP网络中同时支持实时服务和传统的尽力而为服务。这个工作组最终开发出综合服务结构,它是基于一种为每个信息流预留资源的结构。
综合服务结构定义了一个参考模型,在该参考模型中指定了若干不同的构件及这些构件之间的相互作用。
①资源预留协议(RSVP)允许单个应用向路由器请求资源,并沿着报文传输路径,为每一个单独的数据流设置状态。
②定义了二种新的服务模型——保证服务和控制负载服务,保证服务通过严格的许可控制、带宽分配和公平队列服务,为有着严格的传输时延和带宽要求的应用提供所要求的服务。控制负载服务并不能保证传输时延和带宽的范围,但能提供类似轻负载下尽力而为网络所能提供的报务。
③提供用于描述流说明的语法,允许应用程序通过流说明指定特定的资源要求。
④报文分类通过检测输入报文确定适用于每一个报文的服务类型。
⑤许可控制基于本地和网络的可用资源,确定能否支持所请求的资源预留。
⑥管制和整形进程负责监测每个信息流,强迫这些信息流符合其信息流描述。
⑦报文调度进程将网络资源(缓冲器和带宽)分配给不同的信息流。
当人们更多了解综合服务结构后,发现综合服务并不是一种在大型IP网络中支持服务分类的合适机制,这主要因为:
①由于综合服务需要在端到端传输路径上的每一个节点为每一个信息流建立并维持状态,因此,它的可扩展性较差。如果缺乏状态合并功能,则每一个节点上需要维持的状态数量将随着通过该节点并需同时预留资源的信息流数量的增加而线性增加。而通过某条高速主干链路的信息流数量可以从数以万计到数以百万计。
②综合服务要求运行在终端系统上的应用支持RSVP信令协议,但很少有操作系统提供应用程序开发者能够访问的RSVP API。
③综合服务要求端到端传输路径上的所有节点支持综合服务模型。这种支持要求节点具有将综合服务类型映射到链路层技术的能力。
(3)增强的综合服务模型
RSVP主要的扩展性限制是不能将多个单独预留资源的会话合并成一个共同的服务类型。2001年9月,RFC 3175(具有合并功能的用于IPV4和IPV6预留资源的RSVP)定义了允许将多个跨越大型IP网络的资源预留合并成单个资源预留的过程,它提供了动态建立合并后的资源预留状态、标识合并后资源预留所作用的特定信息流类型、确定满足资源预留要求的带宽比例的机制。
RFC 3175通过增加下述功能,增强了RSVP用于大型IP网络中的可扩展性:
①通过将多个单独的资源预留合并成一个大型的资源预留,减少了需要交换的信令消息数和需要维持的资源预留状态。
②通过用差分服务码点(DSCP)来标识合并后的信息流,而不是使用传统的RSVP流分类机制,在核心路由器中加速报文分类处理。
③通过将合并后的信息流放入相同的输出端口队列来简化队列管理和调度。
RSVP的主要功能是支持基于每一个信息流的许可控制,这对于支持交互式语音服务是一种非常有用的手段。假定用户已经建立了支持1 000个语音呼叫的合并后的资源预留,只要同时通信的语音呼叫少于1 000个,新的语音呼叫就能够通过许可控制的检测,并能够给新建立的语音呼叫分配适当的带宽以满足通信用户的性能要求,但第1 001个呼叫请求将被许可控制拒绝。只有这样,才能保证已经建立的1 000个语音呼叫的服务质量。
(4)差分服务(DiffServ)模型
在1995年前后,服务提供者和各种研究机构开始提出新的支持多种服务的机制,而且这种机制的前提条件是具有良好的可扩展性。如前所述,综合服务模型的失败主要在于它需要在报文传输路径上的每一个节点中维持大量的基于每一个信息流的状态,而且为每一个信息流建立资源预留状态需要传输RSVP信令消息。因此,作为一种新提出的方法,必须能够解决可扩展性问题。图2给出尽力而为服务、综合服务模型、差分服务模型在成本、复杂性方面的相互关系。
IETF在1997年成立了差分服务工作组,并在1998年3月召开了第一次工作组会议。这个工作组的目的在于创建一种相对简单、更便于分类的方法为Internet信息流提供差分服务,以支持多种类型的应用及商业模式。
IETF差分服务工作组将IPV4首部中TOS字段改名为差分服务字段(DS),并且重新为DS字段中的二进制位定义了意义,如图3。这种用于DS字段的新规范,不仅适用于IPV4首部中的TOS字段,也适用于IPV6首部中的信息流类型字段。这样,可以用同一种机制来支持IPV4和IPV6信息流的差分服务。
差分服务工作组将DS字段分成二个子字段:
①高6位作为差分服务码点(DSCP),差分服务域中的每一跳路由器通过DSCP选择每一跳行为(PHB),每一跳行为(PHB)是作用于属于相同服务类型的所有报文的一种转发处理,通过DSCP确定的服务类型也叫行为聚集(BA)。
②低二位目前没有定义,用作以后扩充,在试验中有时也用于显示拥挤通知(ECN)。这二位CU在每一跳路由器确定作用于某个报文的每一跳行为(PHB)时不起任何作用。
完整的差分服务结构由RFC2475定义,它基于一种相对简单的模型:进入网络的信息流首先在网络边缘被分类,然后视不同情况,在网络边缘对信息流进行控制或让信息流直接进入网络。基于报文分类结果,每一个报文和差分服务域支持的某个行为聚集(BA)相关联。通过对报文DS字段中的DSCP位设置特定的值来标识每个报文所属的BA。一旦报文进入网络核心,报文传输路径上的每一跳路由器,基于报文所携带的DSCP值对报文施加适当的每一跳行为(PHB)。正是通过在网络边缘控制信息流(管制和整形)、标记报文以及在网络核心对报文施加适当的PHB,才使得差分服务模型能够在公共IP基础设施上支持可扩展的多种类型服务。
差分服务域是由一系列提供相同服务策略和具有相同PHB组定义的路由器邻接而成,它由单个管理机构负责管理,并由该管理机构提供对由该域提供的服务等级规范(SLS)和信息流控制规范(TCS)所需要的网络资源的支持。
一个DS域由DS边缘节点和DS内部节点构成。DS边缘节点位于DS域的边缘,它的作用是作为不同方向信息流的输入或输出节点,当作为输入节点时,它负责分类标记,甚至可能控制(通过管制和整形)输入信息流。DS边缘节点基于报文首部多个字段内容对每一个报文分类,并通过设置报文DS字段的DSCP位来指明报文所属的PHB组。当作为输出节点时,在将信息流转发给与其直接相连的另一个域时,可能要求执行信息流控制功能。DS内部节点基于报文携带的DSCP值选择作用于报文的转发行为,它根据报文携带的DSCP值,将报文映射到DS域支持的一个PHB组,DS内部节点只能连接属于同一个DS域的另一个内部节点或者边缘节点。
每一跳行为(PHB)是作用于特定行为聚集的转发操作的描述,也是DS节点将资源分配给不同行为聚集的一种手段。差分服务结构通过这种逐跳分配资源机制,支持可扩展的服务分类。
PHB用与服务提供者的服务提供策略相关的行为特性进行定义,一个特定的PHB可以用如下行为特性进行定义:
①分配给PHB的资源数量(缓冲器大小和链路带宽);
②与其他PHB相比较的相对优先级;
③信息流特性(传输时延、时延抖动和丢失率)。
PHB不能通过实现机制进行定义,因此,一个特定的PHB组可以采用多种不同的实现机制。目前,IETF差分服务工作组定义了二种类型的PHB:加速转发PHB(EF PHB)和保证转发PHB。
在未来可能有新的DSCP值被服务提供者用于自己的网络,或由新的标准实体提出。
根据IETF差分服务工作组的定义,加速转发PHB被设计用于提供“低丢失率、低时延、小时延抖动、带宽保证的端到端服务”。事实上,加速转发PHB通过仿真虚拟专用线路来支持高可靠性的语音和视频通信,加速转发PHB的DSCP推荐值为101110。
既然网络中可以控制的时延成份只有排队时延,因此可以通过最大程度地减少排队时延来控制传输时延和传输时延抖动。EF PHB的目的是将标记属于EF PHB组的报文送入短队列或空队列,以此保持最小的排队时延,只要属于EF PHB组的信息流到达速率低于节点EF PHB报文的服务速率,就可达到最小排队时延的性能要求,实现EF PHB报文性能要求与非EF报文负载无关。
保证转发PHB是一组为用于在合并后的信息流不超出约定速率的前提下,保证属于特定信息流的报文能够安全送达的PHB,但如果合并后的信息流速率超出了约定速率,超出部份的报文就不能保证服务性能。