Overview of Policy-Based QoS

Quality of Service (QoS) for networks is an industry-wide set of standards and mechanisms for ensuring high-quality performance for critical applications. Network administrators can use QoS mechanisms to prioritize, and manage the sending rate for, outgoing network traffic. The use of these mechanisms ensures that resources are used efficiently to provide the required level of service.

In Windows Server® 2008 R2 and Windows 7®, policy-based QoS combines the functionality of QoS standards with the manageability of Group Policy. This combination allows for easy application of QoS policies to user login sessions and computers.

About QoS policies

A QoS policy wizard in the Group Policy Management Console (GPMC) helps you configure QoS policies in a Group Policy object (GPO). By linking the GPO to Active Directory containers such as sites, domains, and organizational units (OUs), you can apply the QoS policy to manage outbound traffic for user login sessions or computers that you define. For example, you can create QoS policies to mark as high priority all traffic from a group of servers that run a critical enterprise resource planning application.

Policy-based QoS settings in Windows Server 2008 R2 and Windows 7 enable you to prioritize or manage the sending rate for outbound network traffic based on the following:

  • Sending application.

  • URL. (This support is new in Windows Server 2008 R2 and Windows 7.)

  • Source or destination Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6) addresses or address prefixes.

  • Source or destination Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) ports or port ranges.

  • Protocol (TCP or UDP).

You use a differentiated services code point (DSCP) value to specify the priority of traffic. DSCP values are defined in RFC 2474. You use throttle rate to specify the sending rate of traffic. You can use DSCP marking and throttling together. For example, you can create a QoS policy to mark all traffic responding to requests from http://www.contoso.com with a DSCP value of 44 and limit that traffic to an aggregate outbound rate of 500 kilobytes per second (KBps).

