0 前言
多业务运营、综合信息服务提供已经成为新时代运营商发展的新方向。提出这样的策略主要有以下原因。
a) 从运营商角度看,因为传统业务的用户新增量和每用户收入的持续下降导致收入增长乏力,现有的商业模式下,数据业务收入的增长率远低于网络带宽的增加率,使得运营商开始考虑脱离类似批发性质的管道提供商角色,努力向产业的上游延伸,挖掘基于宽带的业务收益。
b) 从用户的角度看,单纯的语音通信、被动的电视观看、雷同的网站浏览已经无法满足日益提高的用户需求,互动化、多媒体化的新业务(如彩铃、流媒体、互动电视、视频通信)已经是一种趋势。
IP网可以提供给用户的业务种类非常多。在承载业务时,由于各种业务的业务特性的不同,对带宽、时延、抖动等网络条件的要求也就大相径庭。当前的IP城域网基本上是为网页浏览、E-mail、FTP等传统非实时业务设计的,主要提供Best Effort服务;在未来包括话音、视讯等多种电信业务都将在IP网上承载,IP网络将成为未来通信的基础。可以说IP网QoS问题的解决是差异化多业务承载的关键,因此如何能有效地调配网络资源,更好地满足用户的多样化需求,向用户提供具有质量保证的、细分等级的差异化应用和服务,将成为运营商关注的重点。
1 技术分析
为了在IP网上提供QoS,IETF提出了许多服务模型和协议,其中比较典型的有IntServ模型和DiffServ模型。
IntServ模型要求网络中的所有节点(包括核心节点)都记录每个经过的应用流的资源预留状态,需要通过IP包头识别出所有的用户应用流(进行MF分类),同时为每个经过的应用流设置单独的内部队列以分别进行监管、调度、整形等操作。对于现在大型运营网络中的节点,这种应用流(活动的)的数量非常庞大,会远远超出节点设备所能够处理的能力。因此IntServ模型不适用于运营商网络。
DiffServ模型的基本原理是将网络中的流量分成多个类,每个类接受不同的处理,尤其是网络出现拥塞时不同的类会享受不同的优先处理,从而得到不同的丢弃率、时延以及时延抖动。在DiffServ的体系结构下,IETF已经定义了EF、AF1-AF4、BE等6种标准PHB及业务。
目前运营商IP网QoS的部署主要基于Diffserv模型,IP城域网基于Diffserv模型完善的QoS策略,主要基于以下几个方面。
1.1 网络层次架构优化
在IP城域网实施QoS机制之前首先要保证网络层次的清晰化、扁平化。层次清晰有利于业务控制点QoS策略的集中统一部署,扁平化有利于减少网络跳数,以减少网络时延、抖动、丢包等。
1.2 用户/业务分类、标识
分类是通过数据包的某些字段(常用的有VLAN、IP地址、MAC地址、端口号、协议类型等)来标识不同的用户/业务流量,并打上相应的QoS等级标记。目前IP协议中,实现服务等级标记的标准有RFC1349(TOS)、RFC1122(IP Precedence)、RFC2474(DSCP,ToS域的前6位),它们使用IP报文格式中同一字段。RFC2474与RFC1122向下兼容。
1.3 队列调度和拥塞避免
拥塞管理是指网络在发生拥塞时,如何进行有效管理和控制。处理的方法是使用队列技术。常用的队列有先进先出队列(FIFO)、优先队列(PQ)、定制队列(CQ)、实时传输优先队列(RTP)、基于类的加权公平队列(CBWFQ)等。
拥塞管理的处理包括队列的创建、报文的分类、将报文送入不同的队列、队列调度等。接口没有发生拥塞时,报文到达接口后立即就被发送出去;报文到达的速度超过接口发送报文的速度时,接口就发生了拥塞。拥塞管理就会将这些报文进行分类,送入不同的队列;而队列调度对不同优先级的报文进行分别处理,优先级高的报文会得到优先处理。根据入队和出队策略的不同,拥塞管理分为以下几种。
a) 先进先出队列(FIFO)不对报文进行分类,当报文进入接口的速度大于接口能发送的速度时,FIFO按报文到达接口的先后顺序让报文进入队列,同时,FIFO在队列的出口让报文按进队的顺序出队。
b) 优先队列(PQ)对报文进行分类,对于IP网络,可以根据IP报文的优先级/DSCP,五元组等条件进行分类,对于MPLS网络,则根据MPLS报文EXP域值进行分类。最终将所有报文分成4个FIFO队列。在报文出队的时候,分类时属于较高优先级队列的报文将会得到优先发送,而较低优先级的报文将会在发生拥塞时被较高优先级的报文抢先。
c) 定制队列(CQ)对报文进行分类,最终将所有报文分成最多17类,分别属于CQ的17个队列中的一个,然后,按报文的类别将报文送入相应的队列。CQ的17个队列中,0号队列是优先队列,路由器总是先把0号队列中的报文发送完,然后才处理1~16号队列中的报文,所以0号队列一般作为系统队列,把实时性要求高的交互式协议和链路层协议报文放到0号队列。1~16号队列可以按用户的定义分配它们能占用接口带宽的比例,相当于16个FIFO队列,可以定义每个队列一次连续可以发送的最大的包的数量,因此可以避免采用PQ高优先级的包发生拥塞时低优先级的队列饿死的情况。
d) 加权公平队列(WFQ)对报文按流进行分类,采用HASH算法,尽量将不同的流分入不同的队列,用户无法配置,分流标准是源和目的地址、端口号、协议号、Tos值。在保证公平(带宽、延迟)的基础上体现权值依赖于IP报文头中携带的IP优先级,某接口上每个优先级都有且只有一个流,则设总带宽为每个优先级+1之和,即1+2+3+4+5+6+7+8=36,那么每个流占有的带宽为(优先级+1)/总带宽。
e) 基于类的加权公平队列(CBWFQ)首先根据IP优先级或者DSCP、输入接口、IP报文的五元组等规则来对报文进行分类。对于MPLS网络的LSR,主要是根据EXP域值进行分类。然后让不同类别的报文进入不同的队列。对于不匹配任何类别的报文,报文被送入系统定义的缺省类,用户可配置队列占用的带宽。
CBWFQ有一个低时延队列——LLQ,用来支撑EF类业务,进入LLQ的报文在接口没有发生拥塞时(此时所有队列中都没有报文),所有属于LLQ的报文都可以被发送。在接口发生拥塞时(队列中有报文),进入LLQ的报文被限速,超出规定流量的报文将被丢弃。
f) 拥塞发生前通过监测并降低流速以防止网络拥塞。WRED(Weighted Random Early Detection)丢弃选定的报文,并警告TCP发送方降低发送速率。不同服务类别有不同加权值,其结果是低优先级的流速度降低的幅度大于高优先级的流。
1.4 流量策略、整形
流量监管的典型作用是限制进入某一网络的某一连接的流量与突发。在报文满足一定的条件时,如某个连接的报文流量过大,流量监管就可以对该报文采取不同的处理动作,例如丢弃报文,或重新设置报文的优先级等。通常的用法是使用CAR来限制某类报文的流量,例如可以限制HTTP报文不能占用超过50%的网络带宽。流量整形通常使用缓冲区和令牌桶(TB)来完成,当报文的发送速度过快时,首先在缓冲区进行缓存,在TB的控制下,再均匀地发送这些被缓冲的报文。
1.4.1 约定访问速率(CAR)
CAR利用TB进行流量控制。CAR根据预先设置的匹配规则来对报文进行分类,如果是需要进行流量控制的报文,则会进入TB中进行处理。如果TB中有足够的令牌可以用来发送报文,则允许报文通过,报文可以被继续发送下去。如果TB中的令牌不满足报文的发送条件,可以配置不同的处理,例如对超过流量门限的包可以丢弃或降低其发送级别。
CAR的策略还可以进行串联处理。例如,可以对所有的报文限制一个总的流量,然后在总的流量中,再限制部分报文的流量符合某个流量特性。
1.4.2 通用流量整形(GTS)
GTS可以对不规则或不符合预定流量特性的流量进行整形,以利于网络上下游之间的带宽匹配。
GTS与CAR一样,均采用了TB技术来控制流量。GTS与CAR的主要区别在于:利用CAR进行报文流量控制时,对不符合流量特性的报文进行丢弃;而GTS对超出流量约定的报文进行缓冲,并在合适的时候将缓冲的报文发送出去,从而起到流量整形的目的。
1.4.3 物理接口总速率限制(LR)
LR可以在一个物理接口上,限制接口发送报文(包括紧急报文)的总速率。LR的处理过程仍然采用TB进行流量控制。如果用户在路由器的某个接口上配置了LR,规定了流量特性,则所有经由该接口发送的报文首先要经过LR的TB进行处理。如果TB中有足够的令牌可以用来发送报文,则报文可以发送。如果TB中的令牌不满足报文的发送条件,则报文入QoS队列进行拥塞管理。这样,通过限制报文的流量只能是小于等于令牌生成的速度,就可以对通过该物理接口的报文流量进行控制,同时允许突发流量通过。
LR相比较于CAR,能限制在物理接口上通过的所有报文。CAR由于在IP层实现,对不经过IP层处理的报文不起作用。较之于GTS,LR 能对超过流量限制的报文进行缓存,且利用QoS丰富的队列来缓存报文;而GTS则是将报文缓存在GTS队列中。
1.5 小结
要实现城域网的QoS,必须要结合以上多种技术,根据业务要求选择队列技术和拥塞避免技术。
2 主流厂家设备QoS实现方式
目前主要厂家的交换机设备主要还是实现基于简单的优先级进行队列调度的QoS的方案,如类似CQ的实现方案等,不做重点介绍。
路由器和BAS则往往可以实现基于复杂策略的QoS功能,一般将QoS的处理分为业务接入侧QoS策略、网络核心侧QoS策略。业务接入侧很多厂家具备层次化队列调度技术;网络核心侧QoS处理则主要是根据数据包头EXP或DSCP标识执行相应的PHB。
2.1 路由器
很多厂家路由器业务接入侧QoS策略具备层次化队列调度技术,能够控制多个用户和多个业务的总带宽,并在多个用户、多个业务、多个服务等级应用间公平分配带宽,实现业务接入侧SLA保证(见图1)。
.gif)
通过层次化调度,在用户SLA总带宽下调度该用户的不同等级流量的保证带宽(CIR)和突发带宽(PIR),在所有等级应用均有流量时,首先满足各等级应用的CIR,SLA下的剩余带宽按策略在各等级应用的PIR范围内再进行分配;如果其他应用没有流量,用户的每个等级的应用都能突发到自己的PIR。如图1中VoIP和VOD没有流量时,Internet业务能够突发到20 Mbit/s,而一旦VoIP和VOD有流量,将首先将带宽分配给它们,满足它们的CIR,剩下的带宽才会分给Internet业务。有了这样的层次化调度,每个用户都能有SLA保证,自己业务的流量不会影响其他用户,同时自己内部各等级流量间带宽分配更合理,低等级流量为高等级流量的带宽让路,还能够最充分地使用SLA下的总带宽。
在业务接入侧进行了流量整形并将数据包的优先级属性标识在包头的EXP位或DSCP位后,网络核心侧QoS处理主要是根据数据包头EXP或DSCP标识执行相应的PHB、队列机制(如WFQ)等,并通过WRED进行拥塞处理。
目前ALCATLE 7750 SR系列、华为NE80E系列路由器均能实现以上功能。CISCO、JUNIPER的路由器在业务接入侧的实现功能上略有区别。每个厂家实现的技术细节不尽相同。
2.2 宽带接入服务器(BAS)
宽带接入服务器目前的主要功能为终结PPPOE,因此其业务接入侧的层次化QoS设计很大程度上也基于此进行设计。
层次化QoS的核心指导思想是QoS处理能真实体现网络拓扑结构和业务转发路径,DSL论坛的TR-059协议根据典型的宽带接入网应用场景(以ATM DSLAM为例),定义了层次化QoS的基本模型(见图2)。

