You may have often found yourself in a situation where you are moving data (inbound or outbound) from your PC to another location over the network and other online tasks become difficult to perform during the transfer. This happens because specific or multiple tasks are choking up your bandwidth.
This can be controlled through the Quality of Service (QoS) feature in the following Microsoft products:
Before we move on to showing you how to limit the bandwidth of a specific app using QoS, there are a few things we’d like you to understand.
What is Quality of Service (QoS)
Quality of Service in networking terms refers to controlling network traffic through a set of rules and policies. QoS enables users to have granular control over their system network/internet download and upload bandwidth.
Networking devices function properly whilst relying on a combination of rules that enable them to sort and prioritize packets. QoS is used to define this information in the packet header so that the networking devices understand how to prioritize individual data.
For example, voice packets (Voice Over IP (VoIP)) have a higher priority over regular packets, which is why they are let through these devices before the ones with the lesser priority, which in turn increases the priority of the application transmitting and receives the VoIP packets.
QoS is mostly used for resource-intensive networks. However, individuals can also use this feature to prioritize one app over the other to ensure it communicates over the network without an interruption from other tasks.
You can also apply a cap on individual apps and tasks/services to not use more than the permitted network bandwidth, also known as throttling rate, using QoS. You can control the throttle rates for outbound network traffic for the following:
- Sending the application and directory path
- Source and destination IPv4 or IPv6 addresses or address prefixes
- Protocols – Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
- Individual source and destination ports and port ranges
- Specific groups of users and computers through deployment in Group Policy
The network traffic priority is defined by the Differentiated Services Code Point (DSCP) inside a packet.
What is Differentiated Services Code Point (DSCP)
The DSCP is a number between 0 and 63 inside the Type of Service (ToS) field in the IPv4 packet’s header, and inside the Traffic Class field in the IPv6 packet. This value defines the priority of the packets. A different range of DSCP values determines the different classes of these packets. Here is a table defining the packet classes and the associated DSCP ranges:
|Background (BG) (Lower than best effort)||8-23|
|Best Effort (BE)||0-7 & 24-31|
|Video (VI) (High-priority)||32-47|
|Voice (VO) (Mission-Critical)||48-63|
Before the launch of Windows Vista, Microsoft allowed different software manufacturers to define their own DSCP values. However, due to incorrect DSCP values being configured by these manufacturers and causing hindrance to mission-critical packets (such as VoIP), Microsoft began setting the DSCP values of application packets to 0.
You can now redefine these DSCP values for individual apps.
This information is important in the process of limiting the bandwidth consumption of an app. Let us now show you how to do it.
Limit App Bandwidth Using Quality of Service (QoS)
You can configure QoS on a Windows computer using the Group Policy Editor. Follow the steps below to do so:
- To begin, confirm that the QoS Packet Scheduler is enabled on your network adapter. Open the Network Connections by typing in ncpa.cpl in Run, right-click on the network adapter and click Properties from the context menu.
- Now ensure that the box next to “QoS Packet Scheduler” is checked.
- Now open the Group Policy Editor by typing in gpedit.msc in Run.
- Now navigate to the following location from the left pane:
Local Computer Policy >> Computer Configuration >> Windows Settings >> Policy-Based QoS
- Right-click “Policy-based QoS” and click Create new policy from the context menu.
- In the popup wizard, enter a custom policy name. Then, uncheck the box next to “Specify DSCP Value” and check the box next to “Specify Outbound Throttle Rate.” Now enter a limit for the outbound traffic you want to allow. Once configured, click Next.
- Now select “Only applications with this executable name” and then enter the name of the .exe file along with the extension in the text field. You can also provide the complete path of the app, but it is not necessary. Once done, click Next.
Note: You can also select “All applications” if you want to limit outbound throttle rate of all apps and services. This also includes the throttle rate of the files and folders when someone else is moving data from your PC to theirs over the network.
- On the next page, leave the default selections and click Next.
Note: You can also choose to limit the throttle rate for a specific source or destination IP address. Since we are only limiting the bandwidth for an app on the local PC, we kept the default selections.
- Leave the default selections again and click Finish.
Note: Here, you can also define the source and destination ports or port ranges, as well as the type of packets. Since we are only limiting the bandwidth for an app on the local PC, we kept the default selections.
The QoS policy is now configured. Here, we have limited the bandwidth consumption for Google Chrome to 2 Mbps.
You can repeat the steps above to limit bandwidth for more applications and create more policies.
You can also edit an existing policy if you wish to make changes to it, or delete it entirely if you wish to continue with the system default settings. This can be done through the context menu of the policy.
Limit Inbound TCP Traffic Throughput using QoS
You can also limit the throttle rate of the inbound TCP traffic on your PC using the QoS feature in Windows. Here is how:
- Open the Group Policy Editor and navigate to “Policy-based QoS,” the same as in steps 3 and 4 above.
- Right-click “Policy-based QoS” from the left pane and then click Advanced QoS Settings from the context menu.
- From the popup, check the box next to “Specify the inbound TCP throughput level” and then select a level from the given options. The throughput of these levels is given in the table below. When selected, click Ok.
|Inbound TCP Throughput Level||Maximum Transfer Rate|
Why Use Quality of Service (QoS)
There are many other bandwidth management tools out there, but QoS gives you more advantages over them.
Without having to use third-party software, QoS allows you to manage your network’s traffic, especially with the increasing network activity on organizational scales. Thus, it becomes important to prioritize mission-critical traffic and reduce the latency for communication.
With no additional overhead costs for third-party licenses, you can manage your network’s traffic with QoS integrated right into your operating system.
If you are looking to increase your internet speed, you can limit the bandwidth usage of individual apps as discussed in this post, or limit the system reservable bandwidth to increase your available bandwidth.