Home / LinuxUser / 2009 / 11 / Ressourcenwächter

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

AA_PO-3802.jpg

© Zastavkin, Fotolia

Ressourcenwächter

Bandbreitenkontrolle mit Wondershaper

29.09.2009 Bandbreitenregulierung hilft, Flaschenhälse im Netz zu umgehen. Wondershaper erschließt die sehr komplizierte Technik dahinter auch dem Normalanwender.

Verwenden mehrere Nutzer einen Internetanschluss gemeinsam, dann passiert es schnell, dass große Uploads die Geschwindigkeit der Downloads anderer Teilnehmer massiv beeinträchtigen. Lädt beispielsweise ein Kollege die komplette Sammlung seiner letzten Urlaubsbilder hoch oder betreibt einen Peer-to-Peer-Client wie Edonkey oder Bittorrent, wird das Surfen für die restlichen Nutzer des Zugangs schnell zur Qual. Mit dem Wondershaper formen Sie den Netzwerkverkehr so, dass stets genügend Bandbreite für alle übrig bleibt.

Hinter den Kulissen

Hierzulande verwenden die meisten Nutzer ADSL, dessen Upload-Datenrate im Schnitt um das zehn- bis zwanzigfache unter jener der Downloads liegt. Im Normalfall stellt das kein Problem dar, denn die meisten Anwender laden deutlich größere Datenmengen herunter als hoch. Ist der Upload jedoch einmal für längere Zeit vollständig ausgelastet, bricht auch der Download ein.

Der Grund dafür liegt in der Arbeitsweise des Transmission Control Protocols (TCP). Es verlangt vom Empfänger eines Datenpaketes den Versand einer Bestätigung über das intakte Eintreffen. Erst danach schickt der Versender das nächste Datenpaket los. Ist nun der eigene Upload ausgelastet, stellt sich dieses so genannte SYN/ACK-Paket hinten in der Warteschlange der zum Versand anstehenden Datenpakete an. Dadurch unterbleiben weitere Transfers von Datenpaketen vom Sender so lange, bis das SYN/ACK-Paket verschickt und vom Sender empfangen wurde.

Traffic Shaping [1] erlaubt das Eingreifen in die Reihenfolge der zu versendenden Datenpakete. Die meisten Linux-Distributionen bringen die Voraussetzungen dafür mit dem Userspace-Programm namens tc (kurz für "Traffic Control") von Haus aus mit. Die Komplexität von Tc erfordert es aber, ein komplettes Skript schreiben, das den Netzwerkverkehr in Klassen einteilt und diese individuell priorisiert. Hier kommt Wondershaper [2] ins Spiel, das den Aufwand dabei deutlich reduziert.

Das Skript teilt den ausgehenden Netzwerkverkehr in Klassen ein und bevorzugt Datenpakete von interaktiven Anwendungen, wie VoIP oder Internet-TV. Das vermeidet Verzögerungen in der Übertragung, die der Benutzer durch Sprachaussetzer oder Bildstörungen bemerken würde. Andere Pakete, deren Zustellung warten kann – etwa Datentransfers via FTP – stellt Wondershaper bei ausgelasteter Datenleitung hinten an. Diese Technik nennt sich im Jargon der Netzwerktechniker "Quality of Service" oder kurz QoS.

Traffic Shaping

Traffic-Shaping eignet sich vornehmlich für den Einsatz auf Routern, da nur diese in der Lage sind, die Upload-Bandbreite zu regeln. Entweder Sie verwenden einen Router Marke Eigenbau – beispielsweise einen alten Rechner mit IPCop [3] – oder ein Gerät wie den Linksys WRT54GL [4] mit den alternativen Firmware-Systemen OpenWrt [5] oder DD-WRT [6]. Um Wondershaper zu nutzen, laden Sie das Paket von der Heft-DVD oder der Projektseite herunter und entpacken es. Da es sich lediglich um ein Skript handelt, ist eine Installation nicht notwendig.

Bevor Sie damit beginnen, das eigene Netzwerk in Form zu bringen, ermitteln Sie zunächst die Ping-Reaktionszeiten, um zu prüfen, ob die Einstellungen von Wondershaper greifen. Da der Test nur unter Vollast des Uploads brauchbare Informationen liefert, laden Sie beispielsweise eine große Datei auf einen eigenen Webspace hoch oder versenden eine Mail mit großem Anhang. Senden Sie währenddessen einen Ping zu Ihrem Gateway und sehen Sie sich die Reaktionszeiten an (Listing 1, unten). Die IP-Adresse des Gateways sowie die verwendete Netzwerkschnittstelle ins Internet ermittelt Sie das Kommando route -n (Listing 1, oben).

Listing 1
$ route -n
Kernel-IP-Routentabelle
Ziel         Router   Genmask         Flags […] Iface
88.66.0.1    0.0.0.0  255.255.255.255 UH    […] ppp0
192.168.0.0  0.0.0.0  255.255.255.0   U     […] eth0
169.254.0.0  0.0.0.0  255.255.0.0     U     […] eth0
0.0.0.0      0.0.0.0  0.0.0.0         U     […] ppp0
$ ping 88.66.0.1
PING 88.66.0.1 (88.66.0.1) 56(84) bytes of data.
64 bytes from 88.66.0.1: icmp_seq=1 ttl=255 time=594 ms
[…]

Während bei freier Leitung Reaktionszeiten von 10 Millisekunden üblich sind, steigen sie bei ausgelastetem Upload im Beispiel auf über 500. Webseiten laden entsprechend langsamer, Internet-Telefonie ist nicht mehr möglich. Aktivieren Sie danach Wondershaper, beachten Sie dabei aber, das richtige Netzwerkgerät (ppp0, eth0,…) zu verwenden. In diesem Fall wäre es ppp0. Generell starten Sie das Skript mit dem Aufruf

$ sudo wondershaper Interface Download-Rate Upload-Rate

Die Transferraten geben Sie in kbit/s an, also beispielsweise wondershaper ppp0 15000 900 für eine 16-Mbit/s-Anbindung. Verfügen Sie über eine 2-Mbit/s-Anbindung, geben Sie für den Download 2000 an. Sie sollten immer ein paar Prozent vom theoretisch maximalen Wert abziehen – das selbe gilt für die Upload-Bandbreite. Anschließend schicken Sie weitere Pings ab. Verbessern sich die Ping-Zeiten nicht, dann senken Sie den Upload-Wert langsam weiter ab, bis Sie akzeptable Reaktionszeiten erhalten. Im Testaufbau griffen die Einstellungen bei 15000 kbit/s Download- und 600 kbit/s Upload-Bandbreite (Listing 2). Mit diesen Einstellungen war dann auch Surfen trotz Auslastung des Uploads problemlos möglich.

Listing 2
$ sudo wondershaper ppp0 15000 900
$ ping 88.66.0.1
PING 88.66.0.1 (88.66.0.1) 56(84) bytes of data.
64 bytes from 88.66.0.1: icmp_seq=2 ttl=255 time=520 ms
[…]
$ sudo wondershaper ppp0 15000 600
$ ping 88.66.0.1
PING 88.66.0.1 (88.66.0.1) 56(84) bytes of data.
64 bytes from 88.66.0.1: icmp_seq=1 ttl=255 time=7.25 ms
[…]
Tip a friend    Druckansicht Bookmark and Share
Kommentare

3782 Hits
Wertung: 183 Punkte (13 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...