文档库 最新最全的文档下载
当前位置:文档库 › QoS技术白皮书

QoS技术白皮书

QoS技术白皮书
QoS技术白皮书

QoS技术白皮书

关键词:

QoS,服务模型,IntServ,DiffServ,拥塞管理,拥塞避免,队列技术,流量监管,流量整形,链路效率机制

摘要:

本文对Internet的三种服务模型(Best-Effort、IntServ和DiffServ),以及服务模型的发展历程进行了简单介绍,较为详细地介绍了H3C系列数据通信产品所支持的QoS技术,内容包括:流量分类和标记、拥塞管理、拥塞避免、流量监管与流量整形、链路效率机制以及MPLS网络相关QoS技术,并且简要描述了在实际应用中的QoS解决方案。网络运营商及行业用户等通过对这些QoS技术的灵活运用,可以在Internet或任何基于IP的网络上为客户提供有保证的区分服务。

缩略语:

目录

1 概述

1.1 产生背景

1.2 技术优点

1.3 QoS服务模型简介

1.3.1 Best-Effort服务模型

1.3.2 IntServ服务模型

1.3.3 DiffServ服务模型

1.3.4 IntServ与DiffServ之间的互通

2 IP QoS技术实现

2.1 IP QoS功能总述

2.1 流量分类和标记

2.1.1 IP QoS业务分类

2.1.2 IPv6 QoS业务分类

2.1.3 以太网QoS业务分类

2.2 拥塞管理

2.2.1 先进先出队列(FIFO)

2.2.2 优先队列(PQ)

2.2.3 定制队列(CQ)

2.2.4 加权公平队列(WFQ)

2.2.5 基于类的加权公平队列(CBWFQ)2.2.6 RTP优先队列

2.2.7 队列技术对比

2.3 拥塞避免

2.3.1 传统的丢包策略

2.3.2 RED与WRED

2.3.3 WRED和队列机制的关系2.4 流量监管与流量整形

2.4.1 约定访问速率(CAR)

2.4.2 通用流量整形(GTS)

2.4.3 物理接口总速率限制(LR)2.5 链路效率机制

2.5.1 链路分片与交叉(LFI)

2.5.2 IP报文头压缩(IPHC)

3 MPLS QoS技术实现

3.1 MPLS DiffServ

3.2 MPLS-TE

4 典型组网方案

4.1 企业VPN QoS实施

4.2 VoIP QoS网络设计

5 参考文献

1 概述

1.1 产生背景

在传统的IP网络中,所有的报文都被无区别的等同对待,每个转发设备对所有的报文均采用先入先出(FIFO)的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。

网络发展日新月异,随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,例如VoIP等实时业务就对报文的传输延迟提出了较高要求,如果报文传送延时太长,用户将不能接受(相对而言,E-Mail和FTP业务对时间延迟并不敏感)。为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而为之提供相应的服务。传统IP网络的尽力服务不可能识别和区分出网络中的各种通信类别,而具备通信类别的区分能力正是为不同的通信提供不同服务的前提,所以说传统网络的尽力服务模式已不能满足应用的需要。

QoS技术的出现便致力于解决这个问题。

1.2 技术优点

QoS旨在针对各种应用的不同需求,为其提供不同的服务质量。如:

〃可以限制骨干网上FTP使用的带宽,也可以给数据库访问以较高优先级。

〃对于ISP,其用户可能传送语音、视频或其他实时业务,QoS使ISP能区分这些不同的报文,并提供不同服务。

〃可以为时间敏感的多媒体业务提供带宽和低时延保证,而其他业务在使用网络时,也不会影响这些时间敏感的业务。

1.3 QoS服务模型简介

通常QoS提供以下三种服务模型(服务模型,是指一组端到端的QoS功能):

〃Best-Effort service(尽力而为服务模型)

〃Integrated service(综合服务模型,简称IntServ)

〃Differentiated service(区分服务模型,简称DiffServ)

1.3.1 Best-Effort服务模型

Best-Effort是一个单一的服务模型,也是最简单的服务模型。应用程序可以在任何时候,发出任意数量的报文,而且不需要事先获得批准,也不需要通知网络。对Best-Effort服务,网络尽最大的可能性来发送报文。但对时延、可靠性等性能不提供任何保证。

