QoS mit Windows

Die wenigsten Administratoren werden sich schon mit QoS auf einem Windows Desktop beschäftigt haben. Mit Lync wird dies aber erforderlich werden, denn ein Lync Client ist ein VoIP Client und zumindest für die Audio/Video-Pakete sollte eine Kennzeichnung erfolgen, damit Router und Switches die Pakete priorisiert übertragen können.

Auf der Seite QoS Lync erläutere ich, welche Ports Lync Clients, Lync Server Dienste und Gateways nutzen und wie diese eingerichtet werden. Die Definition der Ports ist wichtig, wenn Sie wirklich nur Audio/Video-Verkehr priorisieren wollten. Windows kann zwar auch auf den Namen eines Prozesses entsprechende Richtlinien anwenden, aber wollen Sie wirklich auch Desktop-Sharing, Dateitransfer und vor allem Audio undVideo die gleiche DSCP-Klasse zu weisen ?. Das ist zwar eine sehr einfache Konfiguration aber sehr kurzfristig gedacht.

Daher "ZUERST" die Portranges festlegen und DANN die Richtlinien erstellen, wenn Sie denn auf dem Client eine DSCP-Kennzeichnung einführen wollen. Der Netzwerkadministrator kann auf seinen aktiven Komponenten natürlich eigene Bewertungsregeln zugrunde legen und ihre mühsam konfigurierten Werte einfach außer Kraft setzen.

QoS Paketplaner

Vielleicht ist ihnen bei der Einrichtung der Netzwerkkarte schon aufgefallen, dass neben dem "Client für Microsoft Netzwerke" und anderen Elementen auch ein "QoS Paketplaner" auftaucht. Ansonsten muss er nachinstalliert werden, damit QoS funktionieren kann

Einstellen kann man hier aber erst mal nichts. Das erfolgt über Gruppenrichtlinien

Konfiguration per Gruppenrichtlinien

Wenn Sie eine Gruppenrichtlinien konfigurieren, dann finden Sie an zwei Stellen Einstellungen, die QoS betreffen.

Interessant für uns sind die ersten Einstellungen, die als "Policy-based QoS" beschrieben sind. Die Einstellungen gibt es sowohl beim Computer als auch beim Benutzer. Da solche Einstellungen in der Regel für alle Benutzer eines Computers oder einer Gruppe von Computern gelten soll, ist eine Computerrichtlinien der Regel angebracht. Diese Richtlinien kann z.B.: auf Active Directory Standorte oder die Domäne gebunden werden.

Die Anlage einer Policy wird durch einen Assistenten unterstützt:

  • Name und DSCP Wert vergeben
  • Optional Applikation angeben
    Damit ist diese Richtlinie nur für die benannte Anwendung zutreffend und keine andere Anwendung kann sich allein durch Nutzung der Ports die passende DSCP-Markierung erschleichen:
  • Quell und Ziel-Adressen bleiben frei
    VoIP ist eine N:M Kommunikation bei der die Endpunkte normalerweise nicht festgelegt werden.
  • Angabe der Ports
    Lync verwendet primär natürlich UDP aber ein Fallback auf TCP ist möglich. Daher sollten beide Protokolle angegeben werden.
    Als Portkriterium ist nur der Sourceport wichtig. Welcher Zielport angesprochen wird, wird durch das ICE-Protokoll ermittelt und vom Ziel vorgegeben.

Dieser Assistent muss natürlich mehrfach durchlaufen werden, bis sie alle Einstellungen durchgeführt haben. Hier eine einfache Anzeige einer Richtlinie für den Lync Client.

Allerdings müssen Sie die Richtlinie natürlich auch für die anderen Lync Prozesse erweitern. Folgende Tabelle können Sie als Ausgangspunkt nehmen. Die Ports müssen Sie natürlich auf ihre Anforderungen anpassen:

Name DSCP Programm Protocol Source Ports Destination Port

Lync Client Audio

46

lync.exe

TCP und UDP

49152:57500

Any

Lync Client Video

34

lync.exe

TCP und UDP

57501:65535

Any

Communicator Client Audio

46

communicator.exe

TCP und UDP

49152:57500

Any

