Quality of Service (QoS) refers to the ability of a network to provide better service and performance to selected network traffic over various technologies.
The primary goal of QoS is to provide priority to applications, users, or data flows, to guarantee a certain level of performance to the network.
QoS is important for real-time and mission-critical applications such as voice-over IP, online games, video conferencing, and live video streaming.
Implementing QoS in networks provides better and more predictable network service by managing bandwidth, controlling jitter and latency, and reducing data loss.
This article will provide an overview of QoS, its benefits, and the technologies involved in implementing it over networks.
Key Aspects of QoS
QoS involves prioritization of network traffic. The network needs to recognize the type of data in each packet so that it can treat it accordingly.
This is done by marking packets using various techniques like IP Precedence, DiffServ Code Point (DSCP), MPLS EXP, and IEEE 802.1p.
QoS also requires admission control, traffic shaping, policing, and congestion management to ensure bandwidth availability and smooth data flow for prioritized traffic.
Basic QoS models include Best Effort, Integrated Services (IntServ), and Differentiated Services (DiffServ).
QoS Technologies
Some key technologies used for QoS implementation are:
- Traffic Shaping – Controls the volume of traffic sent into the network by regulating the flow and pacing of packets. This ensures a steady flow of traffic and minimizes congestion.
- Traffic Policing – Ensures traffic adheres to the defined limitations by monitoring and filtering out non-conforming traffic flows. Violating packets can be dropped or marked down.
- Queuing – Places packets into different priority queues before being forwarded. Higher-priority traffic gets precedence in congested network conditions.
- Admission Control – Determines if sufficient network resources are available before establishing new flows. This prevents oversubscription of resources.
- Congestion Management – Controls congestion after it occurs by using buffering, congestion notification, and throttling mechanisms. This maintains QoS under congestion.
- Compression – Reduces the size of data by encoding information thereby increasing effective throughput.
- Caching – Temporarily stores frequently accessed data closer to the requesting clients. This speeds up access and improves performance.
Traffic Prioritization
Traffic prioritization allows QoS policies to be applied by ranking traffic importance. Real-time traffic like voice and video gets the highest priority while non-critical traffic gets the lower priority.
Prioritization determines the order of packet transmission and resource allocation. Network packets can be marked using Layer 2, Layer 3, and Layer 4 header values.
Layer 2 uses 802.1Q frame markings, while Layer 3 uses IP precedence and DSCP fields. Layer 4 markings embed priority data into TCP/UDP port numbers. Routers examine these priority bits to determine how packets should be forwarded.
Traffic Shaping and Policing
Traffic shaping regulates packet flow to ensure smooth traffic distribution. Shaping avoids congestion by holding back excess traffic when needed and sending it later in bursts.
Policing monitors traffic flows to ensure they stay within acceptable limits. Policing sets usage thresholds and discards packets exceeding those limits.
Traffic adhering to the profile is allowed while non-conformant traffic is dropped or marked down. Policing and shaping prevent traffic surges that can congest the network.
Congestion Management
Congestion management mechanisms help minimize packet delays and losses that degrade QoS. Techniques like Weighted Random Early Detection (WRED) preferentially drop lower-priority packets first to control congestion.
Explicit Congestion Notification (ECN) marks packet headers to indicate congestion instead of dropping packets. Backward congestion notification (BECN) and forward congestion notification (FECN) warn the source and destination of network congestion.
Random early detection (RED) also proactively drops packets based on congestion probability to control queuing.
Admission Control
Admission control determines if there are sufficient resources on the network before allowing new flows to be established.
It analyzes traffic specifications like bandwidth, delay, and jitter needs before admitting additional load.
Requests are accepted only if desired QoS levels of existing flows can still be maintained. Otherwise, the request is rejected or deferred. Admission control prevents oversubscription and congestion.
Queuing and Scheduling
Queuing involves classifying packets and placing them into separate priority queues. Higher priority traffic is dequeued and scheduled first.
Scheduling algorithms like priority queuing, weighted fair queuing, and class-based queuing determine the order of packet transmission from queues.
Strict priority queuing always services high-priority queues first while lower-priority queues suffer.
Weighted fair queuing serves all queues but shares bandwidth according to configured weight ratios. Class-based queuing offers a minimum bandwidth guarantee to each class.
QoS Architectures
IntServ Provides QoS on per flow basis by signaling protocol to reserve resources along the path from sender to receiver.
Per-flow state is maintained in each router. DiffServ Classifies packets into finite service classes using DSCP markings.
Per-hop behaviors define service treatment for each class without a per-flow state. MPLS Uses labels to expedite packet forwarding. MPLS can forward traffic along constrained paths and tunnels across networks.
QoS Benefits
Implementing QoS provides many benefits for communications in an organization:
- Prioritizes critical traffic like voice and video for a better experience.
- Provides dedicated bandwidth for important applications.
- Controls jitter and latency for real-time traffic.
- Minimizes delay and packet loss for smoother streaming.
- Provides predictable throughput for reliable connectivity.
- Allows defining service level agreements for customers.
- Optimizes resources by controlling unnecessary traffic flows.
- Improves user experience across applications.
- Delivers differentiated service for various types of traffic.
- Enables usage-based billing according to service tiers.
Conclusion
In summary, Quality of Service provides techniques to manage bandwidth, control jitter and latency, minimize packet loss, and prioritize applications to enhance overall performance on IP networks.
Implementing QoS enables network administrators to provide differentiated service levels for critical business applications and users.
Frequently Asked Questions (FAQ)
Ques 1. Why is QoS needed in IP networks?
Ans. QoS is needed because best-effort IP networks cannot provide any guarantee of timely delivery of data packets.
QoS applies mechanisms to identify and separate traffic types so delay-sensitive apps get priority over delay-insensitive apps. This guarantees better service even during times of congestion.
Ques 2. What are the main QoS models?
Ans. The main QoS architectures are Best Effort, IntServ (Integrated Services), and DiffServ (Differentiated Services).
Best Effort provides no guarantees and treats all traffic equally. IntServ provides guarantees by signaling and reserving resources per flow. DiffServ classifies and prioritizes traffic into classes for expedited treatment.
Ques 3. What QoS techniques manage congestion?
Ans. Traffic shaping regulates traffic flow to avoid congestion. Traffic policing filters out non-compliant traffic. Queuing prioritizes traffic in separate queues.
Admission control limits traffic to available capacity. Congestion management mechanisms like RED, WRED, and ECN mark/drop packets to control congestion.
Ques 4. How does QoS prioritize network traffic?
Ans. QoS classifies and marks traffic using IP Precedence, DSCP, 802.1p, and MPLS EXP bits in packet headers.
Network elements use these marks to determine how to forward each packet. Higher-priority traffic gets preferential treatment with bandwidth reservation, queue management, and congestion avoidance mechanisms.
Ques 5. What are some benefits of implementing QoS?
Ans. Benefits include: guaranteed bandwidth for critical apps, reduced latency and jitter, minimized packet loss, increased application performance, ability to define SLAs, optimized network resource utilization, and improved user experience through differentiated services.