Best-Effort服务是现在Internet的缺省服务模型,它适用于绝大多数网络应用,如FTP、E-Mail等,它通过FIFO队列来实现。

1.3.2 IntServ服务模型

IntServ是一个综合服务模型,它可以满足多种QoS需求。这种服务模型在发送报文前,需要向网络申请特定的服务。这个请求是通过信令RSVP来完成的。RSVP是在应用程序开始发送报文之前来为该应用申请网络资源的,所以是带外信令。

应用程序首先通知网络它自己的流量参数和需要的特定服务质量请求,包括带宽、时延等。网络在收到应用程序的资源请求后,执行资源分配检查,即基于应用程序的资源申请和网络现有的资源情况,判断是否为应用程序分配资源。一旦网络确认为应用程序分配资源,则网络将为每个流(Flow,由两端的IP地址、端口号、协议号确定)维护一个状态,并基于这个状态执行报文的分类、流量监管、排队及其调度。应用程序在收到网络的确认信息(即确认网络已经为这个应用程序的报文预留了资源)后,才开始发送报文。只要应用程序的报文控制在流量参数描述的范围内,网络将承诺满足应用程序的QoS需求。

IntServ可以提供以下两种服务:

〃保证服务:它提供保证的带宽和时延限制来满足应用程序的要求。如VoIP应用可以预留10M带宽和要求不超过1秒的时延。

〃负载控制服务:它保证即使在网络过载的情况下,能对报文提供近似于网络未过载类似的服务,即在网络拥塞的情况下,保证某些应用程序的报文低时延和优先通过。

1.3.3 DiffServ服务模型

DiffServ是一个多服务模型,它可以满足不同的QoS需求。与IntServ不同,它不需要使用RSVP,即应用程序在发出报文前,不需要通知网络为其预留资源。对DiffServ服务模型,网络不需要为每个流维护状态,它根据每个报文的差分服务类(IP报文头中的差分服务标记字段DSCP值),来提供特定的服务。

在实施DiffServ的网络中,每一个转发设备都会根据报文的DSCP字段执行相应的转发行为,主要包括以下三类转发行为:

〃加速转发(EF):主要用于低延迟、抖动和丢包率的业务,这类业务一般运行一个相对稳定的速率,需要在转发设备中进行快速转发;

〃确保转发(AF):采用此转发行为的业务在没有超过最大允许带宽时能够确保转发,一旦超出最大允许带宽,则将转发行为分为4类,每类又可划分为3个不同的丢弃优先级,其中每一个确保转发类都被分配了不同的带宽资源。IETF建议使用4个不同的队列分别传输AF1x、AF2x、AF3x、AF4x业务,并且每个队列提供3种不同的丢弃优先级,因此可以构成12个有保证转发的PHB;

〃尽力转发(BE):主要用于对时延、抖动和丢包不敏感的业务。

区分服务只包含有限数量的业务级别,状态信息的数量少,因此实现简单,扩展性较好。它的不足之处是很难提供基于流的端到端的质量保证。目前,区分服务是业界认同的IP骨干网的QoS解决方案,尽管IETF为每个标准的PHB都定义了推荐的DSCP值,但是设备厂家可以重新定义DSCP与PHB之间的映射关系,因此不同运营商的DiffServ网络之间的互通还存在困难,不同DiffServ网络在互通时必须维护一致的DSCP与PHB映射。

1.3.4 IntServ与DiffServ之间的互通

一般来讲,在提供IP网络的QoS时,为了适应不同规模的网络,在IP骨干网往往需要采用DiffServ体系结构;在IP边缘网可以有两种选择:采用DiffServ体系结构或采用IntServ体系结构。目前在IP边缘网络采用哪一种QoS体系结构还没有定论,也许这两种会同时并存于IP边缘网中。在IP边缘网采用DiffServ体系结构的情况下,IP骨干网与IP边缘网之间的互通没有问题。在IP边缘网采用IntServ体系结构的情况下,需要解决IntServ 与DiffServ之间的互通问题,包括RSVP在DiffServ域的处理方式、IntServ支持的服务与DiffServ支持的PHB之间的映射。

RSVP在DiffServ域的处理可以有多种可选择的方式。例如下面两种:

