当前位置:网站首页>QOS功能介绍

QOS功能介绍

2022-08-10 14:36:00 我不是小白菜

一、qos的作用:

有差别的网络服务,在没有qos之前,流量都是遵循先进先出原则,当出现堵塞的话,不能保证关键业务进行通信。
例如:下图
在这里插入图片描述

电话的流量与邮箱的流量,明显电话的流量优先级是要高于邮箱的流量,但是如果没有qos的话,就不会区分这两个流量类型,而是遵循先进先出原则,出现拥塞就会导致语音延时。

二、qos的三种服务模型:

<1>尽力而为服务模型:

这个是单一的服务模型,网络尽最大的可能性来发送报文。但对时延、可靠性等不提供任何保证。这个就是通过FIFO队列来实现,适用的网络应用有FTP、E-mail等.

<2>综合服务模型:

通过资源预留协议保障关键业务的通信质量。
优点:可以为某些特定业务提供带宽、延时保证。
缺点:当无流量发送的时候,任然独占带宽。并且要求链路上的所有节点设备都支持并允许资源预留协议(RSVP)协议。

<3>区分服务模型:

可以满足不同的qos需求,且不需要通知网络为每个业务预留资源。Qos就是基于这种服务模型来实现。
大致流程:
(1)网络入口处进行分类,完成报文的标记。(ACL或者报文优先级来实现分类)
(2)根据标记,映射成本地对其定义的服务等级值
(3)根据不同的服务等级进行相应的缓存队列,根据队列的调度机制,实现不同的转发服务。

三、qos的功能流程图

在这里插入图片描述

四、入口方向:

4.1流量分类与优先级标记:

4.1.1、流量分类

将数据报文划分为多个优先级或者多个服务种类。可以自己设定流量的分类策略。
分类方式:
<1>、基于优先级来分类:也就是根据802.1p的Cos值或者IP报文的IP优先级或者DSCP值来分类。
<2>、基于ACL来分类:通过ACL,根据源/目的Mac地址 源/目的IP地址、源/目的 端口号、协议号等对报文进行流分类。

4.1.2、优先级标记

除了各种报文的本身携带优先级之外,还有一个重要概念:本地优先级(LP)。本地优先级由报文优先级或端口默认优先级映射而来,表示报文在设备内的转发优先级,用于确定报文从出口发送时的队列号,值越大优先级越大。

4.2流量监管:

<1>什么是流量监管:通过监督进入网络的流量速率,对超出部分的流量进行“惩罚”,使进入的流量被限制在一个合理的范围之内。
<2>为什么要限速?如果不限速,大量用户不断突发的数据只会使网络更拥挤。
<3>怎么知道超速了?采用令牌桶对流量的规格进行评估。
<4>三部分组成:
Meter:通过令牌桶机制对网络流量进行度量,向Marker输出度量结果。
Marker:根据Meter的度量结果对报文进行染色,报文会被染成green/yellow/red三种颜色。
Action:根据Marker对报文的染色结果,对报文进行一些动作,包括Pass/pass + remark(修改内部优先级后再转发)/discard。

<5>限速模式:基于端口(ingress/egress)、基于流
基于流限速的说明:基于流的监管通过ACL来实现,把分配的police_id与ACl绑定就可以了,然后会对ACL所匹配的流进行监管。

4.3令牌桶技术大致原理介绍:

令牌桶可以看做是一个存放一定数量的容器。系统按设定的速度向桶中放置令牌。当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。
在用令牌桶评估流量规格时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文,称流量遵守或符合这个规格,否则称为超标。

单速单桶双色:
在这里插入图片描述
单速双桶三色:
在这里插入图片描述
双速双桶三色:
在这里插入图片描述

4.4上面可以看到单速双桶和双速双桶拿取令牌的规则不一样。

单速双桶的是先拿取C桶再拿E桶
双速双桶的是先拿取P桶再拿C桶
概括如下图:
在这里插入图片描述

4.5如何选用这三种令牌桶?

只限速,用单速单桶。
限速+区分突发量,用单速双桶。
限速+区分突发量+区分带宽是否超出峰值,用双速双桶。

五、出口方向

5.1流量整形:

流量整形可以分为:基于接口整形/基于队列整形。
可以理解为削峰填谷,超出限速的报文不丢弃,而是缓存起来,等到不拥堵的时候再均匀的发出去,避免不必要的报文丢弃和拥塞。
这是一种主动调整流量输出速率的措施。流量整形与流量监管的主要区别在于, 流量整形对流量监管中需要丢弃的报文进行缓存——通常是将它们放入缓冲区或队列内。当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。流量整形与流量监管的另一区别是,整形可能会增加延迟,而监管几乎不引入额外的延迟。

5.2拥塞避免

拥塞避免是指通过监视网络资源(如队列或内存缓冲区)的使用情况,在拥塞发生或有加剧趋势时主动丢弃报文,通过调整网络的流量来解除网络过载的一种流量控制机制.
Tail drop(尾丢弃):是默认的每个出口队列拥塞避免技术,在没有超过queue长度的时候,报文会在queue中缓存,而当报文长度超过设定的阈值后就,所有新来的报文都会丢弃。
缺点:1、尾丢弃会导致TCP同步
2、关键数据不能被区分,无差别丢弃。

WRED(加权随机早期检测):通过早期选择性的丢弃部分报文而不是在queue真正满的时候才开始丢弃。将数据分类,根据不同的颜色(优先级)设定不同的丢弃策略。
在这里插入图片描述

5.3拥塞管理(队列调度技术:SP、WRR、WDRR)

调度的前提条件是什么?
前提是发生了拥塞,当接口没有发生拥塞时,报文到接口后立即被发送出去,当报文到达的速度超过接口的发送报文的速度时,就发生了堵塞。堵塞管理就会将这些报文进行分类,送入不同的队列。而队列调度将对不同优先级的报文进行分别处理,优先级高的报文会得到优先处理。

Sp:严格优先级
在这里插入图片描述

RR(轮询调度):
基于报文的公平调度,每个队列调度出一个报文。
优点:避免有些队列永远得不到服务
缺点:不能根据业务分配带宽

WRR(加权轮询调度):
根据每个队列的权重比例,每个队列调度出相应权重的报文就转到下一个队列。
优点:可以保证低优先级队列也能获得一定的带宽,避免存在优先级可能永远也得不到服务的缺点。
缺点:WRR调度按照报文个数来进行调度,而不是按照报文字节长度。当报文平均报文长度不等时,会导致分配的带宽不均匀。低延时的关键业务无法及时调度。

DRR(差分轮询调度):
基于报文长度的调度,实现原理与RR基本相同。
区别:DRR调度是按照报文长度,而RR是按照报文个数。
优点:修正了RR调度不能按照比例分配带宽的缺点。
缺点:低延时的关键业务无法及时调度。

WDRR(加权差分轮训调度):
解决了DRR不能设置权重的不足。DRR调度相当于权值为1的WDRR调度。
为不同队列设置不同加权值。

单纯的一种调度方式都存在各自的缺点。所以一般采用多种调度方式组合进行调度。

原网站

版权声明
本文为[我不是小白菜]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_45402928/article/details/126230663