The Cable GuyQoS-Support in Windows

Joseph Davies

Dieser Artikel basiert teilweise auf einer Vorabversion von Windows Server „Longhorn“. Änderungen an den in diesem Artikel enthaltenen Informationen sind vorbehalten.

Die Dienstqualität (Quality of Service, QoS) umfasst eine Reihe von Technologien zum Verwalten des Netzwerkverkehrs in kostengünstiger Weise, um die Benutzerfreundlichkeit in privaten und Unternehmensumgebungen zu verbessern. QoS-Technologien ermöglichen Ihnen, die Bandbreite zu messen, sich verändernde Netzwerkbedingungen zu erkennen (wie z. B. die Überlastung oder Verfügbarkeit der Bandbreite),

und Prioritäten für den Datenverkehr zu setzen bzw. den Datenverkehr zu drosseln. Beispielsweise kann QoS dazu eingesetzt werden, der Übermittlung von wartezeitempfindlichem Datenverkehr (wie z. B. Stimmen- oder Videoanwendungen) Priorität einzuräumen und die Auswirkungen des wartezeitempfindlichen Datenverkehrs, wie z. B. Massendatenübertragungen, zu kontrollieren. Das Festlegen von Prioritäten für die Übermittlung des TCP/IP-Datenverkehrs muss von Hosts und Netzwerkinfrastrukturgeräten unterstützt werden. In diesem Artikel werden die Methoden zum Verwenden von QoS mit Microsoft® Windows®-basierten Hosts behandelt.

Das zentrale Problem beim Definieren der QoS für TCP/IP-Netzwerke besteht darin, wie die priorisierte Übermittlung des IP-Datenverkehrs angegeben und bereitgestellt werden soll. Obwohl die ursprüngliche RFC 791 für IP das TOS-Feld (Type of Service) mit der Fähigkeit zur Angabe von Rangfolge, Verspätung, Durchsatz, Zuverlässigkeit und Kostenmerkmalen definiert hat, ist IP im Grunde eine datagrammbasierte Paketschaltertechnologie, die in der Regel jedes Paket gleich und nach Eingangsposition behandelt (zuerst eingegangene Pakete werden zuerst verarbeitet).

Das Konfigurieren priorisierter Übermittlungen

Um einen priorisierten Zustelldienst bereitzustellen, können Sie folgendermaßen vorgehen. Sie können die Netzwerkinfrastruktur konfigurieren, um eine Sonderverarbeitung für markierten Datenverkehr bereitzustellen, und veranlassen, dass die sendenden Hosts ihren ausgehenden Datenverkehr markieren. Alternativ können Sie veranlassen, dass die sendenden Hosts die Netzwerkinfrastruktur dynamisch programmieren, um eine Sonderverarbeitung bereitzustellen, die auf den Merkmalen ihres ausgehenden Datenverkehrs (wie z. B. Adressen und Portnummern) basiert.

Für den TCP/IP-Datenverkehr können Sie verschiedene Methoden verwenden, um eine priorisierte Übermittlung bereitzustellen. Beispielsweise werden auf der Netzwerkschnittstellenebene für Ethernet durch die IEEE 802.1p-Kennzeichnung Frames, die von einem Host für priorisierte Übermittlung gesendet werden, mithilfe eines 3-Bit-Prioritätsfelds im VLAN-Header des Ethernet-Frames markiert. Der VLAN-Header befindet sich innerhalb des Ethernet-Headers, zwischen dem Quelladressfeld und dem Längenfeld (für einen IEEE 802.3-Frame) oder dem EtherType-Feld (für einen Ethernet II-Frame).

Damit Sie die 802.1p-Kennzeichnung auf einem sendenden Host implementieren können, müssen der Netzwerkadapter und der Gerätetreiber 802.1p unterstützen. Darüber hinaus muss für den Netzwerkadapter die 802.1p-Unterstützung aktiviert sein. Sie können die 802.1p-Unterstützung normalerweise auf der Registerkarte „Erweitert“ des Eigenschaftendialogfelds des Netzwerkadaptertreibers aktivieren. Für Ethernet-Schalter muss ebenfalls die 802.1p-Unterstützung aktiviert sein.

