当前位置: 首页 > 科技新闻 >

Qos(quality of service服务质量)服务模型

时间:2020-06-28 17:44来源:网络整理 浏览:
QOS服务质量qos在前提是有限的带宽情况下(提升带宽能够直接有效的解决拥塞问题,但随之而来会增加高额的成本),利用有保证的技术策略实现不同


QOS服务质量

qos在前提是有限的带宽情况下(提升带宽能够直接有效的解决拥塞问题,

但随之而来会增加高额的成本),利用有保证的技术策略实现不同流量

获得不同的优先服务。


Qos(quality of service服务质量)服务模型


FIFO:(first in first out)先进先出服务模式,是一种传统的网络设备

处理报文方式,依据报文到达时间的先后顺序分配转发,所有报文共享

网络和设备的带宽资源,报文所获得的资源多少与时机有关;

FIFO尽最大努力将报文发送到目的地,但对报文的延迟、抖动、丢包率

和可靠性不提供任何保证,故对语音和视频流量的通信无法保证;


提升服务质量从以下方面考虑:

1.提高带宽;

2.降低抖动;

3.降低丢包率;

4.提高可靠性;


带宽:链路的最大带宽是根据该条链路上最小带宽定义的;

即BWmax=链路上最小带宽;(bandwidth带宽)


Qos(quality of service服务质量)服务模型

时延:端到端网络时延等于路径上所有时延之和


时延是指报文从一段发送到另一端所需时间,ping包时延是双向的;

单个网络设备的时延包括传输时延、串行化时延、处理时延、队列时延;

1.传输时延:一个数据位从发送方到达接收方所需要的时间。该时延取决于传

输距离和传输介质,与带宽无关。

2.串行化时延:指发送节点在传输链路上开始发送报文的第一个比特至发完该

报文的最后一个比特所需的时间。该时延取决于链路带宽以及报文大小。

3.处理时延:指路由器把报文从入接口放到出接口队列需要的时间。它的大小

跟路由器的处理性能有关。

4.队列时延:指报文在队列中等待的时间。它的大小跟队列中报文的大小和数

量、带宽以及队列机制有关。


抖动:是指每个报文端到端时延不相等导致的,抖动的大小与时延有着直接的

关系,时延小则抖动小,时延大则抖动大;


Qos(quality of service服务质量)服务模型


丢包率:是指网络传输过程中丢包数量占报文总数量的百分比,丢包率可以用

来衡量网络的可靠性;

丢包可能出现在传输过程当中的任何一个环节;

1.处理过程:cpu繁忙无法处理报文导致丢包;

2.排队过程:报文调度到队列中因队列已装满从而导致丢包;

3.传输过程:报文在传输过程中可能因为链路故障等原因导致丢包;


Qos(quality of service服务质量)服务模型


模型

尽力而为服务模式:


Qos(quality of service服务质量)服务模型


可通过提高网络带宽或升级网络设备从而提高网络服务质量;

1.提高网络带宽:

优点:可以改善带宽瓶颈,串行化延迟、丢包的问题;

缺点:网络建设成本高;

2.升级网络设备:

优点:可以改善处理延迟、队列延迟、丢包等问题;

缺点:成本较高,设备替换增大业务中断风险;


综合服务模型


Qos(quality of service服务质量)服务模型


通过运行RSVP(源保留)协议来保障关键业务的通信质量;

RSVP协议:在应用程序发送报文前,向网络中申请特定的带宽和所需特定

服务质量的需求,等收到确认消息后才发送报文;

优点:可以为某些特定业务提供带宽、延迟保证;

缺点:实现较为复杂;所有设备均需要支持RSVP协议,且该协议在相邻节点

间周期发送,即使无流量发送,仍会独占带宽,会导致带宽利用率低;

该服务模式在现行网络当中并不多见;


区分服务模型:(差分服务模型)


Qos(quality of service服务质量)服务模型


为了解决综合服务模型的协议实现复杂性及带宽利用率低等问题,在网络中可

通过部署diff'se'rv(different service)区分服务模型来实现关键业务的通信质量;

1. 在网络入口对报文进行分类,完成对报文的标记。

2.根据标记,将其映射成本地对其定义的服务等级值。