Communicator Client Video

34

communicator.exe

TCP und UDP

57501:65535

Any

Konferenz Audio

46

AVMCUSvc.exe

TCP und UDP

49152:57500

Any

Konferenz Video

34

AVMCUSvc.exe

TCP und UDP

57501:65535

Any

Mediation Audio

46

MediationServerSvc.exe

TCP und UDP

49152:57500

Any

Edge Audio P2P

46

MediaRelaySvc.exe

TCP und UDP

Any

20000:20039

Edge Audio

46

MediaRelaySvc.exe

TCP und UDP

Any

49152:57500

Edge Video P2P

34

MediaRelaySvc.exe

TCP und UDP

Any

20040:20079

Edge Video

34

MediaRelaySvc.exe

TCP und UDP

Any

57501:65535

Die Source und Destination IP-Adressen und die Zielports bleiben auf "ANY" stehen. Da in den Richtlinien auch die "Programmnamen" hinterlegt sind, kann eine Gruppenrichtlinie auf alle Computer des Forest angewendet werden.

  • Konferenzfunktion
    Sie wirkt auf eigenständige Lync 2010 AV-Konferenzserver oder FrontendServer (wenn AV Colocated) installiert ist.
  • Mediation Server
    Hier gibt es natürlich kein Video
  • Edge
    Die Anwendung einer Gruppenrichtlinie bei einem Edge-Server greift natürlich nur, wenn der Edge Server auch Mitglied der Domäne ist. Ansonsten sind dort die Einstellungen über einen lokale Policy einzutragen.

Die GPMC zeigt auch die Einstellungen "schön an".

Kontrolle

Ob die Richtlinien korrekt angewendet wurden, können Sie erst einmal in der Registrierung des Computers erkennen

HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS\<Policyname>\<Einstelllungen>

Nachdem die Gruppenrichtlinien angewendet wurden, sollten Sie dann auch im NetMon die entsprechende DSCP-Kennzeichnung an den Paketen der fraglichen Verbindungen finden.

QoS für Testfelder zweckentfremden

Wenn Sie beim Einrichten der QoS Policies aufgepasst haben, dann haben Sie vielleicht auch gesehen, dass sie eine "Throttle"-Rate einrichten können. Über dieses Instrument können Sie die Maximalbandbreite begrenzen, die durch diese Richtlinie vergeben wird. Auf dem Dialog von Windows 2012 ist aber zu erkennen, dass es sich nur um die ausgehende Rate handelt.

Der Empfang wird also nicht limitiert. Und es ist auch kein Ersatz für leistungsfähige "Paketbremser" wie z.B. NEWT (Codec). Sie können damit also gezielt nicht nur eine DSCP-Kennung für Priorisierung vergeben sondern auch die Maximalbandbreite vergeben und damit z.B. eine schwache Bandbreite zu simulieren. Dies ist aber eher etwas für Tests und Evaluierungen und nicht für den produktiven Betrieb.

Allerdings wird diese Funktion wohl bald abgewandelt.

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.
Quelle: 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

Erst Windows 2012 unterstützt auch die Kennzeichnung mit 802.1p
http://technet.microsoft.com/en-us/library/hh831679

Manuelle CSCP-tags

Normalerweise ist Windows "autoritativ" bezüglich der DSCP-Tags. Es gibt aber eine API, mit der eine Applikation selbst auch DSCP-Tags setzen kann. Allerdings geht das nur, wenn man Windows auch sagt, dass dieser Zugang erlaubt ist. Folgende REG-Datei schaltet diese Funktion frei:

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"

 Ohne diese Einstellung wird jedes per WinSock manuell erstellte Paket auf den DCSP 0 zurück gesetzt. Insofern ist es für diverse Auswerte- und Analysetools erforderlich, diesen Wert zu setzen, wenn diese mit DSCP arbeiten.

Anscheinend wirkt diese Einstellung nur noch unter Windows 2000 in Verbindung mit der Socket-Option "SetSockOpt", die auch noch im .Net Framework vorhanden ist. Diese alte API ist aber mittlerweile abgekündigt und wirkungslos.
Einzige Option ist wohl die Gruppenrichtlinie.

Weitere Links