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
- Installieren von QoS-Paketplaner
http://technet.microsoft.com/de-de/library/cc782652(v=ws.10).aspx - 316666 Windows XP Quality of Service (QoS) enhancements and behavior
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".
- Configuring Policy-based Quality of Service (QoS)
http://technet.microsoft.com/en-us/library/hh831689 - Quality of Service (QoS) für Lync 2010 and Lync 2013
http://blog.kloud.com.au/2012/10/31/quality-of-service-qos-for-lync-2010-and-lync-2013 - QoS Tools and Settings - QoS Group Policy Settings
and Registry Entries
http://technet.microsoft.com/de-de/library/cc737728(WS.10).aspx#w2k3tr_qos_tools_lmmu - Policy-based Quality of Service (QoS)
http://technet.microsoft.com/en-us/library/cc771283(WS.10).aspx - Quality of Service (QoS) Overview
http://technet.microsoft.com/en-us/library/hh831679 - QoS Frequently Asked Questions
http://technet.microsoft.com/en-us/library/jj735305 - Vista SP1 (or SP2) DSCP settings für QoS OC 2007 R2
http://communicationsserverteam.com/archive/2009/06/04/458.aspx - Enabling DSCP Marking
http://technet.microsoft.com/en-us/library/dd441192(office.13).aspx - RegistryHack für "non-domain joined vista/win7
machines"
http://winadmin.blogspot.com/2010/11/windows-vista7-qos-policy-and-non.html
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.
- Deprecating old QoS APIs
http://blogs.msdn.com/b/wndp/archive/2006/07/05/657196.aspx - IP-Pakete in Windows 7/8
mittels DSCP Flag priorisieren
https://www.kolja-engelmann.de/blog/2013/12/ip-pakete-in-windows-78-mittels-dscp-flag-priorisieren/ - 248611 Setsockopt is unable to mark the Internet Protocol type of service bits in Internet Protocol packet header
- MSDN Blogs > Windows Core
Networking > TOS and DSCP
http://blogs.msdn.com/b/wndp/archive/2006/03/23/559656.aspx - DisableUserTOSSetting
https://technet.microsoft.com/en-us/library/cc758910(v=ws.10).aspx - The Cable GuyQoS Support in
Windows
https://technet.microsoft.com/en-us/magazine/2007.02.cableguy.aspx - Setting DSCP/QOS Byte on
packets with Windows 7/8
https://www.pingman.com/kb/article/setting-dscp-qos-byte-on-packets-with-windows-7-8-95.html - QOSSetFlow function
https://msdn.microsoft.com/en-us/library/aa374047(v=VS.85).aspx
Weitere Links
-
VoIP
Telefonieren über IP - Exchange 2007 UM nutzt auch VoIP -
VoIP Sniffer
VoIP Sprachdaten mit Wireshark analysieren. - SIP im Detail
-
PCD Pre-Call Diagnostics
Hilfsprogramm für jeden Desktop zur Überwachung der Netzwerkqualität für VoIP mit OCS -
Voice Quality Improvements in Lync Server 2010
http://blogs.technet.com/b/nexthop/archive/2011/04/04/voice-quality-improvements-in-lync-server-2010.aspx -
Quality of Service (QoS) Overview
http://technet.microsoft.com/en-us/library/gg405407.aspx -
Microsoft Office Communications Server 2007 R2 Requirements für a
QoS Environment
http://technet.microsoft.com/en-us/library/dd441262(office.13).aspx -
Microsoft Office Communications Server 2007 QoE Summary Reports
http://technet.microsoft.com/en-us/library/bb964094.aspx - Ports and Protocols für Internal Servers
http://technet.microsoft.com/en-us/library/gg398833.aspx - Determining External A/V
Firewall and Port Requirements
http://technet.microsoft.com/en-us/library/gg425882.aspx - Media Port Range für Office
Communications Server 2007 R2
http://technet.microsoft.com/en-us/library/dd572230(office.13).aspx - Office Communications Server 2007 Deployment Validation Tool
http://www.microsoft.com/downloads/details.aspx?FamilyId=3596A10D-65CC-4CCA-8470-3F23D5EA55B2&displaylang=en - Office Communications Server 2007 Quality of
Experience (QoE) Monitoring Server Guide
http://www.microsoft.com/downloads/details.aspx?FamilyID=9ed29d74-3391-4902-bf2c-6757410f3335&displaylang=en - Office Communications Server 2007 VoIP Test Set
http://www.microsoft.com/downloads/details.aspx?familyid=7B6AB4F3-2949-4E97-856E-9C4AE323C75A&displaylang=en - http://blogs.msdn.com/byrons/archive/2008/03/19/deployment-validation-tool-part-1-of-2.aspx
- Deployment Validation Tool Webcast
http://blogs.msdn.com/byrons/archive/2008/04/02/deployment-validation-tool-webcast.aspx
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032372044&Culture=en-US - TechNet Webcast: Identifying Audio Quality Issues Pre-Deployment with
the Communications Server 2007 Deployment Validation Tool (Level 200)
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032372044&EventCategory=4&culture=en-US&CountryCode=US - Which Server(s) to deploy the (DVT) Deployment Validation Tool
http://blogs.msdn.com/byrons/archive/2009/04/21/where-to-deploy-the-dvt-deployment-validation-tool.aspx - Vista SP1 ( SP2) DSCP settings für QoS OC 2007 R2
http://communicationsserverteam.com/archive/2009/06/04/458.aspx - Microsoft to Cisco, "Our QoE is better than your QoS
"! as a result of another Independent Study
http://voip-buzz.com/2007/11/09/microsoft-to-cisco-our-qoe-is-better-than-your-qos-as-a-result-of-another-independent-study/ - OCS Quality of Experience (QoE) - Quick Facts
http://blog.insideocs.com/2009/04/27/ocs-quality-of-experience-qoe-quick-facts/ - OCS 2007 R2 – Archiving and Monitoring
http://blogs.technet.com/toml/archive/2009/01/02/ocs-2007-r2-archiving-and-monitoring.aspx - Controlling and Limiting Traffic Profiles in your Network
http://www.hp.com/rnd/pdf_html/traffic_profiles.htm - Overview of the Microsoft RTAudio Speech codec
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7515