Auf der Netzwerkschnittstellenebene für drahtlose IEEE 802.11-Netzwerke definiert die Wi-Fi Alliance-Zertifizierung für Wi-Fi Multimedia (WMM) vier Zugriffskategorien für die Priorisierung des Netzwerkverkehrs. Diese Zugriffskategorien lauten (von der höchsten zur niedrigsten Priorität): Stimme, Video, beste Leistung und Hintergrund. Für die Hostunterstützung für die WMM-Priorisierung ist erforderlich, dass sowohl Drahtlosnetzwerkadapter als auch ihre Treiber WMM unterstützen. Drahtlose Zugriffspunkte müssen WMM-aktiviert sein.

Auf Internetebene können Sie das Protokoll „Differentiated Services“ verwenden und den DSCP-Wert (Differentiated Services Code Point) im IP-Header festlegen. Wie in RFC 2472 definiert, wird der DSCP-Wert durch die höherwertigen 6 Bit des TOS-Felds der IP-Version 4 (IPv4) und des Traffic Class-Felds der IP-Version 6 (IPv6) dargestellt.

Die meisten modernen Unternehmensrouter unterstützen die DSCP-Datenverkehrsdifferenzierung. Sie ist jedoch standardmäßig deaktiviert. Beim Weiterleiten lesen DSCP-fähige Router den DSCP-Wert und reihen das Paket in eine spezifische Warteschlange ein. Beispielsweise können Sie Ihre Router so konfigurieren, dass sie weitergeleitete Pakete in die Warteschlange für hohe Priorität oder beste Leistung oder in eine Warteschlange auf niedrigerer Ebene einreihen, je nachdem, welchen DSCP-Wert Sie definieren. Durch Konfigurieren von Warteschlangen und DSCP-Werten kann DSCP-markierter Datenverkehr unterschiedliche Servicelevels haben. Beispielsweise wird wichtiger Netzwerkverkehr vorrangig weitergeleitet und durch anderen Massendatenverkehr mit geringerer Priorität nicht verzögert. Mithilfe der WMM-Spezifikation wird definiert, wie die WMM-Zugriffskategorien DSCP-Werten zugeordnet werden. Ein WMM-fähiger drahtloser Zugriffspunkt liest den DSCP-Wert und verarbeitet den Datenverkehr auf der Grundlage seiner Zugriffskategorie.

Auf Internetebene können Sie auch das RSVP (Resource Reservation Protocol) verwenden, ein in RFC 2205 definiertes, signalisierendes Protokoll. Hosts können mit diesem Protokoll versuchen, Bandbreite über ein Netzwerk bis zu einem Endpunkt zu reservieren. Die Verwendung von RSVP auf Netzwerken ist jedoch nicht weit verbreitet und wird derzeit von Windows XP, Windows Server® 2003, Windows Vista™ und der nächsten Version von Windows Server, die den Codenamen „Longhorn“ hat (derzeit in Beta), nicht unterstützt.

Um Pakete zu senden, die für eine priorisierte Übermittlung vorgesehen sind, müssen Anwendungen oder Betriebssystemkomponenten die Werte der 802.1p-Priorität oder den DSCP-Wert angeben können. In den folgenden Abschnitten wird beschrieben, wie Windows-Komponenten oder Windows-basierte Anwendungen die 802.1p-Priorität für Ethernet-Frames oder den DSCP-Wert für den TCP/IP-Datenverkehr angeben können.

QoS in Windows XP und Windows Server 2003

