Not all Internet traffic is equal. Streaming HD video or having a stutter-free Skype call is probably more important to you than downloading a big file. The Quality of Service feature on your router lets you prioritize the things you care about, so they happen faster than the things you don’t.
What Exactly Is Quality of Service?
Quality of Service is an excellent and underutilized tool that allows you to train your router to divvy up your available bandwidth between applications. With good QoS rules, you can ensure that your streaming video doesn’t stutter because a big file is downloading at the same time, or that your work laptop isn’t sluggish when you’re trying to meet that last minute deadline while your kids are playing games online.
It may help to think about Quality of Service like this: Let’s pretend, for a moment, that your Internet connection is a hospital where the available bandwidth is the number of doctors available to treat patients. The patients are the different applications, and the triage nurse is the router.
On a normal network, the triage nurse is indifferent to the condition of the incoming patients and simply assigns them to any available doctors, progressively spreading the staff of the hospital thinner and thinner with no regard for the severity of the patient’s situation. Accidentally shot your hand with a nail gun during a DIY project? You get a doctor immediately. Someone just got run over by a truck? They get a doctor immediately too. Somebody else shows up with a broken arm? They get a doctor too (but if it’s getting really busy pretty soon people are sharing doctors and nobody is getting particularly speedy care). You can see how, in short order, the hospital would be a bogged down mess and high-priority patients wouldn’t be getting high-priority care.
The same thing happens on your network at home–bandwidth is given out as needed, without much regard for what each application is doing. This means if you’re on a Skype conference call with your boss and your kids start watching Netflix, the quality of your Skype call can drop. The router is doing its best to share the available bandwidth between the two services, not really considering which is “more important”.
Quality of Service, to return to our hospital analogy, is like a very competent triage nurse who directs patients to the right doctor in the most efficient way: the guy who just got run over by the truck will get multiple doctors and the guy sitting there with the nail stuck in his hand from the bird-house-project-gone-wrong will wait a moment and get a single doctor when he’s seen.
Networks with a Quality of Service model applied will prioritize, as you tell it, certain applications, services, and/or users over others so the important things (Netflix, Skype calls, your Xbox Live connect, etc.) have the most bandwidth and the best ping time.
How to Enable Quality of Service on Your Router
There are hundreds of different routers out there with wildly different firmware and capabilities. Some routers have Quality of Service settings that are as simplistic as allowing you to prioritize the traffic from one computer over another. Some have you specify what kind of services you want to prioritize (e.g. streaming video over web browsing), and others offer granular control over nearly every aspect of the process.
While we can’t walk you through your exact router setup, we can highlight the key considerations that go into configuring Quality of Service rules. For demonstration purposes, we will be enabling Quality of Service rules on a router flashed to run the versatile DD-WRT third-party firmware. You’ll need to log into your own router’s administration page to see which–if any–of these features are available to you. Before proceeding, we highly recommend checking the online documentation for your router on the manufacturer’s website to determine what kind of QoS settings your router supports as well as how to access them.
Step One: Establish Your Goal
Before you even open your admin page, think about your goals. What are you attempting to accomplish with quality of service rules? Do you want to ensure that your home office computer always has priority over all the other devices in the house (e.g. all your work traffic should always be more important than entertainment and gaming on the other devices)? Do you want to prioritize traffic from a block of IP addresses you’ve assigned to your home media server and Minecraft server to ensure speedy access from outside your home network? Do you want to prioritize Netflix so your streaming video is always smooth?
For residential use, QoS rules should be selective and as minimal as possible. Don’t go crazy and set a dozen different rules right out of the gate. Creating lots of different quality of service rules can cause more headaches than they solve, we’d encourage you to start with the biggest issue(s) and create a rule for dealing with it. If that resolves your network issues, then stop there. If not, you can continue with another rule.
Step Two: Determine Your Connection Speed
Once you’ve established your goals for your QoS setup, it’s time to dive into getting it up and running. Save for the most simple of QoS systems, nearly every QoS setup will ask about your upload and download speed to set the limits on how much bandwidth users and services can gobble up. Absolutely do not rely on the advertised speed your ISP says your account has. Test it yourself to get a true measurement.
First, stop all high-bandwidth activities on your network: stop large downloads, stop streaming Netflix, and so on. You want an accurate picture of your real available upload and download bandwidth.
Next, visit speedtest.net and click the “Begin Test” button. Ideally, you should run this test while your computer is hooked up with an Ethernet cable, or at the very least a fast Wi-Fi connection (using modern wireless technologies like Wireless N or Wireless AC). Old Wi-Fi network gear can bottleneck your network test, and you won’t get accurate results (e.g. your Wi-Fi gear can only handle 40 Mbps transfer but your connection is actually capable of 75mpbs).
Once you have your results, convert the numbers from Mbps to Kbps (as the QoS control setup usually asks for these values in kilobits and not megabits). You can do so by multiplying each value by 1000. Thus, in our above example, we achieved 42,900 Kbps for our download bandwidth, and 3,980 Kbps for our upload bandwidth.
Step Three: Enable QoS on Your Router
Again, for emphasis, we are using DD-WRT for demonstration purposes (because it has a robust QoS system); you’ll need to apply the general principles as applicable.
First, open your router’s admin page. Open your web browser and type the IP address of your router into the address bar (Usually something like 192.168.1.1 or 10.0.0.1, though you may need to check your router’s manual). Log in with your username and password when prompted (again, if you don’t know what yours is, it may still be the default one listed in your manual).
Once logged in, select the NAT/QoS tab, then the QoS tab. First, select “Enable” next to “Start QoS”. Leave the port set to WAN. Leave the Packet Scheduler and Queuing Discipline set to the default state (it should be set automatically based on the router hardware).
Finally, fill in the downlink and uplink values. The values you fill in should be 80-95% the value you got with your speed test. Multiply both values by 0.8 or 0.95 to get the reduced Kbps amount.
Why use a reduced value? Quality of service rules only work if the router and the quality of service algorithm can create an artificial bottleneck to redirect traffic as the QoS handler sees fit. If you use values equal to or larger than the maximum capacity of your connection then you give the QoS handler no wiggle room and the system becomes significantly less effective.
How to Prioritize Your Traffic
Once you’ve turned the Quality of Service on, it’s time to create basic traffic prioritization rules.
Some newer routers have dead-simple QoS options, where you just select the services you want to prioritize them (or drag-and-drop them on a list). Here, for example, is a screenshot from a newer ASUS router we have:
If that’s all you want, and your router has that feature, try it and see what works. But if you want more fine-grained control–or you have an older router that doesn’t have such simple setup–here are some more detailed instructions for setting up QoS.
Let’s look at the different ways you can do so, and which ones you should use. DD-WRT uses a “priority” system, letting you tell it which services or devices are most important. The priority values are:
- Maximum: 60% – 100%
- Premium: 25% – 100%
- Express: 10% – 100%
- Standard: 5% – 100%
- Bulk: 1% – 100%
These values determine the amount of bandwidth allocated to a given application or device. For example, if you set a service to “Maximum”, you are saying “I want this service to have at least 60% of the bandwidth, even when the network is busy, and 100% when it is not.”. If you set a service to “Bulk” you’re saying “I don’t care if this service uses a lot of bandwidth when the network is idle, but when things are busy it only gets 1% of the available bandwidth”.
As we emphasized above, be judicious in your application of quality of service rules.
Prioritize by Service
If you want every device on your network to have priority access to a certain app or service, then you can creative a network wide service priority rule. Let’s say, for the sake of example, you want to ensure that Netflix gets priority over less bandwidth sensitive things like general web browsing. You would first select the service from the drop-down menu, as shown below, and then click “Add”.
Once the service is listed, select the priority you wish to use for it.
Prioritize by Interface
In networking lingo, an “interface” is the method by which your device is connected to the network. You can prioritize your local Ethernet network, you can prioritize wireless connections, or you can even set rules that makes guest network traffic a low priority.
Let’s look at how we can make guest network traffic a low priority. From the drop down menu we’ll select “wl0.1” which, in network shorthand, is Wireless LAN #0 Virtual Network 1. Click “Add”.
Once you’ve added the interface, you can specify the max upload/download speed and even prioritize services on the specific connection, as seen in the screenshot below.
Interface priority is, because of the requisite knowledge of the arcane network naming schemes, one of the more difficult priority systems to use. If you’re unclear which network interface is which, we’d recommend just leaving this section alone. You can read up on network interfaces in the DD-WRT wiki here.
Prioritize by Device with IP Addresses
Say you want to give a specific device–like your work computer–priority at all times. If you use static IP addresses or DHCP reservations on your network, you can prioritize traffic on certain computers and devices using their IP address. Many routers allow for this, and DD-WRT goes a step further, allowing you to prioritize a group of IP addresses with a “netmask”.
Let’s say, for example, that you want your home server, located at the static IP address of 10.0.0.200, to have the highest priority access to your network. You would input the address in the Netmask Priority section and append the end with 32, as seen below.
The 32 element is the netmask. Detailed discussion of netmask usage is a bit beyond the scope of this tutorial, but suffice to say that a /32 mask is netmask shorthand for “only resolve this single IP address”. Any other smaller number will allow for the mask to encompass a higher number of addresses in a given block (e.g. 10.0.0.200/24 would cause the quality of service rule to apply to all 254 potential addresses in the 10.0.0.* block). You can refer to this netmask quick reference guide to select a number that works for the section and size of the address block you wish to prioritize.
If you find the netmask system to be a bit confusing (it’s not exactly intuitive), it’s best to just stick to /32 and manually input each IP address.
Once you click “Add”, you can assign priority access to the address, like in the previous section.
Prioritize by Device with MAC Addresses
If you don’t use static IP addresses on your network, you can still prioritize certain computers and devices with their MAC address. Refer to this guide for information on finding the MAC address of your devices–it’ll either be on a physical label attached to the device, or somewhere in its software settings.
With the MAC address in hand, simply enter it into the MAC priority section, click Add, and then assign a priority to the device as we’ve done in the previous sections.
Now regardless of what IP address your router assigns, say, you can ensure your work laptop it will always get priority.
Finally: Test and Evaluate
The best thing you can do to minimize frustration with your QoS setup experience is, as we emphasized above, to take it slow. Set a rule for a big ticket item and then just use your network as your normally would.
Does everything run smoother? Great! You’re done! Things still need a little fine tuning? Return to the QoS control panel. Double check your settings, adjust the way you’ve allocated bandwidth, and, if necessary, create a new QoS rule.
When you find the Goldilocks configuration that keeps your network humming along smooth and trouble free, by all means make note of the settings you used and take some screenshots (even better yet, back up your router configuration if your router supports it). Keeping track of your router settings isn’t just good for migrating to a new router it’s great for setting things up quickly if you need to hard reset your router in the future.
Setting up Quality of Service rules isn’t exactly as simple as just plugging your router in and slapping a new Wi-Fi password on it, but the payoff for configuring QoS rules is a much smoother internet experience. Some even