Gegen Internetzensur
Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:
  • Flickr Photos

    www.flickr.com
13. Feb
Fre

Quality of Service in Windows Vista

Gestern kam er, mein neuer Router – ein schnuckeliger WRT54GL, dem ich dann die Tomato-Firmware übergeholfen habe. Ausschlaggebend war im Grunde die Fähigkeit, dem Portforwarding einen inneren Port mitzugeben – so dass z.B. Port 2291 auf der WAN-Seite auf Port 22 der LAN-Seite gemappt wird. (Meine alte Speedtouch-Gurke konnte das, hat aber regelmäßig ins Gras gebissen.) Außerdem hat es mir Tomato’s herrlich einfach zu konfigurierendes Quality of Service-Modul angetan: Regeln zusammenklicken, speichern, fertig. Zum Beispiel: TCP-Verkehr an Port 80 WAN (HTTP that is) ist von höchster Priorität, wenn er weniger als 512KB übertragen hat, bis 1024KB mittlerer Priorität und ab dann nur noch als “normal” zu betrachten. DNS-Anfragen sind immer wichtig; P2P-Anwendungen dagegen sind unwichtig. Das heißt: Auch wenn sie die volle Bandbreite ausnutzen – sobald ich surfen will (oder eMails abrufen, SSH-Sessions nutzen, OpenVPN verwenden etc.) dreht der Router ihnen den Hahn ab.

Vor langer Zeit, das war noch in der Blütezeit von XP, gab es nicht selten Hinweise, man solle den QoS-Service von Windows deaktivieren, weil er die Bandbreite gegenüber Windows-Services beschränke und damit die Verbindung verlangsame. In Retrospektive eher Horrorgeschichten, aber der Nährboden für ihr Entstehen war schon gegeben: Was war eigentlich dieses “Quality of Service”, welche Services überhaupt, und wo kann man es einstellen? So wie es aussieht: Unter XP gar nicht, jedenfalls nicht als Endnutzer – Unter Vista sieht die Sache nun aber anders aus.

Quality of Service unter Vista / Gruppenrichtlinien-Editor

Finden kann man die QoS-Einstellungen unter dem Punkt “Richtlinienbasierter QoS” in den Windows-Einstellungen des Gruppenrichtlinien-Editors; Dieser lässt sich zum Beispiel per (Logotaste+R) gpedit.msc starten. Dort hat man die Wahl zwischen “Computerkonfiguration” und “Benutzerkonfiguration”. Beim Heimrechner ist es vermutlich egal, wohin welche Regeln gehen sollen, ein Unterschied besteht lediglich darin, dass die “Benutzerkonfiguration” erst dann trifft, wenn auch ein Benutzer angemeldet ist; Um Services wie einen HTTP- oder OpenVPN-Server zu regeln wählt man also sinnvollerweise die “Computerkonfiguration”. Nun klickt man sich zum Punkt “Richtlinienbasierter QoS” durch und kann, hier angekommen, per Rechtsklick eine neue Richtlinie hinzufügen.

Ab da gibt es eigentlich nicht mehr viel zu sagen, lediglich der Begriff des DSCP-Wertes kann ein wenig irritieren. Zusammengefasst lässt sich sagen, dass der Wert eine Ziffer im Bereich 0..63 ist, höher immer besser bedeutet und nicht klassifizierter Verkehr von Windows beim Wert 0 angesiedelt wird. Außerdem lässt sich eine Drosselung in KB/s oder MB/s einstellen – Ist dies der Fall, bekommt der auf diese Regel zutreffende (ausgehende!) Verkehr niemals mehr als den hier eingestellten Wert an Bandbreite zur Verfügung.
Regeln lassen sich nun erstellen auf Basis einer Anwendung, von IPs, Ports und Protokollen.
Ein Beispiel wäre:

  • HTTP: Zielport 80, TCP, IPs beliebig, erhält DSCP-Wert 50.
  • POP3: Zielport 110, TCP, IPs beliebig, erhält DSCP-Wert 40.
  • P2P: Zielport, Protokoll und IPs beliebig, Anwendung “uTorrent.exe” erhält DSCP-Wert 0.

Das heißt: Wenn fett P2P-Traffic läuft und plötzlich der Mailclient anspringt, um Post abzuholen, muss sich das P2P-Netzwerk hinten anstellen. Kommt man derweil noch auf die Idee, Surfen zu müssen – wie’s halt so ist, wichtig auf StumbleUpon recherchieren und so – geht das ebenfalls noch flüssig, da sich nun der P2P- und der POP3-Transfer unterordnen müssen.

Die Regeln sind zwar nicht ganz so komfortabel zu steuern wie die meines (erwähnte ich es schon?) neuen Routers, aber sie sind ein guter Anfang; Dieser bietet (jedenfalls jetzt) etwa die zusätzliche Möglichkeit, bestimmte TCP-Pakete wie ACK und RST oder aber ICMP-Pakete zu priorisieren oder, wie eingehend beschrieben, Transfermengen anzugeben, so dass der nächste HTTP-Download der Linux-Distro nicht den Mailtransfer blockiert; Per erweiterter Protokollerkennung (z.B. Layer7, IPP2P) lässt sich dann ebenfalls Skype auf hohe Priorität setzen und. so. weiter.

Ich hoffe, diese Zusammenfassung hilft jemandem – Erkenntnisse, Korrekturen, Meinungen gerne in die Kommentare!

Die Kommentarfunktion ist geschlossen.