〃一种方式为RSVP对DiffServ域透明,RSVP在IntServ域边界转发设备终结,DiffServ 域对IntServ域采用静态资源提供方式。本方式实现相对简单,但可能造成DiffServ域资源的浪费。

〃一种方式为DiffServ域参与RSVP协议处理,DiffServ域对IntServ域采用动态资源提供方式。本方式实现相对复杂,但可以优化DiffServ域资源的使用。

根据IntServ支持的服务和DiffServ提供的PHB的特点,IntServ支持的服务与DiffServ 支持的PHB之间的映射问题可以通过下面方式解决:

〃将IntServ中的保证服务映射为DiffServ中的EF。

〃将IntServ中的负载控制服务映射为DiffServ中的AF。

2 IP QoS技术实现

目前,H3C的IP网络产品已经全面提供对DiffServ服务模型的支持:

〃完全兼容DiffServ服务模型的相关标准,包括RFC2474、RFC2475、RFC2597、RFC2598等;

〃支持以IP Precedence或DSCP作为QoS带内信令,可灵活配臵;

〃支持DiffServ相关的功能组件,包括流量调节器(包括分类器、标记器、测量单元、整形器和丢弃器等)和各类PHB(拥塞管理、拥塞避免等)。

2.1 IP QoS功能总述

IP QoS技术提供了下述功能:

〃流量分类和标记:依据一定的匹配规则识别出对象,是有区别地实施服务的前提,通常作用在接口入方向。

〃拥塞管理:是必须采取的解决资源竞争的措施,将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序,通常作用在接口出方向。

〃拥塞避免:过度的拥塞会对网络资源造成损害,拥塞避免监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载,通常作用在接口出方向。

〃流量监管:对进入设备的特定流量的规格进行监管,通常作用在接口入方向。当流量超出规格时,可以采取限制或惩罚措施,以保护运营商的商业利益和网络资源不受损害。

〃流量整形:一种主动调整流的输出速率的流控措施,是为了使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃和拥塞,通常作用在接口出方向。

〃链路效率机制:可以改善链路的性能,间接提高网络的QoS,如降低链路发包的时延(针对特定业务)、调整有效带宽。

在这些QoS技术中,流量分类和标记是基础,是有区别地实施服务的前提;而其他QoS 技术则从不同方面对网络流量及其分配的资源实施控制,是有区别地提供服务思想的具体体现。

网络设备对QoS的支持是通过结合各种QoS技术来实现的。图1描述了各种QoS技术在网络设备中的处理顺序。

图1 各QoS技术在同一网络设备中的处理顺序

首先是流量分类,其后根据报文所属类别再将CAR、GTS、WRED、队列等各种技术运用其上,最终为具有不同网络需求的各种业务提供并保证所承诺的服务。

2.1 流量分类和标记

流量分类是将数据报文划分为多个优先级或多个服务类。网络管理者可以设臵流量分类的策略,这个策略除可以包括IP报文的IP优先级或DSCP值、802.1p的CoS值等带内信令,还可以包括输入接口、源IP地址、目的IP地址、MAC地址、IP协议或应用程序的端口号等。分类的结果是没有范围限制的,它可以是一个由五元组(源IP地址、源端口号、协议号、目的IP地址、目的端口号)确定的流这样狭小的范围,也可以是到某某网段的所有报文。

下游网络可以选择接受上游网络的分类结果,也可以按照自己的分类标准对数据流量重新进行分类。

下面分别介绍一下在IPv4、IPv6、二层以太网中如何对流量进行分类和标记。2.1.1 IP QoS业务分类

IP优先级和DSCP在报文中的位臵如图2所示。

图2 IP/DSCP

(1) 基于IP优先级的业务分类

IPv4报文在IP报文头的ToS域中定义了8种IP业务类型,如表1所示。

表1 8种IP业务类型定义

(2) 基于DSCP的业务分类

DiffServ模型定义了64种业务类型,其中典型的业务类型定义如表2所示。

2.1.2 IPv6 QoS业务分类

IPv6在报头中保留了类似IPv4的ToS域,称为传输级别域(TC),以继续为IP提供差分QoS服务,可以基于IPv6 ToS域进行业务分类与标记。同时IPv6报头中增加20比特流标签(Flow Label)域,可供后续扩展用。

