概述
QoS服务质量七交换机拥塞管理
- 4.2.3、交换机拥塞管理
- 4.2.3.1、WRR权重轮询队列技术
- 4.2.3.2、DRR差分轮询队列技术
- 4.2.3.3、MDRR修正差分轮询队列技术
- 4.2.3.4、WDRR加权差分轮询队列技术
- 4.2.3.5、PQ+WRR/PQ+WDRR调度
4.2.3、交换机拥塞管理
4.2.3.1、WRR权重轮询队列技术
WRR(Weight Round Robin,权重轮询)在队列之间进行轮流调度,根据每个队列的权重来调度各队列中的报文流。
主要解决RR不能设置权重的不足。 在轮询的时候,WRR 每个队列享受的调度机会和该队列的权重成比例。RR调度相当于权值为1的WRR调度。
WRR对于空的队列直接跳过,调度一周结束的时间变短,因此当某个队列的流量小的时候,剩余带宽能够被其他队列按照比例占用。
1、RR轮询队列循环调度机制
RR(Round Robin,循环调度),采用轮询的方式,对多个队列进行调度。RR 以环形的方式轮询多个队列。 如果轮询的队列不为空,则从该队列取走一个报文;如果该队列为空,则直接跳过该队列,调度器不等待。RR 调度各个队列之间没有优先级之分,都能够有相等的概率得到调度。
RR 调度的优点:隔离了不同的流,实现了队列之间对带宽的平等利用。
RR 调度的缺点是:所有队列无法体现优先级,对于延迟敏感的关键业务和非关键业务 无法得到区别对待,使得关键业务无法及时得到处理。
2、WRR权重轮询队列实现方法
为每个队列设置一个计数器 Count,根据权重进行初始化。
每次轮询到一个队列时,该队列输出一个报文且计数器减一。当计数器为 0 时停止调度该队列,但继续调度其他计数器不为 0 的队列。当所有队列的计数器都为 0 时,所有计数器重新根据权重初始化,开始新一轮调度。在一个循环中,权重大的队列被多次调度。
队列索引 | Q7 | Q6 | Q5 | Q4 | Q3 | Q2 | Q1 | Q0 |
---|---|---|---|---|---|---|---|---|
队列权值 | 4 | 2 | 5 | 3 | 6 | 4 | 2 | 1 |
第1轮调度 | Q7 | Q6 | Q5 | Q4 | Q3 | Q2 | Q1 | Q0 |
第2轮调度 | Q7 | Q6 | Q5 | Q4 | Q3 | Q2 | Q1 | - |
第3轮调度 | Q7 | - | Q5 | Q4 | Q3 | Q2 | - | - |
第4轮调度 | Q7 | - | Q5 | - | Q3 | Q2 | - | - |
第5轮调度 | - | - | Q5 | - | Q3 | - | - | - |
第6轮调度 | - | - | - | - | Q3 | - | - | - |
第7轮调度 | Q7 | Q6 | Q5 | Q4 | Q3 | Q2 | Q1 | Q0 |
第8轮调度 | Q7 | Q6 | Q5 | Q4 | Q3 | Q2 | Q1 | - |
第9轮调度 | Q7 | - | Q5 | Q4 | Q3 | Q2 | - | - |
在进行WRR调度时,设备根据每个队列的权值进行轮循调度。调度一轮权值减一权值减到零的队列不参加调度,当所有队列的权限减到0时,开始下一轮的调度。例如,用户根据需要为接口上8个队列(q7、q6、q5、q4、q3、q2、ql)指定的权值分为4、2、5、3、6、4、2和1。
根据权重比例调度
假设有三个队列工作且采用WRR调度方式,三个队列的权重比例分别为50%,25%,25%,按照权重比例调度,权重50%比例队列发送2个报文时,另外队列分别了一份报文。
3、WRR特点
(1).权重小的,延时很大,很久得不到轮询;
(2).以报文为单位,导致每个队列没有固定带宽,同等调度机会下大尺寸获得的带宽要大于小尺寸;
(3).每个队列都能得到带宽,不会饿死。
优点:
- 能够按照权重来分配带宽,某个队列的剩余带宽能够为其他队列公平占用,低优先级的队列同样能够得到调度,不存在饥饿的问题。
- 实现简单、复杂度低。
- 适合diffserv聚合后的端口。
缺点:
- 与RR调度算法一致,在报文长度不一致的时候,调度不准确。
- 在调度速率低的时候报文的时延控制的不好,时延抖动无法预期。
- 对于低时延业务无法保证及时调度。
4、配置案例
全局模式:
[LSW1] qos schedule-profile sp //创建全局调度模版sp
[LSW1-qos-schedule-profile-sp] qos queue 2 wrr weight 40 //队列2权重40。
[LSW1-qos-schedule-profile-sp] qos queue 5 wrr weight 60 //队列5权重60。
[LSW1-qos-schedule-profile-sp] quit
[LSW1] interface GigabitEthernet 0/0/3
[LSW1-GigabitEthernet0/0/3] qos schedule-profile sp //接口出方向应用WRR调度配置
[LSW1-GigabitEthernet0/0/3] quit
[LSW1] interface GigabitEthernet 0/0/1
[LSW1-GigabitEthernet0/0/1] trust 8021p //信任802.1p优先级
[LSW1-GigabitEthernet0/0/1] quit
[LSW1] interface GigabitEthernet 0/0/2
[LSW1-GigabitEthernet0/0/2] trust 8021p
查看接口GE0/0/3上基于队列的流量统计信息
<LSW1> display qos queue statistics interface GigabitEthernet 0/0/3
接口模式:
[LSW1] interface GigabitEthernet 0/0/3
[LSW1-GigabitEthernet0/0/3] qos wrr
[LSW1-GigabitEthernet0/0/3] qos queue 2 wrr weight 40
[LSW1-GigabitEthernet0/0/3] qos queue 5 wrr weight 60
4.2.3.2、DRR差分轮询队列技术
DRR(Deficit Round Robin,差分轮询)调度实现原理与 RR 调度基本相同。 DRR 与 RR 的区别是:RR 调度是按照报文个数进行调度,而 DRR 是按照报文长度进行调度。
DRR为每个队列设置一个计数器Deficit,Deficit初始化为一次调度允许的最大字节数,(假设为Quantum,一般为接口MTU)。每次轮询到一个队列时,如果报文长度小于Deficit,则该队列输出一个报文,且计数器Deficit减去报文长度。如果报文长度超过了Deficit,报文不被发送,Deficit值不变,继续调度下一个队列。每一次轮询之后,为每个队列加上Quantum,再开始新一轮调度。DRR调度避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。但是,DRR调度不能设置权重,且也具有低延时需求业务(如语音)得不到及时调度的缺点。
DRR调度避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。但是,DRR调度不能设置权重,且也具有低延时需求业务(如语音)得不到及时调度的缺点。
4.2.3.3、MDRR修正差分轮询队列技术
MDRR(Modified Deficit Round Robin,修正差分循环)是一种改良的DRR算法。MDRR和DRR实现类似,差别在于:MDRR调度允许Deficit出现负值,以保证长报文也能够得到调度。但下次轮循调度时该队列将不会被调度。当计数器为0或负数时停止调度该队列,但继续调度其他计数器为正数的队列。
MDRR修正差分循环调度:
假设某端口MTU=150Bytes,有2个队列Q1和Q2采用MDRR调度,Q1队列中有多个200Bytes的长报文,Q2队列中有多个100Bytes的短报文,则调度过程如下图:
经过第1~6轮MDRR调度,Q1队列被调出了3个200Bytes的报文,Q2队列被调出了6个100Bytes的报文。从长期的统计看,Q1和Q2的实际输出带宽比是1:1,为公平的比例。
与DRR相比,MDRR中拥有一个可以被优先服务的优先队列(Priority Queue)。这样可以保证特殊的队列的时延要求。也可以比较有效的分配带宽,是一种相对较好的调度算法。
4.2.3.4、WDRR加权差分轮询队列技术
WDRR(Weighted Deficit Round Robin,加权差分轮询)调度主要解决DRR不能设置权重的不足。DRR调度相当于权值为1的WDRR调度。调度实现原理与WRR调度基本相同。
WDRR调度与WRR调度的区别是:WRR调度是按照报文个数进行调度,而WDRR是按照报文长度进行调度。如果报文长度超过了队列的调度能力,WDRR调度允许出现负权重,以保证长报文也能够得到调度。但下次轮询调度时该队列将不会被调度,直到权重为正,该队列才会参与WDRR调度。
WDRR调度避免了采用PQ调度时发生拥塞的情况下队列饥饿的缺点,也避免了各队列报文长度不等或变化较大时,WRR调度不能按配置比例分配带宽资源的缺点。但是,WDRR调度也具有时延敏感业务(如语音)得不到及时调度的缺点。当所有参与WDRR调度的队列的权重相同时,WDRR调度与DRR调度效果相同。
WDRR加权差分轮询调度:
DWRR 为每个队列设置一个计数器 Deficit,Deficit 初始化为 WeightMTU。每次轮 询到一个队列时,该队列输出一个报文且计数器 Deficit 减去报文长度。当计数器 为 0 时停止调度该队列,但继续调度其他计数器不为 0 的队列。当所有队列的计数 器都为 0 时,所有计数器的 Deficit 都加上 WeightMTU,开始新一轮调度。
WDRR算法两个变量:配额(quantum)和余额(credit counter),配额代表权重,以字节为单位,是可配置的参数,余额用来表示配额的积累和消耗情况,是状态参数,不可配置。
配额= Weight*MTU Weight范围为0~127,Weight为0表示严格优先级。
初始状态下:余额=配额;
当队列每发送一个报文时:余额=配额-报文的字节数。
假设某端口MTU=150Bytes,有2个队列Q1和Q2采用DRR调度,Q1队列中有多个200Bytes的长报文,Q2队列中有多个100Bytes的短报文,Q1和Q2配置权重比为weight1:weight2=2:1。Q1的余额=2x150=300Bytes ;Q2的余额=1x150=150Bytes。则调度过程如下图:
从上图可以看出:
-
第一次调度
Deficit[1] 余额=weight1* MTU=300,Deficit[2]余额 = weight2* MTU=150,从Q1队列取出200Bytes报文发送,从Q2队列取出100Bytes发送;发送后,Deficit[1]余额 = 100,Deficit[2]余额 =50。 -
第二次调度
从Q1队列取出200Bytes报文发送,从Q2队列取出100Bytes发送;发送后,Deficit[1]余额= -100,Deficit[2]余额=-50。 -
第三次调度
此时两个队列都为负,因此,Deficit[1]余额 = Deficit[1]+weight1* MTU=-100+2150=200,Deficit[2]余额 = Deficit[2]+weight2 MTU=-50+1*150=100。
从Q1队列取出200Bytes报文发送,从Q2队列取出100Bytes发送;发送后,Deficit[1] = 0,Deficit[2] = 0。
经过第1~3轮WDRR调度,Q1队列被调出了3个200Bytes的报文,Q2队列被调出了3个100Bytes的报文。从长期的统计看,Q1和Q2的实际输出带宽比是2:1,与权重比相符。
WDRR调度避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点,也避免了各队列报文长度不等或变化较大时,WRR调度不能按配置比例分配带宽资源的缺点。
但是,WDRR调度也具有低延时需求业务(如语音)得不到及时调度的缺点。
4.2.3.5、PQ+WRR/PQ+WDRR调度
PQ调度和WRR/WDRR调度各有优缺点。单纯采用PQ调度时,低优先级队列中的报文长期得不到带宽,而单纯采用WRR/WDRR调度时低延时需求业务得不到优先调度,PQ+WRR/PQ+WDRR调度方式则将前两种调度方式结合起来,不仅能发挥两种调度的优势,而且能克服两种调度各自的缺点。
用户可以借助PQ+WRR/PQ+WDRR调度方式,将重要的协议报文和时延敏感业务报文放入采用PQ调度的队列中,并为该队列分配指定带宽;而将其他报文按各自的优先级放入采用WRR/WDRR调度的各队列中,按照权值对各队列进行循环调度。
交换机优先级映射的配置:
应用场景:不同网络中的报文使用不同的优先级字段,例如二层网络中的报文使用802.1p优先级,三层网络中的报文使用DSCP优先级。报文在进入设备时,设备将报文携带的优先级映射到内部服务等级和颜色,再根据服务等级和颜色对报文进行不同的QoS服务。报文在出设备时,设备可以根据内部服务等级和颜色重标记报文优先级,以便后续网络根据报文优先级进行服务。
1、配置端口优先级
[SW2] interface interface-type interface-number
配置端口优先级。
[SW2-GigabitEthernet0/0/0] port priority priority-value //缺省情况下,端口优先级为0。
当接口通过undo portswitch切换到三层模式后,不能配置端口优先级值,端口优先级值均为0。
2、配置DiffServ域
创建DiffServ域并进入DiffServ域视图。
[SW2] diffserv domain { default | ds-domain-name }
在接口入方向,将VLAN报文的802.1p优先级映射为PHB行为,并为报文着色
[SW2-dsdomain-ds1] 8021p-inbound 8021p-value phb service-class [ green | yellow | red ]
在接口出方向,将PHB行为/颜色映射为VLAN报文的802.1p优先级
[SW2-dsdomain-ds1] 8021p-outbound service-class { green | yellow | red } map 8021p-value
在接口入方向,将IP报文的DSCP优先级映射为PHB行为,并为报文着色
[SW2-dsdomain-ds1] ip-dscp-inbound dscp-value phb service-class [ green | yellow | red ]
在接口出方向,将PHB行为/颜色映射为IP报文的DSCP优先级
[SW2-dsdomain-ds1] ip-dscp-outbound service-class { green | yellow | red } map dscp-value
在接口入方向,将MPLS报文的EXP优先级映射为PHB行为,并为报文着色
[SW2-dsdomain-ds1] mpls-exp-inbound exp-value phb service-class [ color ]
在接口出方向,将PHB行为/颜色映射为MPLS报文的EXP优先级
[SW2-dsdomain-ds1] mpls-exp-outbound service-class color map exp-value
3、应用DiffServ域
[SW2] interface interface-type interface-number
在接口上绑定DiffServ域
[SW2-GigabitEthernet0/0/0] trust upstream { ds-domain-name | default | none } //none不做优先级映射
取消对接口出方向的报文进行PHB映射
[SW2-GigabitEthernet0/0/1] undo qos phb marking enable
4、内部优先级和队列之间的映射
配置内部优先级和队列之间的映射关系。
[SW2] qos local-precedence-queue-map local-precedence queue-index
5、检查优先级映射配置结果
查看DiffServ域的配置信息。
[SW2] display diffserv domain [ all | name ds-domain-name ]
PQ+WDRR调度:
1、进入接口视图。
[RA] interface interface-type interface-number
2、配置端口队列的调度方式。
-
配置端口队列调度方式为PQ、WRR或WDRR。
[RA-GigabitEthernet0/0/0] qos { pq | wrr | drr } -
配置端口队列调度方式为PQ+WRR或PQ+WDRR。
[RA-GigabitEthernet0/0/0] qos { pq { start-queue-index [ to end-queue-index ] } &<1-8> | { wrr | drr } { start-queue-index [ to end-queue-index ] } &<1-8> } * -
PQ+WRR时指定端口队列WRR调度的权值。
[RA-GigabitEthernet0/0/0] qos queue queue-index wrr weight weight -
PQ+WDRR时指定端口队列WDRR调度的权值。
[RA-GigabitEthernet0/0/0] qos queue queue-index drr weight weight
3、检查配置结果:
查看指定接口上所有的QoS配置信息。
[RA] display qos configuration interface [ interface-type interface-number ]
查看接口上基于队列的流量统计信息。
[RA] display qos queue statistics interface interface-type interface-number [ queue queue-index ]
综合案例:
参考:S7700 V200R021C10 配置指南-QoS
https://support.huawei.com/enterprise/zh/doc/EDOC1100247678/7e29c35d
最后
以上就是自然纸飞机为你收集整理的QoS服务质量七交换机拥塞管理4.2.3、交换机拥塞管理4.2.3.1、WRR权重轮询队列技术4.2.3.2、DRR差分轮询队列技术4.2.3.3、MDRR修正差分轮询队列技术4.2.3.4、WDRR加权差分轮询队列技术4.2.3.5、PQ+WRR/PQ+WDRR调度的全部内容,希望文章能够帮你解决QoS服务质量七交换机拥塞管理4.2.3、交换机拥塞管理4.2.3.1、WRR权重轮询队列技术4.2.3.2、DRR差分轮询队列技术4.2.3.3、MDRR修正差分轮询队列技术4.2.3.4、WDRR加权差分轮询队列技术4.2.3.5、PQ+WRR/PQ+WDRR调度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复