3. 根据不同的服务等级值进入相应的缓存队列,根据队列间的调度机制,实现

不同的转发服务。


Diffserv服务模型概述:

1.业务流分类和标记由边缘路由器来完成。边界路由器可以通过多种条件

(比如报文的源地址和目的地址、ToS(路由域)域中的优先级、协议类型等)

灵活地对报文进行分类,然后对不同类型的报文设置不同的标记字段,而

其他路由器只需要简单地识别报文中的这些标记,然后对其进行相应的

资源分配和流量控制即可。因此,DiffServ是一种基于报文流的QoS模型。

它只包含有限数量的服务等级,少量的状态信息来提供无差别的流量控制

和转发。

2.DS节点:实现DiffServ功能的网络节点称为DS节点。

3.DS边界节点:负责连接另一个DS域或者连接一个没有DS功能的域的节点。

4.DS边界节点负责将进入此DS域的业务流进行分类和流量调整。

5.DS内部节点:用于在同一个DS域中连接DS边界节点和其他内部节点。

DS内部节点仅需基于报文中的EXP、802.1p、IPP等字段值进行简单的

流分类以及对相应的流进行流量控制。

6.DS域(DS Domain):一组采用相同的服务提供策略和实现了相同PHB

(Per Hop Behaviors 单跳行为)的相连DS节点组成。一个DS域由相同管

理部门的一个或多个网络组成,如一个DS域可以是一个ISP,也可以是一个

企业的内部网络。


DiffServ模型充分考虑了IP网络本身所具有的灵活性、可扩展性强等特点,

将复杂的服务质量保证通过报文自身携带的信息转换为单跳行为,从而大

大减少了信令的工作。该模型是目前应用最广的服务模型。


三种服务模型的对比:

1.尽力而为服务模型:

优点:实现机制简单;

缺点:对不同业务流不能进行区分对待;


2.综合服务模型:

优点:可提供端到端QoS服务,并保证带宽、延迟;

缺点:需要跟踪和记录每个数据流的状态,实现较复杂,且扩展性较差,

带宽利用率较低;


3.区分服务模型:

优点:不需要跟踪每个数据流状态,资源占用少,扩展性较强;且能实现对

不同业务流提供不同的服务质量;

缺点:需要在端到端每个节点都进行手工部署,对人员能力要求较高;


报文分类与标记:

核心:提供差分服务

作用:对不同类型流量进行分类和识别,以解决因网络不断发展而导致网络

类型的不断增加;


报文分类的必要性:

要实现差分服务,进入Diffserve(different service)域,按照一定的规则进行

分类,根据不同的流量提供不同的服务;

ACL访问控制列表是通过五元组进行分类;

五元组:源、目的IP,协议号,源、目的端口号;


Qos(quality of service服务质量)服务模型


简单流分类:

QOS中是根据不同类型报文自身含有的标识的qos优先级值来实现的;

数据链路层:vlan帧中802.1Q域中的priority字段值来实现的,该字段

有3bit位,范围为0~7,以大为优;

网络层:

1.mpls报文中的label域中的exp字段值来实现的,该字段有3bit位,范围

位0~7,以大为优;

2.IP报文中的TOS域中的ipp或dscp字段值来实现的,因ipp字段只有3bit位,

范围位0~7,以大为优,不能满足IP报文多样的类型;故采用dscp字段,该

字段有6个bit位,范围为0~63,以大为优;

同时dscp中含有如下字段:

CS、EF、AF、BE;

优先级由高到低排序为:(根据dscp值,以大为优)

CS7>CS6>EF>AF4>AF3>AF2>AF1>BE;

AF中以AF1为例,丢包率由低到高分为:AF11<AF12<AF13;


Qos(quality of service服务质量)服务模型


复杂流分类

针对简单流分类不够精细的缺点,提出了复杂流分类;

1.数据链路层复杂流分类:

匹配项:vlan内/外tag的802.1p、源/目的MAC地址;

以上匹配项可任意组合;

Qos(quality of service服务质量)服务模型


2.网络层复杂流分类:

匹配项:ipp、源/目的IPv4地址、TCP/UDP源端口号、TCP/UDP目的端口号

、协议号;

以上匹配项可任意组合;


