Qos llq Qos llq占用其他队列

admin2024-06-07  16


QOS队列调度与报文丢弃

  • QOS队列调度与报文丢弃
  • 1、拥塞管理
  • 2、拥塞管理技术
  • 2.1、PQ调度
  • 2.2、WRR调度
  • 2.3、DRR调度
  • 2.4、WFQ调度
  • 3、拥塞管理应用场景
  • 4、拥塞避免
  • 5、拥塞避免应用场景


—————————————————

QOS队列调度与报文丢弃

前面的优先级映射或MQC对报文进行分类和标记,分类之后要做什么?就是根据分类的结果对报文进行流量控制处理。拥塞管理和拥塞避免就是两种流量控制手段。

如下:当LSW1上行流量大于接口带宽时,那么在出方向就有可能发生网络拥塞,此时就需要配置拥塞管理和拥塞避免。

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_网络,第1张

——————————————————————————————————————————————————

1、拥塞管理

当网络硬件设备能力无法承载各种应用对带宽的需求时,网络拥塞无法避免。拥塞管理就是在网络发生拥塞时,通过队列技术对流量进行管理和控制,优先保证某类报文的时延等QOS服务质量。

队列就好比我们平时去银行办理业务时需要排队,假设银行只提供一个窗口服务,当出现VIP,VIP的业务被优先处理,当VIP办理完毕,普通用户才能继续办理业务。

——————————————————————————————————

2、拥塞管理技术

拥塞管理技术的基础是队列技术,交换机上每个出接口都有8个列队,分别为0-7,每个列队可以缓存一定的报文数量。当网络发生拥塞时,报文会根据本地优先级与队列之间的映射关系,自动将报文流送入不同的队列。不同的拥塞管理技术就可以根据各自的调度算法,实现对队列流量按照优先级发送。

下面介绍常用的两种调度方式。PQ调度、WRR调度。

——————————————————————————————————

2.1、PQ调度

优先队列PQ(Priority Queuing)调度。严格按照队列优先级的高低顺序进行调度。只有高优先级队列报文全部调度完毕,低优先级才有调度机会。配置PQ调度后,按照7-0的优先级依次进行调度,发送报文。

假设银行只有一个窗口服务,用户根据自己银行卡的额度取号排队时,分为A、B、C三种号,按照级别规定优先级A>B>C。即A号段的顾客优先服务,当没有A,B号段的顾客获得服务,依次进行。这种方式缺点也很明显,B和C号段的用户可能因为长时间得不到服务而产生强烈不满。

如图:队列优先级1>2>3,报文出队的时候,首先让高优先级中的报文发送,直到高优先级报文发送完,然后发送中等优先级报文,直到发送完,在发送低优先级列队。

如果中级优先级在等待过程中,高优先级队列还有报文不停的进入队列,则中优先级始终处于等待状态。

如果高优先级发送完毕,中优先级队列中报文4、5已经发送完毕,在报文6被发送之前,高优先级队列又有报文进入队列,则优先处理高优先级报文。

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_网络_02,第2张

——————————————————————————————————

2.2、WRR调度

加权轮询调度WRR(Weight Round Robin)在队列之间进行轮流调度,根据每个队列的权重来调度各队列中的报文流。

如果银行有3个窗口工作且采用WRR调度方式,三个窗口权重比例:50、25、25,按照业务熟练程度,VIP窗口处理2位客户时,另外两个窗口分别处理一个客户,这样保证所有窗口的客户都可以得到服务,但是VIP客户排队时间更短。

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_Qos llq_03,第3张

交换机根据每个队列的权值进行轮询调度。调度一轮计数器减1,计数器减到0的队列不参加调度。当所有队列的计数器减到0时,开始新一轮调度。详细过程如下:

首先计数器初始化:Count [1] =2,Count [2] =1 ,Conut [3] =1。

第一次轮询:
从队列1取出报文1发送,Count [1] =1;从队列2取出报文5发送,Count [2] =0,从队列3取出报文8发送,Conut [3] =0。

第二次轮询:
从队列1取出报文2发送,Count [1] =0;由于Count [2] =0,Conut [3] =0。队列2和队列3不参与次轮调度。
此时,Count [1] =0;由于Count [2] =0,Conut [3] =0,计数器重新初始化:Count [1] =2,Count [2] =1 ,Conut [3] =1。

第三次轮询:
从队列1取出报文3发送,Count [1] =1;从队列2取出报文6发送,Count [2] =0,从队列3取出报文9发送,Conut [3] =0。

第四个轮询:
从队列1取出报文4发送,Count [1] =0,由于Count [2] =0,Conut [3] =0。队列2和3不参与次轮调度。

此时,Count [1] =0,Count [2] =0,Conut [3] =0。将计数器重新初始化:Count [1] =2,Count [2] =1 ,Conut [3] =1。

从以上统计看,各队列中的报文被调度的次数与该队列的权值成正比,权值越大被调度的次数相对越多。如果该端口带宽为100Mbit/s,则可以保证最低权重的队列至少获得25Mbit/s带宽,避免了采用PQ调度时,低优先级中的报文可能很长时间得不到服务的缺点。但是WRR调度无法保证对时延要求高的业务报文优先发送。

PQ调度和WRR调度各有优缺点,WRR调度可以根据相对公平的调度机制,保证各业务都能得到一定的服务,但是对低时延业务无法保证及时调度。PQ调度可以保证低时延业务及时调度,但是存在低优先级业务一直无法被调度情况。因此,实际组网中通常使用PQ WRR混合调度方式来实现拥塞管理。通常将对时延要求较高的业务流量进入的队列配置PQ调度,其他队列配置为WRR调度。当PQ队列有流量时,优先处理。PQ队列没有流量在按照WRR队列进行调度。

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_网络_04,第4张

对于盒式交换机,如果配置PQ WRR混合调度,只需要将配置PQ调度的队列权重配置为0即可。

假设需要配置队列1为PQ调度,队列2和队列5为WRR调度。以S5720EI为例。

[LSW1] interface GigabitEthernet 0/0/3
 [LSW1-GigabitEthernet0/0/3] qos wrr
 [LSW1-GigabitEthernet0/0/3] qos queue 1 wrr weight 0 //配置队列1为PQ调度
 [LSW1-GigabitEthernet0/0/3] qos queue 2 wrr weight 40
 [LSW1-GigabitEthernet0/0/3] qos queue 5 wrr weight 60

对于框式交换机,如果要配置PQ WRR混合调度,只需要将对应的队列设置为PQ调度。

[LSW1] interface GigabitEthernet 1/0/3
 [LSW1-GigabitEthernet1/0/3] qos pq 1 //配置队列1为PQ调度
 [LSW1-GigabitEthernet1/0/3] qos queue 2 wrr weight 40
 [LSW1-GigabitEthernet1/0/3] qos queue 5 wrr weight 60

除了上述调度,交换机还支持DRR、WFQ等多种拥塞管理方法。

——————————————————————————————————

2.3、DRR调度

DRR(Deficit Round Robin)调度也是循环调度,但是相对于WRR只考虑报文个数的问题。DRR同时考虑报文的大小,在调度过程中考虑包长因素以达到调度速率公平性。DRR调度中,Deficit表示队列的带宽赤子,初始值为0。每次调度前,系统按权重为各队列分配带宽,计算Deficit值,如果队列的Deficit值大于0。则不参与调度。

假如我们规定银行3个窗口根据现金额度来办理业务,按照2:1:1权重为VIP窗口和两个普通窗口分配现金,现在每轮为VIP客户分配5000元现金,为普通窗口分配2500元现金。

第一轮:VIP客户提取10000元,但是2个普通用户分别提取2000元,则VIP窗口在办完第一轮业务后剩余额度为-5000,普通窗口额度分别为500元。

第二轮:VIP窗口分配5000元,额度为0,普通分配2500元额度为3000。因此在第二轮VIP窗口不办理业务,普通窗口办理业务。

如此循环调度的话,DRR调度还是没能解决WRR调度中低延时需求业务得不到及时调度的问题。

单采用DRR调度的话,对于时延需求的业务如语音视频,得不到优先调度,如果将两种方式结合起来PQ+WDRR调度,不仅能发挥两种调度优势,还能克服两种调度的各自缺点。

和PQ+WRR调度一样,接口上的8个队列可以分为两组,用户可以指定其中的某几组队列进行PQ调度,其他进行WDRR调度。

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_服务器_05,第5张

在调度时,首先按照PQ优先调度7-5队列,等全部调度完毕,才开始以DRR调度4-0。

——————————————————————————————————

2.4、WFQ调度

公平队列FQ(Fair Queuing)的目的是尽可能公平的分项网络资源,使所有流的延迟和抖动达到最优。

