TCP/IP-Tuning

Seite 4: Auf die Finger geschaut

Inhaltsverzeichnis

Diese Situation entsteht, wenn zum Beispiel während des Downloads eine größere Mail verschickt wird. Dann wird der Sendepuffer über einen längeren Zeitraum kontinuierlich mit Daten gefüllt. Geht man von einem Anschluss aus, der maximal 128 kBit/s senden kann, dauert es rund zwei Sekunden, bis 32 kByte Daten verschickt sind. Wenn in dieser Situation ein ACK-Paket, das den Fortgang des Downloads aufrecht erhalten soll, ans Ende des Puffers geschrieben wird, dauert es eben zwei Sekunden, bis es überhaupt losgeschickt wird, und noch weitere Millisekunden, bis es angekommen ist.

Beim BitTorrent-Client Azureus lässt sich die maximale Upload-Geschwindigkeit gezielt für verschiedene Betriebsarten anpassen.

Ein deutlich besseres Ansprechverhalten erzielt man schon, wenn man den Tauschbörsen-Upload limitiert (etwa auf 75 Prozent der Sendekapazität). Dann ist der Sendepuffer so häufig leer, dass ACK-Pakete von Downloads, VoIP-Päckchen, Online-Spiel-Daten und anderem mehr ohne Verzögerung weitergeleitet werden.

Besser, weil umfassender, macht das ein Traffic Shaper, weil er alle wichtigen Pakete erkennt und sie im einfachsten Fall direkt an den Anfang des Sendepuffers schreibt, sodass sie alle anderen Daten überholen. Am besten sind mehrere Queues, die unterschiedliche Prioritäten haben – sie werden unterschiedlich schnell ausgelesen und die darin zwischengelagerten Daten gelangen je nach Lesepriorität unterschiedlich schnell auf den Weg.

Angewendet auf dem Anschluss einer Familie könnte ein Traffic Shaper also die Voice-over-IP-Daten am höchsten priorisieren, dann die Spiele-Pakete und den IPTV-Datenstrom weitergeben und schließlich Mails auf den Weg bringen. Die dann noch zur Verfügung stehende Bandbreite überlässt er Tauschbörsen-Programmen. Sie können aber vorübergehend sogar weiter gebremst werden, damit etwa Urlaubsfotos mit akzeptabler Geschwindigkeit verschickt werden. Letztlich sind die Priorisierungen aber persönliche Entscheidungen der Anwender. Spielernaturen dürften die Game-Pakete vermutlich höher priorisieren als den VoIP-Verkehr.

Bei vielen Providern lässt sich die Latenz der DSL-Leitung per FastPath-Option verkürzen. Von Haus aus arbeiten die DSL-Anschlüsse nämlich mit einer robusteren Kodier-Art (höheres Interleaving), die auf Kosten der Durchlaufzeit der Daten geht – und FastPath senkt die Durchlaufzeit. Manche Hardcore Gamer gehen so weit, einen DSL-Anschluss mit FastPath eigens für Spiele anzuschaffen.

Zu beachten ist aber, dass FastPath nur bei Leitungen mit guter Übertragungsqualität empfehlenwert ist. Hat man eine, die vielen Störungen ausgesetzt ist, sinkt zwar die Latenz, aber Paketverluste nehmen zu und das TCP/IP-Protokoll muss sich selbst um die Fehlerkorrektur kümmern. Bei TCP-Verbindungen schlagen dann die Mechanismen zur Sendewiederholung an. Dann sinkt zum Beispiel bei HTTP-Downloads der Durchsatz stark. Bei UDP-Verbindungen gibt es jedoch keine Fehlerkorrektur, sodass sich Paketverluste zum Beispiel bei VoIP-Anwendungen als Aussetzer bemerkbar machen.

Ein wenig bekanntes Feature von Windows XP ist das "Task Offloading", bei dem das Betriebssystem den Prozessor entlastet, indem es bestimmte Aufgaben an speziell dafür entwickelte Netzwerkkarten überträgt. Microsoft hat dafür die Berechnung der IP- beziehungsweise TCP-Checksumme, verschiedene Arbeitsschritte bei der IPSec-Verschlüsselung sowie die TCP-Paket-Segmentierung als "Task Offloading" spezifiziert.

Bei der Berechnung der IP- oder TCP-Checksummen muss der Prozessor sämtliche übertragenen Daten einmal "anfassen", was eine gewisse Belastung suggeriert. Bei der IPSec-Verschlüsselung kann die Netzwerkkarte die Berechnung von MD5- beziehungsweise SHA1-Hash-Werten sowie die Verschlüsselung mittels Triple-DES übernehmen. Beispielsweise tun das die 3Com-Karten 10/100 Secure NIC sowie 10/100 Secure Server NIC. Das entlastet den Prozessor spürbar, wenn er IPSec-Daten sehr schnell befördern muss, etwa im GBit-LAN.

Bei der TCP-Paket-Segmentation werden Pakete, die größer sind als die MTU, von der Netzwerkkarte selbstständig in kleinere TCP-Segmente unterteilt und einzeln gesendet (zum Beispiel KillerNic von Bigfoot Networks).

Einige Netzwerkkarten unterstützen einen Teil dieser Aufgaben, darunter sogar Onboard-Karten (zum Beispiel nForce4 Ultra). Manche Tuning-Tüftler werden daher wohl eine solche Anschaffung erwägen. Doch Task-Offloading ist nur dann "nice to have", wenn die CPU stark mit Netzwerk-Aktivitäten beschäftigt ist, etwa bei vielgenutzten Servern. Deshalb sind im Server-Bereich bei Sun oder auch IBM solche Karten häufiger vertreten.

Im Privat-Umfeld und in kleineren Büronetzwerken wirkt sich diese Funktion aber nicht auf die Übertragungsgeschwindigkeit aus. In Tests zeigte sich zum Beispiel, dass heutige Prozessoren bei aktuellen Sende-Bandbreiten die Checksummen nebenbei berechnen. Auch sollte man bedenken, dass viele LANs bereits mit Gigabit-Geschwindigkeit arbeiten, also rund 100 MByte/s anliefern, aber aktuelle Festplatten kaum über 70 MByte/s annehmen können. Der Flaschenhals ist bei modernen LANs also nicht die Netzwerkkarte, sondern das Speichermedium.

Durchsatzbremsen
Download Verbindungen Upload Verbindungen Download-Durchsatz (KByte/s) Upload-Durchsatz (KByte/s) Ping-Zeit (ms)
ohne Traffic Shaping
1 227,4 188
1 27,5 235
1 1 129,1 18,9 346
4 217,9 290
4 28,6 1060
4 4 153,9 18,9 544
mit Traffic Shaping
1 218,7 231
1 27,2 186
1 1 206,5 18,6 282
4 213,7 283
4 27,8 235
4 4 221,8 16,3 378
Je nach Zahl der Up- und Downloads kann der Durchsatz einer TCP-Verbindung erheblich einbrechen. Wie stark sich der Paketversand bei diesen ungünstigen Bedingungen verzögern kann, lässt sich an den verlängerten Ping-Zeiten ablesen. Wenn ein Traffic Shaper im Router oder im PC den Verkehr regelt (hier ein Beispiel mit cFos), nehmen die Ping-Zeiten wieder ab und der Durchsatz kommt dem theoretischen Maximum deutlich näher. Die ADSL-Leitung empfängt bis zu 2048 kBit/s (Downstream) und sendet bis zu 256 kBit/s (Upstream).