qid-weights
1 - 25
2 - 25
3 - 25
4 - 25
如果启用了快速优先级队列,Q4的权值仅在快速队列失效时使用。
看下面的示例:
NifNif#sh mls qos interface gig 0/1 queueing
GigabitEthernet0/1
Egress expedite queue: ena
wrr bandwidth weights:
qid-weights
1 - 25
2 - 25
3 - 25
4 - 25
!--- The expedite 队列 is disabled.
Catalyst 3550 交换机的WRED
3550 家族交换机中,只有千兆端口支持WRED。 WRED是RED的修正
版本,用来避免拥塞的发生。RED定义了如下的参数:
min-threshold(最小限度): 描述了一个队列内的限制,无包被归于低于该限度
max-threshold(最大限度): 描述了队列的另一个限制。所有包被归于高于最大限度。
slope(斜率): 介于最大和最小值之间的丢包概率。随队列大小的变化,丢包率将按照一定的斜率增加。
下图表示了在RED队列中的丢包率。注意,所有的Catalyst 交换机都允许采用可调的斜率来执行RED。
在WRED中,不同的服务是通过加权方式工作的。你可以定义一个标准的服务和一个高级的服务。每个服务被分配不同的极限。当达到最小极限1时,只有被标示为标准服务的包会被丢弃。当达到最小极限2时,仅高级服务的数据包将会被丢弃。如果最小极限值2高于1,被丢弃的包中,普通服务的数量高于高级服务。下图显示了WRED 中每个应用服务的可能的丢包率。
3550交换机不允许调节最小限度,仅允许调节最大限度。最小限度被固定为0。下图给出了一个3550交换机上普遍实现的丢包率。
3550交换机上的任何激活的队列通常有一个非零的丢包率,而总是有部分数据包被丢弃。这是因为最小极限值总是为0。若要避免丢包率达到最大值,最好采用加权尾部数据丢弃的方式,下一节将进行描述。
注意: 关于配置最小极限值的一些增强性需求,参考下面文档:Bug ID CSCdz73556.
要了解关于该BUG的更多信息,需要使用到Bug Toolkit。
3550交换机上,WRED可以被配置成两种不同的最大极限值,以提供两种不同的服务。
不同类型的数据流根据各自的内部服务代码要点区分(Differentiated Services Code Points DSCPs)被标识为各自的极限值。这有别于根据数据包的服务类别(CoS)来划分的队列标识。DSCP与极限列表的映射关系决定64个DSCPs 中各自对应的极限值。
使用下面的命令,可以显示及更改该列表:
(config-if)# wrr-queue dscp-map threshold_number DSCP_1 DSCP_2 DSCP_8
例如,下面的命令表示了DSCP 23 对应于极限值 2:
NifNif(config-if)#wrr-queue dscp-map 2 26
NifNif#sh mls qos int gig 0/1 queue
GigabitEthernet0/1
Dscp-threshold map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 01 01 01 01 01 01 01 01 01 01
1 : 01 01 01 01 01 01 02 01 01 01
2 : 01 01 01 01 02 01 02 01 01 01
3 : 01 01 01 01 01 01 01 01 01 01
4 : 02 01 01 01 01 01 02 01 01 01
5 : 01 01 01 01 01 01 01 01 01 01
6 : 01 01 01 01
一旦定义了DSCP与极限值的映射关系, 你所选择的队列的WRED 将会被激活。
使用下面的命令:
(config-if)# wrr-队列 random-detect max-thresold 队列_id Threshold_1 Threshold_
下例显示了Q1队列分别被配置为极限值1 = 50% 及极限值 2 = 100%, 以及极限值 1 = 70% 和极限值 2 = 100%的情况。
3550(config)# interface gigabitethernet0/1
3550(config-if)# wrr-queue random-detect max-threshold 1 50 100
3550(config-if)# wrr-queue random-detect max-threshold 2 70 100
3550(config-if)# wrr-queue random-detect max-threshold 3 50 100
3550(config-if)# wrr-queue random-detect max-threshold 4 70 100
可以通过下面的命令来验证每个队列的类型(WRED或其他):
nifnif#sh mls qos int gi 0/1 buffers
GigabitEthernet0/1 ..
qid WRED thresh1 thresh2
1 dis 10 100
2 dis 10 100
3 ena 10 100
4 dis 100 100
ena 表示enable,队列使用WRED方式。 dis 表示 disable,Tail Drop(tail drop)方式 。
使用下面命令可以监视在每个极限值下丢弃的包的数量。
sh mls qos int gig x/x stat
WRED drop counts:
qid thresh1 thresh2 FreeQ
1 : 327186552 8 1024
2 : 0 0 1024
3 : 37896030 0 1024
4 : 0 0 1024
队列使用