QoS基本原理

发布于:2023-01-04 ⋅ 阅读:(1533) ⋅ 点赞:(1)

QoS基本原理

传统IP网络:尽力而为的交付,只管发不管收,没有服务质量的保证。

存在的问题:

  • 没有服务质量的保证,只能保证业务发出,无法保证业务流量能不能到、什么时候到、到了多少;
  • 随着网络用户的激增,过多的流量会产生拥塞,导致转发延时增加,用户体验差,设备压力大;
  • IP扩展业务如IP电话电子商务、视频电话、远程电话等对网络的质量要求高,拥塞的解决最直接的方法是增加带宽,但运营、维护的成本高。

一、QoS技术概述

(一)影响服务质量的要素:

1、带宽/吞吐量(bandwidth)

固定时间内(1s)端到端最小带宽,单位bit/s

上行速率:文件上传的速率

下行速率:文件下载的速率

2、延时(Latency)

一个报文端到端传输所需要的时间,延时越短,网络质量越优,体验感也最佳

固定延时:报文经过设备处理与链路上传输的时间,无法避免,一般时间短

3、延时抖动(Jitter)

不固定延时:业务流中分组排队等待设备处理的等候时间不同导致,当带宽远大于业务流时候,可以避免

如遭遇侵略流量,带宽就会被完全占用,其他业务无法转发导致高延时甚至丢包

4、丢包率(Loss)

不重要流量的丢包对业务影响不大,丢包率是指在网络传输过程中丢失报文占传输报文的百分比。

(二)QOS服务模型

1、尽力而为模型(best effort)

没有区分、没有保障、默认行为

2、集成服务模型(RSVP)

优点:有区分、有保障

缺点:点到点之间的设备需要QOS参数的一致性,不适合互联网;并且实现复杂、浪费资源

3、差分服务模型(differ service)

1、定义

差分服务:将进入的流量分为不同的类型,并将各种类型的流量进行统一管理,对每一种类型分别进行处理

在这里插入图片描述

  • DS节点:能够实现差分服务功能的网络节点
  • DS边界节点:负责连接另一个DS域或者连接一个没有DS功能的域的节点。DS边界节点负责将进入此DS域的业务流进行分类和可能的流量调整。
  • DS内部节点:用于在同一个DS域中连接DS边界节点和其他内部节点。DS内部节点仅需基于DSCP值进行简单的流分类以及对相应的流实施流量控制。
  • DS域(DS Domain):一组采用相同的服务提供策略和实现了相同PHB(Per Hop Behaviors)的相连DS节点组成。一个DS域由相同管理部门的一个或多个网络组成,如一个DS域可以是一个ISP,也可以是一个企业的内部网。
2、DSCP与PHB

DSCP:ipv4报文中DS字节的低6位(0-5)用于区分服务,DSCP中的低3位(0-2)是类选择代码点,用于标示同一类DSCP,差分服务模型中的各个设备依据DSCP值选择相应的转发行为。

PHB:逐跳行为,描述了DS节点对具有相同DSCP的分组采用的外部可见的转发行为

四种标准的PHB:

类选择码CS(Class Selector)

加速转发EF(Expedited Forwarding)

确保转发AF(Assured Forwarding)

尽力而为BE(Best-Effort)默认

(三)QOS工具

1、lagcy CLI 传统命令行

优点:简单

缺点:不适合大型网络

2、MQC:模块化的QOS命令行

华为 思科
流分类 traffic-classifier A
if-match acl 2000
class-map A
match assess-group 10
流行为 traffic-behavior A
gts cir 1000
流策略 traffic-policy A
class fitter A behavior A
policy-map A
class A
shape cir 1000
流调用 interface g0/0/0
traffic policy outbound/inbound A
interface g0/0/0
service-policy output A

3、auto QOS

厂商预设QOS模板,自动下发

(四)QoS数据处理流程

在这里插入图片描述

二、QoS流分类和流标记

问题:为什么需要流分类和流标记?

​ 流分类是对进入查分服务模型的业务进行分类,识别出不同优先级特征的流量,或根据源地址、目的地址、MAC地址、IP协议或应用程序的端口号等信息对流进行分类。

流分类

简单流分类

