Have you ever tried to use Skype only to have a terribly choppy connection because your sister was watching 1080p YouTube videos on the same network? Or maybe you’ve had a gaming session ruined by your brother who wouldn’t pause his torrent downloads?
If so, you’re probably wishing that there was a way to configure your router so that you had a smoother experience. The good news is, there is! It’s called Quality of Service (QoS).
What Is Quality of Service?
Quality of Service is a mechanism used to ensure that the traffic you prioritize does in fact get top priority and gets bandwidth attributed to it over anything else that may be trying to use it all. While it can be used within your network, you’ll mainly use it to control the traffic between you and the rest of the Internet.
Think of your network as a busy highway between your devices and the Internet. Quality of Service would be similar to dividing that highway into transit, carpool, and emergency service lanes — only certain types of traffic are allowed in certain lanes, and some lanes will get to where they’re going with fewer delays.
Of course, the highway still has a maximum number of lanes in each direction, and making one of them a carpool lane won’t increase the amount of total traffic the highway can handle. It just makes it easier for some of the traffic to move more smoothly.
Likewise, Quality of Service won’t make your Internet connection faster and it won’t expand your total bandwidth throughput — it’ll just make it feel faster for certain applications and services when the network is congested.
Voice over IP (VoIP) and video conference services, like Skype or Facetime, are services that are sensitive to both latency and bandwidth — and that means they can be improved a great deal with proper QoS settings.
Understanding Latency & Bandwidth
Latency is a measurement of the delay in communication between you and the person you’re talking with over a network. You may have had phone calls where you’ve noticed a definite delay between you saying something and the other person hearing it. That would be an example of high latency.
Bandwidth, on the other hand, is the rate at which you can download or upload data, usually limited by the speed of your Internet connection. Between latency and bandwidth, applications will generally be more sensitive to one or the other.
Gaming is extremely latency-sensitive but generally not bandwidth-sensitive. If you’ve ever tried playing a game with high latency (e.g. “lag”), such as trying to play on a server in another continent, things take a long time to react or may jump all over the place while the game tries to catch up and compensate.
Video streaming is very bandwidth-sensitive but not latency-sensitive. Each video has a “bitrate“, which is the amount of data that it transfers per period of time, typically measured in bits per second. The higher the resolution, the greater the bitrate. If the bandwidth available is less than the required bitrate, the video will stop to buffer as it runs out of loaded data.
These are the sorts of services that are given top priority by Quality of Service mechanisms, as they’re the most frustrating if they don’t run smoothly. Lower priority may be given to traffic like BitTorrent downloads, which usually isn’t urgent, while things like Web browsing tends to fall somewhere in the middle.
How Quality of Service Works
Because services are disrupted by latency and low bandwidth, Quality of Service can increase performance either by reducing latency or freeing up bandwidth. Each one has its own technique, but the two often work in tandem to increase overall network performance.
Different kinds of traffic will benefit from different mechanisms, depending on whether that traffic is latency-sensitive, bandwidth-sensitive, or both.
Queuing is the main mechanism used to reduce latency for high priority traffic. A queue allows the router to keep traffic buffered when it is not yet ready to be processed.
Quality of Service rules may allow packets (chunks of network data) from high-priority services or applications to jump the queue and be processed first, which helps reduce latency for those important services and applications.
Rate Limiting (Bandwidth)
If too many packets try to enter the queue at once, the buffer will overflow and packets can be lost. Rate limiting (also known as packet shaping) restricts the number of packets that the queue will accept from a particular source, automatically dropping any extras that the source tries to send it.
This forces the source to reduce the number of packets that it attempts to send, effectively limiting the bandwidth afforded to that source. Low priority traffic sources may be specifically limited, whereas a high priority service may cause all other traffic to be rate limited (i.e. “throttled”) to free up bandwidth.
Setting Up Quality of Service
The vast majority of Quality of Service mechanisms are handled via your router. Because it’s the thing that connects your devices to the Internet, it’s the perfect spot to look at incoming data and sort that data to the different devices on the network.
If you’re using Wi-Fi, there’s a good chance you’re already using QoS. Many devices and routers support a protocol called Wi-Fi Multimedia (WMM) that automatically sorts data into four categories: Voice, Video, Best Effort, and Background in descending order of priority.
Most routers have some form of Quality of Service capability built in, but some are more sophisticated than others. You’ll usually find it somewhere in the Advanced section of your router’s control panel.
Types of Data Priorities
There are two main ways to assign Quality of Service priorities: a per-device basis and a per-application basis.
Priority by Device
You may decide that a particular device should be given priority over all others, such as a gaming console. Every device has a few things that make it uniquely identifiable on a network: an IP address, a MAC address, and a hostname.
Because a device’s MAC address is most likely to be unique and can’t be changed, this is generally the best way to identify a device. But if necessary, any of these can be used.
Prioritizing by device usually involves finding the device’s MAC address (which you’ll usually find in the device’s network settings) and entering it to the Quality of Service settings page. Because the router now knows the MAC address and its relevant IP address, it recognizes any traffic which is heading to or from that IP address and is able to give it priority accordingly.
Priority by Application
This is the more common type: priority is assigned based on which port or application a piece of data is meant to go to. Instead of prioritizing an entire device’s traffic, it only prioritizes a certain type of data.
For example, if you know that all of your BitTorrent traffic goes through port 54321, you may set a rule that port 54321 has low priority and should only be given bandwidth after all other applications have gotten the bandwidth they need.
Conversely, you may set a rule saying that Skype on port 33333 should be given highest priority so its traffic is not only processed first (in order to reduce latency) but is also given as much bandwidth as it needs (in order to reduce video choppiness).
Try Quality of Service Yourself
Quality of Service helps latency-sensitive traffic (like gaming) and bandwidth-sensitive traffic (like Netflix) bypass network congestion and allows everything to perform more smoothly even with a super busy network.
You can either configure it on an app-by-app basis or give top priority to a specific device. Your router probably has some form of Quality of Service capability built in, so why not give it a go?
Do you have Quality of Service set up on your home network? What gets highest priority? What would you relegate to low priority? Leave a comment below!
Image Credit: Profit_Image via Shutterstock.com