Open Source im professionellen Einsatz

Zwei Varianten

Anwender des Werkzeugs stehen zurzeit an einem Scheideweg, denn es gibt zwei aktuelle Versionen. Die ausgereifte und stabile Kernel-Version, die allerdings nicht einfach zu konfigurieren ist. Und eine für den Userspace, die sich zwar noch in der Entwicklung befindet, aber schon relativ stabil läuft und in der Zukunft die Kernel-Variante ablösen soll. Während die Kernel-Version nur mit einfachen regulären Ausdrücken zurechtkommt, darf sich der Admin bei der Userspace-Version richtig austoben, falls er in der mitgelieferten umfangreichen Datenbank wider Erwarten nicht fündig wird. Allerdings machen die Entwickler kein Hehl daraus, dass die Userspace-Variante in komplex aufgebauten Systemumgebungen nicht immer korrekt arbeitet.

Für L7 existieren zehn Frontends, die Homepage des Projekts [8] führt sie auf. Das Leistungsspektrum reicht von einfachen Traffic Shaping bis hin zur Zensur, die vordefinierte Texte oder Wörter etwa in Chatprogrammen ausfiltert. L7, das in der Userspace-Variante Netfilter als Basis benötigt, ist für auch große Netzwerke geeignet. Seine Dokumentation lässt nichts zu wünschen übrig.

Fazit

Keine TC-Technik vermag natürlich das Wunder zu vollbringen, die Bandbreite einer Netzanbindung zu erhöhen. Durch das gerechtere Verteilen der Ressourcen arbeiten die wichtigen Applikationen dennoch schneller, ohne unwichtige Programme ungebührlich auszubremsen. Angesichts der Einfachheit der Shaping-Algorithmen ist es erstaunlich, was aktuelle Tools damit alles vollbringen.

Für Admins, die lediglich die Leistungsfähigkeit ihrer Netzanbindung steigern wollen und mit den gängigeren Tools nicht weiterkommen, ist das vorgestellte Hippie sicher eine gute Wahl - auch wenn die aktuelle Version mit Vorsicht zu installieren ist.

In einer anderen Liga spielt L7: Dessen Stärke liegt im genauen Erkennen und Manipulieren von Protokollinhalten. Damit eignet sich das Tool naturgemäß auch zum Ausfiltern von durchlaufenden Inhalten. Den Machern der Software ist diese Dual-Use-Problematik ganz offensichtlich bewusst, wenn sie explizit kundtun: "If you are interested in implementing censorship, please do not ask us for help." (jk)

Praxistipp

Werkzeuge für das Traffic Shaping enthält jede aktuelle Distribution. Treten bei der Konfiguration Probleme auf, schadet es nicht, in das »boot«-Verzeichnis zu wechseln und mit

grep HTB config*
grep DSMARK config*

zu überprüfen, ob die Module im Kernel integriert sind. Wichtig ist, dass mindestens eine der resultierenden Ausgabezeilen »HTB=m« beinhaltet.

Bei »HTB=n« wartet Arbeit auf den Admin: Entweder muss er die Kernelmodule seiner Distribution neu übersetzen oder gleich einen neuen Kernel backen.

Queueing, Shaping und
QoS

Custom Queueing (CQ) beeinflusst das Handling von Paketen in einer Warteschlange (Queue). Wer seine ADSL-Verbindung oft auslastet, erzielt zum Beispiel mit SFQ (Stochastical Fairness Queueing) gute Ergebnisse. Die Qualität von Sprache über IP lässt sich mit Priority Queueing verbessern. PQ stellt kleine Pakete der VoIP-Anwendung in eine gesonderte Warteschlange mit hoher Priorität. Traffic Shaping ist dagegen unabhängig von der Auslastung des eigenen Links. Es beeinflusst jeden Netzwerkverkehr, der ein konfiguriertes Limit überschreitet.

