Aug 25, 2009

Switch QoS: Queuing on the 2950 platforms

今天在教QoS進行Lab設定時發現了一件事,那就是Cat.2950 Switch的AutoQoS產生的config竟然跟課本內容不相同(上次教學時還沒有發現這個問題),因此上網找了一份資料供各位參考,原來是新版IOS修改了預設的template,因此會產生跟課本不一樣的結果,以下是我在網路上找到的一篇參考資料,內容寫得很詳實,可以讓各位更加了解wrr-queue的使用方式:


Dennis Hartmann

Switch QoS: Queuing on the 2950 platforms

By Dennis Hartmann on Thu, 06/11/09 - 4:53pm.http://www.networkworld.com/community/node/42627

The QoS SRND does a very good job of explaining the queuing configuration of the most popular switch platforms. I will discuss these switch platforms in this blog and the references section of this documents will include the direct links to the switch related queuing configuration section.

The 2950 EI (enhanced image) switch supports QoS, while the 2950 SI (standard image) does not. If the 2950 switch includes Gigabit Ethernet uplinks, the switch is an EI switch and supports QoS. The 2950 EI image does not include QoS support. QoS support is integrated in the hardware (ASIC) of the switch. An IOS upgrade will not bring QoS support to this switch. The 2950 supports a 1P3Q1T output only queuing architecture in which QoS processing is turned on by default. The 2950 is the only switch I know of that has QoS turned on by default. The 2950 has a 4 transmit (output) queue architecture with no WRED support. The queue architecture is represented as 4Q1T (4 queues, one threshold to drop traffic). The 1T nomenclature is very confusing because there are 6500 series line card that represent 1T as one threshold which congestion avoidance (WRED) will use to determine when the queue will drop lower priority traffic. The 4Q1T architecture of the 2950 switch can be converted to a 1P3Q1T architecture by turning on the priority queue (PQ). The priority queue on the 2950 is turned on differently based on the version of native IOS on the router.

Older versions of auto QoS performed the following configuration on the 2950 switch:

wrr-queue bandwidth 20 1 80 0
no wrr-queue cos-map
wrr-queue cos-map 1 0 1 2 4
wrr-queue cos-map 3 3 6 7
wrr-queue cos-map 4 5

The wrr-queue bandwidth command can be confusing because it looks like a long string of numbers. Each number relates to the amount of resources the weighted round robin (WRR) scheduler will associate with each queue. The bandwidth is carved up as follows during congestion:

Queue 1 - 20%
Queue 2 – 1%
Queue 3 – 80%
Queue 4 – 0 turns on the priority queue.

The numbers that appear in this command are not percentages. 20 represents the numerator in a fraction, while the denominator is the sum of all values used for all queues. If the sum of all the queues equal 100, each variable will represent a percentage. The priority (expedite) queue is a strict priority scheduler. The priority queue will be serviced until it is empty. The default CoS to queue mappings covered in an earlier blog is turned off with the no wrr-queue cos-map command. Each wrr-queue cos-map command relates one or more markings to a queue. The first number used in the string of numbers is the queue number, while each subsequent number represents the CoS value. Notice that no traffic was mapped to queue 2 in early versions of auto QoS.

Cisco IOS 12.1(20)EA2 generates a different auto qos policy that aligns to the current QoS SRND recommendations.

wrr-queue bandwidth 10 20 70 1
no wrr-queue cos-map
wrr-queue cos-map 1 0 1
wrr-queue cos-map 2 2 4
wrr-queue cos-map 3 3 6 7
wrr-queue cos-map 4 5

Notice that the newer version of autoqos use queue 2 and the nomenclature to turn queue 4 into a priority queue has changed. The value of 1 makes the configuration of the 2950 consistent with the other Cisco switch platforms.

In the next blog, I will explain the various recommended Cisco markings and continue the switch congestion management (queuing) conversation.

REFERENCES
2950 and 2955 QoS Configuration Guide - 12.1(20)EA2
http://www.cisco.com/en/US/docs/switches/lan/catalyst2950/software/relea...

2950 and 2955 QoS Configuration Guide - 12.1(20)EA2
http://www.cisco.com/en/US/docs/switches/lan/catalyst2950/software/relea...