拥塞管理和拥塞避免:


Qos(quality of service服务质量)服务模型


拥塞管理:

网络中间歇出现拥塞,关键报文要求优先转发,采用拥塞管理技术,即采用队列技术

及不同的调度算法来发送对列中的报文流;

拥塞避免:

当某些突发的,非关键性的报文装满队列,则后续发往该队列的报文将会全部丢弃,此时

拥塞管理技术也不能达到理想的效果,需要配和拥塞避免技术来实现;


设备性能常用pps,带宽常用bps

pps=packet peer second

bps=bit peer second


拥塞管理通过队列机制来实现:

第一步:将准备从一个接口发出的所有报文放入不同的缓存队列中;

根据报文所携带标记对应的LP值与队列索引号的对应关系表,来实

现将不同的报文送入不同队列。


LP(本地优先级,又称为内部优先级):优先级映射实现从数据原

始携带的QoS优先级到内部优先级或从内部优先级到QoS优先级的映射。

对于进入设备的报文,设备将报文携带的优先级或者端口优先级映射

为内部优先级,然后根据内部优先级与队列之间的映射关系确定报文进入的队列。


第二步:根据各队列间的调度机制实现不同报文的差分转发;

1. 提供差分服务的核心就是拥塞发生时如何决定不同队列报文

的转发次序,这就用到了队列的调度机制。

2. 常见的队列调度算法包括:FIFO,PQ,WRR,WFQ,CBQ等。


不同调度算法的介绍

1.FIFO(first in firist out 先进先出):

优点:实现机制简单且处理速度快。

缺点:不能有差别地对待优先级不同的报文。


Qos(quality of service服务质量)服务模型


2.PQ(priority queuing优先级队列):

PQ调度算法将队列分为四类:分别为top(高优先级队列),middle(中优先级队列),

normal(正常优先级队列),bottom(低优先级队列),出队列时按照优先级高低

进行传送,较低优先级队列等待高一级优先级队列处理完再进行处理;

优点:对高优先级的报文提供了优先转发。

缺点:低优先级队列可能出现“饿死”现象。


Qos(quality of service服务质量)服务模型


3.WRR(weighted round robin加权循环调度):

在RR(循环调度)的基础上演变而来,即权重为1的WRR;按照队列顺序循环调度,

再根据权重值确定单一队列调度传送的报文个数;

优点:避免了PQ调度的“饿死”现象。

缺点:基于报文个数来调度,容易出现包长尺寸不同的报文出现不平等

调度;低时延业务得不到及时调度。


Qos(quality of service服务质量)服务模型


4.WFQ(weighted fair queuing公平加权队列):

1.WFQ对报文按流特征进行分类,对于IP网络,相同源IP地址、目的IP地址、

源端口号、目的端口号、协议号、ToS的报文属于同一个流,而对于MPLS网络,

具有相同的标签和EXP域值的报文属于同一个流。每一个流被分配到一个队列,

该过程称为散列,采用HASH算法来自动完成,这种方式会尽量将不同特征的流

分入不同的队列中。WFQ允许的队列数目是有限的,用户可以根据需要配置该值。

在出队的时候,WFQ按流的优先级来分配每个流应占有的出口带宽。优先级的数

值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。这样就保证了

相同优先级业务之间的公平,体现了不同优先级业务之间的权值。


Qos(quality of service服务质量)服务模型


2.WFQ优点在于配置简单,但由于流是自动分类,无法手工干预,故缺乏一定的

灵活性;且受资源限制,当多个流进入同一个队列时无法提供精确服务,无法保

证每个流获得的实际资源量。WFQ均衡各个流的延迟与抖动,同样也不适合延迟

敏感的业务应用。


优点:可完全按照权重分配带宽;自动分类,配置简单。

缺点:低时延业务仍得不到及时调度;无法实现用户自定义分类规则。


5.PQ+WFQ(优先级队列+公平加权队列):

PQ+WFQ调度过程:

如图,在进行调度时,首先按照PQ方式优先调度Queue7、Queue6和Queue5

队列中的报文流,只有这些队列中的报文流全部调度完毕后,才开始以WFQ方式

调度Queue4、Queue3、Queue2、Queue1和Queue0队列中的报文流。其中,