Große Netze brauchen solche Limits, um das Zusammenspiel von WAN-Verbindungen und Internetzugängen verschiedener Bandbreite und Auslastung zu optimieren. An einem schnellen WAN-Link leitet der Router per Default alle Pakete ungebremst weiter und überflutet damit unter Umständen den Zugang am anderen Ende. Weil sich eventuell die Queues im Backbone des Providers füllen, ist es schwer, TCP-Parameter zu ermitteln, die beiden Seiten Vorteile bringen. Bandbreitenmanagement sorgt hier für einen sanfteren Verlauf ohne auf- und abschwellenden Netzwerkverkehr, ohne Paketwiederholungen (Retransmits) und ohne hohe Latenzzeiten.

Der Traffic Shaper verarbeitet ein ankommendes Paket und sendet es nach Möglichkeit sofort weiter. Andernfalls reiht er das Paket in die Queue ein. CQ greift daher nur bei ausgelasteten Links. Der Packet Shaper kommt dagegen immer zum Zug. Er kontrolliert, dass der Datenverkehr die für das Ziel konfigurierten Limits einhält. Sind diese überschritten, bildet sich eine Warteschlange. Für sie ist wieder die entsprechende QDisc zuständig.

Quality of Service

QoS ist keine eigene Technologie, sondern nutzt Bandbreitenmanagement, um einer Verbindung die für einen Service (zum Beispiel Citrix Metaframe oder VoIP) benötigten Eigenschaften zu geben. Manche Applikationen können beispielsweise gut mit geringen Paketverlusten leben, kommen aber nur schwer mit hohen Laufzeiten oder Laufzeitschwankungen zurecht.

Qualität ohne eigene Norm

QoS ist in keiner Norm spezifiziert. Häufig steht es für Differentiated Services (RFC 2474), also das Bemühen, einzelne Dienste innerhalb des nach Best Effort arbeitenden IPv4-Netzwerks zu priorisieren. Streng genommen gehören aber auch Guaranteed Services dazu, die Ressourcen mittels bestimmter Protokolle zuteilen (RSVP, IP Reservation Protocol). Ein Netzwerk, das Signalling und Resource Reservation vollständig realisiert, ist zum Beispiel das öffentliche Telefonnetz (PSTN, Public Switched Telephone Network). Jeder ISDN-Kanal erhält 64 KBit/s. Wenn das Netz ausgelastet und alle Reserven eingesetzt sind, kommen keine neuen Verbindungen zustande. (Jörg Fritsch)

Infos:

[1] IProute2: [http://www.linuxfoundation.org/en/Net:Iproute2]

[2] Klaus Rechert, Patrick McHardy, "Queueing Disciplines: Traffic Control mit Linux", Linux-Magazin 02/05, S. 28

[3] TCng: [http://tcng.sourceforge.net]

[4] Ralf Spenneberg, "Bandbreitenkontrolle und -Simulation mit TCng, Linux-Magazin 02/05, S. 38

[5] Trickle: [http://monkey.org/~marius/pages/?page=trickle]

[6] Oliver Frommel, "Traffic Shaping im Userspace mit Trickle", Linux-Magazin 02/05, S. 42

[7] Hippie: [http://hippie.oofle.com]

[8] L7: [http://l7-filter.sourceforge.net]

[9] Jörg Harmuth, "Firewalling und Traffic Shaping mit Analyse der Schicht-7-Protokolle", Linux-Magazin 02/06, S. 66

[10] Dokumentation zu Perl 5 Version 10.0: [http://perldoc.perl.org/perlre.html]

Der Autor

Johann Glas arbeitet hauptsächlich als technischer Autor mit dem Schwerpunkt Handbücher und Manuals. Als Gelegenheits-Softwareentwickler ist er sehr erfolgreich darin, bei C++ und Java jeder objektorientierten Programmierweise aus dem Weg zu gehen. Er ist von Linux begeistert, aber in Minix verliebt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook