11年科雷傲多少钱:什么是QoS?获得好的QoS都有那些方法?IETF和产业界都提出了哪些标准来保

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 19:10:28
什么是QoS?
获得好的QoS都有哪些方法?
IETF和产业界都提出了哪些标准来保证QoS

摘要

IP网络正在逐渐成为基础的通讯平台,越来越多的增值业务,特别是多媒体业务将运行在IP网络上,因此如何在IP网络上保证业务的QoS正在成为新业务开展的关键问题。本文介绍了目前在IP网络上实现QoS的主要架构,并着重阐述了DiffServ这种主流架构的原理以及以Alcatel 7750 SR业务路由器为代表的新一代面向业务设计的网络设备对于QoS的支持能力。

关键词:IP;QoS;DiffServ;7750 SR

随着Internet的在全球的高速增长,IP技术渐渐地已成为一种广泛、通用的网络平台。它的经济性、灵活性和支持多业务的能力是原来的电路交换网络所无法比拟的。但是传统的IP技术只能采用尽力而为的(Best Effort)的方式进行包的转发,它只在能力范围内尽可能快地传送,但对吞吐量、延迟、延迟抖动和丢包率没有任何保障,而把传输损失都留给终端系统来处理。

这种采用尽力而为的发送模式曾经是合适的,因为大多数基于IP的传统应用(如Telnet, FTP等)可忍受较大的延迟和延迟抖动。但是,情况正在迅速改变。电话、视频、WEB等新型业务正在大量普及;新型多媒体业务需要大量的带宽和严格的时限;而且,因特网用户呈指数级的增加,也会导致更加严重地网络延迟和阻塞。

虽然扩大网络节点和链路的容量确实是解决方案的一部分,然而,简单地在发生问题的地方投入带宽是远远不够的,因为因特网上暂时性和突发性的网络阻塞并不能被消除。新一代因特网必须能够向某些应用和用户提供不同级别的保障,实现IP网络的服务质量(QoS);同时结合SLA(服务等级协议)的执行,向他们提供差分化的服务,IP服务提供商才能真正盈利。

IP QoS 模型

目前,IETF为了实现IP上的QoS而定义了许多模型和机制,主要的模型如下:

一. 相对优先级标记模型(Relative Priority Marking)[1]

相对标记模型是最早的QoS模型,它的机制是通过终端应用或代理对其数据流设置一个相对的优先级,并对相应的包头进行标记,然后网络节点就会根据包头的标记进行相应的转发处理。这种模型实现起来非常简单,但是颗粒度较粗并且缺少高级QoS处理流程(如Remarking,Policy和Shaping等),无法实现细致多样的QoS保证。目前采用这种模型的技术有IPv4 Precedence(RFC791)。另外还有令牌环优先级(IEEE 802.5)和以太网流量等级(802.1p)也是采用这种架构。

二. 集成业务模型(Inter-Serv)[2]

其设计思想是在Best Effort服务模式的基础上定义了一系列的扩展特性,可以为每一个的网络连接提供基于应用的QoS,并且使用信令协议在网络中的每个路由器中创建和维护特定流的状态,以满足相应网络服务的需求。

这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。但是在IP核心网络中的实施存在问题,因为Inter-Serv的实施要求在每个网络节点为每个流提供相当的计算处理量。这包括端到端的信令和相关信息来区分每个流,跟踪、统计资源占用,策略控制,调度业务流量。随着Inter-Serv流数量的增加,Inter-Serv信令的处理和存储对路由器的资源消耗也在飞速地增加,而且也极大地增加网络管理地复杂性,所以这种模型的可扩展性较差。目前采用这种模型的技术有:MPLS-TE(RSVP),另外较为典型的还有ATM和帧中继。

三. 差分业务模型(Diff-Serv)[3]

与作用于每个流的IntServ相比,在DiffServ体系结构中,业务流被划分成不同的差分服务类(最多64种)。一个业务流的差分服务类由其IP包头中的差分服务标记字段(DiffServ CodePoint,DSCP)来标示。在实施DiffServ的网络中,每一个路由器都会根据数据包的DSCP字段进行相应的转发处理,也就是PHB(Per Hop Behavior)。