Queue4、Queue3、Queue2、Queue1和Queue0队列包含自己的权值。

重要的协议报文以及有低时延需求的业务报文应放入PQ调度队列中,得到优先调

度的机会,其他报文则可放入以WFQ方式调度的各队列中。


Qos(quality of service服务质量)服务模型


PQ+WFQ优缺点:

其集合了PQ调度和WFQ调度各自的优缺点。单纯采用PQ调度时,低优先级队列中

的报文流可能会长期得不到带宽,而单纯采用WFQ调度时,低延时需求业务可能得

不到及时调度,而如果将两种调度方式结合起来形成PQ+WFQ调度方式,其不仅能

发挥两种调度的优势,而且能互补一些各自特有的缺点。


优点:可保证低时延业务得到及时调度;实现按权重分配带宽等。

缺点:无法实现根据用户自定义灵活分类报文的需求。


CBQ(class-based queuing基于类的加权公平队列):

CBQ是对WFQ的扩展,为用户提供了自定义类的支持;

CBQ首先根据IP优先级或者DSCP优先级、入接口、IP报文的五元组等规则

来对报文进行分类,然后让不同类别的报文进入不同的队列。对于不匹配任

何类别的报文,会送入系统定义的缺省类。

CBQ提供了三类队列:EF、AF、BE(EF>AF>BE);

EF队列:满足低时延业务。

EF队列拥有绝对优先级,仅当EF队列中的报文调度完毕后,才会调度其他队

列中的报文。

AF队列:满足需要带宽保证的关键数据业务。

每个AF队列分别对应一类报文,用户可以设定每类报文占用的带宽。当系统

调度报文出队的时候,会按用户为各类报文设定的带宽将报文进行出队发送,

可实现各个类的队列的公平调度。

BE队列:满足不需要严格QoS保证的尽力发送业务。

当报文不匹配用户设定的所有类别时,报文会被送入系统定义的缺省BE

(Best Effort,尽力传送)类。BE队列使用接口剩余带宽和WFQ调度方式进行发送。


Qos(quality of service服务质量)服务模型


优点:提供了自定义类的支持;可为不同的业务定义不同的调度策略。

缺点:由于涉及到复杂的流分类,故启用CBQ会耗费一定的系统资源。


队列算法的优缺点比较:

类型 优点 缺点

FIFO 实现简单,处理速度快 不能有差别地对待优先级不同的报文


PQ 低延迟业务能得到保障 低优先级队列可能出现“饿死”现象


WRR 避免了低优先级队列的 不平等调度;低时延业务得不到保障

“饿死”现象


WFQ 按权重实现公平调度; 低时延业务得不到保障;无法支持自定义类

自动分类,配置简单


PQ+WFQ 低时延业务能得到保障; 无法支持自定义类

按权重实现公平调度等


CBQ 支持自定义类 耗费较多的系统资源


报文队列被装满后的传统处理方式为尾丢弃:

尾丢弃:由于每个队列长度有限,当某一队列已经被装满时,传统的处理方法会将

后续向该队列发送的报文全部丢弃,直至拥塞解除,这种处理方式称为尾丢弃(Tail Drop)。


Qos(quality of service服务质量)服务模型


Qos(quality of service服务质量)服务模型


尾丢弃的缺点:

1.引发TCP全局同步;

TCP全局同步:对于TCP报文,如果大量的报文被丢弃,将造成TCP超时,从而引发TCP

慢启动,使得TCP减少报文的发送。当队列同时丢弃多个TCP连接的报文时,将造成多

个TCP连接同时进入拥塞避免和慢启动状态以调整并降低流量,这就被称为TCP全局

同步现象。这样多个TCP连接发往队列的报文将同时减少,而后又会在某个时间同时

出现流量高峰,如此反复,使网络资源利用率低。

解决办法:RED(Random Early Detection早期随机检测):

为避免TCP全局同步,可在队列未装满时先随机丢弃一部分报文。通过预先降低一部分

TCP连接的传输速率来尽可能延缓TCP全局同步的到来。这种预先随机丢弃报文的行为

被称为早期随机检测(RED);

