在线咨询: 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
您现在所在的位置:首页 > 解决方案 > 技术介绍
解决方案 Solution
解决方案 - 技术介绍
QoS技术介绍
日期:2015-02-03
来源:  

QoS

QoS简介

概述

QoSQuality of Service)即服务质量。对于网络业务,服务质量包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。

网络资源总是有限的,只要存在抢夺网络资源的情况,就会出现服务质量的要求。服务质量是相对网络业务而言的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量。例如,在网络总带宽固定的情况下,如果某类业务占用的带宽越多,那么其他业务能使用的带宽就越少,可能会影响其他业务的使用。因此,网络管理者需要根据各种业务的特点来对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。

下面从QoS服务模型出发,对目前使用最多、最成熟的一些QoS技术逐一进行描述。在特定的环境下合理地使用这些技术,可以有效地提高服务质量。

QoS服务模型简介

通常QoS提供以下三种服务模型:

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

l              Integrated service(综合服务模型,简称Int-Serv

l              Differentiated service(区分服务模型,简称Diff-Serv

1. Best-Effort服务模型

Best-Effort是一个单一的服务模型,也是最简单的服务模型。对Best-Effort服务模型,网络尽最大的可能性来发送报文。但对时延、可靠性等性能不提供任何保证。

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

2. Int-Serv服务模型

Int-Serv是一个综合服务模型,它可以满足多种QoS需求。该模型使用资源预留协议(RSVP),RSVP运行在从源端到目的端的每个设备上,可以监视每个流,以防止其消耗资源过多。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。

但是,Inter-Serv模型对设备的要求很高,当网络中的数据流数量很大时,设备的存储和处理能力会遇到很大的压力。Inter-Serv模型可扩展性很差,难以在Internet核心网络实施。

3. Diff-Serv服务模型

Diff-Serv是一个多服务模型,它可以满足不同的QoS需求。与Int-Serv不同,它不需要通知网络为每个业务预留资源。区分服务实现简单,扩展性较好。

本文提到的技术都是基于Diff-Serv服务模型。

QoS技术综述

QoS技术包括流分类、流量监管、流量整形、接口限速、拥塞管理、拥塞避免等。下面对常用的技术简单进行一下介绍。

1. QoS技术在网络中的位置

图 1 常用QoS技术在网络中的位置

 

如上图所示,流分类、流量监管、流量整形、拥塞管理和拥塞避免主要完成如下功能:

l              流分类:采用一定的规则识别符合某类特征的报文,它是对网络业务进行区分服务的前提和基础。

l              流量监管:对进入或流出设备的特定流量进行监管。当流量超出设定值时,可以采取限制或惩罚措施,以保护网络资源不受损害。可以作用在接口入方向和出方向。

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

l              拥塞管理:就是当拥塞发生时如何制定一个资源的调度策略,以决定报文转发的处理次序,通常作用在接口出方向。

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

2. QoS技术在设备中的处理顺序

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


 

上图简要描述了各种QoS技术在网络设备中的处理顺序。

(1)        首先通过流分类对各种业务进行识别和区分,它是后续各种动作的基础;

(2)        通过各种动作对特性的业务进行处理。这些动作需要和流分类关联起来才有意义。具体采取何种动作,与所处的阶段以及网络当前的负载状况有关。例如,当报文进入网络时进行流量监管;流出节点之前进行流量整形;拥塞时对队列进行拥塞管理;拥塞加剧时采取拥塞避免措施等。

QoS配置方式简介

配置方式介绍

QoS的配置方式分为QoS策略配置方式和非QoS策略配置方式两种。

有些QoS功能只能使用其中一种方式来配置,有些使用两种方式都可以进行配置。在实际应用中,两种配置方式也可以结合起来使用。

1. QoS策略配置方式

QoS策略配置方式是指不通过QoS策略来进行配置。例如,端口限速功能可以通过直接在接口上配置来实现。

2. QoS策略配置方式

QoS策略配置方式是指通过配置QoS策略来实现QoS功能。

QoS策略包含了三个要素:类、流行为、策略。用户可以通过QoS策略将指定的类和流行为绑定起来,灵活地进行QoS配置。

(1)        

类的要素包括:类的名称和类的规则。

用户可以通过命令定义一系列的规则来对报文进行分类。同时用户可以指定规则之间的关系:and或者or

l              and:报文只有匹配了所有的规则,设备才认为报文属于这个类。

l              or:报文只要匹配了类中的任何一个规则,设备就认为报文属于这个类。

(2)        流行为

流行为用来定义针对报文所做的QoS动作。

流行为的要素包括:流行为的名称和流行为中定义的动作。

用户可以通过命令在一个流行为中定义多个动作。

(3)        策略

策略用来将指定的类和流行为绑定起来,对分类后的报文执行流行为中定义的动作。

策略的要素包括:策略名称、绑定在一起的类和流行为的名称。

用户可以在一个策略中定义多个类与流行为的绑定关系。

优先级映射简介

概述

报文在进入设备以后,设备会根据自身情况和相应规则(primapremark)分配或修改报文的各种优先级的值,为队列调度和拥塞控制服务。

优先级映射功能通过报文所携带的优先级字段来映射其他优先级字段值,就可以获得各种用以决定报文调度能力的各种优先级字段,从而可以全面有效的控制报文的转发调度能力。

优先级介绍

优先级用于标识报文传输的优先程度,可以分为两类:报文携带优先级和设备调度优先级。

报文携带优先级包括:802.1p优先级、DSCP优先级、IP优先级、EXP优先级等。这些优先级都是根据公认的标准和协议生成,体现了报文自身的优先等级。

设备调度优先级是指报文在设备内转发时所使用的优先级,只对当前设备自身有效。设备调度优先级包括以下几种:

l              本地优先级(LP):设备为报文分配的一种具有本地意义的优先级,每个本地优先级对应一个队列,本地优先级值越大的报文,进入的队列优先级越高,从而能够获得优先的调度。

l              丢弃优先级(DP):在进行报文丢弃时参考的参数,丢弃优先级值越大的报文越被优先丢弃。

l              用户优先级(UP):设备对于进入的流量,会自动获取报文的优先级,这种报文优先级称为用户优先级。

优先级映射表

设备提供了多张优先级映射表,分别对应相应的优先级映射关系。

通常情况下,可以通过查找缺省优先级映射表来为报文分配相应的优先级。如果缺省优先级映射表无法满足用户需求,可以根据实际情况对映射表进行修改。

流量监管、流量整形和接口限速简介

概述

如果不限制用户发送的流量,那么大量用户不断突发的数据只会使网络更拥挤。为了使有限的网络资源能够更好地发挥效用,更好地为更多的用户服务,必须对用户的流量加以限制。比如限制每个时间间隔某个流只能得到承诺分配给它的那部分资源,防止由于过分突发所引发的网络拥塞。

流量监管、流量整形和接口限速都可以通过对流量规格的监督来限制流量及其资源的使用,它们有一个前提条件,就是要知道流量是否超出了规格,然后才能根据评估结果实施调控。一般采用令牌桶(Token Bucket)对流量的规格进行评估。

流量评估与令牌桶

1. 令牌桶的特点

令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。

2. 用令牌桶评估流量

在用令牌桶评估流量规格时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文,称流量遵守或符合这个规格,否则称为不符合或超标。

评估流量时令牌桶的参数包括:

l              平均速率:向桶中放置令牌的速率,即允许的流的平均速度。通常配置为CIR

l              突发尺寸:令牌桶的容量,即每次突发所允许的最大的流量尺寸。通常配置为CBS,突发尺寸必须大于最大报文长度。

每到达一个报文就进行一次评估。每次评估,如果桶中有足够的令牌可供使用,则说明流量控制在允许的范围内,此时要从桶中取走与报文转发权限相当的令牌数量;否则说明已经耗费太多令牌,流量超标了。

3. 复杂评估

为了评估更复杂的情况,实施更灵活的调控策略,可以配置两个令牌桶(简称C桶和E桶)。例如TP中有四个参数:

l              CIR:表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;

l              CBS:表示C桶的容量,即C桶瞬间能够通过的承诺突发流量;

l              PIR:表示向E桶中投放令牌的速率,即E桶允许传输或转发报文的最大速率;

l              EBS:表示E桶的容量,即E桶瞬间能够通过的超出突发流量。

CBSEBS是由两个不同的令牌桶承载的。每次评估时,依据下面的情况,可以分别实施不同的流控策略:

l              如果C桶有足够的令牌,报文被标记为green,即绿色报文;

l              如果C桶令牌不足,但E桶有足够的令牌,报文被标记为yellow,即黄色报文;

l              如果C桶和E桶都没有足够的令牌,报文被标记为red,即红色报文。

流量监管

流量监管的典型应用是监督进入网络的某一流量的规格,把它限制在一个合理的范围之内,或对超出的部分流量进行“惩罚”,以保护网络资源和运营商的利益。例如可以限制HTTP报文不能占用超过50%的网络带宽。如果发现某个连接的流量超标,流量监管可以选择丢弃报文,或重新设置报文的优先级。

图 3 TP示意图

 

流量监管广泛的用于监管进入Internet服务提供商ISP的网络流量。流量监管还包括对所监管流量的流分类服务,并依据不同的评估结果,实施预先设定好的监管动作。这些动作可以是:

l              转发:比如对评估结果为“符合”的报文继续正常转发的处理。

l              丢弃:比如对评估结果为“不符合”的报文进行丢弃。

l              改变优先级并转发:比如对评估结果为“符合”的报文,将之标记为其它的优先级后再进行转发。

l              改变优先级并进入下一级监管:比如对评估结果为“符合”的报文,将之标记为其它的优先级后再进入下一级的监管。

l              进入下一级的监管:流量监管可以逐级堆叠,每级关注和监管更具体的目标。

流量整形

TSTraffic Shaping,流量整形)是一种主动调整流量输出速率的措施。一个典型应用是基于下游网络结点的TP指标来控制本地流量的输出。

流量整形与流量监管的主要区别在于,流量整形对流量监管中需要丢弃的报文进行缓存——通常是将它们放入缓冲区或队列内。当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。流量整形与流量监管的另一区别是,整形可能会增加延迟,而监管几乎不引入额外的延迟。

图 4 TS示意图

 

例如,在下图所示的应用中,设备Router ARouter B发送报文。Router B要对Router A发送来的报文进行TP监管,对超出规格的流量直接丢弃。

图 5 流量整形的应用

 

为了减少报文的无谓丢失,可以在Router A的出口对报文进行流量整形处理。将超出流量整形特性的报文缓存在Router A中。当可以继续发送下一批报文时,流量整形再从缓冲队列中取出报文进行发送。这样,发向Router B的报文将都符合Router B的流量规定。

接口限速

利用LRLine Rate,物理接口限速)可以在一个物理接口上限制发送报文(包括紧急报文)的总速率。

