TCP/IP-Tuning

Seite 3: Intelligente Ampelsteuerung

Inhaltsverzeichnis

Die Lösung auf Anwenderseite heißt Traffic Shaping. Traffic Shaper steuern den Netzwerkverkehr, um die Latenz zu kontrollieren. Dabei werden die Internet-Päckchen klassifiziert und je nach Priorität unterschiedlich schnell auf den Weg gegeben.

Der Traffic Shaper cFosSpeed priorisiert von Haus aus alle VoIP-Programme hoch und gewährleistet so eine bessere Sprachqualität.

Der einfachste Mechanismus ist die Priorisierung von ACK-Paketen. Damit lässt sich schon mal die Download-Geschwindigkeit erhöhen, weil die Quittungen ohne Verzug abgeschickt werden. Genau besehen ist das aber nur der Anfang – im Grunde sollten sämtliche von einem PC ausgehende Datenströme nach Wichtigkeit für den Anwender priorisiert werden.

Für diverse Betriebssysteme gibt es Traffic-Shaper-Programme, darunter FreeBSD, Mac OS X, Linux und Windows (cFos und cFosSpeed, NetLimiter). Bei FreeBSD und Mac OS X kann man das Freeware-Tool Throttled einsetzen, das die ohnehin schon in der Firewall vorhandenen Funktionen mit einem Frontend versieht. Linux hat einen Packet-Scheduler im Kernel, der mit dem Layer-7-Packet-Classifier zusammenarbeitet. Letzterer erkennt Pakete bestimmter Anwendungen am Inhalt und kann sie so priorisieren. Auch können viele Router zumindest ACK-Pakete beschleunigt weiterleiten. Einige, etwa Fritz!Box Fon, bevorzugen auch Voice-over-IP-Pakete beim Versand und High-End-Router priorisieren gar sämtlichen Internet-Verkehr, den sie zuordnen können.

Idealerweise sollte Traffic Shaping zentral, also im Router stattfinden. Der Traffic Shaper kann dann den Verkehr aller LAN-Teilnehmer zum Internet hin priorisieren. Dafür muss er möglichst alle Protokolle kennen – und das geht in der Praxis nicht immer. Zum Beispiel ist die Identifizierung von Paketen des VoIP-Dienstes Skype schwierig oder auch die verschlüsselte Kommunikation von BitTorrent. Sowohl der PC als auch der Router können die Pakete zwar analysieren, aber der PC ist im Vorteil, weil er die Datenströme ihm nicht bekannter Protokolle auch noch anhand der Programmnamen zuordnen kann.

Traffic Shaper haben eine ganze Reihe von Tricks auf Lager, um den Datenverkehr bei völlig unterschiedlichen Kommunikationsszenarien in Fluss zu halten. Einige arbeiten mit einem festen oder automatisch erzeugten Parametersatz, andere erlauben dem Anwender weitreichende Eingriffe. Wer will, kann dann einzelne Verbindungen nach IP-Adresse, Portnummer, Layer-7-Protokoll, Programmname und diversen anderen Kriterien manuell priorisieren.

Standardmäßig stellt zum Beispiel cFos unterschiedliche Prioritätsqueues zur Verfügung. Hochpriorisierte Daten gibt das Programm grundsätzlich bevorzugt auf den Weg. Die Queue-Kapazität ist auf drei Sekunden limitiert – wird sie größer, verwirft der Traffic Shaper Datenpäckchen, die die Queue verlängern würden – sonst zieht sich der Versand zu lange hin. Der TCP-Stack schließt daraus, dass die Strecke zurzeit ausgelastet ist, versucht es später wieder und sendet fortan mit weniger Bandbreite. In der Praxis laufen die hoch priorisierten Queues aber nie über. Niedrig priorisierten Daten gewährt cFos einen Mindestdurchsatz (25 Prozent der Sendekapazität), sodass langsame TCP-Verbindungen nicht verhungern.

Wie ein Traffic Shaper die TCP-Kommunikation optimieren kann, illustrieren Beispiele, bei denen über eine ADSL-Leitung zunächst unterschiedliche Download- und Upload-Szenarien mit und ohne Traffic Shaping laufen. Dabei beobachtet man, dass der Download-Durchsatz ohne Traffic Shaping trotz ausreichender Window Size deutlich unter der physikalischen Download-Rate liegt (2 MBit/s). In der Tabelle Durchsatzbremsen sind die Werte für einen Test-PC aufgeführt, der bei einem ungebremsten Download rund 230 kByte/s befördert, jedoch bei parallelem Upload nur noch rund 130 kByte/s erreicht – die Hälfte der Empfangsbandbreite liegt also brach.