虽然DiffServ不能对每一个业务流都进行不同服务质量保证。但由于采用了业务流分类技术,也就不需要采用信令协议来在每个路由器上建立和维护流的状态,节省了路由器的资源,因此网络的可扩展性要高的多。另外DiffServ技术不仅能够在纯IP的网络中使用,也能通过DSCP和MPLS标签以及标签头部的EXP字段的映射应用在多协议标签交换技术MPLS的网络中。

DiffServ的主要架构分为两层:边缘层与核心层。

边缘层完成如下工作:

- 流量识别和过滤:当用户流量进入网络的时候,边缘层设备会先对流量进行识别,根据预先定义的规则过滤掉非法的流量,然后再根据数据包中所包含的信息,如源/目的地址、端口号、DSCP等,将流量映射到不同的服务等级。

- 流量策略和整形:当用户的业务流量被映射到不同的服务等级之后,边缘层设备会根据和用户所签订的SLA中的QoS参数,如CIR(Commit Information Rate)、PIR(Peak Information Rate),来对流量进行整形,以确保进入网络的流量不会超过SLA中所设定的范围。

- 流量的重新标记:经过整形后的流量会由边缘层设备根据其服务等级来设定其数据包中服务等级标记,如IP包头中的DSCP字段或是MPLS包头中的EXP字段等,以便核心层设备进行识别和处理。

相对于边缘层,核心层所要完成的工作就简单地多,核心层设备主要是根据预先设定的QoS策略对数据包中的相关的QoS字段进行识别并进行相应的QoS处理。通过这种分层次的结构形成了“智能化边缘+简单核心”的QoS网络架构,这种架构不但提高了网络的可扩展性,而且大大提高了QoS处理的灵活性。

IP网络设备对DiffServ的实现

由于DiffServ的灵活性和可扩展性,目前几乎所有的IP网络设备都支持DiffServ架构。

而在网络设备上支持DiffServ架构一般需要实现如下功能:

- 多条件流量区分

多条件流量区分是指根据所接受到的客户流量中包含的不同条件信息和预先定义的区分规则来划分流量的转发等级。区分规则的格式类似于访问控制列表(ACL),每条规则包含不同的匹配条件和相应的转发等级,当客户流量符合某条区分规则的匹配条件时,此流量就被划分为相应的转发等级。这里所指匹配条件可以是物理端口、VLAN、各种IP字段或是各种MAC字段等。

- 流量标记和转发等级映射(Forwarding Class)

经过区分规则区分后的流量会被映射到不同的转发等级,DiffServ定义了几种标准的转发等级:

- 加速转发等级(Expedited Forwarding Class)

加速转发等级拥有最高的转发优先级,设备必须保证其他转发等级的流量无法影响加速转发等级流量的延时和抖动,因此加速转发等级往往用于网络控制流量和对于抖动敏感的流量如VOIP。

- 保证转发等级(Assured Forwarding Class)

保证转发等级非常类似于帧中继的QoS,为业务流量提供了PIR(Peak Information Rate)和CIR(Commit Information Rate)的参数设置。当客户流量小于CIR时,被标示为“in-profile”,而当客户流量超过了CIR,则被标示为“out-profile”。通过这样的区分当网络中发生拥塞的时候,“out-profile”的流量会比“in-profile”的流量先丢弃。

- 尽力而为转发等级(Best-Effort Forwarding Class)

尽力而为是最低优先级的转发等级,只有当加速转发等级和保证转发等级的流量转发完之后,才处理尽力而为转发等级流量。

当流量的转发等级确定之后,设备会对流量进行相应的标记,以便下游网络设备进行同样的识别和处理,实现统一的QoS策略。DiffServ标准中定义的标记字段分别为IP包头中的DSCP字段和MPLS包头中的EXP字段。

- 队列和调度