LR也是采用令牌桶进行流量控制。如果在设备的某个接口上配置了LR,所有经由该接口发送的报文首先要经过LR的令牌桶进行处理。如果令牌桶中有足够的令牌,则报文可以发送;否则,报文将进入QoS队列进行拥塞管理。这样,就可以对通过该物理接口的报文流量进行控制。

图 6 LR处理过程示意图

 

由于采用了令牌桶控制流量,当令牌桶中存有令牌时,可以允许报文的突发性传输;当令牌桶中没有令牌时,报文必须等到桶中生成了新的令牌后才可以继续发送。这就限制了报文的流量不能大于令牌生成的速度,达到了限制流量,同时允许突发流量通过的目的。

与流量监管相比,物理接口限速能够限制在物理接口上通过的所有报文。当用户只要求对所有报文限速时,使用物理接口限速比较简单。

拥塞管理简介

拥塞的产生、影响和对策

所谓拥塞,是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象。

在复杂的Internet分组交换环境下,拥塞极为常见。以下图中的两种情况为例:


图 7 流量拥塞示意图

 

拥塞有可能会引发一系列的负面影响:

l              拥塞增加了报文传输的延迟和抖动,可能会引起报文重传,从而导致更多的拥塞产生。

l              拥塞使网络的有效吞吐率降低,造成网络资源的利用率降低。