2.1.3 以太网QoS业务分类

以太网在以太网帧头的VLAN TAG中定义了8种业务优先级(CoS,Class of Service),如图3所示。

图3 802.1Q CoS

每一种业务映射到出端口的哪个队列转发将关系到该业务的时延、抖动和可获得的带宽。8种以太网业务类型定义如表3所示。

表3 8种以太网CoS业务类型定义

IEEE 802.1Q推荐的业务类型到队列的映射关系定义如表4所示。

表4 IEEE 802.1Q推荐的CoS类型与队列的映射关系

2.2 拥塞管理

图4 网络拥塞示意图

在计算机数据通信中,通信信道是被多个计算机共享的,并且,广域网的带宽通常要比局域网的带宽小,这样,当一个局域网的计算机向另一个局域网的计算机发送数据时,由于广域网的带宽小于局域网的带宽,数据将不可能按局域网发送的速度在广域网上传输。此时,处在局域网和广域网之间的转发设备将不能发送某些报文,即网络发生了拥塞。如图4所示,当局域网1向局域网2以10M的速度发送数据时,将会使Router 1的串口S1发生拥塞。

拥塞管理是指在网络发生拥塞时,如何进行管理和控制。处理的方法是使用队列技术,具体过程包括队列的创建、报文的分类、将报文送入不同的队列、队列调度等。当接口没有发生拥塞时,报文到达接口后立即被发送出去,当报文到达的速度超过接口发送报文的速度时,接口就发生了拥塞。拥塞管理就会将这些报文进行分类,送入不同的队列;而队列调度将对不同优先级的报文进行分别处理,优先级高的报文会得到优先处理。常用的队列有FIFO、PQ、CQ、WFQ、CBWFQ、RTP优先队列等,下面将对这些队列进行详细的介绍。

2.2.1 先进先出队列(FIFO)

图5 先进先出队列示意图

如图5所示,先进先出队列(以后简称FIFO)不对报文进行分类,当报文进入接口的速度大于接口能发送的速度时,FIFO按报文到达接口的先后顺序让报文进入队列,同时,FIFO在队列的出口让报文按进队的顺序出队,先进的报文将先出队,后进的报文将后出队。

在如图4所示的网络图中,假设局域网1的Server 1向局域网2的Server 2发送关键业务的数据,局域网1的PC 1向局域网2的PC 2发送非关键业务的数据,则FIFO不会对这两种不同业务的报文做任何区别对待,报文的出队完全依赖于报文到来的先后顺序。

2.2.2 优先队列(PQ)

图6 PQ队列示意图

如图6所示,优先队列(以后简称PQ)对报文进行分类,对于IP网络,可以根据IP 报文的优先级/DSCP、五元组等条件进行分类,对于MPLS网络,则根据MPLS报文EXP 域值进行分类。最终将所有报文分成最多至4类,分别属于PQ的4个队列中的一个,然后,按报文的类别将报文送入相应的队列。PQ的4个队列分别为:高优先队列、中优先队列、正常优先队列和低优先队列,它们的优先级依次降低。在报文出队的时候,PQ首先让高优先队列中的报文出队并发送,直到高优先队列中的报文发送完,然后发送中优先队列中的报文,同样直到发送完,然后是正常优先队列和低优先队列。这样,分类时属于较高优先级队列的报文将会得到优先发送,而较低优先级的报文将会在发生拥塞时被较高优先级的报文抢先,使得高优先级业务(如VoIP)的报文能够得到优先处理,较低优先级业务(如E-Mail)的报文在网络处理完关键业务后的空闲中得到处理,既保证了高优先级业务的优先,又充分利用了网络资源。

在如图4所示的网络图中,假设局域网1的Server 1向局域网2的Server 2发送关键业务的数据,局域网1的PC 1向局域网2的PC 2发送非关键业务的数据,如果对Router 1的串口S1配臵PQ进行拥塞管理,同时配臵Server间的数据流进入较高优先级的队列,PC 间的数据流进入较低优先级的队列,则PQ将对这两种不同业务的报文做区别对待,Server 间的报文总是被先发送,直到暂时没有Server间的报文,转发设备才发送PC间的报文。

