QoS Overview "The ability to identify and prioritize specific applications, users, or data flows and guarantee a desired level of network performance"
-
Converged Networking: Voice, Video, Special Applications and Data
-
Quality of Service: Grade of Service and Mean Opinion Score
-
Factors: Throughput, Latency, Jitter and Loss
-
Features: Classification, Queuing, Congestion Avoidance, Policing, Rewriting and Scheduling
-
Layer 2 frames will identify "interesting" traffic by CoS in the Ethernet Header (Class of Service: 802.1p markings carried on an 802.1Q trunk) Valid values for CoS: 0 - 7
-
Layer 3 packets will identify "interesting" traffic by ToS in the IP Header (Type of Service: IP Precedence and DSCP aka DiffServ) Valid values for IP Precedence: 0 - 7 Valid values for DSCP: 0 - 63 |
QoS Goals
- Prioritize traffic to help ensure voice quality and call control are maintained
- Guarantee bandwidth for voice during times of congestion (G.711 = ~90kbs/call and G.729 = ~32kbps/call) - Latency < 150ms (less than 80ms ideally) - In one direction (mouth to ear) - Jitter < 30ms - Packet Loss < 1%
- Reduce latency and increase throughput for other specific applications such as video
QoS Strategy
- Use CoS (Class of Service) and DSCP (DiffServ) to identify voice, video, control and specific applications frames and packets and ensure that this specially marked traffic is given the correct priority PHB (Per Hop Behavior) as an end-to-end (LAN and WAN) solution enterprise wide
- Configure VoIP equipment to correctly mark voice traffic (RTP and Control) with specific CoS / DSCP values
- Configure switch / router queues to move (and use policies to mark) frames and packets based on an agreed upon order and desired bandwidth
Network traffic will fit into one of these four (4) general categories in this strategy guide:
- Voice Traffic – Real-time conversations
- Control Traffic – Network (Spanning Tree), Inter-Network (Routing Protocols) and Voice (H.248 / MGCP)
- Priority Application Traffic – Video, Citrix, 3270 etc.
- Everything Else! – Email, Web, File Copy, FTP etc.
“Pre-set / agreed upon standards" - Ethernet Frame and IP Packet markings table
COS (Ethernet Frame) |
DSCP (IP Packet) |
Traffic |
5 |
46 |
Voice Traffic (RTP) |
3, 6, 7 |
26, 48, 56 |
Control Traffic (H.248 / MGCP) |
4 |
34 |
Priority Application Traffic (Video) |
0, 1, 2 (Unmarked) |
0 (Unmarked) |
All “Other” Traffic (Email, HTTP, FTP, SMB etc.) |
- Some telecom equipment is intelligent enough to correctly mark its own network traffic.
If this is the case, you should configure the gear to mark based on the table above (Voice RTP = CoS 5 / DSCP 46 for example)
- Other gear may need to rely on the Cisco switch or router to identify and mark frames and packets.
ACLs, Class Maps and Policy Maps can use things like IP address, TCP / UDP port or the physical incoming switch port to mark traffic.
- Simply marking traffic isn't enough. You will need to configure switches and routers to correctly queue and police ingress and egress ports based on the CoS / DSCP markings. During times of congestion, voice traffic should get special treatment and placed in the "front of the line" while other traffic like HTTP may get dropped! This is what QoS (Traffic Shaping) is all about.
|
Ernie's QoS Configuration Examples
|
Monitoring QoS
|
Tools
|
Selecting a Cisco Ethernet switch specifically for QoS
- Cisco 2950 - Not desired, only has two (2) egress queues and no ingress QoS capability. (Has some basic QoS ability if you already own one.)
- Cisco 2960 - Has POE and four (4) egress queues as well as can classify, reclassify, police, mark, queue, and schedule incoming packets.
- Cisco 3560 - Optional POE, has great QoS support and the "Enhanced" image supports VRF-Lite.
- Cisco 4500 Series - Modular "Campus" switch, optional POE and has great QoS support.
- Cisco 6500 Series - Modular "Core" switch, optional POE and has full QoS support.
|
Additional QoS Related Reading & Links
Switching Methods
- Cut Through - Forwards after looking at only the first 6 bytes. Could mistakenly forward a fragment, runt or damaged frame.
- Fragment Free (Fast Forward) - Forwards after looking at only the first 64 bytes. Could mistakenly forward a damaged frame.
- Store and Forward - Forwards after receiving and examining the entire frame. This was slower, but newer Cisco switches have very fast ASICs now.
Switching "Bus" Topologies
Buffering Configuration
- Shared Memory
- Port Buffered Memory
Queuing Methods
- FIFO queuing
This is the basic first-in, first-out queuing technique in which the first packet in the queue is the first packet that is processed. When queues become full, congestion occurs and incoming packets are dropped. FIFO relies on end systems to control congestion via congestion control mechanisms.
- Priority queuing
This technique uses multiple queues, but queues are serviced with different levels of priority, with the highest priority queues being serviced first. When congestion occurs, packets are dropped from lower-priority queues. The only problem with this method is that lower-priority queues may not get serviced at all if high-priority traffic is excessive. Packets are classified and placed into queues according to information in the packets. For example, Cisco routers can be programmed to prioritize traffic for a particular port into high-, medium-, or low-priority queues. Priority schemes may be abused by users or applications that mark packets with priorities that are not allowed. Admission control functions can monitor this.
- Fair queuing
This method helps solve the problem where some queues may not get serviced because high-priority queues are being serviced. A round-robin approach is used to service all queues in a fair way. This prevents any one source from overusing its share of network capacity. Problems can occur when packets are variable in length and each queue is allowed to release one packet at a time. Some queues will take more time. A byte-oriented scheme may be used to equalize the queues. In addition, some queues may be more full than others and naturally need more service, but a strict, fair queuing scheme will service each queue equally.
- WFQ (weighted fair queuing)
This can be seen as a combination of priority queuing and fair queuing. All queues are serviced so that none are starved, but some queues are serviced more than others. A weight is applied to queues to give some queues higher priority. For example, one queue may get half the available bandwidth and other queues will get an allocation of the remaining bandwidth. Traffic may be prioritized according to packet markings, source and destination IP address fields, port numbers, and information in the ToS field. WFQ weights traffic so that low-bandwidth traffic gets a fair level of priority. If high-priority queues are not in use, lower-priority traffic uses its queues. This prevents high-bandwidth traffic from grabbing an unfair share of resources. WFQ is Cisco's "premier queuing technique" according to the Cisco QoS paper listed on related entries page. A unique feature is that it moves real-time interactive traffic to the front of queues and fairly shares the remaining bandwidth among other flows.
- CBQ (class-based queuing)
CBQ is a class-based algorithm that schedules packets in queues and guarantees a certain transmission rate. If a queue is not in use, the bandwidth is made available to other queues. A CBQ-compliant device looks deep in packets to classify packets according to addresses, application type, protocol, URL, or other information. CBQ is more than a queuing scheme. It is also a QoS scheme that identifies different types of traffic and queues the traffic according to predefined parameters. |
Terminology & Definitions
- CBWFQ - Class Based Weighted Fair Queuing
- COS
- DiffServ
- IP Precedence
- LLQ - Low-Latency Queuing
- PQ - Priority Queuing
- Strict Queue
- WRED - Weighted Random Early Detection
|
Other worthwhile reading (not specifically QoS related)
|