Traffic-Shaping mit Linux

Ab in die Warteschlange

Zum Glück lässt sich dieses Problem unter Linux recht leicht in den Griff bekommen. Anstatt eines einzigen Puffers für alle ausgehenden Daten erlaubt dieses nämlich das Aufteilen der Datenströme auf mehrere Warteschlangen, in diesem Fall etwas salopp Bit Buckets genannt.

Diese frei übersetzt als Dateneimer bezeichneten Queues geben die in ihnen zwischengespeicherten Daten mit unterschiedlicher Priorität an die Netzwerkschnittstelle und damit an das Internet weiter. Da jeder Eimer einmal an die Reihe kommt, erfolgen alle Übertragungen flüssiger, eine von einem umfangreichen Datentransfer blockierte Leitung gehört damit der Vergangenheit an.

So weit zumindest die Theorie. In der Praxis ist oft noch eine kleine Hürde zu nehmen. Vielfach ist der Flaschenhals zwischen lokalem Netz und Internet nicht der als Router arbeitende Rechner, sondern das DSL-Modem an der Leitung zum Provider. Selbst wenn dieses nur mit 10 MBit/s im Halbduplex-Verfahren mit dem Router kommuniziert, kann dieser seine Daten schneller an das DSL-Modem senden als dieses sie über die Internet-Anbindung wieder los wird. Der Effekt der Warteschlangen auf dem Router wäre also dahin, da sich die Daten nach wie vor beim DSL-Modem stauen.

Das gilt genauso für im Router selbst verbaute DSL-Modems. Zusätzlich ist also dafür zu sorgen, dass die Datenrate zum DSL-Modem schon im Router begrenzt wird, damit nun dieser den Falschenhals bildet. Auch dafür bietet Linux geeignete Tools an. Schreiten wir also zur Implementierung.