Brien M. Posey
In the previous article of this series, we introduced the QoS implementation in Windows Server 2003 that supports both 802.1p and Diffserv priority markup. In this part 3, I will continue the discussion by showing you how to mark this priority to work.
802.1P
As we explained in the previous section, 802.1p is implemented in layer 2 in the OSI reference model. It is the layer used by hardware devices, such as switches. Layer 2 devices with 802.1p recognition capability can view priority levels assigned to packets, then group them into different traffic classes.
On Ethernet networks, priority marking is embedded inside VLAN tags. The VLANs and VLAN tags are again defined by 802.1Q standard, which specifies a 3-bit priority field, but does not specify how to use this priority field. This is the role of the 802.1P standard.
802.1P defines different priority classes that can be used in conjunction with 802.1Q. However, 802.1Q leaves the mark as a priority for administrators, so you don't need to be technically loyal to the 802.1P rules, but 802.1P is the standard that people approve.
Although the idea of using 802.1P standards to provide class 2 markings sounds theoretical, actual markup can be defined through group policy settings. The 802.1P standard allows for 8 different priority classes (from 0 to 7). QoS will handle packets with higher priority classes that will have higher priority in distribution.
Microsoft has assigned the default priority mark below:
Highlight priority
Service level
0
The package does not match the flow specifications
0
Quality
0
Best distribution effort
4
Download is controlled
5
Services are protected
7
Network control
As mentioned before, you can change these priority levels by changing the group policy settings. To do so, open the Group Policy Editor, and navigate in the Computer Configuration Administrative Templates tree Network QoS Packet Scheduler Layer-2 Priority Value . As shown in Figure A, there are group policy settings corresponding to each of the priority levels listed above. You can assign your priority levels to any of these types of services. However, one thing to keep in mind is that these group policy settings are only valid for hosts using Windows XP, 2003 or Vista.
Figure A: You can use the Group Policy Editor to customize layer 2 priorities.
Distinguished service
QoS performs priority marking in both layer 2 and layer 3 in the OSI 7-layer reference model. This helps ensure that priorities will be implemented through the entire packet delivery process. For example, switches work at layer 2 in the OSI model, but routers work at layer 3. Therefore, if packets only use 802.1p priority markup, they will be prioritized by the switches of The network will also be completely ignored for routers. To avoid this phenomenon, QoS uses the Differentiated Services protocol (sometimes called the Diffserv protocol) to prioritize traffic at Layer 3 in the OSI model. The Diffserv priority markup is grouped in the IP header of each packet by the TCP / IP protocol.
The architecture used by Diffserv was initially defined by RFC 2475. Despite this, many of the architecture's specifications were rewritten in RFC 2474. RFC 2474 defines the Diffserv architecture for both IPv4 and IPv6.
The interesting thing about IPv4 implementation of RFC 2474 is that, although Diffserv is completely redefined, it is still compatible with the original RFC 2475 specifications. This means that older routers that were previously unaware of new specifications could still understand the assigned priorities.
The current Diffserv implementation is using a Type of Service (TOS) octet of each package to store the Diffserv value (sometimes known as the DSCP value). Within this octet, the first 6 bits store the DSCP value and the last two bits are not used (reserved). The reason why the markup is compatible with the RFC 2475 specifications is because RFC 2475 requires that the first three bits of the same octet be used for IP order information. So although the DSCP values are 6 bits in length, the first 3 bits are still reserved for IP order.
Like the 802.1p markup that we introduced in the previous section, you can adjust Diffserv priority orders through group policy settings. Before we show you how to do this, we have listed the default Diffserv priority markings used by Windows.
Highlight priority
Service type
0
Best effort
0
Quality
24
Download is controlled
40
Services are protected
48
Network control
You can see that Diffserv priority levels use a completely different range from what 802.1P does. Not only support for ranges from 0 to 7, Diffserv supports priority marking range from 0 to 63, higher number will have higher priority.
As mentioned, Windows allows you to define Diffserv priority levels through group policy settings. You must note that, with some high priority, routers assign your own Diffserv values to data packets regardless of the value they are assigned by Windows.
With that in mind, you can configure Diffserv priority levels by opening the Group Policy Editor, and navigating through the Computer Configuration Administrative Templates Network QoS Packet Scheduler .
If you look at Figure B, you will see that there are two DSCP related items inside the QoS Packet Scheduler section. One of these will allow you to set DSCP priority marking levels for data packets that match specifications, while the other will allow you to set priority markings for packages fit. The settings themselves are identical in both items, as shown in Figure C.
Figure B: Windows manages DSCP priority levels separately for packages that match the specifications and non-conforming packages.
Figure C: You can assign DSCP priority marking levels for different service types
Other group policy settings
If you look at Figure B, you will see that there are three group policy settings that we did not mention in the previous section. Below we will briefly mention what these settings are and what they do if some of you want to learn more.
Setting the Limit Outstanding Packets is essentially a threshold value service. If the number of remaining packages reaches a certain value, QoS will not allow additional submissions to the network adapter until this value is lower than that threshold.
Limit Reservable Bandwidth setting controls the percentage of bandwidth that can be reserved by QoS applications. By default, these applications can reserve up to 80% of network bandwidth. Obviously any bandwidth is reserved but it is not currently used by QoS applications that can be used for other applications.
The Set Timer Resolution setting controls the smallest time unit (ms) that the QoS scheduler will use to schedule packets. In essence, this setting controls the largest frequency at which packets can be scheduled to be distributed.
Conclude
In this article, I have discussed the differences between 802.1p's internal tasks and Diffserv priority. Then there are some group policy settings that you can use to control QoS behaviors. In Part 4 of this series, we will talk about how QoS works on low-speed network links.
Adjust bandwidth saving via QoS (Part 4)