In the IPv4 header, the DSCP value is stored in the Type of Service (TOS) field. In the IPv6 header, this value is stored in the Traffic Class field. DSCP-capable routers read the DSCP value and place a packet to be forwarded into a queue. By configuring queues and DSCP values for routers on your network, you can achieve differentiated levels of service for DSCP-marked traffic on your network. For more information, see RFC 2474 (http://go.microsoft.com/fwlink/?LinkId=139654).

In addition to the standard QoS policy settings that enable you to specify a DSCP value and a throttle rate, you can use advanced QoS settings to manage the throughput level of inbound TCP traffic and to specify whether DSCP marking requests from applications (as opposed to marking requests from QoS policies) are allowed or ignored.

Additional references

  • Working with QoS Policies

  • Advanced QoS Settings

  • Quality of Service TechCenter on Microsoft TechNet


Working with QoS Policies

You use the Group Policy Management Console (GPMC) to configure or edit policy-based Quality of Service (QoS) settings. If you edit policy settings locally on a computer, you will affect the settings on only that one computer. If you configure the settings in a Group Policy object (GPO) hosted in an Active Directory domain, then the settings apply to all computers that are subject to that GPO. For more information about Group Policy in an Active Directory domain, see Group Policy (http://go.microsoft.com/fwlink/?LinkId=55625).

Membership in Domain Admins, or equivalent, is the minimum required to complete these procedures.

To create a QoS policy for computers or users

  1. In the GPMC, in the forest and domain where you want to create a policy, under Group Policy objects, right-click a GPO, and then click Edit.

    • To create a QoS policy for computers, under Computer Configuration\Policies\Windows Settings, right-click Policy-based QoS, and then click Create new Policy.

    • To create a QoS policy for users, under User Configuration\Policies\Windows Settings, right-click Policy-based QoS, and then click Create new Policy.

  2. In the Policy-based QoS wizard, choose QoS policy properties. For more information, see Creating and Editing a QoS Policy.
To configure advanced QoS policy settings for computers

  1. In the GPMC, in the forest and domain where you want to configure advanced QoS policy settings, under Group Policy objects, right-click a GPO, and then click Edit.

  2. Under Computer Configuration\Policies\Windows Settings, right-click Policy-based QoS, and then click Advanced QoS settings.

  3. Choose Advanced QoS properties. For more information, see Advanced QoS Settings.
To view or edit QoS policy settings

  1. In the GPMC, in the forest and domain where you want to view or edit QoS policy settings, under Group Policy objects, right-click a GPO, and then click Edit.

  2. Under Computer Configuration\Policies\Windows Settings or under User Configuration\Policies\Windows Settings, right-click the policy whose settings you want to view or edit, and then click Edit existing policy.
To delete a QoS policy

  1. In the GPMC, in the forest and domain where you want to delete a QoS policy, under Group Policy objects, right-click a GPO, and then click Edit.

  2. Under Computer Configuration\Policies\Windows Settings or under User Configuration\Policies\Windows Settings, right-click the policy you want to delete, and then click Delete policy.

Additional references

  • Quality of Service TechCenter on Microsoft TechNet


User Interface: Policy-Based QoS

  • Creating and Editing a QoS Policy

  • Advanced QoS Settings


Creating and Editing a QoS Policy

To create or edit a QoS policy, use the Group Policy Management Console (GPMC). When you edit a Group Policy object (GPO), you can find QoS policies in Computer Configuration\Policies\Windows Settings or User Configuration\Policies\Windows Settings in the Group Policy Management Editor. QoS policies created in Computer Configuration apply to computers regardless of who is logged on. QoS policies created in User Configuration apply to a user session regardless of the computer being used. For more information, see Windows Server Group Policy (http://go.microsoft.com/fwlink/?LinkID=116313).

When you create a new QoS policy, wizard pages guide you through the policy configuration. When you edit a QoS policy, tabs corresponding to these wizard pages enable you to change settings.

  • Policy Profile tab (Wizard page 1)

  • Application Name or URL tab (Wizard page 2)

  • IP Addresses tab (Wizard page 3)

  • Protocol and Ports tab (Wizard page 4)

Policy Profile tab (Wizard page 1)

Item | Details
Policy name | Type a name for the QoS policy that uniquely identifies the policy.
Specify DSCP value | Select the check box to enable DSCP marking, and then type a DSCP value between 0 and 63.
Specify throttle rate | Select the check box to enable throttling for outbound traffic, and then specify a value greater than 1 in either kilobytes per second (KBps) or megabytes per second (MBps).

Application Name or URL tab (Wizard page 2)

Item | Details
All applications | Default. Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic, regardless of application.
Only applications with this executable name | Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic only for the application you specify. The executable file name must end with the .exe file name extension. You can include the path with the application name, and the path can include environment variables (for example, %ProgramFiles%\My Application Path\MyApp.exe or c:\program files\my application path\myapp.exe). The application path cannot include a symbolic link.
Only HTTP server applications responding to requests from this URL | Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic that is responding to a specified URL. HTTP and HTTPS URLs are supported. The URL can include wildcard characters and can specify a host name and port number. Select the Include subdirectories and files check box to apply the traffic management settings to all subdirectories and files of the URL.

IP Addresses tab (Wizard page 3)

Item Details

Any source IP address

Default. Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic, regardless of the source IP address of the traffic.

Only for the following source IP address or prefix

Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic from a source IP address that you specify. You can specify the IP address in any of these formats:

  • An Internet Protocol version 4 (IPv4) address, such as 1.2.3.4. If this address is of link-local scope or is defined by RFC 1918, it must use the prefix length notation.

  • An IPv4 address prefix using network prefix length notation, such as 192.168.1.0/24.

  • An Internet Protocol version 6 (IPv6) address, such as 3ffe:ffff::1. If this address is of link-local scope or site-local scope, it must use the prefix length notation.

  • An IPv6 address prefix, such as fe80::1234/48.

Any destination IP address

Default. Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic, regardless of the source IP address of the traffic.

Only for the following destination IP address or prefix

Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic bound for a destination IP address that you specify. You can specify the IP address in any of these formats:

  • An IPv4 address, such as 1.2.3.4. If this address is of link-local scope or is defined by RFC 1918, it must use the prefix length notation.

  • An IPv4 address prefix using network prefix length notation, such as 192.168.1.0/24.

  • An IPv6 address, such as 3ffe:ffff::1. If this address is of link-local scope or site-local scope, it must use the prefix length notation.

  • An IPv6 address prefix, such as fe80::1234/48.

Protocols and Ports tab (Wizard page 4)

Item | Detail
Select the protocol this QoS policy applies to: | Choose to apply the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound TCP traffic, UDP traffic, or both.
From any source port | Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic, regardless of the source port number of the traffic.
From this source port number or range | Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) only to traffic with the source port number or range you specify. You can type a port number between 1 and 65535 or a port range, in the format of "Low:High," where Low and High represent the lower bounds and upper bounds of the port range, inclusively. Low and High each must be a number between 1 and 65535. No space is allowed between the colon (:) character and the numbers.
To any destination port | Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) to outbound traffic, regardless of the destination port number of the traffic.
To this destination port number or range | Applies the DSCP value and throttle rate specified on the Policy Profile tab (Wizard page 1) only to traffic with the destination port number or range you specify. You can type a port number between 1 and 65535 or a port range, in the format of "Low:High," where Low and High represent the lower bounds and upper bounds of the port range, inclusively. Low and High each must be a number between 1 and 65535. No space is allowed between the colon (:) character and the numbers.

Additional references

  • Overview of Policy-Based QoS

  • Working with QoS Policies

  • Quality of Service TechCenter on TechNet


Advanced QoS Settings

Advanced Quality of Service (QoS) settings enable you to manage bandwidth consumption and the way in which the computer handles DSCP markings set by applications and services, as opposed to those set by Group Policy. Advanced QoS settings apply at the computer level only, whereas QoS policies can be applied at both the computer and user level.

Inbound TCP Traffic

The Throttle Rate in policy-based QoS settings enables you to manage the sending rate for outbound network traffic, but settings on the Inbound TCP Traffic tab control the bandwidth consumption for TCP traffic the computer receives. When you set a lower throughput level on the Inbound TCP Traffic tab, TCP limits the size of its advertised TCP receive window. The effect of this setting will be increased throughput rates and link utilization for TCP connections with higher bandwidths or latencies (bandwidth delay product). By default, the throughput level is set to its maximum (Level 3).

To change the throughput level, select the Specify the inbound TCP throughput level check box, and then select a throughput level according to the following table. The throughput level can be equal to or less than the maximum, depending on network conditions.

Setting | Maximum throughput level
Level 0 (minimum throughput) | 64 kilobytes (KB)
Level 1 | 256 KB
Level 2 | 1 megabyte (MB)
Level 3 (maximum throughput) | 16 MB

DSCP Marking Override

DSCP Marking Override blocks the ability of applications to specify, or mark, non-zero DSCP values. By default, applications and services can set non-zero DSCP values.

To override DSCP marking requests from applications and services, select the Control DSCP marking requests from applications check box, and then select Ignored. Applications and services that use QoS application programming interfaces (APIs) will have their DSCP values set to zero, and only QoS policies can set DSCP values.

Additional references

  • Quality of Service TechCenter on Microsoft TechNet