| technology | networking - Ross Heintzkill
3 Types of QoS Tools: Queuing, Identifying, Policing
Not all network traffic is created equal. And when you recognize traffic that you want to get to its destination before some other traffic, no matter your reason, Quality of Service is what you need to do that. The goal of Quality of Service (QoS) is to empower you with the ability to prioritize some traffic before others.
There are many QoS tools and approaches, but in this post we're going to show you the categories of QoS that exist. That way, when the time comes for deploying Quality of Service in your own network environment, you'll understand what you're doing and why.
What is Quality of Service (QoS)?
Quick Definition: Quality of Service (also known as QoS) is a set of technologies, tools and approaches that you can apply to a network. The goal of QoS is to guarantee the network's ability to reliably run applications and traffic despite limited capacity. Some QoS tools and technologies do their jobs by handling different packets differently, throttling bandwidth in certain circumstances, and changing priorities on the fly.
An Overview of QoS [VIDEO]
In this video, Jeremy Cioara covers the Quality of Service (QoS) tools at your disposal in network environments. Many of these mechanisms perform similar functions but use different methods. Understanding the effect each tool is designed to have will allow you to know when to leverage the most appropriate approach in a given situation.
What Are the Categories of Quality of Service Technologies?
There are six categories of Quality of Service technologies: Classification, Marking, Policing, Shaping, Congestion Avoidance, and Queuing. While it may be enticing to try and rank which of these categories does the best QoS, Quality of Service is an umbrella term that applies to many different approaches to handling different problems with network prioritization. So there's really no one single best technology, it depends on the unique constraints and opportunities the network provides.
Imagine for a moment you opened someone's tool shed. Inside, you'll probably find multiple tools that have the same goal but accomplish it differently. A jigsaw, table saw, and hacksaw all get to the goal of cutting something, but each one approaches it differently. In the same way, the six categories of Quality of Service technologies have the same goal, but approach it differently.
Classification differentiates traffic. Marking prepares traffic for future devices. Policing throttles bandwidth. Shaping queues excess traffic. Congestion Avoidance heads off excess traffic before it gets out of hand. And Queueing, the most recognizable QoS category, prioritizes packets. These are your different "saws", and optimizing network traffic is what you're "cutting". Let's dive into each category of Quality of Service tool.
What is Classification in QoS?
Classification is at the core of QoS. Classification is the ability for a device to identify different traffic types so you can properly prioritize one over the other.
Traditionally, VoIP is considered more important by an organization than somebody surfing the web. Classification QoS tools, such as an Access Control List (ACL) or Network-Based Application Recognition (NBAR), allow a network administrator to catch the data as it comes into a router and identify it.
The router catches which data is meant for VoIP traffic, which is general web browsing — maybe YouTube videos— and then can choose which one gets prioritized above the other.
What is Marking in Quality of Service?
In Quality of Service categorizations, Marking is actually one of the optional ones. Marking involves tagging a packet as it enters the router so that subsequent devices can recognize the traffic without needing to spend processor time inspecting it.
With Marking, the first router in a chain takes a packet and says, "Okay, these are VoIP packets, and I'm going to color them all blue. That way, all the routers in the future can recognize them as VoIP packets. Then they won't need to use a deep packet inspection (like ACL or NBAR)." Having each router inspect each packet can cost the network processor cycles.
Marking tools might include a Class of Service (CoS), which allows switches to see what's going on, or Type of Service (ToS), which routers use at Layer 3 in the header to identify traffic.
What is QoS Policing?
Policing is a bit odd, because technically speaking it's the only Quality of Service tool that's actually an anti-QoS tool. Policing takes away bandwidth.
Imagine you were maintaining a large, campus-wide network. As you monitor the network usage and track where bandwidth is getting gobbled up, maybe you notice that a minority of your users are consuming a majority of available bandwidth. And when you look into it, what do you find? Peer-to-peer file sharing.
If you wanted to make it possible for other users and applications to get that bandwidth, you might deploy some Quality of Service Policing technologies against P2P apps. With them, you can throttle the bandwidth that's available to certain apps and packet types.
Quality of Service Policing allows you to set an upper limit, and when traffic hits that amount, the tool cuts the traffic and doesn't allow any more.
What is Shaping in Quality of Service?
Shaping is a little bit like Policing, but it's a kinder, gentler version. Shaping is for traffic that we care about. With it, you squeeze all your outbound traffic into a bandwidth your provider supports, hopefully without losing any data.
A relatively common occurrence in networks is that the physical rate that your interface can send at — let's say 100MBps — is a lot faster than the amount your service provider allows you to transmit at — let's say that's 20MBps. In those circumstances, if you use Shaping, it allows you to throttle your interface down, but queue the excess traffic.
In the same circumstance, Policing might kill the packets to save bandwidth. But Shaping tools hold the excess data in memory and try to transmit it at a later time. Often, Shaping is used in things like frame relay, or essentially any kind of network where your physical line rate does not match what the service provider allows you to send out.
What is QoS Congestion Avoidance?
Congestion Avoidance tools are powerful and helpful tools that can keep network traffic level and balanced. Congestion Avoidance disciplines like Random Early Detection or Weighted Random Early Detection basically allow a little sniper to step out onto the scene.
To understand what Congestion Avoidance tools do, let's revisit how TCP traffic builds itself up. The process is called TCP Windowing: when a computer first tries to send some data, it starts small and builds up and up. Gradually, the computer increases the packets it's trying to send until it's consuming as much bandwidth as it possibly can.
The keyword in Congestion Avoidance is "avoidance". Congestion Avoidance QoS tools shut down the possibility of congestion by watching for certain limits on a router and then taking action. As a router's traffic builds up, Congestion Avoidance tools look for the devices that run the highest risk of consuming the entire bandwidth amount.
The Congestion Avoidance tools, like little snipers, begin shooting random packets (hence the "random" in Random Early Detection) in the datastream, killing them off. As soon as the originating computer's TCP realizes that packets are getting dropped, it slams on the brakes and shrinks that window size down. That automatically slows the traffic down before the device can consume all the bandwidth.
What is Queuing in Quality of Service?
Queuing is what most people think of when they think about Quality of Service. It's where the real power of QoS comes in. Queueing is essentially saying, "This packet is actually more important than that packet: move it to the front of the line."
With Queuing tools, you can instruct a router to shuffle packets around to put the most important traffic first. So if you have two packets, one for voice and one for data, inside the queue waiting to be transmitted, you can decide which packet takes priority based on organizational objectives.
Common Queuing tools include Low-Latency Queuing (that's the powerhouse that encompasses all of them), but you also have Class-based Weighted Fair Queuing (CBWFQ), you even have old-school methods like Priority Queuing or Custom Queuing. Many different Queuing tools exist, and each of them approaches the process differently, with different slants.
These are simply the categories of Quality of Service tools that exist. Much remains to be said about how tools of each category function, and what their strengths and drawbacks are. Generally speaking, learning about QoS and QoS tools isn't something you learn in isolation. Usually, you learn it bundled with a larger body of knowledge needed for a job or a position, like studying for the CCNP Collaboration certification. Hopefully this has expanded your IT knowledge and given you ideas of tools you can add to your skill set.