Windows XP und Windows Server 2003 stellen APIs für das Zuweisen von QoS-Parametern zu Datenverkehr bereit. Anwendungsentwickler können die Winsock-APIs (Windows Sockets) und GQoS-APIs (Generic QoS) verwenden, um QoS-Parameter auf der Anwendungsebene auf einer Pro-Socket-Basis anzuwenden. Netzwerkadministratoren können Datenverkehrsverwaltungstools verwenden, mit denen die TC-API (Traffic Control) aufgerufen wird, um QoS-Parameter auf der Hostebene anzuwenden.

Sie können Winsock und die IP_TOS-Socketoption benutzen, um den DSCP-Wert für ausgehende Pakete für einen Socket festzulegen. Standardmäßig ignoriert der TCP/IP-Stapel jedoch die IP_TOS-Socketoption. Um die IP_TOS-Socketoption zu verwenden, müssen Sie zuerst den DWORD-Registrierungswert „DisableUserTOSSetting=0“ unter dem folgenden Registrierungsschlüssel erstellen und festlegen (siehe Abbildung 1):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Abbildung 1 Einstellen des Registrierungswerts von DisableUserTOSSetting

Abbildung 1** Einstellen des Registrierungswerts von DisableUserTOSSetting **

Sie müssen den Computer neu starten, damit diese Registrierungseinstellung wirksam wird.

Um den DSCP-Wert für Datenverkehr anzugeben, ohne die IP_TOS-Socketoption zu verwenden, benutzen Sie die GQoS-APIs. GQoS ist Teil von Windows Sockets 2.0 (Winsock2). Die meisten QoS-aktivierten Anwendungen verwenden die GQoS-API, um QoS-Funktionen in Windows aufzurufen. GQoS in Windows XP Service Pack 2 (SP2) ermöglicht, dass eine Anwendung einen DSCP-Wert festlegen und den ausgehenden Datenverkehr drosseln kann. Um 802.1p-Prioritäten auf Computern festzulegen, auf denen Windows XP SP2 ausgeführt wird, müssen Sie die TC-API verwenden.

Die TC-API bietet Zugriff auf Datenverkehr-Steuermechanismen, die den Netzwerkverkehr auf dem lokalen Host regeln. Sie ermöglicht eine direkte Kontrolle der DSCP-Werte, der 802.1p-Tags und der Drosselungsrate. Netzwerkadministratoren können Verwaltungsprogramme für den Datenverkehr verwenden, um die TC-API direkt für Anwendungen aufzurufen, die QoS nicht unterstützen. Da es sich bei der TC-API im Vergleich zur GQoS-API um eine API auf einer niedrigeren Ebene handelt, sind hierfür Administratorrechte erforderlich.

Im Gegensatz zur GQoS-API ermöglicht die TC-API, dass der Datenverkehr von mehreren Anwendungen auf demselben sendenden Host in einem einzigen QoS-Datenfluss gesammelt werden kann. Als Teil dieser Aggregation kann der Datenverkehr durch eine Kombination von Quell- und Ziel-IP-Adressen, Quell- und Zielports sowie das Protokoll (TCP oder UDP) identifiziert werden. Beispielsweise kann der gesamte Datenverkehr für eine bestimmte Ziel-IP-Adresse in einem einzigen QoS-Datenfluss für einen beliebigen Quell- und Zielport enthalten sein, unabhängig von der sendenden Anwendung auf dem Host. Die GQoS-API ermöglicht andererseits, dass eine Anwendung ihre eigene QoS-Behandlung für die Daten definieren kann, die sie über einen Socket sendet.

Zur Unterstützung der QoS-Funktion muss auf Windows XP- und Windows Server 2003-basierten Computern über die Eigenschaften der Netzwerkverbindungen im Ordner „Netzwerkverbindungen“ (siehe Abbildung 2) die QoS-Paketplanerkomponente installiert und aktiviert werden. Die QoS-Paketplanerkomponente (Psched.sys) wird bei Windows XP-Computern standardmäßig installiert und aktiviert. Die Paketplanerkomponente kann auf Windows Server 2003 installiert werden.