不同的队列获得公平的调度机会,总体上均衡各个流的延迟。短报文和长报文获得公平调度,如果不同队列间同时存在多个长报文和短报文等待发送。让短报文优先获得调度,总体上减少各个流的报文间的抖动。

与FQ相比,WFQ(Weighted Fair Queue)在计算报文调度次序时增加了优先权方面的考虑,从统计上,WFQ使高优先权的报文获得优先调度的机会多于低优先级的报文。

WFQ调度在报文入队列之前,先对流量进行分类,两种方式分类:

1、按流的会话信息分类

根据报文的协议类型、源和目的TCP或UDP端口号、源和目的IP地址,ToS域中的优先级位等自动进行分类,并且尽可能多的提供队列,以将每个流均匀的放入不同的队列中,从而在总体上均衡各个流的延迟,在出队列时,WFQ按流的优先级来分配每个流应占有的带宽。优先级越小,获得带宽越少,反之。这种方式只有CBQ的Default-class支持。

2、按优先级分类

通过优先级映射把流量标记为本地优先级,每个本地优先级对应一个队列号,每个接口预分配8个队列,报文根据队列号进入队列。默认,队列的WFQ权重相同,流量平均分配接口带宽。用户可以修改权重,高优先权和低优先权按权重比例分配带宽。

WFQ调度图

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_Qos llq_06,第6张

PQ+WFQ调度和PQ+WRR相似,采用PQ,低优先列队中报文长期得不到带宽,而单纯采用WFQ调度时对时延需求业务语音得不到优先调度。

PQ+WFQ调度

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_网络协议_07,第7张

在调度时,首先按照PQ方式优先调度7-5队列中报文流,只有这些队列报文全部调度完毕,才开始以WFQ方式调度4-0队列中的报文流。4-0队列包含自己的权值。

——————————————————————————————————

3、拥塞管理应用场景

拥塞管理可以实现对不同的业务按照不同的优先级进行调度,在QOS方案部署中比较常用。

在企业网络中,当共享同一网络的多种业务竞争相同的资源时,可能会产生拥塞,高优先级业务无法得到保证,此时用户可以为语音、视频和数据等多种不同业务标记不同的优先级,报文根据不同优先级进入不同队列的调度算法,实现业务的差分服务。

——————————————————————————————————

4、拥塞避免

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

两种丢弃报文方式:尾部丢包策略和WRED

1、传统的尾部丢包策略

传统的丢包策略采用尾部丢弃(Tail-Drop)的方法。当队列的长度达到最大值后,所有新入队列的报文(缓存在队列尾部)都将被丢弃。

这种丢弃策略会引发TCP全局同步现象,导致TCP连接始终无法建立。所谓TCP全局同步现象如图,三种颜色表示三条TCP连接,当同时丢弃多个TCP连接的报文时,将造成多个TCP连接同时进入拥塞避免和慢启动状态而导致流量降低,之后又会在某个时间同时出现流量高峰,如此反复,使网络流量忽大忽小。

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_Qos llq_08,第8张

2、WRED

为避免TCP全局同步现象,出现了RED(Random Early Detection)技术。RED通过随机地丢弃数据报文,让多个TCP连接不同时降低发送速度,从而避免了TCP的全局同步现象。使TCP速率及网络流量都趋于稳定。

Qos llq Qos llq占用其他队列,Qos llq Qos llq占用其他队列_Qos llq_09,第9张

流队列支持基于DSCP或IP优先级进行WRED丢弃。每一种优先级都可以独立设置报文丢包的上下门限及丢包率。当队列中报文的总长度达到丢弃的下限时,开始丢包。随着队列中报文总长度的增加,丢包率不断增加,最高丢包率不超过设置的丢包率。直至队列中报文的总长度达到丢弃的上限,报文全部丢弃。这样按照一定的丢弃概率主动丢弃队列中的报文,从而在一定程度上避免拥塞问题。

——————————————————————————————————

5、拥塞避免应用场景

拥塞避免可以在网络产生拥塞、或者拥塞加剧时,主动丢弃优先级较低的报文,调整网络流量,缓解网络压力,以保证高优先级报文正常通过。

当两个局域网用户需要通过广域网进行通信时,由于广域网带宽小于局域网的带宽,位于广域网和局域网之间的边缘交换机将发生拥塞,此时可以通过配置拥塞避免,主动丢弃优先级较低的报文(比如数据报文等),减少网络的拥塞,保证高优先级业务正常运行。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!