在这个应用场景中,TR-059描述的层次化QoS处理的主要过程如下。
a) BRAS感知流量类型,并且根据流分类结果把流量分别入不同的session队列,同时根据配置或策略对不同的流分别进行流量监管和限制。
b) 物理端口调度器根据端口速率从下属调度器(VP调度器)“pull”报文,调度算法可以是WFQ,WFQ的权重可以根据各个VP的速率来决定。
c) 这样每个VP调度器将得到调度,同时每个VP调度器根据VP速率从下属调度器(VC组调度器)“pull”报文,调度算法也可以是WFQ,WFQ的权重可以根据各个VC组的速率来决定。
按照这个方法,VC调度器、session调度器将依次得到调度,一旦session调度器得到调度,它将从对应session队列中“pull”一个报文,并让报文从BRAS/路由器的物理端口发送出去。如果在LAN接入的环境下,则通常可以分为session、用户、VLAN、VLAN Group、子接口5个层次。
调度算法可以采用PQ算法,这样可以保证高优先级报文得到最快的转发。理想情况下,在每个层次需要能够灵活支持PQ、CBWFQ等调度算法。为了避免拥塞时直接采用尾丢弃而导致出现TCP全局同步,在入队列前,需要根据队列的拥塞情况进行RED和WRED处理,以提高链路的传输效率。
网络核心侧的处理方式跟路由器类似。
目前主流的JUNIPER ERX系列、REDBACK SE800、华为5200G BAS均支持类似的层次化QoS,不过各个厂家在队列层次、每个层次的调度算法上会有所区别。
3 典型IP城域网QoS实现方案
3.1 IP城域网QoS实现目标
QoS通常由时延、抖动、丢包率这3个基本指标确定。实践表明,当带宽参数保证后,具体的时延、抖动、丢包率参数就能够保证在大致的范围中。在网络性能上,结合运营商骨干网及综合IPTV视频类业务、软交换语音类业务、企业大客户互联业务及互联网接入业务的各种需求,实现QoS后典型的城域网综合性能要求见表1。

