Langsame Internetanbindungen effektiv nutzen

Supportdatenbank (cg_slowinternet)
Bezieht sich auf

SuSE Linux: Versionen bis einschließlich 7.3

Symptom

Sie haben eine Internetanbindung über Modem, ISDN oder eine langsame Standleitung (langsam heißt hier: weniger als 512 kbit/s downstream). Sie arbeiten viel mit interaktiven Diensten wie irc, Unix talk oder ssh/telnet zum remote login. Leider wird die Anbindung fast unbenutzbar "zäh" wenn Sie einen umfangreicheren Download per ftp starten. Ebengleiches gilt wenn Sie anfangen zum Beispiel WWW Seiten im Webbrowser anzuschauen.

Folgendes können Sie beobachten wenn Sie zum Beispiel mit "ping" die Round Trip Time (Umlaufzeit, abgekürzt: RTT) zu einem schnell angebundenen Rechner im Internet testen und gleichzeitig einen Download starten:

konstriktor:~>ping sdb.suse.de
PING sdb.suse.de (213.95.15.204): 56 data bytes
64 bytes from 213.95.15.204: icmp_seq=0 ttl=247 time=35.767 ms
64 bytes from 213.95.15.204: icmp_seq=1 ttl=247 time=39.488 ms
64 bytes from 213.95.15.204: icmp_seq=2 ttl=247 time=37.377 ms
[...]
64 bytes from 213.95.15.204: icmp_seq=6 ttl=247 time=612.773 ms
64 bytes from 213.95.15.204: icmp_seq=7 ttl=247 time=1188.041 ms
64 bytes from 213.95.15.204: icmp_seq=8 ttl=247 time=1568.059 ms
64 bytes from 213.95.15.204: icmp_seq=9 ttl=247 time=2148.153 ms
64 bytes from 213.95.15.204: icmp_seq=10 ttl=247 time=2138.407 ms

Hier wurde lediglich ein einziger umfangreicher Download auf dem Rechner gestartet. Wenn die Leitung frei ist, sehen Sie daß die Anbindung eine mittlere Round trip time von nur ca. 35 ms hat.

Sobald aber der Download gestartet wird, sehen Sie daß die Round-Trip-Time (RTT) eines "ping" Paketes über 2s erreicht. Über eine solchermassen "verstopfte" Leitung sind interaktive Applikationen kaum noch bedienbar.

Hintergrund

Das von Linux für die Internetanbindung verwendete TCP/IP Protokoll erlaubt es der Gegenstelle eine gewisse Datenmenge im "voraus" unbestätigt zu versenden. Normalerweise müssen alle eingehenden Daten einer bestehenden TCP/IP Verbindung bestätigt werden allerdings hat die Gegenstelle ein gewisse Freimenge die unbestätigt verschickt werden darf. Dies ist auch zum Erreichen eines guten Durchsatzes auf breitbandigen Anbindungen, wichtig. Offiziell bezeichnet wird diese Option mit TCP Window size. Überlicherweise ist das Window ca. 32 kByte groß, die Maximalgröße beträgt üblicherweise 64 kByte.

Leider ist bei einer schmalbandigen Anbindung das Problem daß sich die meisten Pakete am letzen Router vor der "dünnen Leitung" vor Ihrem Rechner in einem Puffer stauen. Viele FTP- und Webserver sind sehr breitbandig angebunden so daß die Daten nicht etwa unterwegs verzögert werden sondern nur noch auf dem letzten Leitungsstück vor Ihrem Rechner.

Idee

Es müsste nun also irgendwie eine Möglichkeit geben der Gegenstelle zu sagen das Sie nicht so viele Daten unbestätigt verschicken soll. Damit sollte der Puffer des Routers vor dem letzten Leitungsstück vor Ihrem Rechner nicht mehr so voll werden und die Round-Trip Time eines pings nicht über einen bestimmten Wert ansteigen.

Lösung