2.2.3 定制队列(CQ)

图7 定制队列示意图

如图7所示,定制队列(以后简称CQ)对报文进行分类,对于IP网络,可以根据IP 报文的优先级/DSCP、五元组等条件进行分类,对于MPLS网络,则根据MPLS报文EXP 域值进行分类。最终将所有报文分成最多至16类,分别属于CQ的16个队列中的一个,然后按报文的类别将报文送入相应的队列。CQ的1到16号队列,可以按用户的定义分配它们能占用接口带宽的比例。在报文出队的时候,CQ按定义的带宽比例分别从1到16号队列中取一定量的报文在接口上发送出去。

现在我们将CQ和PQ做个比较:

〃PQ赋予较高优先级的报文绝对的优先权,这样虽然可以保证关键业务的优先,但在较高优先级的报文的速度总是大于接口的速度时,将会使较低优先级的报文始终得不到发送的机会。采用CQ,则可以避免这种情况的发生。

〃CQ可以规定每个队列中的报文所占接口带宽的比例,这样,就可以让不同业务的报文获得合理的带宽,从而既保证关键业务能获得较多的带宽,又不至于使非关键业务得不到带宽。但是,由于CQ轮询调度各个队列,它对高优先级尤其是实时业务的时延保证不如PQ。

在如图4所示的网络图中,假设局域网1的Server 1向局域网2的Server 2发送关键业务的数据,局域网1的PC 1向局域网2的PC 2发送非关键业务的数据,可以在Router 1的串口S1配臵如下CQ进行拥塞管理:

〃配臵Server间的数据流进入队列1,队列1中的报文占有60%的带宽(例如每次出队6000个字节的报文);

〃配臵PC间的数据流进入队列2,队列2中的报文占有20%的带宽(例如每次出队2000

个字节的报文);

〃配臵其他队列中的报文共占有20%的带宽(例如每次出队2000个字节的报文)。

那么,CQ对这两种不同业务的报文将做区别对待。报文的发送采用轮询调度的方式,首先让队列1中的报文出队并发送,直到此队列中的报文被发送的字节数不少于6000字节,

然后才开始发送队列2中的报文,直到此队列中的报文被发送的字节数不少于2000字节,然后是其他队列。各种数据报文占用带宽的情况如下:

〃Router 1的串口S1的物理带宽是2M,则发送关键业务的数据所能占的带宽将至少为1.2M (2*0.6),发送非关键业务的数据所能占的带宽将至少为0.4M(2*0.2)。

〃当S1中除了上述两个数据流外没有其他数据要发送时,这两种数据流将按比例分享接口的剩余空闲带宽,即发送关键业务的数据所能占的带宽将为1.5M(2*0.6/(0.2+0.6)),发送非关键业务的数据所能占的带宽为0.5M(2*0.2/(0.2+0.6))。

〃当S1中只有非关键业务的数据要发送时,发送非关键业务的数据所能占的带宽将可以为2M。

2.2.4 加权公平队列(WFQ)

图8 加权公平队列示意图

如图8所示,加权公平队列(以后简称WFQ)对报文按流进行分类:对于IP网络,相同源IP地址、目的IP地址、源端口号、目的端口号、协议号、IP优先级(或DSCP)的报文属于同一个流;而对于MPLS网络,具有相同EXP域值的报文属于同一个流。每一个流被分配到一个队列,尽量将不同的流分入不同的队列。WFQ的队列数目N可以配臵。在出队的时候,WFQ按流的IP优先级(或DSCP、EXP域值)来分配每个流占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。这样就保证了同优先级业务之间的公平,体现了不同优先级业务之间的权值。

例如:接口中当前有8个流,它们的优先级分别为0、1、2、3、4、5、6、7。则带宽的总配额将是所有(流的优先级+1)之和,即1+2+3+4+5+6+7+8=36。每个流所占带宽比例为:(自己的优先级数+1)/(所有(流的优先级+1)之和)。即,每个流可得的带宽比例分别为:1/36、2/36、3/36、4/36、5/36、6/36、7/36、8/36。