l              拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能导致系统陷入资源死锁而崩溃。

在分组交换以及多用户业务并存的复杂环境下,拥塞又是不可避免的,因此必须采用适当的方法来解决拥塞。

拥塞管理的中心内容就是当拥塞发生时如何制定一个资源的调度策略,以决定报文转发的处理次序。

拥塞管理策略

对于拥塞管理,一般采用队列技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。每种队列算法都是用以解决特定的网络流量问题,并对带宽资源的分配、延迟、抖动等有着十分重要的影响。

拥塞管理的处理包括队列的创建、报文的分类、将报文送入不同的队列、队列调度等。队列调度对不同优先级的报文进行分级处理,优先级高的会得到优先发送。

这里介绍几种常用的队列调度机制。

1. FIFO(先入先出队列,First In First Out Queuing


图 8 先入先出队列示意图

 

如上图所示,FIFO按照时间到达的先后决定分组的转发次序。用户的业务流在某个设备能够获得的资源取决于分组的到达时机及当时的负载情况。Best-Effort报文转发方式采用的就是FIFO的排队策略。

如果设备的每个端口只有一个基于FIFO的输入或输出队列,那么恶性的应用可能会占用所有的网络资源,严重影响关键业务数据的传送。

每个队列内部报文的发送(次序)关系缺省是FIFO

2. PQ(优先队列,Priority Queuing

图 9 优先队列示意图

 

PQ队列是针对关键业务应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。PQ可以根据网络协议(比如IPIPX)、数据流入接口、报文长短、源地址/目的地址等灵活地指定优先次序。优先队列将报文分成4类,分别为高优先队列(top)、中优先队列(middle)、正常优先队列(normal)和低优先队列(bottom),它们的优先级依次降低。缺省情况下,数据流进入normal队列。每个队列内部又遵循FIFO原则。

在队列调度时,PQ严格按照优先级从高到低的次序,优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。

PQ的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文将一直得不到服务。

3. CQ(定制队列,Custom Queuing

图 10 定制队列示意图