Es gibt eine Option der Gegenstelle zu sagen das Sie nur ein kleines TCP Window zur Verfügung hat. Benutzen Sie diese Option nicht wenn Sie mehr als 1 MBit/s im Downstream haben, weil sonst u.U. die Downloadperformance speziell bei Downloads aus USA oder anderen Überseeländern abnehmen kann.

Wir müssen 2 Fälle unterscheiden

ISDN, Modem, PPPoE (T-DSL) Zugang mit PPPD

Die Default Route deren Window Größe wir verändern wollen, wird erst nach dem Verbindungsaufbau gesetzt. Deshalb müssen Sie eine Änderung in der PPP Konfiguration vornehmen um diese Option zu setzen.

Falls Sie noch keine Datei /etc/ppp/ip-up.local auf Ihrem Systen haben, können Sie diese als Benutzer root mit einem Editor anlegen und folgendes darin aufnehmen:

#! /bin/sh
# In Parameter $5 ist das Default Gateway enthalten wenn dieses 
# Skript aufgerufen wird.
route del default
route add default gw $5 window 8000

Falls Sie das Paket iproute2 (Standard ab SuSE Linux 8.0) installieren können Sie auch folgende Eintragungen in dieser Datei vornehmen. Die Verwendung von iproute2 hat den Vorteil das die default-route nicht kurzzeitig weg ist.

#! /bin/sh
# In Parameter $5 ist das Default Gateway enthalten wenn dieses
# Skript aufgerufen wird.
ip route change default via $5 window 8000

Machen Sie nach dem Editieren die Datei ausführbar mit dem Kommando chmod 755 /etc/ppp/ip-up.local damit dieses Skript bei der Einwahl automagisch mit ausgeführt wird.

Beachten Sie daß mit der ersten Änderung für einen kurzen Moment die Defaultroute entfernt wird, falls Sie /etc/ppp/ip-up verändert haben um beispielsweise automatisiert Mail abzurufen müssen Sie dies hinter die Ausführung von ip-up.local verschieben.

Beachten Sie den Abschnitt Ergebnis des Artikels zur Bedeutung des Zahlenwertes 8000.

Direkte Ethernetverbindung (nicht PPPoE)

Falls Sie eine Ethernetanbindung zum Beispiel an einen SDSL Router haben editieren Sie am besten die Datei /etc/route.conf. Die Datei sieht beispielsweise bei Ihnen so aus

62.146.142.32    0.0.0.0         255.255.255.224  NONE
default          62.146.142.33   0.0.0.0          eth0

Hängen Sie zur Defaultroute die "Window-Option" wie folgt mit dazu

62.146.142.32    0.0.0.0         255.255.255.224  NONE
default          62.146.142.33   0.0.0.0          eth0 window 8000

Um diese Option zu aktivieren ist es nötig diese Option dem route Kommando zu übergeben. Daher ist es am einfachsten mit dem Kommando rcroute restart die entsprechenden Kommmandos abzusetzen.

Ergebnis

Über den Defaultrouter erreichbare Gegenstellen haben ab jetzt die Erlaubnis maximal ~8 kByte Daten unbestätigt zu versenden. Bei einer Anbindung mit 128 kBit/s entspricht das circa einer halben Sekunde maximaler Round-Trip-Time. Sie können bei einfachen ISDN Anschlüssen (64 kBit/s) oder Modemverbindungen auch beispielsweise 4000 statt 8000 probieren. Setzen Sie den Wert nicht unter 2000 da Sie sonst der möglichen Paketgröße gefährlich nahe kommen (Ergibt keinen Sinn).

Falls Sie ein komplizierteres Routing lokal haben verwenden Sie das "kleinere Window" nur für die langsame Aussenanbindung und nicht für lokal oder schnell angebundene Rechner.


Siehe auch:
o Internetverbindung: Manche Webseiten lassen sich nicht aufrufen
o ADSL-Gateway für private Netzwerke

Stichwörter: SDSL, INTERNET, NETZWERK, ADSL, ISDN, MODEM, LANGSAM

Kategorien: Internet

SDB-cg_slowinternet, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 05. Feb 2002
SuSE Linux AG - Zuletzt generiert: 02. Apr 2002 von cg (sdb_gen 1.40.0)