QoS

简介: QoS

QoS概述

QOS:服务质量。针对各种应用的不同需求,提供不同的服务质量。

影响QoS的因素:带宽、延迟、时延抖动、丢包率、可用性。

QoS服务模型:

  • Best-Effort service(尽力而为服务模型):应用程序可以在任何时候发出任何数量的报文。网络尽力发送报文。
  • Integrated service(综合服务模型,简称IntServ):在发送报文前,会向网络申请特定的服务。
  • Differentiated service(区分服务模型,简称DiffServ):把网络中的流量分成多个类,根据类定义处理行为,使其拥有不同的优先转发、丢包率等。   用的最多

区分服务模型分为:

流量限速(流量监管和流量整形):通过监督进入网络的流量速率,来限制流量和资源的使用。

拥塞避免:通过调整网络的流量来解除网络的过载。

拥塞管理:通过调整报文的调度次序来满足时延敏感业务高QoS服务。

令牌桶

使用令牌桶对流量进行评估,是否满足报文转发的条件。所有报文、流量都需要经过令牌桶,拿到令牌之后经过

单速单桶

C桶

CBS(承诺突发尺寸):该桶的总容量大小。单位为byte

CIR(承诺信息速率):表示向桶中注入令牌的速率。单位kbps

当一个报文转发过来后,拿到对应的令牌进行通过,拿不到就进行丢弃。

该报文称为B

令牌剩余数量称为TC

当B>TC时,为红色,默认丢弃

当B<=TC时,为绿色,默认放行

单速双桶(华为没有)

E桶

即使没有报文从C桶通过,令牌仍然会持续注入,当超过CBS的容量时,会溢出。溢出的令牌会被注入到E桶中

EBS(峰值突发尺寸):定义每次突发所允许的最大流量尺寸。  单位为byte

E桶令牌剩余数量称为TE

当B<=TC时,为绿色,被放行

当B>TC时,拿不到C桶的令牌,那么就去E桶去拿令牌,如果B<=TE,为绿色,默认放行,但是会被降低优先级。如果B>TE,为红色,默认丢弃。

双速双桶

P桶 C桶

PIR (峰值信息速率)注入速率 单位kpbs

PBS (峰值突发尺寸)桶的容量大小  单位byte

P桶必须大于等于C桶

当有报文通过时,先去P桶拿令牌,没有拿到令牌为红色,默认丢弃。拿到令牌后还要再去C桶再拿令牌,两个桶都拿到令牌后,为绿色,默认通过,如果在C桶没有拿到令牌,就是黄色的,黄色一般是降权转发。

流量限速技术

作用:

  • 在网络边缘,监控网络流量
  • 对于进出的不同流量规定带宽占用比例,让不同的业务有不同的流量边界

流量监管

流量监管采用CAR(承诺访问速率)来对流量进行控制。CAR利用令牌桶来衡量每个数据报文是超过还是遵守所规定的报文速率。

CAR主要有两个功能:

  • 流量速率限制:通过使用令牌桶对流经端口的报文进行度量,使得在特定时间内只有得到令牌的流量通过,从而实现限速功能。
  • 流分类:通过令牌桶算法对流量进行测量,根据测量结果给报文打上不同的流分类内部标记(包括服务等级与丢弃优先级)

CAR处理流程:

  • 当报文到来时,首先检查端口的匹配规则,如果匹配上了,则进行速率控制,报文进入令牌桶中进行流量速率评估。
  • 令牌桶评估后,报文被标记为红、黄、绿三种颜色。红色表示报文速率过大,不符合规定;黄色表示虽然不符合规定但允许临时的突发,绿色表示符合规定。
  • 报文标为红色的直接丢弃,黄色则重新标记后转发,绿色则直接转发。

对进入设备的特定流量的规格进行监管。通常作用在入方向。当流量超出规格时,会采取限制或惩罚措施。

削锋不填谷

该模型丢包率相比增大了,但时延降低了。可以用在视频,语言等业务。

如图所示,该图为流量速率模型。当有一条带宽为100的链路,当有流量通过时,可能会超出100M,那么对于超出的那些流量应该为丢弃。对于怎么知道哪些是超出的流量,是取决于令牌。

流量整形

GTS(通用流量整形)

为了使报文速率与下游设备相匹配。当从高速链路向低速链路传输数据,或发生突发流量时,带宽会在低速链路出口处出现瓶颈,导致数据丢失严重。这时,需要在进入高速链路的设备出口处进行流量整形。

削锋填谷

用到了双速双桶

该模型对于丢包率下降了,但是时延高了,对于时延要求不高的,可以使用该模型。比如下载数据,传文件。

入方向不能配置流量整形,因为没有缓存。

相比于流量监管,流量整形把超出的部分流量放入缓存中,放入低谷中,这样就可以不用丢弃超出的流量了。

虽然即使超出带宽的部分流量也会进行转发,但不会超出多少都会转发,会有一个界限,比如120M,当流量在100M-120M之间,也就是黄色部分,会放入缓存进行转发,不过会降低优先级,类似于在P桶没拿到令牌,在C桶拿到了。

超出120M的就会被丢弃了

分类打标