RED通过随机地丢弃数据报文,让多个TCP连接不同时降低发送速度,从而避免了TCP

的全局同步现象。使TCP速率及网络流量都趋于稳定。

RED为每个队列的长度都设定了阈值门限,并规定:

1.当队列的长度小于低门限时,不丢弃报文。

2.当队列的长度大于高门限时,丢弃所有收到的报文。

3.当队列的长度在低门限和高门限之间时,开始随机丢弃到来的报文。方法是为每个到来

的报文赋予一个随机数,并用该随机数与当前队列的丢弃概率比较,如果大于丢弃概率

则报文被丢弃。队列越长,报文被丢弃的概率越高。


2.引起TCP饿死现象:

导致原因:尾丢弃无法对流量进行区分丢弃;

当队列装满时,后续发往该队列的大量TCP报文将进行尾丢弃,并造成Window

Size减小,TCP流量整体减小,而UDP流量并不会减少,反而可能会占满整个队列,

造成TCP饿死现象。


3.无差别的丢弃:

导致原因:尾丢弃无法对流量进行区分丢弃;

当队列装满时,尾丢弃很可能导致大量非关键数据被转发,而大量关键数据被丢弃。

解决方法:WRED(Weighted Random Early Detection加权早期随机检测):

WRED技术可以通过对不同优先级数据包或队列设置相应的丢弃策略,以实现对不

同流量进行区分丢弃。

WRED可以弥补尾丢弃的三个缺点,且大大提高了链路带宽利用率。

基于RED技术,又实现了WRED(Weighted Random Early Detection)技术,可

实现每一种优先级都能独立设置报文的丢包的高门限、低门限及丢包率,报文到达低

门限时,开始丢包,到达高门限时丢弃所有的报文,随着门限的增高,丢包率不断增

加,最高丢包率不超过设置的最大丢包率,直至到达高门限,报文全部丢弃。这样按

照一定的丢弃概率主动丢弃队列中的报文,从一定程度上避免了尾丢弃带来的所有缺点。


流量监控和流量整形:

流量监管和流量整形就是一类通过对流量规格的监督来限制流量及其资源使用的流控策略。


流量监管技术:


Qos(quality of service服务质量)服务模型


1.流量监管功能可对接收或发送的流量进行限速控制,限制进入网络的突发流量,为网络提

供了基本的QoS功能。

2.流量监管TP(Traffic Policing)的典型应用是监督进入网络的某一流量的规格,把它限制

在一个合理的范围之内,并对超出部分的流量进行“惩罚”,以保护网络资源和运营商的利益。

3.流量监管通常使用承诺访问速率CAR(Committed Access Rate)来限制某类报文的流量。

CIR(Committed Information Rate)承诺信息速率;


优点:可实现对不同类别的报文分别进行限速。

缺点:当链路空闲时,造成带宽浪费;丢弃的流量可能要进行重传。


流量整形技术:


Qos(quality of service服务质量)服务模型


1.流量整形TS(Traffic Shaping)的典型作用是限制流出某一网络的某一连接的正常流量

与突发流量,使这类报文以比较均匀的速度向外发送,是一种主动调整流量输出速率的措

施,故只能对 输出 的流量进行速率控制。常用GTS(Generic Traffic Shaping通用流量

整形)技术来限制某类流量。

2.应用场景:当网络中上下游的接口带宽不匹配,尤其是上游接口的带宽资源大于下游的带

宽资源时,容易在下游网络形成拥塞。如果不希望下游网络因为上游发送数据流量过大造成

拥塞,可在上游的出接口配置流量整形,使上游发送的流量与下游接收的能力相匹配。报文

可以均匀向外发送,而且部分超出规格的报文不直接丢弃,而是进行缓存,等待链路空闲的

时候再发送出去。


优点:可实现对不同报文分别进行限速;缓冲机制可减少带宽浪费,减少流量重传。

缺点:可能会增加延迟。


流量监管和流量整形的比较:


限速类型 优点 缺点

流量监管 可实现对不同报文地限速及重标记。 造成较高的丢包率;链路空闲时带宽得

不到充分利用。

流量整形 较少丢弃报文,充分利用带宽。 引入额外的时延和抖动,需要较多的设

备缓冲资源。

推荐内容