各个DiffServ等级的转发处理都是通过队列和调度实现的。队列是一个逻辑概念,它实际上是设备高速内存中的一段缓存,遵循“先进先出”的规则。系统中往往有多个队列,以对于多个转发等级,当数据包被确定为某个转发等级之后,就会存储在相应的队列中,然后系统根据不同转发等级和不同的参数设置(PIR、CIR)进行调度。不同的转发等级往往采用不同的调度算法,比如对于加速转发等级采用的是“严格优先级”调度,也就是说加速转发等级队列中的数据包永远都是获得最先调度以保证其最高优先级。而对于保证转发等级则采用权重轮回调度算法,先轮回调度所有“in-profile”的流量,再调度所有“out-profile”的流量,以保证每个保证转发等级队列都能够根据其CIR、PIR来进行调度。

- 拥塞控制

当某个队列缓存被占满之后,系统会发生拥塞,这时开始大量丢弃新收到的数据包,直到数据源通过TCP的流量控制机制(滑动窗口协议),监测到丢包,降低发送速率,才能消除拥塞,重新开始转发。但是随着数据源的速率不断增加,系统又会发生拥塞和丢弃,这样周而复始,对于整体网络性能影响很大。因此DiffServ架构中往往会引入拥塞控制机制,常用的算法有RED和WRED,所谓RED是指随机早期检测算法(Random Early Detection),它通过在拥塞发生之前随机丢弃一些数据包使得TCP发送源来降低其发送速率,数据包的丢弃可能性随着队列缓存的占有率而不断增加,这样就可以避免大量丢弃数据包现象的发生。

- MPLS DiffServ

随着MPLS技术的广泛应用,IETF的MPLS工作组定义了两种将IP的DiffServ等级映射到MPLS LSP上的方法:

- E-LSP

使用MPLS包头中的EXP字段来映射IP的DiffServ等级,这种方式较为简单,但是由于EXP字段只有3比特长,因此能够表达的等级只有8种。

- L-LSP

这种方法不但使用EXP字段,还使用MPLS标签来映射,这样就大大扩展了能够表达的等级数量,但缺点是要消耗大量有限的MPLS标签资源。

值得一提的是在MPLS技术中还有一种支持QoS方式就是采用流量工程技术,也就是RSVP-TE。RSVP-TE可以在建立LSP的过程中在沿途的节点上预留带宽,这种技术是作为InterServ架构的一种,通常会和DiffServ架构结合使用,提供业务的中继链路带宽。

随着越来越多的多媒体业务运行在IP网络上,对IP网络提出了更高的QoS要求,而传统的IP路由器或交换机只能提供简单的连通性服务,虽然大部分也支持DiffServ架构,但是受到传统的硬件架构和技术所限,无法提供完善的区分化业务等级的支持。比如许多传统设备每个物理端口上只支持几个队列,无法满足大规模业务开展的需求;有些设备在开启DiffServ功能之后会极大地影响系统的转发性能;还有一些设备只支持简单的流量限制,不支持转发等级或是即使支持转发等级,也无法灵活地将可用带宽在不同的转发等级之间进行分配等等。这些设备上的局限性大大限制了各种IP新业务的开展。

因此上海贝尔阿尔卡特公司推出了新一代IP产品系列,包括IP业务路由器7750 SR和以太网业务交换机7450 ESS。和传统设备有着根本区别的是,Alcatel 7750 SR和7450 ESS是完全面向新型IP/MPLS业务而设计的,这两个产品线都具备强大且完善的基于业务的Qos体系。以7750 SR为例:

7750 SR支持基于业务的QoS策略,对于7750 SR上每一个业务实例(如每一个VPN业务),都可以定义专门的Qos策略。在业务接入端口上(多个用户/业务接入到同一个物理端口)能够针对每个用户的每一种应用流量进行独立的输入和输出整形,每个应用流量都可获得属于自己的独立的Buffer队列空间,每一个独立的队列都可以设置独立的CIR,PIR,MBS,CBS等流量整形参数,并且支持业界领先的层次化Qos调度技术。7750 SR上的每块线卡可以支持32000个队列, 这个数量远远大于传统设备,Unicast数据包和Multicast/Broadcast数据包都可使用不同的队列进行处理,这样可以防止广播或组播数据挤占单播数据的资源。而且对于客户数据流不仅可以在入口处进行Qos处理,还可以在出口处进行Qos处理,从而极大提高了Qos策略的灵活性。

