![](/user_photo/1438_p9ksI.png)
- •QoS Overview
- •“Do I Know This Already?” Quiz
- •QoS: Tuning Bandwidth, Delay, Jitter, and Loss Questions
- •Foundation Topics
- •QoS: Tuning Bandwidth, Delay, Jitter, and Loss
- •Bandwidth
- •The clock rate Command Versus the bandwidth Command
- •QoS Tools That Affect Bandwidth
- •Delay
- •Serialization Delay
- •Propagation Delay
- •Queuing Delay
- •Forwarding Delay
- •Shaping Delay
- •Network Delay
- •Delay Summary
- •QoS Tools That Affect Delay
- •Jitter
- •QoS Tools That Affect Jitter
- •Loss
- •QoS Tools That Affect Loss
- •Summary: QoS Characteristics: Bandwidth, Delay, Jitter, and Loss
- •Voice Basics
- •Voice Bandwidth Considerations
- •Voice Delay Considerations
- •Voice Jitter Considerations
- •Voice Loss Considerations
- •Video Basics
- •Video Bandwidth Considerations
- •Video Delay Considerations
- •Video Jitter Considerations
- •Video Loss Considerations
- •Comparing Voice and Video: Summary
- •IP Data Basics
- •Data Bandwidth Considerations
- •Data Delay Considerations
- •Data Jitter Considerations
- •Data Loss Considerations
- •Comparing Voice, Video, and Data: Summary
- •Foundation Summary
- •QoS Tools and Architectures
- •“Do I Know This Already?” Quiz
- •QoS Tools Questions
- •Differentiated Services Questions
- •Integrated Services Questions
- •Foundation Topics
- •Introduction to IOS QoS Tools
- •Queuing
- •Queuing Tools
- •Shaping and Policing
- •Shaping and Policing Tools
- •Congestion Avoidance
- •Congestion-Avoidance Tools
- •Call Admission Control and RSVP
- •CAC Tools
- •Management Tools
- •Summary
- •The Good-Old Common Sense QoS Model
- •GOCS Flow-Based QoS
- •GOCS Class-Based QoS
- •The Differentiated Services QoS Model
- •DiffServ Per-Hop Behaviors
- •The Class Selector PHB and DSCP Values
- •The Assured Forwarding PHB and DSCP Values
- •The Expedited Forwarding PHB and DSCP Values
- •The Integrated Services QoS Model
- •Foundation Summary
- •“Do I Know This Already?” Quiz Questions
- •CAR, PBR, and CB Marking Questions
- •Foundation Topics
- •Marking
- •IP Header QoS Fields: Precedence and DSCP
- •LAN Class of Service (CoS)
- •Other Marking Fields
- •Summary of Marking Fields
- •Class-Based Marking (CB Marking)
- •Network-Based Application Recognition (NBAR)
- •CB Marking show Commands
- •CB Marking Summary
- •Committed Access Rate (CAR)
- •CAR Marking Summary
- •Policy-Based Routing (PBR)
- •PBR Marking Summary
- •VoIP Dial Peer
- •VoIP Dial-Peer Summary
- •Foundation Summary
- •Congestion Management
- •“Do I Know This Already?” Quiz
- •Queuing Concepts Questions
- •WFQ and IP RTP Priority Questions
- •CBWFQ and LLQ Questions
- •Comparing Queuing Options Questions
- •Foundation Topics
- •Queuing Concepts
- •Output Queues, TX Rings, and TX Queues
- •Queuing on Interfaces Versus Subinterfaces and Virtual Circuits (VCs)
- •Summary of Queuing Concepts
- •Queuing Tools
- •FIFO Queuing
- •Priority Queuing
- •Custom Queuing
- •Weighted Fair Queuing (WFQ)
- •WFQ Scheduler: The Net Effect
- •WFQ Scheduling: The Process
- •WFQ Drop Policy, Number of Queues, and Queue Lengths
- •WFQ Summary
- •Class-Based WFQ (CBWFQ)
- •CBWFQ Summary
- •Low Latency Queuing (LLQ)
- •LLQ with More Than One Priority Queue
- •IP RTP Priority
- •Summary of Queuing Tool Features
- •Foundation Summary
- •Conceptual Questions
- •Priority Queuing and Custom Queuing
- •CBWFQ, LLQ, IP RTP Priority
- •Comparing Queuing Tool Options
- •“Do I Know This Already?” Quiz
- •Shaping and Policing Concepts Questions
- •Policing with CAR and CB Policer Questions
- •Shaping with FRTS, GTS, DTS, and CB Shaping
- •Foundation Topics
- •When and Where to Use Shaping and Policing
- •How Shaping Works
- •Where to Shape: Interfaces, Subinterfaces, and VCs
- •How Policing Works
- •CAR Internals
- •CB Policing Internals
- •Policing, but Not Discarding
- •Foundation Summary
- •Shaping and Policing Concepts
- •“Do I Know This Already?” Quiz
- •Congestion-Avoidance Concepts and RED Questions
- •WRED Questions
- •FRED Questions
- •Foundation Topics
- •TCP and UDP Reactions to Packet Loss
- •Tail Drop, Global Synchronization, and TCP Starvation
- •Random Early Detection (RED)
- •Weighted RED (WRED)
- •How WRED Weights Packets
- •WRED and Queuing
- •WRED Summary
- •Flow-Based WRED (FRED)
- •Foundation Summary
- •Congestion-Avoidance Concepts and Random Early Detection (RED)
- •Weighted RED (WRED)
- •Flow-Based WRED (FRED)
- •“Do I Know This Already?” Quiz
- •Compression Questions
- •Link Fragmentation and Interleave Questions
- •Foundation Topics
- •Payload and Header Compression
- •Payload Compression
- •Header Compression
- •Link Fragmentation and Interleaving
- •Multilink PPP LFI
- •Maximum Serialization Delay and Optimum Fragment Sizes
- •Frame Relay LFI Using FRF.12
- •Choosing Fragment Sizes for Frame Relay
- •Fragmentation with More Than One VC on a Single Access Link
- •FRF.11-C and FRF.12 Comparison
- •Foundation Summary
- •Compression Tools
- •LFI Tools
- •“Do I Know This Already?” Quiz
- •Foundation Topics
- •Call Admission Control Overview
- •Call Rerouting Alternatives
- •Bandwidth Engineering
- •CAC Mechanisms
- •CAC Mechanism Evaluation Criteria
- •Local Voice CAC
- •Physical DS0 Limitation
- •Max-Connections
- •Voice over Frame Relay—Voice Bandwidth
- •Trunk Conditioning
- •Local Voice Busyout
- •Measurement-Based Voice CAC
- •Service Assurance Agents
- •SAA Probes Versus Pings
- •SAA Service
- •Calculated Planning Impairment Factor
- •Advanced Voice Busyout
- •PSTN Fallback
- •SAA Probes Used for PSTN Fallback
- •IP Destination Caching
- •SAA Probe Format
- •PSTN Fallback Scalability
- •PSTN Fallback Summary
- •Resource-Based CAC
- •Resource Availability Indication
- •Gateway Calculation of Resources
- •RAI in Service Provider Networks
- •RAI in Enterprise Networks
- •RAI Operation
- •RAI Platform Support
- •Cisco CallManager Resource-Based CAC
- •Location-Based CAC Operation
- •Locations and Regions
- •Calculation of Resources
- •Automatic Alternate Routing
- •Location-Based CAC Summary
- •Gatekeeper Zone Bandwidth
- •Gatekeeper Zone Bandwidth Operation
- •Single-Zone Topology
- •Multizone Topology
- •Zone-per-Gateway Design
- •Gatekeeper in CallManager Networks
- •Zone Bandwidth Calculation
- •Gatekeeper Zone Bandwidth Summary
- •Integrated Services / Resource Reservation Protocol
- •RSVP Levels of Service
- •RSVP Operation
- •RSVP/H.323 Synchronization
- •Bandwidth per Codec
- •Subnet Bandwidth Management
- •Monitoring and Troubleshooting RSVP
- •RSVP CAC Summary
- •Foundation Summary
- •Call Admission Control Concepts
- •Local-Based CAC
- •Measurement-Based CAC
- •Resources-Based CAC
- •“Do I Know This Already?” Quiz
- •QoS Management Tools Questions
- •QoS Design Questions
- •Foundation Topics
- •QoS Management Tools
- •QoS Device Manager
- •QoS Policy Manager
- •Service Assurance Agent
- •Internetwork Performance Monitor
- •Service Management Solution
- •QoS Management Tool Summary
- •QoS Design for the Cisco QoS Exams
- •Four-Step QoS Design Process
- •Step 1: Determine Customer Priorities/QoS Policy
- •Step 2: Characterize the Network
- •Step 3: Implement the Policy
- •Step 4: Monitor the Network
- •QoS Design Guidelines for Voice and Video
- •Voice and Video: Bandwidth, Delay, Jitter, and Loss Requirements
- •Voice and Video QoS Design Recommendations
- •Foundation Summary
- •QoS Management
- •QoS Design
- •“Do I Know This Already?” Quiz
- •Foundation Topics
- •The Need for QoS on the LAN
- •Layer 2 Queues
- •Drop Thresholds
- •Trust Boundries
- •Cisco Catalyst Switch QoS Features
- •Catalyst 6500 QoS Features
- •Supervisor and Switching Engine
- •Policy Feature Card
- •Ethernet Interfaces
- •QoS Flow on the Catalyst 6500
- •Ingress Queue Scheduling
- •Layer 2 Switching Engine QoS Frame Flow
- •Layer 3 Switching Engine QoS Packet Flow
- •Egress Queue Scheduling
- •Catalyst 6500 QoS Summary
- •Cisco Catalyst 4500/4000 QoS Features
- •Supervisor Engine I and II
- •Supervisor Engine III and IV
- •Cisco Catalyst 3550 QoS Features
- •Cisco Catalyst 3524 QoS Features
- •CoS-to-Egress Queue Mapping for the Catalyst OS Switch
- •Layer-2-to-Layer 3 Mapping
- •Connecting a Catalyst OS Switch to WAN Segments
- •Displaying QoS Settings for the Catalyst OS Switch
- •Enabling QoS for the Catalyst IOS Switch
- •Enabling Priority Queuing for the Catalyst IOS Switch
- •CoS-to-Egress Queue Mapping for the Catalyst IOS Switch
- •Layer 2-to-Layer 3 Mapping
- •Connecting a Catalyst IOS Switch to Distribution Switches or WAN Segments
- •Displaying QoS Settings for the Catalyst IOS Switch
- •Foundation Summary
- •LAN QoS Concepts
- •Catalyst 6500 Series of Switches
- •Catalyst 4500/4000 Series of Switches
- •Catalyst 3550/3524 Series of Switches
- •QoS: Tuning Bandwidth, Delay, Jitter, and Loss
- •QoS Tools
- •Differentiated Services
- •Integrated Services
- •CAR, PBR, and CB Marking
- •Queuing Concepts
- •WFQ and IP RTP Priority
- •CBWFQ and LLQ
- •Comparing Queuing Options
- •Conceptual Questions
- •Priority Queuing and Custom Queuing
- •CBWFQ, LLQ, IP RTP Priority
- •Comparing Queuing Tool Options
- •Shaping and Policing Concepts
- •Policing with CAR and CB Policer
- •Shaping with FRTS, GTS, DTS, and CB Shaping
- •Shaping and Policing Concepts
- •Congestion-Avoidance Concepts and RED
- •WRED
- •FRED
- •Congestion-Avoidance Concepts and Random Early Detection (RED)
- •Weighted RED (WRED)
- •Flow-Based WRED (FRED)
- •Compression
- •Link Fragmentation and Interleave
- •Compression Tools
- •LFI Tools
- •Call Admission Control Concepts
- •Local-Based CAC
- •Measurement-Based CAC
- •Resources-Based CAC
- •QoS Management Tools
- •QoS Design
- •QoS Management
- •QoS Design
- •LAN QoS Concepts
- •Catalyst 6500 Series of Switches
- •Catalyst 4500/4000 Series of Switches
- •Catalyst 3550/3524 Series of Switches
- •Foundation Topics
- •QPPB Route Marking: Step 1
- •QPPB Per-Packet Marking: Step 2
- •QPPB: The Hidden Details
- •QPPB Summary
- •Flow-Based dWFQ
- •ToS-Based dWFQ
- •Distributed QoS Group–Based WFQ
- •Summary: dWFQ Options
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m338x1.jpg)
Foundation Summary 301
Foundation Summary
The “Foundation Summary” is a collection of tables and figures that provide a convenient review of many key concepts in this chapter. For those of you already comfortable with the topics in this chapter, this summary could help you recall a few details. For those of you who just read this chapter, this review should help solidify some key facts. For any of you doing your final preparation before the exam, these tables and figures are a convenient way to review the day before the exam.
Table 4-18 outlines the key features of queuing tools, with a brief definition of each feature.
Table 4-18 Key Concepts When Comparing Queuing Tools
|
|
QoS |
|
|
Characteristic |
Feature |
Definition |
Affected |
|
|
|
Classification |
The capability to examine packets to determine into |
None |
|
which queue the packet should be placed. Many |
|
|
options are available. |
|
|
|
|
Drop policy |
When the queue has been determined, the drop policy |
Loss |
|
defines the rules by which the router chooses to drop |
|
|
the packet. Tail drop, modified tail drop, WRED |
|
|
(Weighted Random Early Detect), and FRED (Flow- |
|
|
Based Random Early Detect) are the main options. |
|
|
|
|
Scheduling inside a |
Inside a single queue, packets can be reordered. In |
Bandwidth, delay, |
single queue |
most cases, however, FIFO logic is used for packets |
jitter, and loss |
|
inside each queue. |
|
|
|
|
Scheduling between |
The logic that defines how queuing chooses the next |
Bandwidth, delay, |
different queues |
packet to take from the output queues and place it in |
jitter, and loss |
|
the TX Queue (Transmit Queue). |
|
|
|
|
Maximum number of |
The maximum number of different queues the queu- |
None |
queues |
ing tools support, which in turn implies the maximum |
|
|
number of traffic classifications that can be treated |
|
|
differently by the queuing method. |
|
|
|
|
Maximum queue |
The maximum number of packets in a single queue. |
Loss, delay |
length |
|
|
|
|
|
Figure 4-23 depicts the TX Queue, along with a single FIFO Queuing output queue.
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m339x1.jpg)
302 Chapter 4: Congestion Management
Figure 4-23 Single FIFO Output Queue, with a Single TX Queue
R1 — Serial 0
4 Packets |
|
|
TX Queue, Length 4, Not Controlled |
||||
|
|
by Queuing Tool |
|||||
Arriving |
Output Queue: Not Needed in This Case |
|
|
|
|
|
|
Packet 4 |
Packet 3 |
Packet 2 |
Packet 1 |
|
|||
when TX |
|
||||||
|
|
|
|||||
|
|
||||||
Queue Is |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Empty |
|
|
|
|
|
|
|
R1 — Serial 0
Packets Arriving |
|
|
|
|
|
|
|
TX Queue, Length 4, Not Controlled |
|
|||||
Output Queue: Controlled by Queuing Tool |
by Queuing Tool |
|
||||||||||||
when TX Queue Is |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Full, and Some |
|
|
|
|
Packet 7 |
Packet 6 |
Packet 5 |
|
|
Packet 4 |
Packet 3 |
Packet 2 |
Packet 1 |
|
|
|
|
|
|||||||||||
Packets in Software |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Queue |
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 4-24 shows how TX Queues affect queuing. With queuing configured with two queues, seven packets arrive, numbered in the order in which they arrive. The output queuing configuration specifies that the first two packets (1 and 2) should be placed into Queue 2, and the next four packets (numbered 3 through 6) should be placed into Queue 1.
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m340x1.jpg)
Foundation Summary 303
Figure 4-24 Two Output Queues, with Scheduler Always Servicing Queue 1 Rather Than Queue 2 When Packets Are in Queue 1
Assumed Behavior if
No TX Queue
R1 — Serial 0
Output Queue 1 — Preferred Queue
6 Packets: |
|
Packet 6 |
Packet 5 |
Packet 4 |
Packet 3 |
|
|
Scheduler Would Take |
|
First 2 to |
|
|
|
||||||
|
|
|
|
|
|
|
Packets 3-6 from Queue 1 |
||
Queue 2, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Before Packets 1-2 from |
|
Next 4 to |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
Queue 2 |
||
Queue 1 |
|
|
|
Packet 2 |
Packet 1 |
|
|
||
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
Output Queue 2
Actual Behavior with TX Queue
|
|
|
R1 — Serial0 |
|
|
|
|
|
|
|
|||
6 Packets: |
Output Queue 1 |
|
|
|
|
|
|
|
|||||
First 2 to |
Packet 6 |
Packet 5 |
Packet 4 |
Packet 3 |
|
|
|
TX Queue, Length 2 |
|
||||
|
|
|
|
|
|
||||||||
Queue 2, |
|
|
|
|
|
|
|
|
|
|
Packet 2 |
Packet 1 |
|
|
|
|
|
|
|
|
|
|
|
||||
Next 4 to |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||
Queue 1 |
|
|
|
|
|
|
|
Packets Exit in Order |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
They Arrived |
|
||
|
|
|
|
|
Output Queue 2 |
|
The following list summarizes the key points about TX Rings and TX Queues in relation to their effect on queuing:
•The TX Queue/TX Ring always performs FIFO scheduling, and cannot be changed.
•The TX Queue/TX Ring uses a single queue, per interface.
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m341x1.jpg)
304Chapter 4: Congestion Management
•IOS shortens the interface TX Queue/TX Ring automatically when an output queuing method is configured
•You can configure the TX Ring/TX Queue length to a different value.
To delay the traffic, traffic shaping places the packets into the queue associated with the subinterface or DLCI and drains the traffic from the shaping queue at the shaped rate. Figure 4-25 shows the structure of the queues on a subinterface, interface, and the TX Queue, when shaping is enabled.
Figure 4-25 Shaping Queues, Interface Queues, and TX Ring
Router1
s0/0.1 |
|
|
|
|
|
|
|
|
|
Subinterface |
#1 |
|
|
|
|
|
|
|
|
Shaping Queue |
|
|
|
|
|
|
|
|
|
Interface |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Output Queue |
|
|
TX Ring |
|
|
|
|
|
|
|
|
s0/0 |
||
Subinterface |
#2 |
|
|
|
|
|
|
|
|
Shaping Queue |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s0/0.2 |
|
|
|
|
|
|
|
|
|
Table 4-19 summarizes some of the key features of PQ.
Table 4-19 PQ Functions and Features
PQ Feature |
Explanation |
|
|
Classification |
Classifies based on matching an ACL for all Layer 3 protocols, incoming |
|
interface, packet size, whether the packet is a fragment, and TCP and |
|
UDP port numbers. |
|
|
Drop policy |
Tail drop. |
|
|
Maximum number of |
4. |
queues |
|
|
|
Maximum queue length |
Infinite; really means that packets will not be tail dropped, but will be |
|
queued. |
|
|
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m342x1.jpg)
|
|
Foundation Summary 305 |
|
|
|
Table 4-19 PQ Functions and Features (Continued) |
||
|
|
|
|
PQ Feature |
Explanation |
|
|
|
|
Scheduling inside a single |
FIFO. |
|
queue |
|
|
|
|
|
Scheduling among all |
Always service higher-priority queues first; result is great service for the |
|
queues |
High queue, with potential for 100% of link bandwidth. Service |
|
|
degrades quickly for lower-priority queues. |
|
|
|
Table 4-20 summarizes some of the key features of CQ.
Table 4-20 CQ Functions and Features
CQ Feature |
Explanation |
|
|
Classification |
Classifies based on matching an ACL for all Layer 3 protocols, incoming |
|
interface, packet size, whether the packet is a fragment, and TCP and |
|
UDP port numbers. |
|
|
Drop policy |
Tail drop. |
|
|
Number of queues |
16. |
|
|
Maximum queue length |
Infinite; really means that packets will not be tail dropped, but will be |
|
queued. |
|
|
Scheduling inside a single |
FIFO. |
queue |
|
|
|
Scheduling among all |
Services packets from a queue until a byte count is reached; round- |
queues |
robins through the queues, servicing the different byte counts for each |
|
queue. The effect is to reserve a percentage of link bandwidth for each |
|
queue. |
|
|
Flow-Based WFQ, or simply WFQ, classifies traffic into flows. Flows are identified by at least five items in an IP packet.
•Source IP address
•Destination IP address
•Transport layer protocol (TCP or UDP) as defined by the IP Protocol header field
•TCP or UDP source port
•TCP or UDP destination port
For perspective on the sequence of events for WFQ, marking the sequence number, and serving the queues, examine Figure 4-26.
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m343x1.jpg)
306 Chapter 4: Congestion Management
Figure 4-26 WFQ—Assigning Sequence Numbers and Servicing Queues
3)Maximum Number of Queues
4)Maximum Queue Length
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5) Scheduling Inside Queue |
|
6) Scheduler Logic |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Max 4096 |
|
|
|
Process: Take |
|
|
|
|
|
1) Classification |
Assign SN |
2) Drop Decision |
|
Queues |
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
packet with |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
SN = Previous_SN |
|
|
|
|
|
|
Max Length |
|
|
|
lowest sequence |
|
|
TX Queue/Ring |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
+weight*length |
Dropped |
|
|
|
|
|
4096 |
|
|
|
|
number. |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
Weight Based on |
|
|
|
|
|
|
|
|
|
|
|
|
|
Result: Favors |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
IP Precedence |
|
|
|
|
|
|
|
|
. |
|
|
|
|
flows with lower |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
byte volumes and |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
Modified Tail |
. |
|
|
|
|
larger precedence |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
Always on Combination Of: |
Drop Based on |
|
|
|
|
|
|
values. |
|
|
|
|||||||||||||||||
Hold Queue and |
|
FIFO |
|
|
|
|
|
|
|
|||||||||||||||||||
- Source/destination IP Address |
|
|
|
|
|
|
|
|
||||||||||||||||||||
CDT |
|
|
|
|
|
|
|
|
||||||||||||||||||||
- Transport Protocol Type |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
- Source/Destination Port |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WFQ calculates the sequence number (SN) before adding a packet to its associated queue. The formula for calculating the SN for a packet is as follows:
Previous_SN + weight * new_packet_ength
Table 4-21 lists the weight values used by WFQ before and after the release of 12.0(5)T/12.1.
Table 4-21 Weight Values Used by WFQ
Precedence |
Before 12.0(5)T/12.1 |
After 12.0(5)T/12.1 |
|
|
|
0 |
4096 |
32384 |
|
|
|
1 |
2048 |
16192 |
|
|
|
2 |
1365 |
10794 |
|
|
|
3 |
1024 |
8096 |
|
|
|
4 |
819 |
6476 |
|
|
|
5 |
682 |
5397 |
|
|
|
6 |
585 |
4626 |
|
|
|
7 |
512 |
4048 |
|
|
|
WFQ discards some packet when a queue’s congestive discard threshold (CDT) has been reached. To appreciate how the CDT is used, examine Figure 4-27.
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m344x1.jpg)
Foundation Summary 307
Figure 4-27 WFQ Modified Tail Drop and Congestive Discard Threshold
Hold-queue |
No |
|
|
|
CDT |
No |
|
|
|
|||||||
|
|
|
Enqueue New Packet |
|||||||||||||
Calculate SN |
|
|
Exceeded for |
|||||||||||||
Limit |
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|||||||||
Exceeded? |
|
|
|
|
This Queue? |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Yes |
|
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
No |
|
|
Is There a Higher |
Yes |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|||||||
Packet |
|
|
|
|
SN Enqueued in |
|
Discard Highest |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
Discarded |
|
|
|
|
Another Queue? |
|
|
|
|
|
SN Packet |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tables 4-22 and 4-23 list the configuration and exec commands related to WFQ.
Table 4-22 Configuration Command Reference for WFQ
|
Command |
Mode and Function |
|
|
|
|
fair-queue [congestive-discard-threshold [dynamic-queues |
Interface configuration mode; enables |
|
[reservable-queues]]] |
WFQ, sets the CDT, sets maximum |
|
|
number of queues, and sets the |
|
|
number reserved for RSVP use |
|
|
|
|
hold-queue length {in | out} |
Interface configuration mode; changes |
|
|
the length of the hold queue |
|
|
|
Table 4-23 Exec Command Reference for WFQ |
|
|
|
|
|
|
Command |
Function |
|
|
|
|
show queue interface-name interface-number [vc [vpi/] vci]] |
Lists information about the packets |
|
|
that are waiting in a queue on the |
|
|
interface |
|
|
|
|
show queueing [custom | fair | priority | random-detect |
Lists configuration and statistical |
|
[interface atm-subinterface [vc [[vpi/] vci]]]] |
information about the queuing tool on |
|
|
an interface |
|
|
|
Table 4-24 summarizes some of the key features of WFQ.
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m345x1.jpg)
308 Chapter 4: Congestion Management
Table 4-24 WFQ Functions and Features
WFQ Feature |
Explanation |
|
|
Classification |
Classifies without configuration, based on source/destination IP address/ |
|
port, protocol type (TCP|UDP), and ToS. |
|
|
Drop policy |
Modified tail drop. |
|
|
Number of queues |
4096. |
|
|
Maximum queue length |
Congestive discard threshold per queue (max 4096), with an overall |
|
limit based on the hold queue for all queues (max 4096). |
|
|
Scheduling inside a single |
FIFO. |
queue |
|
|
|
Scheduling among all |
Serves lowest sequence number (SN). The SN is assigned when the |
queues |
packet is placed into the queue, as a function of length and precedence. |
|
|
Table 4-25 summarizes some of the key features of CBWFQ.
Table 4-25 CBWFQ Functions and Features
CBWFQ Feature |
Description |
|
|
Classification |
Classifies based on anything that MQC commands can match, just like |
|
CB marking. Includes all extended IP ACL fields, NBAR, incoming |
|
interface, CoS, precedence, DSCP, source/destination MAC, MPLS |
|
Experimental, QoS group, and RTP port numbers |
|
|
Drop policy |
Tail drop or WRED, configurable per queue. |
|
|
Number of queues |
64. |
|
|
Maximum queue length |
64. |
|
|
Scheduling inside a single |
FIFO on 64 queues; FIFO or WFQ on class-default queue. |
queue |
|
|
|
Scheduling among all |
Algorithm is not published. The result of the scheduler provides a |
queues |
percentage guaranteed bandwidth to each queue. |
|
|
All the commands for CBWFQ are repeated for reference in Tables 4-26 and 4-27.
Table 4-26 Command Reference for CBWFQ
Command |
Mode and Function |
|
|
class-map class-map-name |
Global config; names a class map, |
|
where classification options are |
|
configured. |
|
|
match … |
Class map subcommand; defines |
|
specific classification parameters. |
|
|
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m346x1.jpg)
|
|
Foundation Summary 309 |
|
|
|
Table 4-26 Command Reference for CBWFQ (Continued) |
|
|
|
|
|
|
Command |
Mode and Function |
|
|
|
|
match access-group {access-group | name access-group- |
Access-control list (ACL). |
|
name} |
|
|
|
|
|
match source-address mac address |
Source MAC address. |
|
|
|
|
match ip precedence ip-precedence-value [ip-precedence- |
IP precedence. |
|
value ip-precedence-value ip-precedence-value] |
|
|
|
|
|
match mpls experimental number |
MPLS Experimental. |
|
|
|
|
match cos cos-value [cos-value cos-value cos-value] |
CoS. |
|
|
|
|
match destination-address mac address |
Destination MAC address. |
|
|
|
|
match input-interface interface-name |
Input interface. |
|
|
|
|
match ip dscp ip-dscp-value [ip-dscp-value ip-dscp-value |
IP DSCP. |
|
ip-dscp-value ip-dscp-value ip-dscp-value ip-dscp-value |
|
|
ip-dscp-value] |
|
|
|
|
|
match ip rtp starting-port-number port-range |
RTP’s UDP port number range. |
|
|
|
|
match qos-group qos-group-value |
QoS group. |
|
|
|
|
match protocol protocol-name |
NBAR protocol types. |
|
|
|
|
match protocol citrix [app application-name-string]. |
NBAR Citrix applications. |
|
|
|
|
match protocol http [url url-string | host hostname-string | |
Host name and URL string. |
|
mime MIME-type] |
|
|
|
|
|
match any |
Matches any and all packets. |
|
|
|
|
policy-map policy-map-name |
Global config; names a policy, which is |
|
|
a set of actions to perform. |
|
|
|
|
class name |
Policy map subcommand; identifies the |
|
|
packets to perform QoS actions on by |
|
|
referring to the classification logic in a |
|
|
class map |
|
|
|
|
bandwidth {bandwidth-kbps | percent percent} |
Class subcommand; sets literal or |
|
|
percentage bandwidth for the class. |
|
|
Must use either use actual bandwidth or |
|
|
percent on all classes in a single policy |
|
|
map. |
|
|
|
|
fair-queue [queue-limit queue-value] |
Class subcommand; enables WFQ in |
|
|
the class (class-default only). |
|
|
|
|
random-detect dscp dscpvalue min-threshold max- |
Class subcommand; enables DSCP- |
|
threshold [mark-probability-denominator] |
based WRED in the class. |
|
|
|
continues
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m347x1.jpg)
310 Chapter 4: Congestion Management
Table 4-26 Command Reference for CBWFQ (Continued)
|
Command |
Mode and Function |
|
|
|
|
random-detect precedence precedence min-threshold max- |
Class subcommand; enables |
|
threshold mark-prob-denominator |
precedence-based WRED in the class. |
|
|
|
|
max-reserved-bandwidth percent |
Interface subcommand; defines the |
|
|
percentage of link bandwidth that can |
|
|
be reserved for CBWFQ queues besides |
|
|
class-default. |
|
|
|
Table 4-27 Exec Command Reference for CBWFQ |
|
|
|
|
|
|
Command |
Function |
|
|
|
|
show policy-map policy-map-name |
Lists configuration information about |
|
|
all MQC-based QoS tools |
|
|
|
|
show policy-map interface-spec [input | output] [class |
Lists statistical information about the |
|
class-name] |
behavior of all MQC-based QoS tools |
|
|
|
To prevent LLQ from having the same problem as PQ, where packets in the highest-priority queue could dominate, LLQ’s scheduler actually works as shown in Figure 4-28.
Figure 4-28 Servicing Queues with LLQ and CBWFQ—The Real Story
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Any |
|
|
|
|
|
Pick Next Packet |
Wait Until TX |
|
|
|||||||||
No |
Ring Has More |
|
|
|
||||||||||||||
Packets in |
|
|
||||||||||||||||
|
|
|
|
|
from Other Non- |
Room |
|
|
|
|||||||||
LLQ? |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
LLQ Queues |
|
|
|
|
|
|
||
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Discard |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Packet |
|
Packet |
|
|
|
|
|
|
|
|
|
|
||||||
Yes |
|
|
|
|
|
|
Put Packet in TX |
|
|
|||||||||
|
|
|
|
|
|
|
||||||||||||
Exceeds |
|
|
|
|
|
|
|
|
|
|
Ring |
|
|
|||||
Policed |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
No |
|
|
|
|
|
|
|
|
|
|
|||||||
Bandwidth? |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The single additional configuration command for LLQ is listed in Table 4-28.
Table 4-28 Command Reference for LLQ
Command |
Mode and Function |
|
|
priority{bandwidth-kbps | |
Class subcommand; enables LLQ in this class, reserves bandwidth, and |
percent percentage} |
enables the policing function. The burst for the policer can also be |
[burst] |
configured with this command. |
|
|
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m348x1.jpg)
|
|
|
Foundation Summary 311 |
|
|
|
|
|
|
|
Table 4-29 summarizes the main features of IP RTP Priority, and compares the features |
|||
|
with LLQ. |
|
|
|
Table 4-29 Comparison of LLQ and IP RTP Priority Features |
|
|
|
|
|
|
|
|
|
|
|
|
|
IP RTP |
|
Feature |
LLQ |
|
Priority |
|
|
|
|
|
|
Adds a priority queue to WFQ |
No |
|
Yes |
|
|
|
|
|
|
Adds a priority queue to CBWFQ |
Yes |
|
Yes |
|
|
|
|
|
|
Can classify on even UDP ports in a specified range |
Yes |
|
Yes |
|
|
|
|
|
|
Can classify on anything MQC can use to classify |
Yes |
|
No |
|
|
|
|
|
|
Reserves a configured amount of bandwidth |
Yes |
|
Yes |
|
|
|
|
|
|
Bandwidth is policed, so priority queue cannot exceed the |
Yes |
|
Yes |
|
configured bandwidth |
|
|
|
|
|
|
|
|
|
Currently recommended best queuing tool for low latency |
Yes |
|
No |
|
|
|
|
|
Table 4-30 lists the two configuration commands used with IP RTP Priority.
Table 4-30 Command Reference for IP RTP Priority
Command |
Mode and Function |
|
|
ip rtp priority starting-rtp-port-number port-number- |
Interface configuration mode; enables IP |
range bandwidth |
RTP Priority on a subinterface or interface |
|
|
frame-relay ip rtp priority starting-rtp-port-number |
FRTS (Frame Relay traffic shaping) map- |
port-number-range bandwidth |
class configuration mode; enables IP RTP |
|
Priority in an FRTS map class, which is then |
|
enabled on a subinterface or DLCI (data-link |
|
connection identifier) |
|
|
Table 4-31 summarizes the details of the scheduler, drop, and maximum queues supported for the queuing tools covered in detail in this chapter.
Table 4-31 Summary of Scheduler, Drop, and Number of Queues
|
|
|
Max # of |
Tool |
Scheduler |
Drop Policy |
Queues |
|
|
|
|
FIFO |
Services packets in the same order that they arrived. |
Tail drop |
1 |
|
|
|
|
PQ |
Always services higher-priority queues first; the |
Tail drop |
4 |
|
result is great service for the High queue, with |
|
|
|
potential for 100% of link bandwidth. Service |
|
|
|
degrades quickly for lower-priority queues. |
|
|
|
|
|
|
continues
![](/html/1438/356/html_8qEWQlgVYy.fRAV/htmlconvd-rT6A6m349x1.jpg)
312 Chapter 4: Congestion Management
Table 4-31 Summary of Scheduler, Drop, and Number of Queues (Continued)
|
|
|
Max # of |
Tool |
Scheduler |
Drop Policy |
Queues |
|
|
|
|
CQ |
Services packets from a queue until a byte count is |
Tail drop |
16 |
|
reached; round-robins through the queues, servicing |
|
|
|
the different byte counts for each queue. The effect |
|
|
|
is to reserve a percentage of link bandwidth for each |
|
|
|
queue. |
|
|
|
|
|
|
WFQ |
Services lowest sequence number (SN). SNs |
Modified tail |
4096 |
|
assigned when packet placed into queue, as a |
drop* |
|
|
function of length and precedence. |
|
|
|
|
|
|
CBWFQ |
Algorithm is not published. The result of the |
Tail drop or |
64 |
|
scheduler provides a percentage guaranteed |
WRED |
|
|
bandwidth to each queue. |
|
|
|
|
|
|
LLQ |
Always services low-latency queue first, but each |
Tail drop or |
64 |
|
low-latency queue is policed to prevent it from |
WRED |
|
|
dominating the link. |
|
|
|
|
|
|
IP RTP Priority |
Always services low-latency queue first, but queue |
Tail drop |
1 |
|
is policed to prevent it from dominating the link. |
|
|
|
|
|
|
*WFQ’s modified tail drop includes a per-queue limit, an aggregate limit for all queues, with the ability to dequeue a previously enqueued packet if the new packet has a better SN.
Also make sure and review Tables 4-16 and 4-17 immediately preceding the Foundation Summary.