又如:当前共4个流,3个流的优先级为4,1个流的优先级为5,则带宽的总配额将是:(4+1)*3+(5+1)=21。那么,3个优先级为4的流获得的带宽比例均为5/21,优先级为5的流获得的带宽比例为6/21。

由此可见,WFQ在保证公平的基础上对不同优先级的业务体现权值,而权值依赖于报文所携带的优先级。

2.2.5 基于类的加权公平队列(CBWFQ)

图9 基于类的加权公平队列示意图

如图9所示,基于类的加权公平队列(以后简称CBWFQ)首先根据IP优先级或者DSCP、输入接口、IP报文的五元组等规则来对报文进行分类;对于MPLS网络的LSR,主要是根据EXP域值进行分类,然后让不同类别的报文进入不同的队列。对于不匹配任何类别的报文,报文被送入系统定义的缺省类。

CBWFQ分为三类队列:EF队列、AF队列、BE队列,下面分别进行介绍。

(1) EF队列

如图9所示,EF队列是一个具有高优先级的队列,一个或多个类的报文可以被设定进入EF队列,不同类别的报文可设定占用不同的带宽(通过此方式模拟出多个EF队列)。在调度出队的时候,若EF队列中有报文,则总是优先发送EF队列中的报文,直到EF队列中没有报文时,或者超过为EF队列配臵的最大预留带宽时才调度发送其他队列中的报文。

进入EF队列的报文,在接口没有发生拥塞时(此时所有队列中都没有报文)都可以被发送;在接口发生拥塞时(队列中有报文时)会被限速,超出规定流量的报文将被丢弃。这样,属于EF队列的报文既可以获得空闲的带宽,又不会占用超出规定的带宽,保护了其他报文的应得带宽。另外,由于只要EF队列中有报文,系统就会发送EF队列中的报文,所以EF队列中的报文被发送的延迟最多是接口发送一个最大长度报文的时间,无论是时延还是时延抖动,EF队列都可以将之降低为最低限度。这为对时延敏感的应用(如VoIP业务)提供了良好的服务质量保证。

对于EF队列,由于在接口拥塞的时候流量限制开始起作用,所以用户不必设臵队列的长度。由于优先队列中的报文一般是语音报文(VoIP),采用的是UDP报文,所以没有必要采用WRED的丢弃策略,采用尾丢弃策略即可。

(2) AF队列

图9中,AF队列1到64分别对应一类报文,用户可以设定每类报文占用的带宽。在系统调度报文出队的时候,按用户为各类报文设定的带宽将报文出队发送。这种队列技术应用了先进的队列调度算法,可以实现各个类的队列的公平调度。当接口中某些类别的报文没有时,AF队列的报文还可以公平地得到空闲的带宽,和时分复用系统相比,大大提高了线路的利用率。同时,在接口拥塞的时候,仍然能保证各类报文得到用户设定的最小带宽。

对于AF队列,当队列的长度达到队列的最大长度时,缺省采用尾丢弃的策略,但用户还可以选择用WRED丢弃策略(请参见后面关于WRED的描述)。

(3) BE队列

当报文不匹配用户设定的所有类别时,报文被送入系统定义的缺省类。虽然允许为缺省类配臵AF队列,并配臵带宽,但是更多的情况是为缺省类配臵BE队列。BE队列使用WFQ 调度,使所有进入缺省类的报文进行基于流的队列调度。

对于BE队列,当队列的长度达到队列的最大长度时,缺省采用尾丢弃的策略,但用户还可以选择用WRED丢弃策略(请参见后面关于WRED的描述)。

(4) 三种队列的配合

综上所述:

〃低时延队列(EF队列)用来支撑EF类业务,被绝对优先发送,保证时延;

〃带宽保证队列(AF队列)用来支撑AF类业务,可以保证每一个队列的带宽及可控的时延;

〃缺省队列(BE队列)对应BE业务,使用接口剩余带宽进行发送。

对于进入EF队列和AF队列的报文要进行测量,考虑到链路层控制报文的发送链路层封装开销及物理层开销(如ATM信元头),建议EF队列与AF队列占用接口的总带宽不要超过接口带宽的80%。

2.2.6 RTP优先队列

图10 RTP优先队列示意图