Abbildung 2 Konfigurieren des QoS-Paketplaners

Abbildung 2** Konfigurieren des QoS-Paketplaners **

QoS in Windows Vista und Windows Server „Longhorn“

Der QoS-Support in Windows Vista und Windows Server „Longhorn“ wurde sowohl verbessert als auch vereinfacht. IT-Mitarbeiter können jetzt richtlinienbasierte Dienstqualität (QoS) verwenden, um DSCP-Werte festzulegen und die Senderaten von Anwendungen zu steuern, ohne APIs verwenden oder vorhandene Anwendungen ändern zu müssen. Entwickler erhalten Unterstützung für die GQoS- und TC-APIs. Dies ist jedoch für zukünftige Versionen von Windows nicht vorgesehen. Zudem wurde die IP_TOS-Winsock-Option entfernt. Um die GQoS- und TC-APIs zu ersetzen und den QoS-Support in aktualisierten oder zukünftigen Anwendungen zu vereinfachen, unterstützen Windows Vista und Windows Server „Longhorn“ die neue QoS2-API, die auch als qWAVE (Quality Windows Audio-Video Experience) bezeichnet wird.

Richtlinienbasierte Dienstqualität in Windows Server „Longhorn“ und Windows Vista ermöglicht es Ihnen, eine verbesserte Benutzerfreundlichkeit anzubieten, die Bandbreitenkosten zu kontrollieren oder besser abgestimmte Servicelevels mit Bandbreitenanbietern oder Geschäftsabteilungen auszuhandeln. Sie können die Netzwerkbandbreite von Computern unter Windows Vista oder Windows Server „Longhorn“ unabhängig von der Anwendung und über eine gesamte Active Directory®-Infrastruktur zentral verwalten. Da die Datenverkehrsverwaltung unter der Anwendungsebene stattfindet, müssen vorhandene Anwendungen für die richtlinienbasierte QoS-Datenverkehrsverwaltung nicht geändert werden.

Richtlinienbasierte QoS-Einstellungen in Windows Server „Longhorn“ und Windows Vista ermöglichen Ihnen die Priorisierung bzw. Verwaltung der Senderate für ausgehenden Datenverkehr in Übereinstimmung mit den folgenden Bedingungen:

  • Sendende Anwendung (ausführbarer Pfad und Name)
  • Quell- oder Ziel-IPv4 oder IPv6-Adressen oder Adresspräfixe
  • Protokoll (TCP, UDP oder beides)
  • Quell- oder Zielports oder Portbereiche (TCP oder UDP)

QoS-Richtlinien werden auf eine Benutzeranmeldesitzung oder einen Computer als Teil eines Gruppenrichtlinienobjekts (GPO) angewendet, das mit einem Active Directory-Container, wie z. B. einer Domäne, Site oder Organisationseinheit, verknüpft ist, oder sie können auf eine Sicherheitsgruppe angewendet werden. Als Teil von Gruppenrichtlinien bauen QoS-Richtlinien auf Ihrer vorhandenen Active Directory-Verwaltungsinfrastruktur auf.

Richtlinienbasierte QoS ermöglicht es Ihnen, die Priorität des Datenverkehrs festzulegen. Sie können eine QoS-Richtlinie konfigurieren, um ausgehenden IPv4- oder IPv6-Datenverkehr mit einem bestimmten DSCP-Wert zu markieren. Darüber hinaus können Sie die Verwendung der Bandbreite für ausgehenden Datenverkehr verwalten. Sie können eine QoS-Richtlinie mit einer Drosselungsrate für ausgehenden Datenverkehr konfigurieren. Bei einer Drosselung schränken die QoS-Komponenten den gesamten ausgehenden Netzwerkverkehr auf die angegebene Rate ein. Für Computer können Sie die Verwendung der Bandbreite für eingehenden Datenverkehr verwalten und die erweiterten Einstellungen so konfigurieren, dass der eingehende Durchsatz für den TCP-Datenverkehr durch das Einstellen eines Höchstwerts für die TCP-Empfangsfenstergröße festgelegt wird.

