Techniques to Improve Quality of Service (QoS) in Networks
Quality of Service (QoS) improves application experience by ensuring that the network treats traffic differently based on priority and requirements. Typical QoS goals include reducing latency (Delay), minimizing jitter (Jitter), lowering packet loss (Packet loss), and protecting bandwidth (Bandwidth).
Most QoS techniques fall into a small number of building blocks:
- Classify traffic into flows/classes (Packet classification).
- Condition traffic to match contracted rates (Traffic conditioning).
- Schedule how packets are served at queues (Queue scheduling).
- Control admission and congestion to prevent overload (Admission control).
Below is a comprehensive map of practical QoS techniques used in routers, switches, and wireless systems.
Important note: I attempted to perform web research for citations, but my web-search tool is currently failing due to plan usage limits—so I cannot provide the required external references/footnotes right now.
Conceptual architecture of QoS
A common QoS datapath can be described as:
Key terms:
- Traffic marking
- Policing
- Shaping
- Scheduling
1) Traffic classification and prioritization
Traffic classification identifies which packets belong to which service level. Classification can use:
- Layer 3/4 header fields (e.g., IP protocol, source/destination ports)
- Flow identifiers (five-tuple: src/dst IP, src/dst port, protocol)
- Ingress interface / VLAN / user group
- Application-aware heuristics (less common at line rate)
Once classified, packets are typically marked for downstream treatment:
- Traffic marking
- Priority marking
Why it matters: Scheduling and conditioning are only useful when the network can consistently recognize which traffic should receive better service.
2) Traffic policing and shaping
Policing (rate enforcement)
Policing limits how much traffic can enter the “well-behaved” category.
Common behaviors:
- Hard drop (discard excess packets)
- Re-marking (downgrade to lower priority class)
- Token-bucket/leaky-bucket style metering (Token bucket)
- Coloring model (green/yellow/red)
Trade-off: Policing can protect the network from bursty offenders, but it may increase loss for the offending flow.
Shaping (burst smoothing)
Traffic shaping smooths bursts by buffering and releasing at a controlled rate.
Common advantages:
- Reduces queue buildup by smoothing arrival patterns
- Often improves throughput fairness and reduces jitter for well-behaved services
Trade-off: Shaping adds controlled delay, so you must size buffers carefully to avoid hurting latency-sensitive flows.
Key terms (for this section):
- Token bucket
- Leaky bucket
- Burstiness
- Conformance profile
3) Queueing strategies and scheduling (the core QoS lever)
Routers maintain multiple queues per port/interface and select packets for transmission using a scheduling algorithm.
Priority-based scheduling
Strict priority ensures low-latency for critical traffic, but can starve other queues.
Variants:
- Strict Priority: always drain highest priority
- Weighted priority: limit dominance via weights/tokens
Trade-off: Great for latency-critical flows; risky for starvation.
Weighted Round Robin (WRR) / Deficit Round Robin (DRR)
WRR provides bandwidth sharing by weight.
DRR is especially useful when packet sizes vary.
Trade-off: Improves fairness; may add slightly more latency than strict priority for some flows.
Weighted Fair Queueing (WFQ) and variants
WFQ approximates per-flow fairness and helps bound delays.
Trade-off: More complex, higher processing overhead; accuracy depends on implementation.
Hybrid scheduling (common in practice)
Many systems combine:
- Priority for voice/control
- Weighted scheduling for data classes
Key terms (for this section):
- Queue discipline
- Starvation
- Fairness
- Throughput-delay trade-off
Selecting a queueing/scheduling strategy for your QoS goal
- 1Step 1
Specify target bounds for delay, jitter, and loss per traffic class.
- 2Step 2
Decide how to map packets to classes (ports, DSCP marks, applications).
- 3Step 3
Use policing to enforce rate limits, and shaping to smooth bursts where appropriate.
- 4Step 4
Use strict priority for latency-critical traffic, and WRR/DRR/WFQ for bandwidth-sharing classes.
- 5Step 5
Set queue limits to prevent excessive buffering that increases delay.
- 6Step 6
Test with traffic mixes, measure latency/jitter/loss, then iterate on weights/rates/queue sizes.
4) Active Queue Management (AQM) and congestion avoidance
When traffic exceeds capacity, queues grow, which increases delay and jitter. Active Queue Management uses algorithms to drop or mark packets before the queue becomes too large.
Common AQM ideas:
- Drop/mark based on queue length or sojourn time
- Avoid global synchronization where many flows lose packets simultaneously
- Prefer dropping lower-priority traffic when possible
Typical examples (conceptually):
- RED-like
- ECN
- Per-class drop policies (drop tail vs. early drops per queue)
Why it matters: Even with good scheduling, unmanaged queues can destroy latency/jitter performance during congestion.
Key terms (for this section):
- Congestion avoidance
- ECN
- Queue limit
- Sojourn time
5) Admission control and resource reservation
QoS can be improved by preventing the network from accepting more traffic than it can serve.
- Admission control
- Resource reservation
Two broad styles:
- Integrated Services style: reserve per-flow resources so the network can guarantee service.
- Overprovisioning + scheduling: rely on class-based QoS without explicit per-flow reservation (common at scale).
Trade-off: Reservation can be more complex and harder to scale, but can offer stronger guarantees.
6) Differentiated Services / class-based QoS marking
Many QoS deployments are based on classes rather than per-flow reservations:
- Mark packets at ingress with a class identifier (e.g., priority/DSCP)
- Apply per-hop behaviors at each node
- Use consistent scheduling and queueing behaviors per class
Benefits:
- Scalability (no per-flow state everywhere)
- Clear operational model for “service levels”
Key terms (for this section):
- Per-hop behavior
- Differentiated Services
- DSCP
7) QoS in wireless LANs (e.g., 802.11e concepts)
Wireless is more sensitive to contention and variability. QoS mechanisms often rely on enhanced prioritization at the MAC layer:
- Multiple access categories
- Different contention parameters per class
- Medium access rules that reduce collisions/latency for high priority
Core idea:
- High-priority classes win channel access more often.
Key terms (for this section):
- MAC prioritization
- Access category
- Contention parameters
End-to-end QoS rollout lifecycle (practical roadmap)
Measure current performance
1. BaselineCollect latency/jitter/loss and identify congested links and traffic mixes."
Define traffic classes
2. ClassificationMap apps/flows to classes; set/propagate QoS marks."
Enforce conformance
3. ConditioningApply policing and/or shaping to protect queues from bursts."
Implement queue disciplines
4. SchedulingUse priority + weighted scheduling for desired service differentiation."
Add AQM/ECN if needed
5. Congestion managementReduce queue growth and stabilize latency under overload."
Test and iterate
6. ValidationRun load tests with representative mixes; tune rates, weights, and queue limits."
Common pitfalls when improving QoS
QoS technique vs. primary effect (qualitative)
A directional map of what each technique mainly improves.
QoS Techniques Quick Check
Knowledge Check
Which technique most directly enforces that a flow does not exceed an allowed rate by dropping or remarking excess packets?