7750 SR的Qos体系主要由三个部份组成:流量分类、缓存管理和流量调度。

1. 用户流量根据预先定义的分类策略分成不同的服务等级,7750 SR支持强大且灵活的分类策略,可以根据下列信息对用户流量进行分类:

IP ACL:Src/Dest IP Address/range,Src/Dest Port/range,IP Fragment,Protocol type,IP Precedence,DSCP

MAC ACL:802.1p,Src/Dest MAC address/mask,EtherType value,802.2 LLC SSAP/DSAP/SNAP value/mask

MPLS:E-LSP(EXP)

2. 每个服务等级分配有专门的队列,每个队列都有相应可配置的Qos参数。

· CIR(Commit Information Rate):当某个队列的出队速率小于CIR的时候,此队列的流量被标示为“in-profile”,如果出队的速率超过CIR的时候将被标示为“out-of-profile”。in-profile的流量会比同等级out-of-profile的流量先得到调度。

· PIR(Peak Information Rate):当某个队列的出队速度超过PIR的时候,系统将停止调度这个队列的包。

3. 队列都是由每块线卡上的缓存池中分配,每一个队列都有两个关于缓存分配的可配置参数。

· CBS:能够保证的队列长度,队列的长度一旦超出了CBS,系统就不能保证再进队的数据报能够分到缓存。

· MBS: MBS的值是队列最大能达到的长度,当队列的长度超过MBS后,新进队列的数据包将会被丢弃。这个值是为了防止某个队列的出队速度长期超过PIR,无法得到调度,从而队列长度不断增长,最终消耗光其他数据包的缓存资源。

4. 调度器控制着队列之间的出队调度。

7750 SR支持目前业界最先进的层次化队列调度技术,不但能够控制单个业务或多个业务的总带宽,而且可以在控制总带宽的基础上进一步细分化地保证每一个业务的Qos,真正实现强大而灵活的SLA保证。层次化调度通过设置多级逻辑调度器,由上级调度器控制一组下级调度器的总带宽,并且上级调度器能够根据下级调度器的级别和权重合理分配下级调度器的CIR和PIR,实际应用如下图:

用户和运营商签订了一份总带宽为10M的SLA,其中包括三种业务流量,分别是语音Voice:CIR=PIR=2M,视频Video PIR=CIR=2M,Internet访问 CIR=0,PIR=10M。如果不采用层次化调度的话,这样的话,当三种流量都突发到最大的时候,实际消耗的带宽为2+2+10=14M,这样就过度消耗了运营商的网络资源。而如果采用了层次化调度的话,我们可以在路由器上设置2层调度器,第一层负责各个业务流量单独的QoS保证,第二层调度器控制三种业务流量在任意时刻都不超过10M,而且当没有语音流量的时候和只有2M video流量的时候,Internet访问流量可以突发到8M。这样既单独保证了每种业务的服务质量,又保证了总带宽为10M。

结束语

在因特网网络规模不断扩大,增值业务种类不断丰富的发展趋势下,新型IP互联网对QoS的保证会越来越多地显示其重要的战略和经济意义;我们相信,上海贝尔阿尔卡特公司面向业务设计的7750 SR和7450 ESS能够帮助运营商构建新一代可盈利IP网络。

参考文献

[1] Almquist, P., "Type of Service in the Internet Protocol Suite", RFC 1349, July 1992.

[2] Braden, R., Clark, D. and S. Shenker, "Integrated Services in the Internet Architecture: An Overview", RFC 1633, July 1994.

[3] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang,An Architecture for Differentiated Services, RFC2475, December 1998