Previous chapters described the necessity for QoS in campus networks and the fundamentals behind QoS operation. This chapter explains the various platform QoS features available across the Cisco Catalyst product family. A group of concise tables in the beginning of this chapter provides a quick reference for QoS features available for each Catalyst platform. In addition, this chapter, along with subsequent chapters, begins the product tour of the access layer Catalyst switches with the fewest QoS features and continues with the high-end core Catalyst switches with industry-leading QoS features. Although the access layer switches support only a few QoS features, these switches provide an excellent foundation for exploring QoS fundamentals in the campus network.
Specifically, this chapter covers the following topics:
Brief PerCatalyst Platform QoS Features Table
QoS Features Overview
QoS Features on the Catalyst 2900XL and 3500XL Switches
QoS Features on the Catalyst 4000 CatOS Switches
The Cisco Catalyst 2900XL, 3500XL, and 4000 Family of switches share Layer 2 QoS features needed on access layer switches. These features include the following:
Classification
Marking
Congestion Management
This chapter covers these topics on the respective platforms with command references, examples, and case studies. Upon completion of this chapter, you will understand each Catalyst platform's supported QoS features and be able to configure the Catalyst 2900XL, 500XL, and 4000 CatOS Family of switches for packet classification, marking, and congestion management.
From a platform perspective, the Catalyst 4000 CatOS Family of switches must be distinguished from the Catalyst 4000 Cisco IOS Family of switches due to individual differences in QoS features and configuration. The supervisor engine model determines whether a Catalyst 4000 switch operates on CatOS or Cisco IOS. In addition, the Catalyst 4000 Layer 3 services module also has exclusive Layer 3 QoS features (discussed in Chapter 7, "Advanced QoS Features Available on the Catalyst 4000 IOS Family of Switches and the Catalyst G-L3 Family of Switches"). This chapter is only applicable to the Catalyst 4000 CatOS switches. Table 3-8 shows which Catalyst 4000 switches are applicable to this chapter.
Catalyst Feature Overview
Cisco Catalyst switches support a wide range of QoS features. Generally, the high-end platforms support more QoS features especially platforms that support Layer 3 IP routing. Tables 3-1 through 3-5 provide a quick reference for QoS features for each platform. All platforms may have limitations and caveats per feature, and each QoS feature is discussed in the appropriate chapter of this book in additional detail.
Furthermore, QoS features are also dependent on whether the platform supports IP routing. The Catalyst 3550, Catalyst 4000 Cisco IOS Software family, Catalyst 5500 with Route Switch Module (RSM) or Router Switch Feature Card (RSFC), and the Catalyst 6000/6500 with Multilayer Switch Module (MSM) or Multilayer Switch Feature Card (MSFC) I/II support IP routing. Other platforms may support Layer 3 QoS features, such as classification based on differentiated services codepoint (DSCP) and marking of IP precedence; however, these platforms do not actually support routing of IP frames. As a result, network designs do not require platforms that support IP routing to classify, mark, police, or schedule traffic based on DSCP or IP precedence values. Therefore, network designers may choose lower-cost switches that do not support IP routing to enable Layer 3 QoS features.
The next sections provide quick reference tables for supported QoS features per platform. The tables only provide a glimpse into QoS feature support of each platform and do not indicate the benefits or restrictions of each feature. Refer to the appropriate chapters later in this book for thorough discussions of QoS feature support on each platform.
Specifically, the next sections highlight the following QoS features supported on each platform:
Input Scheduling
Policing
Classification and Marking
Output Scheduling
Table 3-1 indicates at a simplistic level, QoS feature support on a per-platform basis for most of the currently shipping Catalyst switches. The table only indicates at the fundamental level where a feature is supported and does not indicate the restrictions or caveats.
Table 3-1 QoS Feature Overview on Current Catalyst Switches
|
Product Family |
Classification |
Marking |
Policing |
Congestion Management |
Congestion Avoidance |
|
2950 |
Yes |
Yes |
Yes |
Yes |
No |
|
3550 |
Yes |
Yes |
Yes |
Yes |
Yes |
|
4000 IOS Family |
Yes |
Yes |
Yes |
Yes |
No |
|
6500 Family |
Yes |
Yes |
Yes |
Yes |
Yes |
Input Scheduling
Input scheduling is currently available only on the Catalyst 6000/6500. Input scheduling priorities and schedules packets out of ingress packet queues based on several QoS values including CoS and DSCP. However, most of Catalyst switches can deliver packets to the switching fabric at line rate or a specified rate. This specific rate defines the maximum throughput of the switch. If the input rate is not exceeded, input scheduling is not crucial in implementing QoS architecture. Furthermore, ingress policing is an option on many Catalyst switches that aids in preventing oversubscription of the switch fabric by limiting ingress traffic. Table 3-2 summarizes Catalyst platform support for input scheduling. The Comments column also denotes any switch capable of ingress policing.
Table 3-2 Catalyst Platform QoS Input Scheduling Support
|
Catalyst Switch |
Input Scheduling |
Ingress Policing |
Comments |
|
Catalyst 2900XL |
No |
No |
Switching fabric is capable of 1.6 Gbps ingress. |
|
Catalyst 2948G-L3/ 4912G-L3/4232-L3 |
No |
Yes |
|
|
Catalyst 2950 |
No |
Yes |
|
|
Catalyst 3500XL |
No |
No |
Switching fabric is capable of 5.0 Gbps ingress. |
|
Catalyst 3550 |
No |
Yes |
|
|
Catalyst 4000 CatOS Family |
No |
No |
Nonblocking line cards can deliver ingress traffic at line rate to switching fabric |
|
Catalyst 4000 Cisco IOS Family (Supervisor III and IV) |
No |
Yes |
Non-blocking linecards can deliver ingress traffic at line rate to switching fabric. |
|
Catalyst 5500 |
No |
No |
|
|
Catalyst 5500 w/NFFC1 II |
No |
No |
|
|
Catalyst 6000/6500 |
Yes |
Yes |
Based on Layer 2 CoS2; option for ingress Priority Queue. |
Classification and Marking
Classification and marking support and features vary per switch. Table 3-3 indicates which platforms support specific classification and marking features. All switches that support QoS also support classification based on CoS values. Current generation switches that support IP routing also support classification and marking using IP precedence or DSCP values in addition to classification and marking of CoS values.
Table 3-3 Catalyst Platform QoS Classification and Marking Support
|
Catalyst Switch |
Classification Marking of Untagged Frames |
Marking CoS on Tagged Frames |
Marking DSCP on Tagged Frames |
Classification Based on DSCP of Ingress Frames |
|
Catalyst 2900XL |
Yes |
No |
No |
No |
|
Catalyst 2948G-L3/4912G-L3/4232-L3 |
No |
No |
No |
No, IP precedence only |
|
Catalyst 2950 |
No, IP precedence only |
Yes |
Yes |
Yes |
|
Catalyst 3500XL |
Yes |
Yes, on specific models |
No |
No |
|
Catalyst 3550 |
Yes |
Yes |
Yes |
Yes |
|
Catalyst 4000 CatOS Family |
Yes |
Yes |
No |
No |
|
Catalyst 4000 Cisco IOS Family (Supervisor III and IV) |
Yes |
Yes |
Yes |
Yes |
|
Catalyst 5500 |
Yes, requires NFFC II |
Yes, requires NFFC II |
Yes, requires NFFC II |
Yes, requires NFFC II |
|
Catalyst 6500 |
Yes |
Yes |
Yes |
Yes |
Policing
Table 3-4 indicates which Catalyst platforms support policing. Feature support and platform implementation of policing varies between each Catalyst switch. Three types of policing exist for Catalyst platforms:
Individual policing
Aggregate policing
Microflow policing
Individual policing applies the bandwidth limit of a policer per interface. For example, an individual policer configured to constrain ingress traffic to 32 kbps limits each applicable interface to 32 kbps on ingress. An aggregate policer configured for the same bandwidth constraint limits the bandwidth collectively among all interfaces. Microflow policing is available on the Catalyst 6500, and it applies bandwidth limits to each access-control entry (ACE) of a defined policer. Chapter 8, "QoS Support on the Catalyst 6500," discusses ACEs and microflow policing in more detail.
Each platform has unique support, restrictions, and requirements surrounding policing. Refer to each product chapter for specifics.
Table 3-4 Catalyst Platform QoS Policing Support
|
Cisco Catalyst Platform |
Ingress Policing |
Egress Policing |
Individual Policing |
Aggregate Policing |
Microflow Policing |
|
Catalyst 2900XL |
No |
No |
No |
No |
No |
|
Catalyst 2948G-L3/4912G-L3/4232-L3 |
Yes, per-port rate-limiting |
Yes, per port rate-limiting and traffic shaping |
No |
No |
No |
|
Catalyst 2950 |
Yes |
No |
Yes |
No |
No |
|
Catalyst 3500XL |
No |
No |
No |
No |
No |
|
Catalyst 3550 |
Yes |
Yes |
Yes |
Yes |
No |
|
Catalyst 4000 CatOS Family |
No |
No |
No |
No |
No |
|
Catalyst 4000 Cisco IOS Family (Supervisor III and IV) |
Yes |
Yes |
Yes |
Yes |
No |
|
Catalyst 5500 w/NFFC II |
No |
No |
No |
No |
No |
|
Catalyst 6500 |
Yes |
No |
No |
Yes |
Yes |
Congestion Management
Congestion management is supported on all Catalyst switches that support QoS features. Congestion avoidance and management is achieved via the use of output scheduling using the tail-drop and Weighted Random Early Detection (WRED) queuing mechanisms. Chapter 2, "End-to-End QoS: Quality of Service at Layer 3 and Layer 2," explains the difference between congestion management and congestion avoidance, and later chapters explain the tail-drop and WRED queuing mechanisms in the congestion avoidance section of each chapter where applicable. Moreover, only the Catalyst 3550, Catalyst 4000 IOS Family of switches, and the Catalyst 6500 support congestion avoidance.
The nomenclature for output scheduling queues is a follows:
XpYqZt
X indicates the number of strict-priority queues.
Y indicates the number of queues other than strict-priority queues.
Z indicates the configurable thresholds per queue.
For example, 1p3q2t indicates that a switch has an egress output queue with one strict-priority queue and three normal-priority queues each with two configurable thresholds per queue.
Table 3-5 indicates the available output queues per platform.
Table 3-5 Catalyst Platform Congestion Management Support
|
Cisco Catalyst Platform |
Output Scheduling |
Scheduling Queues |
|
Catalyst 2900XL |
Yes |
Global 2q1t |
|
Catalyst 2948G-L3/4912G-L3/4232-L3 |
Yes |
4q |
|
Catalyst 2950 |
Yes |
4q |
|
Catalyst 3500XL |
Yes |
Global 2q1t |
|
Catalyst 3550 |
Yes |
1p3q2t, 4q4t |
|
Catalyst 4000 CatOS Family |
Yes |
2q1t |
|
Catalyst 4000 Cisco IOS Family (Supervisor III and IV) |
Yes |
1p3q1t, 4q1t |
|
Catalyst 5500 w/NFFC II |
Yes |
1q4t |
|
Catalyst 6500 |
Yes |
Ingress: 1q4t, 1p1q4t, 1p1q, 1p2q1t Egress: 2q2t, 1p2q2t, 1p3q1t, 1p2q1t, 1p1q8t, and 1p1q0t |
Material Presentation for Catalyst Switching Platforms
Figure 3-1 shows the general QoS packet-flow architecture for Cisco Catalyst switches. The architecture presents only the standard model for QoS features on each Catalyst platform. However, support for each feature of the architecture is platform dependent and varies significantly for each Catalyst switch.
Figure
3-1 General Catalyst QoS Packet-Flow Architecture
For each Catalyst platform, this book discusses QoS features using the following flowchart:
QoS Architecture Overview
Input Scheduling
Classification and Marking
Policing
Congestion Management and Avoidance
Sample Configurations and Case Studies
Summary
As indicated in the Tables 3-1 through 3-5, not every Cisco Catalyst platform supports all the QoS components and features. For those platforms, the QoS component is omitted or discussed as an unsupported feature. Chapter 10, "End-to-End QoS Case Studies," concludes with comprehensive case studies using several Cisco Catalyst switches and QoS features.
QoS Support on the Catalyst 2900XL and 3500XL
Specific models of the Catalyst 2900XL and 3500XL support QoS classification and congestion management. Ingress packet CoS values and configured port priorities exclusively determine classification of ingress frames for placement into either a low-priority or high-priority global transmit queue. The two global transmit queues with priority scheduling create the congestion management mechanism. The following sections discuss these QoS features with detailed overviews, configuration guidelines, and examples.
Catalyst 2900XL Product Family Delineation
QoS support on the Catalyst 2900XL and 3500XL platforms is software and model dependent. For the 2900XL, the original-edition models do not support QoS features, including the uplink modules for the Catalyst 2916M. All standard- and enterprise-edition models do support QoS features. Table 3-6 indicates which 2900XL models support QoS features. All models of the 3500XL support QoS features. In addition, the Catalyst 3524XL-PWR-XL and the 3548XL support CoS reclassification. This QoS feature is not available on other 3500XL platforms.
Table 3-6 QoS Support by Model of 2900XL
|
Catalyst 2900XL/3500XL Model |
Description |
QoS Support |
|
WS-C2908-XL |
8-port 10/100BASE-TX switch |
No |
|
WS-C2912-XL-A/EN |
12-port 10/100BASE-TX switch |
Yes |
|
WS-C2912MF-XL |
12-port 100BASE-FX switch |
Yes |
|
WS-C2916M-XL |
16-port 10/100BASE-TX switch + 2 uplink slots |
No |
|
WS-C2924-XL |
24-port 10/100BASE-TX switch |
No |
|
WS-C2924C-XL |
22-port 10/100BASE-TX + 2-port 100BASE-FX switch |
No |
|
WS-C2924-XL-A/EN |
24-port 10/100BASE-TX switch |
Yes |
|
WS-C2924C-XL-A/EN |
22-port 10/100BASE-TX switch + 2-port 100BASE-FX switch |
Yes |
|
WS-C2924M-XL-A/EN |
24-port 10/100BASE-TX switch + 2 uplink slots |
Yes |
|
WS-C2924M-XL-EN-DC |
24-port 10/100BASE-TX switch + 2 uplink slots (DC power) |
Yes |
Catalyst 2900XL and 3500XL QoS Architectural Overview
The Catalyst 2900XL and 3500XL switches are limited to QoS features that suit access layer switches. These features include classification, marking, and congestion management via the use of output scheduling. Because of these features, the 2900XL and 3500XL fit well into an end-to-end QoS design with core switches. Figure 3-2 shows a sample network deploying access layer QoS features with comprehensive QoS features in the core.
Figure
3-2 Network Topology Using Catalyst 3524XLs
Figure 3-3 shows the basic QoS architecture model for the Catalyst 2900XL and 3500XL discussed in the following sections.
Figure
3-3 Basic QoS Architecture for the Catalyst 2900XLs and 3500XLs
Switches
Software Requirements
For QoS feature support, the 2900XL and 3500XL require Cisco IOS Software Release 12.0(5)XP or higher. The 3524-PWR-XL and the 3548XL require 12.0(5)XU or higher for the reclassification of class of CoS values in frames.
Input Scheduling
The Catalyst 2900XL and 3500XL do not perform input scheduling as ingress packets are immediately copied to a global, shared memory buffer. As long as the packet-forwarding rate of the switch is not exceeded, input congestion is not critical to implementing QoS. The packet-forwarding rates of the Catalyst 2900XL and the Catalyst 3500XL are 1.6 Gbps and 5.0 Gbps, respectively.
Classification/Reclassification
The Catalyst 2900XL and 3500XL switches both support classification of untagged frames. Two models of the Catalyst 3500XL switch, the Catalyst 3524-PWR-XL and the Catalyst 3548XL switches, support marking of ingress tagged frames. Classification and marking is configurable only on a per-port basis, and each port may be configured with a unique CoS value to be classified.
To configure a Catalyst 2900XL and 3500XL for classification or marking of frames, use the following interface command:
switchport priority {default default-priority-id | extend {cos value | none |
trust} | override}
The default-priority-id parameter is the CoS value to be assigned to untagged ingress frames.
The extend option is to configure the 802.1p trust configuration of the connected appliance on the P1 port of the IP Phone. For example, a Cisco IP Phone can be configured to trust or reclassify frames received on its P1 port.
The override option is used to mark tagged frames with the default-priority-id. Only the Catalyst 3524-PWR-XL and the Catalyst 3548XL switches support this marking feature.
Example 3-1 shows a Catalyst 3548XL switch port configured to classify untagged frames with a CoS value of 2.
Example 3-1 Catalyst 3548XL Switch Port Configured to Classify Untagged Frames
Switch#show running-config Building configuration... Current configuration: (text deleted) ! interface FastEthernet0/48 switchport priority default 2 spanning-tree portfast (text deleted) end
Example 3-2 shows a Catalyst 3524-PWR-XL switch port configured for a voice VLAN. In Cisco IOS Software Release 12.0.x, voice VLAN ports must be configured as trunk ports.
Example 3-2 Catalyst 3548XL Switch Port for Voice VLANs
Switch#show running-config Building configuration... Current configuration: (text deleted) ! interface FastEthernet0/24 switchport trunk encapsulation dot1q switchport trunk native vlan 2 switchport mode trunk switchport voice vlan 70 spanning-tree portfast (text deleted) end
NOTE
The Catalyst 2900XL and 3500XL software configuration for voice VLANs differs from the Catalyst switches that run Cisco IOS Software Release 12.1, such as the Catalyst 4000 Supervisor III and IV. Cisco IOS Software Release 12.1 does not require voice VLAN ports to be configured as trunks.
Congestion Management
The 2900XL and 3500XL switches use a shared memory buffer system because each individual port does not have its own output queue. This shared memory buffer is divided into two global transmit queues. Each ingress packet is placed into one of two global transmit queues based on CoS value for tagged frames and CoS classification for untagged frames. One of the transmit queues is designated for packets with a CoS value of 0 to 3, and the other transmit queue is reserved for packets with a CoS value of 4 to 7. The queues use a 100-percent threshold value. These queues are not configurable for different CoS values or thresholds. This queue scheme creates a logical high-priority and low-priority queuing mechanism. Priority scheduling is applied such that the high-priority queue is consistently serviced before the low-priority queue. The use of two global transmit queues based on CoS value is default behavior and cannot be altered. As a result, no global configuration is required to enable QoS output scheduling.
NOTE
Untagged packets that are classified with a CoS value transmitted on trunk ports are appropriately tagged with an 802.1q header with the respective CoS. For packets transmitted on nontrunk ports, the untagged classification only determines which queue the frame is placed in for egress transmission.
Case Study: Classification and Output Scheduling on Cisco Catalyst 3500XL Switches
To demonstrate classification and output scheduling on the Catalyst 3500XL series, a Catalyst 3524-PWR-XL was set up with two Cisco 7960 IP Phones, a Call Manager, and a traffic generator connected to three Fast Ethernet ports and a Gigabit Ethernet port, respectively. Figure 3-4 shows this topology. Two trials were conducted taking voice quality statistical measurements from each IP Phone based on a 1-minute, G7.11 voice call between IP Phone 1 and 2. To create traffic congestion, the traffic generator attached to Gigabit Ethernet port was sending multicast at line rate with a CoS value of 0. The multicast traffic was flooded to all ports, including the Fast Ethernet IP Phones, causing output congestion.
Figure
3-4 Catalyst 3500XL Case Study Network Diagram
The Catalyst 3524XL switch was running software version 12.0(5)WC5 for the trial. The configuration only included voice VLANs on the Cisco IP Phone ports. The remaining port configuration of the switch was default. Example 3-3 shows the relevant configuration.
Example 3-3 Catalyst 3548XL Switch Port Configuration for Case Study
Switch#show running-config Building configuration... Current configuration: (text deleted) interface FastEthernet0/1 switchport access vlan 70 ! interface FastEthernet0/2 switchport trunk encapsulation dot1q switchport trunk native vlan 2 switchport mode trunk switchport voice vlan 70 spanning-tree portfast ! interface FastEthernet0/3 switchport trunk encapsulation dot1q switchport trunk native vlan 2 switchport mode trunk switchport voice vlan 70 spanning-tree portfast ! (text deleted) interface GigabitEthernet0/1 switchport access vlan 70 (text deleted) end
The variant in the two trials was the CoS value placed on the telephony frames between the IP Phones. With a CoS value of 0, the telephony stream was treated with a low priority (the same priority as the multicast traffic). With a CoS value of 5, the telephony stream was treated with a high priority. Table 3-7 summarizes the number of frames transmitted and lost as well as jitter from each trial.
Table 3-7 QoS Trial Results on Catalyst 3524-PWR-XL
|
Trial |
Total Frames Transmitted (Phone 1/2) |
No. of Receive Lost Frames (Phone 1/2) |
Maximum Recorded Jitter (Phone1/2) |
|
CoS = 0 on voice stream |
3100/3110 |
1551/1549 |
51/49 ms |
|
CoS = 5 on voice stream |
3104/3106 |
0/0 |
51/49 ms |
As indicated in Table 3-7, the Catalyst 3524XL did not drop a single frame due to output congestion on the IP Phone ports for packets with a CoS value of 5. Similar results are achievable with multiple Cisco IP Phones in a campus network using the Catalyst 2900XL and 3500XL. The jitter did not vary between the trials because all Catalyst switches drop frames under congestion and only buffer a few frames. The maximum recorded jitter is around 50 ms, which is above the recommended 30 ms for Voice over IP (VoIP). Only the first few frames of the IP flow recorded jitter near 50 ms.
Summary
The Catalyst 2900XL and 3500XL suit basic QoS needs for an access layer switch. If additional features such as policing and classification based on DSCP are required, network designers should consider the Catalyst 2950 and 3550 switches for use as an access layer switch. You can summarize QoS feature support on the Catalyst 2900XL and 3500XL switches as follows:
No support for input scheduling.
Classification based on CoS only; no support for classification based on IP precedence or DSCP.
Two global queues for high-priority and low-priority traffic.
No configurable CoS mapping to queues or queue threshold.
Ports are trusted by default.
Untagged frames are mapped to high-priority or low-priority queues based on configured classification CoS value.
The Catalyst 3548XL and 3524-PWR-XL support reclassification of tagged frames.
QoS Support on the Catalyst 4000 CatOS Family of Switches
Catalyst 4000 CatOS switches provide for QoS classification and congestion management solely based on CoS values. The Catalyst 4000 IOS switches, discussed in Chapter 7, support a wider range of QoS. For the Catalyst 4000 CatOS switches, a high- and low-priority transmit port queue with round-robin scheduling accomplish congestion management. The Catalyst 4000 CatOS switches do not support policing or input scheduling. The following sections discuss the Catalyst 4000 CatOS QoS features with detailed overviews, configuration guidelines, and examples.
Catalyst 4000 Product Family Delineation
This section covers the Catalyst 4000 CatOS Family of switches. As discussed in the introduction to this chapter, the Catalyst 4000 Cisco IOS switches, the Catalyst 4000 CatOS switches, and the Layer 3 services module each have unique QoS feature support. The Catalyst 4000 Cisco IOS switches and the Layer 3 services module are covered in Chapter 7. Table 3-8 summarizes the Catalyst 4000 switches into the CatOS or IOS category. This chapter applies to the Catalyst 4000 switches that run CatOS Software.
Table 3-8 Catalyst 4000 CatOS Versus Cisco IOS Software Platform Support
|
Catalyst 4000 Model |
Family |
Description |
Software |
|
Catalyst 2948G |
Catalyst 4000 |
48-port 10/100BASE-TX switch ports + 2 1000BASE-X GBIC3 switch ports |
CatOS |
|
Catalyst 2980G |
Catalyst 4000 |
80-port 10/100BASE-TX switch ports + 2 1000BASE-X GBIC switch ports |
CatOS |
|
Catalyst 2980G-A |
Catalyst 4000 |
80-port 10/100BASE-TX switch ports + 2 1000BASE-X GBIC switch ports |
CatOS |
|
Catalyst 2948G-L3 |
Catalyst G-L3 |
48-port 10/100BASE-TX + 2 1000BASE-X GBIC Layer 3 switch |
IOS |
|
Catalyst 4003 + WS-X4012 Supervisor I Engine |
Catalyst 4000 |
3-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2 supervisor |
CatOS |
|
Catalyst 4006 + WS-X4013 Supervisor II Engine |
Catalyst 4000 |
6-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2 supervisor |
CatOS |
|
Catalyst 4006 + WS-X4014 Supervisor III Engine |
Catalyst 4000 |
6-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2/3 supervisor |
IOS |
|
Catalyst 4006 + WS-X4515 Supervisor IV Engine |
Catalyst 4000 |
6-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2/3 supervisor |
IOS |
|
Catalyst WS-X4232-L3 Layer 3 Services Module |
Catalyst G-L3 |
Layer 3 router module for Catalyst 4003 and 4006 chassis with Supervisor I or II Engine |
IOS |
|
Catalyst 4503 + WS-X4013 Supervisor II Engine |
Catalyst 4000 |
3-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2 supervisor |
CatOS |
|
Catalyst 4503 + WS-X4014 Supervisor III Engine |
Catalyst 4000 |
3-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2/3 supervisor |
IOS |
|
Catalyst 4503 + WS-X4515 Supervisor IV Engine |
Catalyst 4000 |
3-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2/3 supervisor |
IOS |
|
Catalyst 4506 + WS-X4013 Supervisor III Engine |
Catalyst 4000 |
6-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2 supervisor |
CatOS |
|
Catalyst 4506 + WS-X4014 Supervisor III Engine |
Catalyst 4000 |
6-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2/3 supervisor |
IOS |
|
Catalyst 4506 + WS-X4515 Supervisor IV Engine |
Catalyst 4000 |
6-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2/3 supervisor |
IOS |
|
Catalyst 4507R + WS-X4515 Supervisor IV Engine |
Catalyst 4000 |
7-slot modular chassis + 2 1000BASE-X GBIC ports on Layer 2/3 supervisor |
IOS |
|
Catalyst 4840G |
Catalyst G-L3 |
40-port 10/100BASE-TX + 1000BASE-X GBIC Layer 3 server load-balancing switch |
IOS |
|
Catalyst 4908G-L3 |
Catalyst 4000 |
8 1000BASE-X GBIC Layer 3 switch |
CatOS |
|
Catalyst 4912G-L3 |
Catalyst G-L3 |
8 1000BASE-X GBIC switch ports |
IOS |
Catalyst 4000 CatOS Family of Switches QoS Architectural Overview
The Catalyst 4000 CatOS switches support only QoS classification, marking, and congestion management. Classification and marking is based on the CoS value of 802.1q frames and port trust. Using two transmit queues for output scheduling achieves congestion management of egress traffic. Input scheduling is limited to first-in, first-out (FIFO) ingress queuing only. Figure 3-5 shows the basic QoS model for the Catalyst CatOS switches.
Figure
3-5 Basic QoS Architecture for the Catalyst Cat4000 CatOS
Switches
Software Requirements
The Catalyst 4000 CatOS switches require CatOS Software version 5.2(1) or higher for QoS feature support.
Enabling QoS Features on Catalyst 4000 CatOS Switches
QoS must be globally enabled on CatOS switches before classification, marking, and output scheduling configurations are applied. To enable QoS on the Catalyst 4000 CatOS switches, enter the following command:
set qos {enable | disable}
Example 3-4 shows a user enabling QoS on a CatOS switch.
Example 3-4 Enabling QoS Features on a Catalyst 4000 CatOS Switch
Console> (enable) set qos enable QoS is enabled. Console> (enable)
Input Scheduling
Similar to other access layer switches, the Catalyst 4000 CatOS switches performs only FIFO Queuing of ingress packets. For line-module ports that are nonblocking, FIFO Queuing does not pose an issue because nonblocking line-module ports can deliver traffic to the switching fabric at line rate. Ports that are oversubscribed to the switching fabric are also referred to as blocking ports. Oversubscribed ports share bandwidth and data transmit contention in groups of two to eight ports depending on line module. Campus network design must consider oversubscribed ports very carefully on the Catalyst 4000 because of the lack of input scheduling. Furthermore, when using the nonblocking modules, consider aligning the front panels to minimize oversubscription. For example, avoid placing workstations utilizing real-time voice and video applications on the same group of ports that share oversubscribed bandwidth with high-traffic servers and network appliances. The product release notes contain detailed information on which ports share bandwidth. Moreover, all line-module ports support 802.1x flow control for constraining host traffic. 802.1x flow control is useful in limiting traffic for hosts connected to oversubscribed ports.
Table 3-9 lists the available line modules at the time of publication and denotes whether the ports are blocking or nonblocking. Several line modules are both nonblocking and blocking depending on the front-panel port. The table also describes how the ports are subscribed to the switching fabric.
Table 3-9 Catalyst 4000 Line Modules Architecture
|
Module |
Ethernet Ports (Media Type) |
Architecture to Switch Fabric |
|
WS-U4504-FX-MT |
4 100BASE-FX (MTRJ) |
Nonblocking. |
|
WS-X4012 |
2 1000BASE-X (GBIC) |
Nonblocking. |
|
WS-X4013 |
2 1000BASE-X (GBIC) |
Nonblocking. |
|
WS-X4014 |
2 1000BASE-X (GBIC) |
Nonblocking. |
|
WS-X4515 |
2 1000BASE-X (GBIC) |
Nonblocking. |
|
WS-X4124-FX-MT |
24 100BASE-FX (MTRJ) |
Nonblocking. |
|
WS-X4148-FX-MT |
48 100BASE-FX (MTRJ) |
Nonblocking. |
|
WS-X4148-RJ21 |
48-port 10/100BASE-TX (RJ21) |
Nonblocking. |
|
WS-X4148-RJ45 |
48-port 10/100BASE-TX (RJ45) |
Nonblocking. |
|
WS-X4148-RJ45V |
48-port 10/100BASE-TX with Inline Power (RJ45) |
Nonblocking. |
|
WS-X4306-GB |
6 1000BASE-X (GBIC) |
Nonblocking. |
|
WS-X4232-GB-RJ |
32-port 10/100BASE-TX (RJ45) + 2 1000BASE-X (GBIC) |
Nonblocking. |
|
WS-X4232-L3 |
32, L2 10/100BASE-TX L2 (RJ45) + 2 L3 1000BASE-X (GBIC) |
32 10/100BASE-TX ports are nonblocking. |
|
WS-X4412-2GB-T |
12-port 1000BASE-T (RJ45) + 2 1000BASE-X (GBIC) |
The 2 1000BASE-X ports are nonblocking. The 1000BASE-T ports are group 3 front-panel ports to a 1-gigabit switch fabric connection. |
|
WS-X4418-2GB |
18 1000BASE-X (GBIC) |
Front-panel ports 1 and 2 are nonblocking. Ports 3 through 18 are grouped 4 front-panel 1000BASE-X ports to a 1-gigabit switch fabric connection. |
|
WS-X4424-GB-RJ45 |
24-port 10/100/1000BASE-T (RJ45) |
Each consecutive group of 4 ports is connected to a 1-gigabit switch fabric connection. |
|
WS-X4448-GB-LX |
48-port 1000BASE-LX (SFP) |
Each consecutive group of 8 ports is connected to a 1-gigabit switch fabric connection. |
|
WS-X4448-GB-RJ45 |
48-port 10/100/1000BASE-T (RJ45) |
Each consecutive group of 8 ports is connected to a 1-gigabit switch fabric connection. |
Classification, Marking, and Trusting
The Catalyst 4000 CatOS switches are unable to differentiate between trusted and untrusted ports. As a result, the Catalyst 4000 CatOS switches consider all ports trusted, and the switch does not alter the CoS value for any Ethernet 802.1q tagged frames. System administrators need to be aware of servers, network appliances, or workstations that may be inappropriately marking CoS values in transmitted 802.1q tagged frames because the incorrectly marked frames could effect high-priority traffic such as voice or video.
Classifying Untagged Frames
The Catalyst 4000 CatOS switch may mark untagged frames with a default CoS value. The default CoS value is a global parameter applied to all ports for untagged frames received by the switch. This default CoS value marking technique cannot be applied to selective ports or selective frames. Marking is strictly a global parameter for untagged frames. To configure the default CoS value for untagged frames, enter the following command:
set qos defaultcos default-cos-value
default-cos-value indicates the CoS value to be marked on untagged frames.
Example 3-5 shows a user configuring a global default CoS value.
Example 3-5 Defining Default CoS Value on Catalyst 4000 CatOS Switch
Console> (enable) set qos defaultcos 5 qos defaultcos set to 5
NOTE
Extended trust configuration is not supported on the Catalyst 4000 CatOS switches.
The Catalyst 4000 CatOS switches support only 802.1q trunking; Inter-Switch Link (ISL) trunking is not supported. The Catalyst 4000 Supervisor III and IV Engine both support ISL on existing linecards with a few exceptions.
Congestion Management
Congestion management is handled through the use of output scheduling. The Catalyst 4000 CatOS Software manages output scheduling by the use of a per-port, two-queues, one-threshold (2q1t) system. Packets are mapped to a logical high- or low- priority output queue depending on the switch QoS configuration and CoS value in the frame. There is only one threshold setting, 100 percent; therefore, the only threshold configuration is to tail drop packets when a queue is full. Packets are removed from the queues round-robin with each queue getting serviced 1:1. Because packet flows with higher CoS values of less bandwidth are generally mapped to one specific queue, those packets are less likely to be dropped due to output congestion with the lower-priority, high-bandwidth packet flows.
To configure the CoS values to map to specific queues and verify the configuration, enter the following commands:
set qos map port_type q# threshold# cos cos_list show qos info [runtime | config]
For the Catalyst 4000 CatOS switches, the port_type is always 2q1t with a threshold# of 1. q# identifies the queue to map the CoS value to, and the cos_list identifies what queue frames of specific CoS values are mapped. The cos_list must be configured in pairs: 0-1, 2-3, 4-5, and 6-7. Because QoS configurations are saved to the nonvolatile random-access memory (NVRAM) configuration at run time, the runtime and config options have no significance and both display the current and saved configuration. Not mapping CoS values after enabling QoS may result in unexpected performance because all CoS values map to the same transmit queue by default when QoS is enabled. Example 3-6 shows a user configuring and verifying the CoS mapping.
Example 3-6 Configuring Catalyst 4000 QoS CoS Mapping
Console> (enable) set qos map 2q1t 2 1 cos 4-7 Qos tx priority queue and threshold mapped to cos successfully. Console> (enable) show qos info runtime Run time setting of QoS: QoS is enabled All ports have 2 transmit queues with 1 drop thresholds (2q1t). Default CoS = 0 Queue and Threshold Mapping: Queue Threshold CoS ----- --------- --------------- 1 1 0 1 2 3 2 1 4 5 6 7
The Catalyst 4000 CatOS switch records the number of frames tail dropped as a result of the transmit port queue being full. The counters record the tail-drop frames as txQueueNotAvailable in the show counters mod/port. In addition, both the out-lost counter from the show mac [mod[/port]] command and the Xmit-Err counter from the show port [mod[/port]] command include the txQueueNotAvailable counter. Note that the out-lost and Xmit-Err are not inclusively counters for txQueueNotAvailable and increment for other packet counters as well. Example 3-7 shows some extrapolated output from the show counters [mod[/port]], show port [mod[/port]], and show mac [mod[/port]] commands from the QoS case study later in the chapter .
Example 3-7 show counters, show port, and show mac Command Output Excerpts
Console> (enable) show counters 5/1 (text deleted) 23 txQueueNotAvailable = 19422994 (text deleted)
Console> (enable) show mac 5/1 (text deleted) MAC Dely-Exced MTU-Exced In-Discard Lrn-Discrd In-Lost Out-Lost -------- ---------- ---------- ---------- ---------- ---------- ---------- 5/1 0 0 0 0 0 19422994 (text deleted)
Console> (enable) show port 5/1 (text deleted) Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize ----- ---------- ---------- ---------- ---------- --------- 5/1 - 0 19422994 0 0 (text deleted)
Auxiliary VLANs
For VoIP appliances, such as the Cisco IP Phone, the 2q1t system works well. IP Phones should be configured in conjunction with auxiliary VLANs. Through the use of Cisco Discovery Protocol (CDP) packets, the IP Phone is informed of the auxiliary VLAN ID to use in sending tagged frames.
To configure a port for an auxiliary VLAN for tagged traffic, use the following command:
set port auxiliaryvlan mod [/ports] {vlan | untagged | none}
The vlan option specifies the VLAN ID of the auxiliary VLAN. The untagged option tells the port to use untagged frames for the auxiliary VLAN, and none disables the auxiliary VLAN configuration on the port.
A LAN IP Phone conversation based on pulse code modulation (PCM) (G.711) compression uses only 83 kbps, far below the output rate of an Ethernet port operating at 10 Mbps. Cisco IP Phones connect at 100 Mbps full-duplex by default. Mapping only VoIP frames exclusively to a single queue based on CoS value allows voice traffic to flow egress from the output queue without packet loss even under output port loads above line rate.
Case Study: Output Scheduling on the Catalyst 4000 Series Switches
To illustrate the output scheduling behavior on the Catalyst 4000 Family, a Catalyst 4006 with a Supervisor II Engine running CatOS Software version 6.3.7 is connected to two Cisco 7960 IP Phones, a Cisco Call Manager server, and a traffic generator connected to three Fast Ethernet ports and a Gigabit Ethernet port as shown in Figure 3-6.
Figure
3-6 Catalyst 4000 Case Study Network Diagram
Two trials were conducted taking voice quality statistical measurements from each IP Phone based on a 1-minute, G7.11 voice call between IP Phone 1 and 2. To create traffic congestion, the traffic generator attached to the Gigabit Ethernet port was sending multicast at line rate with a CoS value of 0. The multicast traffic was flooded to all ports, including the Fast Ethernet ports connected to the IP Phones. This flooding of traffic led to output congestion.
The switch port configuration only included auxiliary VLANs on the Cisco IP Phone ports. The remaining port configuration of the switch was default. Example 3-8 outlines the relevant configuration.
Example 3-8 Catalyst 4000 CatOS Switch Configuration for Case Study
begin (text deleted) #qos set qos enable (text deleted)
#module 1 : 2-port 1000BaseX Supervisor set vlan 70 1/1 set trunk 1/1 off dot1q 1-1005 set spantree portfast 1/1 enable set port channel 1/1 mode off (text deleted)
#module 2 : 48-port Inline Power Module set vlan 70 2/1 set port auxiliaryvlan 2/2 70 set port auxiliaryvlan 2/3 70 set trunk 2/1 off dot1q 1-1005 set trunk 2/2 off dot1q 1-1005 set trunk 2/3 off dot1q 1-1005 set spantree portfast 2/1-3 enable set port channel 2/1-3 mode off (text deleted)
QoS was enabled for both trials. In the first trial, however, QoS was enabled but the CoS mapping was left as default. As a result, frames of CoS values 0 through 7 mapped to the same output queue. In the second trial, frames with a CoS value of 4 to 7 were mapped to queue 1, and the remaining frames were mapped to queue 0. Example 3-9 shows the QoS configuration for each trial.
Example 3-9 Catalyst 4000 QoS CoS Mapping Configuration for Each Trial of Case Study
! Trial 1: Console> (enable) show qos info runtime Run time setting of QoS: QoS is enabled All ports have 2 transmit queues with 1 drop thresholds (2q1t). Default CoS = 0 Queue and Threshold Mapping: Queue Threshold CoS ----- --------- --------------- 1 1 0 1 2 3 4 5 6 7 2 1
! Trial 2: Console> (enable) show qos info runtime Run time setting of QoS: QoS is enabled All ports have 2 transmit queues with 1 drop thresholds (2q1t). Default CoS = 0 Queue and Threshold Mapping: Queue Threshold CoS ----- --------- --------------- 1 1 0 1 2 3 2 1 4 5 6 7
As Table 3-10 indicates, the voice stream statistical measurements clearly showed significant frame loss and poor voice quality when all frames shared the same output queue. When the frames were output scheduled appropriately, no loss of frames occurred and voice quality was excellent. The maximum jitter was well within the recommended boundary of less than 30 ms.
Table 3-10 QoS Trial Results on Catalyst 4006 with Supervisor II Engine
|
Trial |
Total Frames Transmitted (Phone 1/2) |
No. of Receive Lost Frames (Phone 1/2) |
Maximum Recorded Jitter (Phone1/2) |
|
1 queue |
3245/3300 |
2536/2459 |
20/22 |
|
2 queues |
3130/3240 |
0/0 |
15/9 |
Summary
The Catalyst 4000 CatOS Family of switches suits basic QoS needs for an access layer switch. If additional features such as policing and classification based on DSCP are required, network designers need to consider the Catalyst 4000/4500 Cisco IOS Family of switches using the Supervisor Engine III or IV. The Catalyst 4000/4500 Cisco IOS Family switches support classification based on DSCP or CoS, ingress and egress policing, and output scheduling based on a 1p3q1t or 4q1t port queuing system. You can summarize the QoS feature support on the Catalyst 4000 CatOS Family of switches as follows:
No support for input scheduling.
Classification based on CoS only; no support for classification based on IP precedence or DSCP.
Extended trust options are not supported.
Output ports have two queues with one threshold (2q1t).
Frames are tail dropped when queue is full.
Tail dropped frames are recorded as txQueueNotAvailable in the show counters mod/port.
CoS mapping to queues are configurable in pairs: 0-1, 2-3, 4-5, and 6-7.
Ports are trusted by default irrespective of the QoS global configuration.
The queue threshold is not configurable.
Untagged frames can be mapped to the queue based on configured CoS value.
Tagged frames cannot have CoS values rewritten.
Layer 3 services module can be added to Catalyst 4000 CatOS switch for policing of IP routed traffic between VLANs. However, the Layer 3 services module rewrites ingress CoS to zero.
In summary, the Catalyst 2900XL, 3500XL, and Catalyst 4000 CatOS Family of switches only support a subset of QoS features compared to the Catalyst 2950, 3550, 4000 IOS, and 6500 Family of switches.
The available QoS features depend on the platform; they also depend on whether the platform supports IP routing. The Catalyst 3550, Catalyst 4000 Cisco IOS Software Family, Catalyst 5500 with RSM or RSFC, and the Catalyst 6000/6500 with MSM or MSFC I/II support IP routing. Other platforms may support Layer 3 QoS features, such as classification based on DSCP and marking of IP precedence; however these platforms do not actually support routing of IP frames.
For a list of the QoS features supported by each platform, see Tables 3-1 through 3-5.
