What is DSCP marking for QoS

QoS with Windows

Very few administrators will have dealt with QoS on a Windows desktop. With Lync, however, this will become necessary, because a Lync client is a VoIP client and at least the audio / video packets should be labeled so that routers and switches can transmit the packets with priority.

On the QoS Lync page I explain which ports Lync clients, Lync Server services and gateways use and how these are set up. Defining the ports is important if you really only wanted to prioritize audio / video traffic. Windows can apply appropriate guidelines to the name of a process, but do you really want to assign desktop sharing, file transfer, and especially audio and video to the same DSCP class? Although this is a very simple configuration, it is intended to be very short-term.

Therefore "FIRST" define the port ranges and THEN create the guidelines if you want to introduce a DSCP identification on the client. The network administrator can of course base his own evaluation rules on his active components and simply override their laboriously configured values.

QoS packet planner

Perhaps you already noticed when setting up the network card that a "QoS packet planner" appears in addition to the "Client for Microsoft Networks" and other elements. Otherwise it has to be installed afterwards so that QoS can work

But you can't adjust anything here for the time being. This is done via group policies

Configuration via group guidelines

When you configure a group policy, you will find two settings that affect QoS.

We are interested in the first settings that are described as "Policy-based QoS". The settings are available for both the computer and the user. Since such settings should generally apply to all users of a computer or a group of computers, a computer policy is usually appropriate. These guidelines can be bound to Active Directory sites or the domain, for example.

The creation of a policy is supported by an assistant:

This wizard must of course be run through several times until you have made all the settings. Here is a simple display of a policy for the Lync Client.

However, you must of course also extend the policy for the other Lync processes. You can use the following table as a starting point. You must of course adapt the ports to your requirements:

SurnameDSCPprogramProtocolSource portsDestination port

Lync Client Audio

46

lync.exe

TCP and UDP

49152:57500

Any

Lync Client Video

34

lync.exe

TCP and UDP

57501:65535

Any

Communicator Client Audio

46

communicator.exe

TCP and UDP

49152:57500

Any

Communicator Client Video

34

communicator.exe

TCP and UDP

57501:65535

Any

Conference audio

46

AVMCUSvc.exe

TCP and UDP

49152:57500

Any

Conference video

34

AVMCUSvc.exe

TCP and UDP

57501:65535

Any

Mediation audio

46

MediationServerSvc.exe

TCP and UDP

49152:57500

Any

Edge Audio P2P

46

MediaRelaySvc.exe

TCP and UDP

Any

20000:20039

Edge audio

46

MediaRelaySvc.exe

TCP and UDP

Any

49152:57500

Edge Video P2P

34

MediaRelaySvc.exe

TCP and UDP

Any

20040:20079

Edge video

34

MediaRelaySvc.exe

TCP and UDP

Any

57501:65535

The source and destination IP addresses and the destination ports remain on "ANY". Since the "program names" are also stored in the guidelines, a group guideline can be applied to all computers in the forest.

  • Conference function
    It acts on stand-alone Lync 2010 AV conference servers or front-end servers (if AV Colocated) is installed.
  • Mediation server
    Of course there is no video here
  • Edge
    The application of a group policy on an edge server is of course only effective if the edge server is also a member of the domain. Otherwise, the settings must be entered there via a local policy.

The GPMC also shows the settings "nicely".

control

You can first check whether the guidelines have been applied correctly by looking at the computer's registry

HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ QoS \ \

After the group guidelines have been applied, you should then also find the corresponding DSCP identification on the packets of the connections in question in NetMon.

Misuse QoS for test fields

If you were careful when setting up QoS policies, you may have seen that you can set up a "throttle" rate. You can use this instrument to limit the maximum bandwidth allocated by this guideline. However, the Windows 2012 dialog shows that it is only about the outgoing rate.

The reception is therefore not limited. And it is not a substitute for powerful "packet brakes" such as NEWT (Codec). You can therefore not only specifically assign a DSCP identifier for prioritization, but also assign the maximum bandwidth and thus simulate a weak bandwidth, for example. But this is more for tests and evaluations and not for productive operation.

However, this function will soon be modified.

In previous versions of QoS, as with QoS in Windows Server 2012, Maximum Bandwidth is a feature that sets an absolute ceiling - a throttling rate - für a workload. Windows Server 2012 introdUCEs Minimum Bandwidth.
Source: Quality of Service (QoS) Overview http://technet.microsoft.com/en-us/library/hh831679
QoS Minimum Bandwidth Best Practices http://technet.microsoft.com/en-us/library/jj735303.aspx

Only Windows 2012 supports marking with 802.1p
http://technet.microsoft.com/en-us/library/hh831679

Manual CSCP tags

Windows is usually "authoritative" about DSCP tags. But there is an API with which an application can also set DSCP tags itself. However, this is only possible if you also tell Windows that this access is permitted. The following REG file enables this function:

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters] "DisableUserTOSSetting" = dword: 00000000 [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ QoS] "Do not use NLA" = "1"

Without this setting, every package created manually using WinSock is reset to DCSP 0. In this respect, it is necessary for various evaluation and analysis tools to set this value if they work with DSCP.

Apparently this setting only works under Windows 2000 in connection with the socket option "SetSockOpt", which is also available in the .Net Framework. This old API has now been discontinued and has no effect.
The only option is probably the group policy.

more links