In Windows Vista und Windows Server „Longhorn“ ist der QoS-Paketplaner standardmäßig installiert und aktiviert. Die Pacer.sys-Komponente ist ein neuer, einfacher NDIS 6.0-Filtertreiber (Network Device Interface Specification), der die Paketplanung für richtlinienbasierte QoS und für den Datenverkehr QoS-aktivierter Anwendungen steuert. Pacer.sys ersetzt Psched.sys in Windows XP und Windows Server 2003.

Um richtlinienbasierte QoS auf Ihrem Intranet bereitzustellen, konfigurieren Sie die benutzer- oder computerbasierten QoS-Richtlinien, und wenden sie diese auf den entsprechenden Active Directory-Container an. Auf Windows Vista oder Windows Server „Longhorn“ basierende Computer laden ihre richtlinienbasierten QoS-Einstellungen herunter und wenden sie an, wenn sie die Benutzerkonfigurations- oder Computerkonfigurations-Gruppenrichtlinien aktualisieren.

Da Netzwerke zunehmend sowohl für Daten- als auch für Audio/Video (A/V)-Anwendungen verwendet werden, muss mithilfe einer QoS-Lösung dem zeitabhängigen A/V-Datenverkehr eine bevorzugte Behandlung gegenüber dem übrigen Datenverkehr eingeräumt werden. Außerdem werden Netzwerke zunehmend drahtlos eingerichtet, wodurch zusätzliche Komplikationen bei wartezeit- und bandbreitenanfälligen Anwendungen entstehen.

Das qWAVE-Feature in Windows Vista stellt eine Sammlung QoS-bezogener Softwaremodule bereit, die entwickelt wurden, um die Anforderungen an das Netzwerk zu erfüllen, die von AV-Anwendungen und drahtlosen Netzwerken gestellt werden. qWAVE wird in das QoS-Subsystem integriert und arbeitet mit mehreren Paketprioritätstechnologien für Internet- und Netzwerkschnittstellenebenen zusammen. qWAVE unterstützt mehrere AV-Datenströme (Echtzeitdatenflüsse, für die QoS erforderlich ist) und Datenströme (Datenflüsse mit bester Leistung, z. B. E-Mail- oder Dateiübertragungen) gleichzeitig.

Mithilfe der Sammlung von qWAVE-Technologien wird die LAN-Bandbreite ermittelt und überwacht, die QoS-Fähigkeit des Netzwerks erkannt und eine verteilte Zugangskontrolle für eine ausgeglichene und konsistente Verwendung der Netzwerkbandbreite zur Verfügung gestellt. Diese Technologien aktivieren erweiterte A/V-Datenstromverfahren, sodass sich Anwendungen dynamisch an Änderungen der Netzwerkbedingungen anpassen können, und sind Entwicklern nur über die QoS2-API verfügbar.

Die QoS2-API in Windows Vista und Windows „Longhorn“ Server ersetzt die GQoS-API und die IP_TOS-Winsock-Option und ist wahrscheinlich leichter zu verwenden als die GQoS-API.

Weitere Informationen

Weitere Informationen zu QoS erhalten Sie in einer Reihe von ausgezeichneten Quellen, die über TechNet verfügbar sind. Beginnen Sie mit der Microsoft-Website Quality of Service (in englischer Sprache). Lesen Sie außerdem den QoS-Abschnitt des Blogs Windows Core Networking (in englischer Sprache).

Joseph Daviesist technischer Redakteur bei Microsoft und lehrt und schreibt seit 1992 über Windows-Netzwerkthemen. Er hat fünf Bücher für Microsoft Press® verfasst und ist der Autor der monatlich erscheinenden TechNet-Kolumne The Cable Guy

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.