16

When I create a QoS policy in Windows 7 through the Group Policy editor and set a DSCP value, does Windows 7 add the 802.1p QoS field to the Ethernet frame? If so, how does it map the different values from DSCP (0-63) to the 802.1p QoS values (0-7)?

So to be clear, my questions are:

  • Does Windows 7 set an 802.1p value for configured QoS policies?
  • If so, how does Windows 7 map the QoS-policy's DSCP value to the 802.1p value?

This question is specifically for outgoing packets.

Note: 802.1p tagging is supported in Windows 7 (and has been since Windows 2000, XP SP2, Windows Server 2003). Microsoft seems to allude to a mapping of DSCP to 802.1p in this document.

syplex
  • 266
  • 2
  • 9

3 Answers3

0

In 802.1P, the PRI value of a packet determines its priority. In this mode, the switch requires packets with a VLAN tag, regardless of their IP header. The ToS field in each packet's IP header is used by DSCP priority to determine their priority.

  • 1
    As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community May 29 '23 at 08:46
0

There appears to be a crapload of information here (new link).

DSCP and 802.1p are two different methods of QoS, and they do not necessarily correspond, although managed switches can certainly map between the two in the event that one or the other is unsupported on a particular device (with DSCP being the older, more widely-supported one). Windows maps traffic to both independently, with the following values used for 802.1q:

Non-conforming packets  0

Best-effort             0

Controlled load         4

Guaranteed service      5

Network control         7

Qualitative             0

The general trend is higher values = higher priority traffic, but most network devices tend to coalesce these values into a handful of queues/buffers internally (very low, low, medium, high, for example). Also, if your application doesn't label its traffic type, Windows will have nothing to map to and you won't see any change in performance.

Bigbio2002
  • 3,926
  • 1
  • 24
  • 33
  • Those links aren't really conclusive. Its definitely possible that Windows doesn't map them to one another, but it seems that if you have 802.1p enabled on your network equipment it would make sense to set it accordingly. So I've been looking for something conclusive. I am currently trying to put together a test to see for myself if there is any mapping and how to affect the 802.1p value. – syplex Jan 10 '13 at 01:33
  • harrymc's answer indicates that Windows 7 doesn't have 802.1p support, but Windows 8 does. Supposedly, there are issues with using 802.1p with older routers, as they cannot properly handle the tag and will end up stripping it (I've seen some weird behavior when used in conjunction with VLANs too). DSCP is a field within a standard IP packet, so at worst, it will be ignored. – Bigbio2002 Jan 10 '13 at 01:40
  • harrymc's answer is incorrect in stating that Windows 7 doesn't support 802.1p. Its been supported since Windows 2000 (you can modify the default values in group policy under Administrative Templates->Network->QoS Packet Scheduler->Layer 2 priority value). For local ethernet traffic with layer 2 switches DSCP is useless since there are no router hops. Many (if not all) switches seem to support 802.1p these days, even cheap ones. My primary goal is to enable QoS on a LAN with no hops, so 802.1p is the only solution. – syplex Jan 10 '13 at 01:58
0

Support for 802.1p and DSCP has been claimed by Microsoft since many years.
Yet I have found a troubling Microsoft article saying that 802.1p only started with Server 2012 (same code-base as Windows 8).

The Microsoft article Quality of Service (QoS) Overview says:

Previous versions of Windows support priority tagging in the IP header of a network packet. The priority bits are known as Differentiation Service Code Point (DSCP). Windows Server 2012 adds the support of 802.1p tagging. 802.1p is a 3-bit priority value in the layer 2 Ethernet frame. Therefore it applies to non-IP packets such as RDMA over Ethernet.

Both DSCP and 802.1p are said by Microsoft in the article Differentiated Services Code Point (DSCP) overview to be equivalent in functionality. However, as these two standards apply to different layers of the communication protocol, it is unlikely that one can be mapped to the other.

harrymc
  • 455,459
  • 31
  • 526
  • 924
  • From what I have read 802.1p tagging is supported in Winodws since at least XP SP2. In XP, the Traffic Control (TC) API or the QoS API could be used. In Vista and above, the qWAVE API is used. – syplex Jan 09 '13 at 00:05
  • The qWAVE API is said [to set](http://msdn.microsoft.com/en-us/library/windows/desktop/aa374102%28v=vs.85%29.aspx) *both* DSCP and 802.1p, but this doesn't mean that both are supported by the operating system (but it does mean that setting one of them does not automatically set the other). According to the link above, 802.1p is only meaningful in the latest Windows version. – harrymc Jan 09 '13 at 07:44
  • 802.1p is supported by Windows 2000 and above. That link says the specific enumeration of QOS_TRAFFIC_TYPE is only supported in Windows Vista and above for workstations and Windows Server 2008 and above for servers. The API was different in Windows 2000 and in XP but 802.1p was still supported. – syplex Jan 09 '13 at 23:54
  • The article I found definitely states that there was no support for it by Windows servers before Server 2012, but that doesn't say anything about client versions such as 7. I based my answer on the fact that both versions do have a common code-base, but of course I can be wrong. I have no access to Microsoft internals and so can only guess that the 802.1p implementation, if it existed, was *on Windows servers* not operational or flawed before Server 2012. As always when Microsoft sources conflict, one has to use caution and common-sense. – harrymc Jan 10 '13 at 07:33
  • Also see [this article](https://www.google.fr/search?q=802.1p+implementation+Windows&btnG=Search&oe=utf-8&rls=org.mozilla%3Aen-US%3Aofficial&client=firefox-a&channel=rcs) describing some reasons that can prevent 802.1p from working. Even if the tag was specified by the API, it's not at all sure that it was sent out, if not handled correctly at all stages. 802.1p can even conflict with the MTU! – harrymc Jan 10 '13 at 09:41
  • Check out [this document](http://technet.microsoft.com/en-us/library/cc728211(v=ws.10).aspx), which applies to Windows Server 2003 and clearly describes how to enable 802.1p. [Here's an article](http://support.microsoft.com/kb/256943) describing how to enable 802.1p in Windows 2000 which also applies to Windows 2000 Server. I think that article is trying to say that Windows Server 2012 tags with 802.1p on its own generated traffic automatically (end to end) whereas previously it did not add the 802.1p tags. But not that 802.1p wasn't supported at all previously. – syplex Jan 10 '13 at 19:01
  • Yes, I have seen that there are heaps of documents that say that 802.1p was available since always. I would have deleted my answer, since it's sure to get undervoted, except that this article that I found does throw some uncertainty on the question, and as 802.1p is so fragile in implementation unless so many factors come together just right. Not the first time that a Microsoft implementation was found to be defective after many years, and I don't know of any benchmark that ever proved it working. – harrymc Jan 10 '13 at 19:16
  • ... and I also edited my answer above. – harrymc Jan 10 '13 at 19:31