RTP优先队列是一种解决实时业务(包括语音与视频业务)服务质量的简单的队列技术。其原理就是将承载语音或视频的RTP报文送入高优先级队列,使其得到优先发送,保证时延和抖动降低为最低限度,从而保证了语音或视频这种对时延敏感业务的服务质量。

如图10所示,RTP报文被送入一个具有较高优先级的RTP优先队列。RTP报文是端口号在一定范围内为偶数的UDP报文,端口号的范围可以配臵,一般为16384~32767。RTP 优先队列可以同前面所述的各种队列(包括FIFO、PQ、CQ、WFQ)结合使用,它的优先级是最高的。由于CBWFQ中的LLQ完全可以解决实时业务的QoS问题,所以不支持将RTP优先队列与CBWFQ结合应用。

由于对进入RTP优先队列的报文进行了限速,超出规定流量的报文将被丢弃,这样在接口拥塞的情况下,可以保证属于RTP优先队列的报文不会占用超出规定的带宽,保护了其他报文的应得带宽,解决了RTP优先队列的流量可能“饿死”其他数据流量的问题。

2.2.7 队列技术对比

上述队列技术,突破了传统IP设备的单一FIFO拥塞管理策略,提供了强大的QoS能力,使得IP设备可以满足不同业务的不同服务质量的要求。为了更好的利用这些队列技术,现对各种队列技术做一比较。

表5 队列技术对比

2.3 拥塞避免

过度的拥塞会对网络资源造成极大危害,必须采取某种措施加以解除。拥塞避免是一种流控机制,它可以通过监视网络资源(如队列或内存缓冲区)的使用情况,在拥塞有加剧的趋势时,主动丢弃报文,通过调整网络的流量来解除网络过载。

与端到端的流控相比,这里的流控具有更广泛的意义,它影响到设备中更多的业务流的负载。设备在丢弃报文时,并不排斥与源端的流控动作(比如TCP流控)的配合,更好地调整网络的流量到一个合理的负载状态。丢包策略和源端流控机制有效的组合,可以使网络的吞吐量和利用效率最大化,并且使报文丢弃和延迟最小化。

2.3.1 传统的丢包策略

传统的丢包策略采用尾部丢弃(Tail-Drop)的方法。当队列的长度达到某一最大值后,所有新到来的报文都将被丢弃。

这种丢弃策略会引发TCP全局同步现象——当队列同时丢弃多个TCP连接的报文时,将造成多个TCP连接同时进入拥塞避免和慢启动状态以降低并调整流量,而后又会在某个时间同时出现流量高峰,如此反复,使网络流量不停震荡。

2.3.2 RED与WRED

为避免TCP全局同步现象,可使用RED或WRED。

在RED类算法中,为每个队列都设定上限和下限,对队列中的报文进行如下处理:

〃当队列的长度小于下限时,不丢弃报文;

〃当队列的长度超过上限时,丢弃所有到来的报文;

〃当队列的长度在上限和下限之间时,开始随机丢弃到来的报文。队列越长,丢弃概率越高,但有一个最大丢弃概率。

直接采用队列的长度和上限、下限比较并进行丢弃,将会对突发性的数据流造成不公正的待遇,不利于数据流的传输。RED类算法采用平均队列长度和设臵的队列上限、下限比较来确定丢弃的概率。计算队列平均长度的公式为:平均队列长度=(以前的平均队列长度×(1-1/(2的n次方)))+(当前队列长度×(1/(2的n次方))),其中n可以通过命令配臵。队列平均长度既反映了队列的变化趋势,又对队列长度的突发变化不敏感,避免了对突发性数据流的不公正待遇。

WRED算法在RED算法的基础上引入了优先权,它引入IP优先级、DSCP和MPLS EXP 区别丢弃策略,考虑了高优先权报文的利益,使其被丢弃的概率相对较小。如果对于所有优先权配臵相同的丢弃策略,那么WRED就变成了RED。

RED和WRED通过随机丢弃报文避免了TCP的全局同步现象,使得当某个TCP连接的报文被丢弃、开始减速发送的时候,其他的TCP连接仍然有较高的发送速度。这样,无论什么时候,总有TCP连接在进行较快的发送,提高了线路带宽的利用率。

2.3.3 WRED和队列机制的关系

WRED和队列机制的关系如图11所示。

相关文档