依据一定的匹配规则识别出对象,是有区别的实施服务的前提,通常作用接口入方向。

流量分类和标记是QoS的基础,是有区别的实施服务的前提。

把数据包分为不同的类别,称为流分类;把数据包设置为不同的优先级称为标记。

简单流分类:

VLAN报文:802.1P

MPLS报文:MPLS Exp

IP报文:DSCP

复杂流分类:采用复杂的规则,如五元组对报文进行精细的分类(源目IP,源目端口号,协议号)

  • 配置流分类:traffic classifler <name>   if-match <value>
  • 配置流行为:traffic behavior <name> remark <value>
  • 配置流量策略:traffic policy <name> classifler <name> behavior
  • 应用流量策略:int g0/0/0   traffic-policy <name> <>

简单、复杂流分类详解

拥塞管理

拥塞管理是网络在发生拥塞时,针对不同类型的业务流量,进行管理和控制。

处理方式是:使用队列技术。

队列:指在缓存中对报文进行排序的逻辑。

队列调度算法:

  • 先进先出 FIFO:单个队列报文采用FIFO。先进的报文先出,后进的报文后出。优点:实现简单且处理快。缺点:不能有差别的对待优先级不同的报文。
  • 严格优先级 SP:严格按照队列优先级的高地顺序进行调度。优点:对高优先级的报文提供了优先转发。缺点:低优先级队列可能出现“饿死”现象。即:拥塞发生时,如果较高优先级队列中长时间有报文存在,那么低优先级队列中的报文就会得不到调度机会。
  • 加权公平队列 WFQ:按队列权重来分配每个流占有出口的带宽。优点:公平。缺点:无法实现用户自定义分类规则。

队列技术:将从一个接口发出的所有报文放入多个队列中,按照队列优先级进行处理。不同队列使用调度算法用来解决不同问题,并产生不同效果。

队列调度技术:

RR(轮循):优点:公平。缺点:由于公平造成的VIP级别客户和普通客户没有区别。

DRR:基于权重轮循算法。每调度一个报文就减1,权重级别大的报文转发的越多。

WRR:基于带宽权重算法。根据队列权重进行转发,带有带宽。当数据带宽大于队列带宽时,队列带宽变为负,不可转发数据。等带宽大于等于0时,才可以再次转发数据。

PQ:不看低优先级队列。如果高优先级被清空了发完了,才去看低优先级队列

WFQ:根据报文的五元组 以及大小选择是否进入到该队列。唯一一个基于流控制队列的

CBQ:用的最多的调度技术。需要人为引入到规定好的四个队列中 _LLQ EF AF BF  

调度算法:

先进先出FIFO 没有什么队列算法,谁先进来的谁出去

严格优先级SP

加权公平队列

WRED:早期检测随机丢弃

拥塞避免

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

丢弃策略:

  • 尾丢弃 - 传统处理方式:当队列长度达到最大值后,所有新入队列的报文(缓存在队列尾部)都会被丢弃。  缺点:TCP问题;无法对流量进行区分丢弃;
  • RED(早期随机监测):随机丢弃数据报文。
  • WRED(加权随机先期检测):通过对不同优先级数据包或队列设置相应的丢弃策略,以实现对不同流量进行区分丢弃。

相关文章
|
9月前
|
传感器 数据采集 物联网
MQTT 的 QoS 等级:QoS 0、QoS 1、QoS 2
MQTT 的 QoS 等级:QoS 0、QoS 1、QoS 2
691 0
|
Java API 网络性能优化
NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy
报错日志: java.lang.NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy at ch.
11112 0
|
2月前
|
算法 搜索推荐 网络性能优化
|
11月前
|
算法 网络协议 网络性能优化
网络QoS
网络QoS
147 0
|
缓存 网络协议 网络性能优化
QOS(服务质量)
QOS(服务质量)
344 0
EMQ
|
存储 传感器 缓存
MQTT QoS 0, 1, 2 介绍
MQTT协议中规定了消息服务质量QoS(Quality of Service),其核心是设计了多种消息交互机制来提供不同的服务质量,来满足用户在各种场景下对消息可靠性的要求。
EMQ
953 0
MQTT QoS 0, 1, 2 介绍
|
存储 传感器 安全
MQTT QoS 介绍
MQTT QoS 介绍
533 0
MQTT QoS 介绍
|
缓存 数据挖掘 网络性能优化
QOS技术
在晋通的网络甲,当用尸将数据发问网络设备后,网络设备都是尽最大努力传输数据,直到超出自己的最大负荷为止。当设备达到最大负荷后,如果还有用户发来的数据,那么这些数据将因为网络设备不能提供服务而被丢弃。这样的提供最大化服务的网络被称为尽力而为服务的网络。在尽力而为服务的网络中,所有的数据都被看成是同等重要的,用户的数据有时无法得到保证,所以在某些时候,必须让网络通过放弃传输相对不重要的数据来保证用户的重要数据和传输。因此,就需要在网络中实施QualityofService,即QOS。实施了QOS的网络中,可以为特定数据保证带宽,同时也可以限制宽带,可以避免网络拥塞和管理拥塞,甚至可以为数据设置不同
198 0
|
网络协议 调度 网络性能优化