采用简单的规则,如只根据IP报文的IP优先级或DSCP值、IPv6报文的TC值、MPLS报文的EXP域值、VLAN报文的802.1p值,对报文进行粗略的分类,以识别出具有不同优先级或服务等级特征的流量,实现外部优先级和内部优先级之间的映射。

1、外部优先级,报文头优先级:不同报文使用不同的QOS优先级。

2、内部优先级,service class报文在设备内部的服务等级。在报文进入设备时,需要将报文携带的QOS优先级统一映射到设备内部的服务等级和丢弃优先级。在设备内部,根据报文的服务等级进行拥塞管理,根据报文的颜色进行拥塞避免。

在VLAN头部使用Pri位(802.1P)标记QoS优先级。
在MPLS头部使用EXP位标记QoS优先级。
在IP头部使用ToS位(DSCP,IP-Precedence)标记QoS优先级。

3、丢弃优先级,color,报文在设备内部的丢弃优先级。在报文出设备时,需要将内部的服务等级和color映射为QOS优先级,以便于后续网络设备能够根据QOS优先级镜像响应的服务质量

外部优先级对之间的对应关系:
在这里插入图片描述

服务等级 service class————队列

​ 报文在设备内部的服务等级:支持8种取值,优先级从高到低依次为CS7、CS6、EF、AF4、AF3、AF2、AF1、BE

颜色color ---------丢弃优先级

​ color支持三种取值:绿黄红(优先级从低到高)

复杂流分类

采用复杂的规则对报文进行精细化的分类,如五元组(原地址、源端口、协议号、目的地址、目的端口)

三、 流量限速技术

流量限速====>测速===>令牌桶:token bucket

CAR:承诺访问速率

功能:流量速率限制、流分类

(一)桶的种类

1、单桶单速双色——不允许突发流量

术语:

1、CIR:承诺信息速率,单位:kbps,表示向令牌桶中投放令牌的速率

2、CBS:承诺突发尺寸,单位byte,表示令牌桶的容量、

3、Tc:信息时间,表示将令牌桶投放满需要的时间,单位s

以上任意两种可算出第三者:公式Tc=CBS*8/CIR

颜色标记:

​ if 到达的数据B大小大于令牌桶的容量,数据包标为红色,直接丢弃,令牌桶容量不变

​ if 到达的数据B大小小于令牌桶的容量,书记包标为绿色,默认转发,令牌桶容量=CBS-B

2、双桶单速三色——允许短暂的突发流量

新增术语:

EBS:峰值突发尺寸,用来定义每次突发所允许的最大流量尺寸,单位:byte

颜色标记:

​ if 到达的数据B小于C桶的容量,数据包标为绿色,默认转发,令牌桶容量=CBS-B

​ if 到达的数据B大于C桶的容量,且小于E桶的容量,数据包标为黄色,默认转发,令牌桶容量=EBS-B

​ if 到达的数据B大于C桶的容量,且大于E桶的容量,数据包标为红色,默认丢弃,令牌容量不变

3、双桶双速三色标记法——允许长期的突发流量

新增术语:

1、PIR:峰值信息速率,单位:bkps,表示端口允许的突发流量的最大速率,向P桶投放令牌的速率,大于CIR

2、PBS:峰值突发尺寸,单位:byte,表示突发允许的最大的流量尺寸,P桶的令牌容量,大于CBS

颜色标记:

​ if 到达的数据B大于P桶的容量,数据包标为红色,默认丢弃,令牌桶容量不变

​ if 到达的数据B小于P桶的容量,且大于C桶的容量,数据包标为黄色,默认转发,令牌桶容量=PBS-B

​ if 到达的数据B小于P桶的容量,且小于C桶的容量,数据包标为绿色,默认转发,令牌桶容量=CBS-B

(二)流量监管TP(traffic policing)

定义:监控进入网络的流量规格,限制他在某一个允许的范围;如果流量过大,就丢弃报文,或者重新设置报文的优先级,可以用在设备的进出接口

动作:丢弃/重标记

实现:采用CAR(承诺访问速率)来对流量进行控制,超过限速的报文可能被丢弃或者降低优先级

特点

​ 丢弃超额流量或将超额流量重标记为低优先级量

​ 不需要额外的内存资源,不会带来延迟和抖动

​ 丢包可能引发重传

​ 可以重标记流

(三)流量整形TS(Traffic Shaping)