IP城域网可以结合骨干网及业务发展的需求,定义QoS等级,典型的IP城域网等级定义如图3所示。

3.2 IP城域网QoS实现方案
3.2.1 QoS整体策略
根据城域网技术、业务的发展以及运营商管理的需求,典型的城域网网络架构如图4所示。

以SR(SERVICE ROUTER)、BRAS为边界,IP城域网分为二层网络和三层网络层面。
IP城域网三层网络以基于DiffServ 为主的QoS 技术(业务分类、标记、流量控制、队列调度等机制)提供突发拥塞时QoS 保证。IP 城域网业务接入控制点(即图4中的SR、BRAS设备)根据物理端口、逻辑子端口或CoS 位完成对接入用户的分类和三层QoS 标记(DSCP或EXP),并实现用户上行流量的限速和用户下行流量的限速、整形。BRAS、SR 和核心路由器可以提供一个严格优先队列和若干轮循队列。由于严格优先队列的绝对优先机制,为了避免其他队列的严重滞后,严格优先队列带宽设置为10%,主要保证IPTV、NGN语音流量,在有这类数据包通过的时候严格保证这部分数据包的优先权,在没有这类数据包通过的时候其他流可以共享这部分带宽。队列调度机制再配合WRED 丢弃机制,实现基于QoS 等级的IP 包转发。
IP城域网二层网络以基于802.1P 为主的QoS 技术提供突发拥塞时的QoS 保证。由DSLAM 与片区或园区交换机根据VLAN 完成不同用户或业务的CoS 分类和标记。由DSLAM 和片区或园区交换机实现xDSL 和LAN 接入用户上行流量的限速。为提高连接的稳定性,在DSLAM 上设置DSLAM 到MODEM 的握手速率上限。MSTP对业务的速率限制和带宽保证通过划分不同的VC 实现。宽带接入网接入点(如DSLAM、园区交换机等)及以上设备可提供一个严格优先队列和一个以上轮循队列,实现基于QoS 等级的包转发。
3.2.2 IP城域网三层网络的QoS部署策略
1) 分类标记
对于直接接入SR设备的大客户,由于没有接入设备对其进行标记分类,需要在用户的接入端口对其进行DSCP标记。另外,对于下游不支持标记的接入设备透传上来的用户流量,由于无法直接根据端口进行调度,可以利用SR进行基于VLAN子接口的DSCP标记,对用户流量进行分类。
对于BRAS设备,目前主要通过不同的VR/CONTEXT来接入不同业务类型的用户。针对这种接入方式,可以根据不同的VR,做统一的标记策略,在session或者IP端口上面对用户的入流量进行标记,区分不同的业务。
2) 队列调度和拥塞避免
SR设备在部署QoS方面主要是根据上游和下游设备提供的COS/DSCP进行队列调度。对于业务侧可以采用层次化调度,满足多个用户或者一个用户内部多种业务之间的不同QoS及带宽的需求。在网络侧可以根据业务对带宽的QoS的需求采用PQ+CBWFQ+WRED机制,根据COS/DSCP对流量进行控制。
对于BAS的下行流量可以根据BAS以下二层网络的组网结构(推荐采用星形结构)以及带宽的情况,采用VLAN GROUP+VLAN+session,或者VP+VC+session的方式进行队列调度,以保证BAS网下行流量都是无拥塞的,并且能保证某些重要业务(如个人IPTV)的VLAN或者session的带宽需求。对于BRAS用户的上行流量,根据用户流量进入BRAS时所赋予的DSCP标记,在物理接口层面进行队列调度。启用改进的WFQ+PQ+WRED队列调度机制。
3) 限速与流量整形
对于直接接入SR的大客户和高等级业务用户,在用户端口,根据用户的协议带宽,对用户的入流量进行限制,防止用户过度使用带宽。同时对用户的下行流量通过使用流量整形功能,尽量减少用户突发流量造成的丢包。
对于BRAS用户下行流量,首先要在用户PVC层面,对用户的PVC根据用户协议带宽进行限制,做到从BRAS到ATM网络到DLSAM下行端口,有一个统一的速率,这样可以在BRAS层面一次调度,做到这个下行线路不再产生拥塞。
3.2.3 IP城域网二层网络的QoS部署策略
由DSLAM 与片区或园区交换机根据VLAN 完成不同用户或业务的CoS 分类和标记;汇聚交换机设备再根据内层VLAN 的CoS 标记直接映射成外层VLAN 的CoS。由DSLAM 和片区或园区交换机实现xDSL 和LAN 接入用户上行流量的限速。为提高连接的稳定性,在DSLAM 上设置DSLAM 到MODEM 的握手速率上限。MSTP对业务的速率限制和带宽保证通过划分不同的VC 实现。宽带接入网接入点及以上设备提供一个严格优先队列和一个以上轮循队列,实现基于QoS 等级的包转发。
1) 分类标记
接入层设备是离用户端最近的设备,对于所有支持用户分类标记的接入层设备,需要完成的第一项功能是用户数据的分类标记。在用户接入端口根据用户的不同类型,就近对用户的上行流量进行CoS标记,供后续城域网内所有设备进行队列调度。
2) 队列调度和拥塞避免
根据CoS标记对数据进行队列调度。这里主要分为两个方向,下行流量,首先在设备的上行口配置信任上一级设备提供的CoS标签,然后在设备的下行端口,也就是用户的接入端口的出方向,根据数据包中的CoS标记,启用类似CQ+WRED队列调度功能;对于上行流量,就直接在设备的上行接口,启用CQ+WRED功能,根据在用户入口方向标记的CoS值,对用户数据进行队列调度。
3) 限速与流量整形
如果设备支持速率限制和流量整形,在用户接入端口,启用入方向的速率限制,防止用户过度使用资源以及出现流量攻击,同时在用户的接入端口,对用户的下行流量进行流量整形,尽量减少因突发流量导致的丢包现象。
4 IP城域网QoS实施面临的困难
4.1 QoS管理
QoS由于自身具有端到端的特点,因此涉及到一个全网的QoS管理问题,例如运营商需要管理全网QoS策略及一致性、网络资源信息、QoS授权用户、计费信息等等,同时需要监控各链路实时的性能,各用户的QoS实施情况,并且最好能动态地进行调整。对全网QoS的可管理是目前电信运营商维护管理过程中碰到的最大挑战。
目前对QoS管理的研究已经开始进行,包括各厂家QoS MIB的一致性问题,还有现在提出的基于策略的QoS管理框架,通过在网络中部署策略服务器来达到整个网络中所有设备QoS策略部署的一致性,但这些研究还有待深入和完善。
4.2 业务开展
对电信运营来说,QoS本身就是一个业务。通过对不同的用户提供不同的QoS,从而达到实施不同的收费策略。
目前对QoS业务的开展相对简单,通常是与用户签订SLA,根据不同的QoS保证收取不同的费用,这种方式QoS保证与收费较固定和简单。以后随着个人用户的增多,对QoS的需求也会增加。同时,个人用户对QoS的要求也是不固定的,也许有时需要,有时不需要。因此,可以考虑与个人用户实现比较灵活的动态的QoS支持,例如根据实际需要,逐步提供QoS用户自助服务,用户可自定义不同的接入带宽、服务等级、资费套餐等自助服务参数,并可查询接入带宽、服务等级、服务资费等,而这种业务的开展又需要以下几方面的支持。
a) 目前对QoS的计费相对简单,通常是包月计费。如果要实现上述的用户自助服务,那么对QoS的计费要求也相应地要提高,计费系统需要根据用户不同时段的QoS服务提供综合计费。
b) 这种服务要求运营商对QoS用户的认证和后台数据库的管理都提出新的要求。
c) 对QoS的安全管理也有新的要求,要防止可能出现的QoS欺诈以及攻击。
由于存在这些方面的新要求,因而会提高QoS业务开展的成本,增加复杂度。因此,如何更好地对用户开展QoS业务,也是今后要解决的一个问题。
除此之外,需要进一步深入研究的QoS还包括以下内容。
a) 网络QoS性能指标分配方法(网络模型、网络QoS性能指标的端到端分解准则)。
b) 网络QoS等级的划分。
c) 网络QoS性能参数的定义(包括设备QoS性能参数与网络QoS性能参数)。
d) 网络QoS性能参数的测量方法(包括设备QoS性能参数与网络QoS性能参数)。
e) 网络QoS性能参数所对应指标的确定(包括设备QoS性能参数与网络QoS性能参数)。
5 结束语
如前所述,IP QoS解决方案是构建多业务承载IP城域网的关键,目前来看QoS技术已经比较成熟,并且在很多运营商已经有所应用,但是在大规模多业务IP网络的QoS管理、业务开展方面尚无太多的经验。因此,必需切实加强学术界和工业界的合作,兼顾长远目标和当前需求,采用演进的策略研究、开发和部署QoS技术。
参 考 文 献
1 林闯等. 计算机网络的服务质量(QoS). 北京:清华大学出版社,2004
2 ERIC Osborne,Ajay Simha. 基于MPLS 的QoS技术. 北京:人民邮电出版社,2003
3 Eier L,Fischer W,Brockners F. Ethernet-base public communication service:challenge and opportunity. IEEE Communication Magazine,2004,42(3):88-95
4 Metro Ethernet Forum. Metro Ethernet network architecture frame work-part1:generic framework. Technical Specification MEF 4,2004