Water reflections on a roof

Als ich eben las, dass der erste Netzbetreiber schon in Köln bezahlbare 100 Mbit-Leitungen für zu Hause anbietet, fielen mir meine ersten Schritte im Netz ein. Mein erstes Modem schob gerade mal 4 Kilobit pro Sekunde über die Kupferdoppelader. Es folgte kurz darauf ein (sündhaft teures) ZyXEL-Modem, das mit 19,2 kbit/s damals zu den schnellsten Modems überhaupt gehörte. Als ich dann ein paar Jahre später ISDN hatte und mit 64 kbit/s durch das Netz raste, fühlte ich mich wie ein König. Mein Umstieg auf DSL fing mit 768 kbit/s an. Lange Zeit war das schnell genug für mich. Mehr braucht kein normaler Mensch, dachte ich damals. Mittlerweile habe ich 18 Mbit/s und beneide bereits die 9000 Kölner, die eine solche 100 Mbit-Leitung haben können.

Und ich fragte mich, wie sich das Internet von heute mit den Geschwindigkeiten von damals anfühlen würde. Das war dann auch der Anstoß für diesen Artikel, denn Linux bringt schon seit geraumer Zeit serienmäßig die Fähigkeit des so genannten traffic shaping mit. Mit ein paar Handgriffen lässt sich die verfügbare Bandbreite ziemlich effektiv begrenzen und verteilen.

Der Bequemlichkeit halber habe ich per traffic shaping nur den eingehenden Datenverkehr gedrosselt. Das ist ausreichend, um beim normalen Surfen ein paar Nostalgiegefühle zu wecken. Mit folgenden zwei Befehlen (ausgeführt als root) wird der eingehende Datenverkehr auf 56 kbit/s begrenzt, was einem schnellen Analogmodem entspricht.

tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police \
  rate 56kbit burst 10k drop flowid :1

Nun wird flugs der Browser gestartet und sämtliche Caches gelöscht, wir wollen ja ein unverfälschtes Surferlebnis. 😁

Um dem Spuk ein Ende zu bereiten, reicht folgende Zeile aus:

tc qdisc del dev eth0 ingress

Das 56kbit kann durch andere Bandbreitenangaben ersetzt werden, zum Beispiel durch 64kbit für ISDN oder durch 4kbit für ein einfaches Analogmodem. Und wer es ganz abgefahren mag, simuliert mit 0.3kbit einen alten Akustikkoppler. Vor jeder Änderung muss das laufende Shaping über das zuletzt genannte Kommando zurückgesetzt werden. Und die Bandbreite des eigenen Anschlusses erhöhen kann man mit traffic shaping natürlich nicht. 😉

Übrigens: Die Fedora Core 6-DVD ist im Idealfall bei 100 Mbit/s in knapp 6 Minuten heruntergeladen. Bei 56 kbit/s braucht man dafür bereits über eine Woche, bei 4 kbit/s um die 100 Tage. Die DVD wäre dann fast schon veraltet, sobald sie fertig heruntergeladen ist.