定义:是一种主动调整流量输出速率的措施,通过在上游设备的接口出方向配置流量整形,将上游不规整的流量进行削峰填谷,输出一条比较平整的流量,从而解决下游设备的瞬时拥塞问题。

实现:使用缓冲区和令牌桶来完成

特点

​ 缓存超出策略/协定SLA规定的超额流量

​ 需要内存去缓存超额流量,可能会带来延迟和抖动

​ 较少的丢包,因而较少导致重传

​ 不能重标记

GTS:Generic Traffic Shaping 通用流量整形

​ 当从高速链路向低速链路传输数据,或发生突发流量时,带宽会在低速链路出口处出现瓶颈,导致数据丢失严重。这种情况下,需要在进入高速链路的设备出口处进行流量整形。

​ 当报文的发送速度过快时,首先在缓冲区进行缓存,在令牌桶的控制下再均匀地发送这些被缓冲的报文。

四、拥塞避免技术

拥塞的产生:

​ 1、带宽不匹配,分组从高速链路进入设备,再由低速链路转发出去

​ 2、汇聚问题,分组从多个接口同时进入设备,由一个没有足够带宽的接口转发出去

拥塞的影响:

​ 1、增加了报文传输的延迟和延迟抖动

​ 2、过高的延迟会引起报文重传

​ 3、拥塞使网络的有效吞吐率降低,造成网络资源的损害

定义:拥塞避免是指通过监视网络资源(如队列或内存缓冲区)的使用情况,在拥塞有加剧的趋势时,主动丢弃报文,通过调整网络的流量来解除网络过载的一种流控机制

策略1:尾丢弃(Tail Drop)

当队列的长度达到最大值后,所有新入队列的报文(缓存在队列尾部)都将被丢弃。

缺点:

​ 1、如果大量报文被丢弃,会引发TCP慢启动,报文发送减少

​ 2、无差别丢弃,可能会丢弃关键流量,无法对流量进行区分丢弃

策略2:早期随机检测 (RED)

RED(Random Early Detection)随机地丢弃数据报文

过程:

​ 1.当队列小于低门限时,不丢弃报文

​ 2.当队列长度在高门限和低门限之间时,开始随机丢弃新到来的报文,且队列越长,丢弃概率越大

​ 3.当队列长度超过高门限时,丢弃所有新到来的报文,即尾丢弃

优点:

​ 缓解TCP全局同步的现象

策略3:加权随机先期检测 (WRED)

WRED(Weighted Random Early Detection)通过对不同优先级数据包或队列设置相应的丢弃策略,以实现对不同流量进行区分丢弃。

优点:

​ 1.打乱TCP滑动窗口的调整时间,避免TCP全局同步现象

​ 2.基于权重,实现了不同流量的区分丢弃

五、拥塞管理技术

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

处理的方法:队列技术。

队列调度算法:

1.先进先出,FIFO(First In First Out)

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

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

2.严格优先级,SP(Strict Priority)

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

​ 缺点:低优先级队列可能出现“饿死”现象。即:拥塞发生时,如果较高优先级队列中长时间有报文存在,那么低优先级队列中的报文就会得不到调度机会

3.加权公平队列,WFQ(Weighted Fair Queuing)

​ 优点:

​ ▪不同的队列获得公平的调度机会,从总体上均衡各个流的延迟。

​ ▪短报文和长报文获得公平的调度:如果不同队列间同时存在多个长报文和短报文等待发送,让短报文优先获得调度,从而在总体上减少各个流的报文间的抖动。

​ ▪从统计上看,权重越小,所分得的带宽越少。权重越大,所分得的带宽越多。

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

	缺点:低优先级队列可能出现“饿死”现象。即:拥塞发生时,如果较高优先级队列中长时间有报文存在,那么低优先级队列中的报文就会得不到调度机会

3.加权公平队列,WFQ(Weighted Fair Queuing)

​ 优点:

​ ▪不同的队列获得公平的调度机会,从总体上均衡各个流的延迟。

​ ▪短报文和长报文获得公平的调度:如果不同队列间同时存在多个长报文和短报文等待发送,让短报文优先获得调度,从而在总体上减少各个流的报文间的抖动。

​ ▪从统计上看,权重越小,所分得的带宽越少。权重越大,所分得的带宽越多。

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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到