在Catalyst6000h上进行输出调度(3)
添加时间: 2007-9-20 20:17:26 作者: Cisco介绍 阅读次数:17 来源: http://www.d9soft.com
对于该队列,阈值的配置以及CoS的分配无法在逐个端口进行。所有变化都应用于一组相邻的端口:
千兆线路卡的四个端口:端口1至端口4是一组,端口5至端口8是另一组
10/100端口或者100光纤端口的12个端口:1到12、13到24、25到36、36到48
监控输出调度以及配置检验
对于某个和输出调度相关的端口,检验当前运行时间配置的最简单的命令是show queueing interface [ gig fast eth] [ slot/port]命令。该命令显示端口上的队列类型、CoS到不同队列和阈值的映射、缓冲共享以及WRR加权(在这里,队列1为20% WRR,队列2为80% WRR)。该命令显示输出调度的所有配置信息,以及每个队列的每个阈值所丢充的数据包数量:
cosmos#show queueing int gig 1/1
Interface GigabitEthernet1/1 queueing strategy: Weighted Round-Robin
Port QoS is enabled
Port is untrusted
Default COS is 0
Transmit queues [type = 1p2q2t]:
Queue Id Scheduling Num of thresholds
-----------------------------------------
1 WRR low 2
2 WRR high 2
3 Priority 1
WRR bandwidth ratios: 20[queue 1] 80[queue 2]
queue-limit ratios: 70[queue 1] 15[queue 2]
queue random-detect-max-thresholds
----------------------------------
1 50[1] 80[2]
2 40[1] 60[2]
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
2 1 4 6
2 2 7
3 1 5
Receive queues [type = 1p1q4t]:
Queue Id Scheduling Num of thresholds
-----------------------------------------
1 Standard 4
2 Priority 1
queue tail-drop-thresholds
--------------------------
1 100[1] 100[2] 100[3] 100[4]
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
1 3 4
1 4 6 7
2 1 5
Packets dropped on Transmit:
BPDU packets: 0
queue thresh dropped [cos-map] --------------------------------------------------- 1 1 0 [0 1 ] 1 2 0 [2 3 ] 2 1 0 [4 6 ] 2 2 0 [7 ] 3 1 0 [5 ] Packets dropped on Receive: BPDU packets: 0 queue thresh dropped [cos-map] --------------------------------------------------- 1 1 0 [0 1 ] 1 2 0 [2 3 ] 1 3 0 [4 ] 1 4 0 [6 7 ] 2 1 0 [5 ]
输出调度实例
Catalyst 6000中产生以下流量:
在千兆端口1/2:一千兆流量,优先值为零
在千兆端口5/2:
133 M流量 优先值为七
133 M流量 优先值为六
133 M流量 优先值为五
133 M流量 优先值为四
133 M流量 优先值为三
133 M流量 优先值为二
133 M流量 优先值为一
所有单点发送业务从交换机每个千兆端口1/1中出口,且出现超量预订。
[page]
实例1:启用了QoS并使用了缺省参数
本例中的所有输出通过show int queueing int gig 1/1命令进行配置。该命令提供了输入调度的其它信息。但是本文仅说明输出调度,该输出被删节。
想一想如果QoS全面启用且几分钟后使用所有默认参数,会发生什么:
nelix#show queueing int gig 1/1
Interface GigabitEthernet1/1 queueing strategy: Weighted Round-Robin
Port QoS is enabled
Trust state: trust DSCP
Default cos is 0
Transmit queues [type = 1p2q2t]:
Queue Id Scheduling Num of thresholds
-----------------------------------------
1 WRR low 2
2 WRR high 2
3 Priority 1
WRR bandwidth ratios: 100[queue 1] 255[queue 2]
queue-limit ratios: 90[queue 1] 5[queue 2]
queue random-detect-max-thresholds
----------------------------------
1 40[1] 100[2]
2 40[1] 100[2]
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
2 1 4
2 2 6 7
3 1 5
Packets dropped on Transmit:
BPDU packets: 0
queue thresh dropped [cos-map]
---------------------------------------------------
1 1 149606424 [0 1 ]
1 2 0 [2 3 ]
2 1 16551394 [4 ]
2 2 4254446 [6 7 ]
3 1 0 [5 ]
从上面的输出可看出默认值包括:
队列1的WRR加权:100/(100+255)= 28%
队列2的WRR加权:255/(255+100)= 72%
缓冲共享:队列1得到90%,队列2得到5%,绝对优先队列得到5%
低优先级WRR队列中的大部分数据包被丢弃,但仍有一些因为双重阈值插入在高优先级WRR队列中。总共有(149606424 + 16551394 + 4254446)= 170412264个数据包被丢弃。这些丢弃的数据包按以下方式分布:
149606424/170412264 = 88%丢弃在队列1(CoS 0 和1的第一阈值数据包)
16551394/170412264 = 10%丢弃在队列1(CoS 4的第一阈值数据包)
4254446/170412264 = 2%丢弃在队列2(CoS 6或7的第二阈值数据包)
注意: 绝对优先队列中没有看到丢弃。
实例2:修改WRR加权
如前面的例子所示,队列2中的数据包仍然被丢弃。修改WRR加权向队列2提供更多带宽。现在队列1将清出4%的时间,队列2将清出96%的时间:
show run int gig 1/1
interface GigabitEthernet1/1
no ip address
wrr-queue bandwidth 10 255
mls qos trust dscp
switchport
switchport mode access
end
nelix#show queueing int gig 1/1
Interface GigabitEthernet1/1 queueing strategy: Weighted Round-Robin
Port QoS is enabled
Trust state: trust DSCP
Default cos is 0
Transmit queues [type = 1p2q2t]:
Queue Id Scheduling Num of thresholds
-----------------------------------------
1 WRR low 2
2 WRR high 2
3 Priority 1
WRR bandwidth ratios: 10[queue 1] 255[queue 2]
queue-limit ratios: 90[queue 1] 5[queue 2]
queue random-detect-max-thresholds
----------------------------------
1 40[1] 100[2]
2 40[1] 100[2]
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
2 1 4
2 2 6 7
3 1 5
Packets dropped on Transmit:
BPDU packets: 0
一条话音流从10M以太网端口进入。
一条FTP流从1千兆以太网的上行链路进入。
两个业务流通过同一个输出端口离开交换机。本例说明当没有使用输出调度时可能发生的情况。所有大型数据包可能在两个话音数据包之间交织,在从同一业务流中接收话音数据包时产生抖动。当交换机传送大型数据包时,接收数据包1以及数据包N+1之间,存在一个更大的延迟。但是,N+1和N+2之间的延迟可以忽略不计。这导致了话音业务流中的抖动。可以通过使用绝对优先队列轻而易举地避免该问题的发生。请确保话音数据包的CoS值映射至绝对优先队列。
结论
在本文中,通过对几个实例的研究,您已经了解到在运行混合模式的Catalyst 6000上如何对输出队列调度进行配置以及如何进行故障排除。您还看到在支持话音业务的大部分 网络 中,使用输出调度有以下好处:
在输出端口产生超量预订的情况下,可以避免重要业务被丢弃。
减少延迟。
减少抖动。
上一篇文章: 在Catalyst6000h上进行输出调度(2) 下一篇文章:
相关文章:
相关软件:

