What is Quality of Service (QoS) in Networking?
What is QoS?
Quality of service (QoS) is the use of mechanisms or technologies to manage traffic and ensure the performance of critical applications. It enables organizations to adjust their overall network traffic by prioritizing specific high-performance applications.
QoS is typically applied to networks that carry traffic for resource-intensive solutions. Common services for which it is required include internet protocol television (IPTV), online gaming, streaming media, videoconferencing, video on demand (VOD), and Voice over IP (VoIP).
Using QoS, organizations can optimize the performance of various applications on their network and gain visibility into the bit rate, delay, jitter, and packet rate of their network. This ensures they can engineer the traffic on their network and change the way that packets are routed to the internet or other networks to avoid transmission delay. This also ensures that the organization achieves the expected service quality for applications and delivers expected user experiences.
The key goal of QoS is to enable networks and organizations to prioritize traffic, which includes offering dedicated bandwidth, controlled jitter, and lower latency. The technologies used to ensure this are vital to enhancing the performance of business applications, wide-area networks (WANs), and service provider networks.
How Does QoS Work?
QoS works by marking packets to identify service types, then configuring routers to create separate virtual queues for each application, based on their priority. As a result, bandwidth is reserved for critical applications or websites that have been assigned priority access.
QoS technologies provide capacity and handling allocation to specific flows in network traffic. This enables the network administrator to assign the order in which packets are handled and provide the appropriate amount of bandwidth to each application or traffic flow.
Types of Network Traffic
Understanding how QoS works is reliant on defining the various types of traffic that it measures. These are:
- Bandwidth: The speed of a link. QoS can tell a router how to use bandwidth. For example, assigning a certain amount of bandwidth to different queues for different traffic types.
- Delay: The time it takes for a packet to go from its source to its end destination. This can often be affected by queuing delay, which occurs during times of congestion and a packet waits in a queue before being transmitted. QoS enables organizations to avoid this by creating a priority queue for certain types of traffic.
- Loss: The amount of data lost as a result of packet loss, which typically occurs due to network congestion. QoS enables organizations to decide which packets to drop in this event.
- Jitter: The irregular speed of packets on a network as a result of congestion, which can result in packets arriving late and out of sequence. This can cause distortion or gaps in audio and video being delivered.
Getting Started with QoS
Implementing QoS begins with an enterprise identifying the types of traffic that are important to them, use high volumes of bandwidth, and/or are sensitive to latency or packet loss.
This helps the organization understand the needs and importance of each traffic type on its network and design an overall approach. For example, some organizations may only need to configure bandwidth limits for specific services, whereas others may need to fully configure interface and security policy bandwidth limits for all their services, as well as prioritize queuing critical services relative to traffic rate.
The organization can then deploy policies that classify traffic and ensure the availability and consistency of its most important applications. Traffic can be classified by port or internet protocol (IP), or through a more sophisticated approach such as by application or user.
Bandwidth management and queuing tools are then assigned roles to handle traffic flow specifically based on the classification they received when they entered the network. This allows for packets within traffic flows to be stored until the network is ready to process them. Priority queuing can also be used to ensure the necessary availability and minimal latency of network performance for important applications and traffic. This is so that the network’s most important activities are not starved of bandwidth by those of lesser priority.
Furthermore, bandwidth management measures and controls traffic flow on the network to ensure it does not exceed capacity and prevent congestion. This includes using traffic shaping, a rate-limiting technique that optimizes or guarantees performance and increases usable bandwidth, and scheduling algorithms, which offer several methods for providing bandwidth to specific traffic flows.
Why is QoS Important?
Traditional business networks operated as separate entities. Phone calls and teleconferences were handled by one network, while laptops, desktops, and servers connected to another. They rarely crossed paths, unless a computer used a telephone line to access the internet.
When networks only carried data, speed was not overly critical. But now, interactive applications carrying audio and video need to be delivered at high speed, without packet loss or variations in delivery speed.
QoS is particularly important to guarantee the high performance of critical applications that require high bandwidth for real-time traffic. For example, it helps businesses to prioritize the performance of “inelastic” applications that often have minimum bandwidth requirements, maximum latency limits, and high sensitivity to jitter and latency, such as VoIP and videoconferencing.
QoS helps businesses prevent the delay of these sensitive applications, ensuring they perform to the level that users require. For example, lost packets could cause a delay to the stream, which results in the sound and video quality of a videoconference call to become choppy and indecipherable.
QoS is increasingly important as network performance requirements adapt to the growing number of people using them. The latest online applications and services require vast amounts of bandwidth and network performance, and users demand they offer high performance at all times. Organizations, therefore, need to deploy techniques and technologies that guarantee the best possible service.
QoS is also becoming increasingly important as the Internet of Things (IoT) continues to come to maturity. For example, in the manufacturing sector, machines now leverage networks to provide real-time status updates on any potential issues. Therefore, any delay in identifying the problem could cause highly costly mistakes. QoS enables the data stream to take priority in the network and ensures that the information flows as quickly as possible.
Cities are now filled with smart sensors that are vital to running large-scale IoT projects such as smart buildings. The data collected and analyzed, such as humidity and temperature data, is often highly time-sensitive and needs to be identified, marked, and queued appropriately.
What Techniques and Best Practices Are Involved in QoS?
There are several techniques that businesses can use to guarantee the high performance of their most critical applications. These include:
- Prioritization of delay-sensitive VoIP traffic via routers and switches: Many enterprise networks can become overly congested, which sees routers and switches start dropping packets as they come in and out faster than they can be processed. As a result, streaming applications suffer. Prioritization enables traffic to be classified and receive different priorities depending on its type and destination. This is particularly useful in a situation of high congestion, as packets with higher priority can be sent ahead of other traffic.
- Resource reservation: The Resource Reservation Protocol (RSVP) is a transport layer protocol that reserves resources across a network and can be used to deliver specific levels of QoS for application data streams. Resource reservation enables businesses to divide network resources by traffic of different types and origins, define limits, and guarantee bandwidth.
- Queuing: Queuing is the process of creating policies that provide preferential treatment to certain data streams over others. Queues are high-performance memory buffers in routers and switches, in which packets passing through are held in dedicated memory areas. When a packet is assigned higher priority, it is moved to a dedicated queue that pushes data at a faster rate, which reduces the chances of it being dropped. For example, businesses can assign a policy to give voice traffic priority over the majority of network bandwidth. The routing or switching device will then move this traffic’s packets and frames to the front of the queue and immediately transmit them.
- Traffic marking: When applications that require priority over other bandwidth on a network have been identified, the traffic needs to be marked. This is possible through processes like Class of Service (CoS), which marks a data stream in the Layer 2 frame header, and Differentiated Services Code Point (DSCP), which marks a data stream in the Layer 3 packet header.
In addition to these techniques, there are also several best practices that organizations should keep in mind when determining their QoS requirements.
- Ensure that maximum bandwidth limits at the source interface and security policy are not set too low to prevent excessive packet discard.
- Consider the ratio at which packets are distributed between available queues and which queues are used by which services. This can affect latency levels, queue distribution, and packet assignment.
- Only place bandwidth guarantees on specific services. This will avoid the possibility of all traffic using the same queue in high-volume situations.
- Configure prioritization for all traffic through either type of service-based priority or security policy priority, not both. This will simplify analysis and troubleshooting.
- Try to minimize the complexity of QoS configuration to ensure high performance.
- To get accurate testing results, use the User Datagram Protocol (UDP), and do not oversubscribe bandwidth throughput.
Advantages of QoS
The deployment of QoS is crucial for businesses that want to ensure the availability of their business-critical applications. It is vital for delivering differentiated bandwidth and ensuring data transmission takes place without interrupting traffic flow or causing packet losses. Major advantages of deploying QoS include:
- Unlimited application prioritization: QoS guarantees that businesses’ most mission-critical applications will always have priority and the necessary resources to achieve high performance.
- Better resource management: QoS enables administrators to better manage the organization’s internet resources. This also reduces costs and the need for investments in link expansions.
- Enhanced user experience: The end goal of QoS is to guarantee the high performance of critical applications, which boils down to delivering optimal user experience. Employees enjoy high performance on their high-bandwidth applications, which enables them to be more effective and get their job done more quickly.
- Point-to-point traffic management: Managing a network is vital however traffic is delivered, be it end to end, node to node, or point to point. The latter enables organizations to deliver customer packets in order from one point to the next over the internet without suffering any packet loss.
- Packet loss prevention: Packet loss can occur when packets of data are dropped in transit between networks. This can often be caused by a failure or inefficiency, network congestion, a faulty router, loose connection, or poor signal. QoS avoids the potential of packet loss by prioritizing bandwidth of high-performance applications.
- Latency reduction: Latency is the time it takes for a network request to go from the sender to the receiver and for the receiver to process it. This is typically affected by routers taking longer to analyze information and storage delays caused by intermediate switches and bridges. QoS enables organizations to reduce latency, or speed up the process of a network request, by prioritizing their critical application.
Guarantee Performance with QoS
QoS is crucial for all organizations that want to guarantee the best performance of their most critical applications and services. It is vital to ensuring that high-bandwidth solutions like VoIP, videoconferencing, and increasingly, streaming services do not suffer latency or lag.
QoS enables an organization to prioritize traffic and resources to guarantee the promised performance of a specific application or service. It also enables enterprises to prioritize different applications, data flows, and users in order to guarantee the optimum level of performance across their networks.
Fortinet enables QoS through FortiGate SD-WAN. Learn more about SD-WAN and how it can extend your high performance network across branch offices: