Bandwith shaping

Hallo Leute,

Hat wer eine (brauchbare) Idee, wie ich auf einem Linux-Router die Bandbreite gleichmässig auf die verschiedenen Rechner aufteilen kann?

Merci!
Pürsti

Korrektur:
Es soll auch eine max. Rate pro User einstellbar sein.

Mfg,
Pürsti

Hallo,

http://lartc.org/howto/lartc.qdisc.html kennst Du?

Es soll auch eine max. Rate pro User einstellbar sein.

Auf einem Router? Wie soll das technisch gehen?

Gruß,

Sebastian

Hallo Sebastian,

http://lartc.org/howto/lartc.qdisc.html kennst Du?

Sieht gut aus, werde es in mich hineinziehen.

Es soll auch eine max. Rate pro User einstellbar sein.

Auf einem Router? Wie soll das technisch gehen?

Indem man sich falsch ausdrückt :wink:
Ich meinte, die Rate pro Rechner hinter dem Router, also pro IP oder pro MAC.

Danke für die Antwort,
Pürsti

Tipp zu LARTC

http://lartc.org/howto/lartc.qdisc.html kennst Du?

Das ist ein sehr nettes und nützliches HOWTO. Einen kleinen Tipp dazu kann ich mir allerdings nicht verkneifen: Dokumentiere alles, was du damit erzeugst und bewahre dir deine Notizen gut auf. Skripte können durchaus aus mehreren Zeilen Kommentar pro Kommando bestehen. Die behandelten Programme sind alles andere als intuitiv und nicht unbedingt gut dokumentiert. Ohne Gedächtnisstütze steht man dann ein paar Monate später vor einem Haufen komplizierter Befehle und weiss nicht mehr, was los ist.

Hi!

Hat wer eine (brauchbare) Idee, wie ich auf einem Linux-Router
die Bandbreite gleichmässig auf die verschiedenen Rechner
aufteilen kann?

Nur so ein paar Tipps. Ich hab auch mit LARTC (und dem dort empfohlenen „wondershaper“ begonnen) und mich dann weiter vor gearbeitet. Lesen lesen lesen ist das wichtigste. Und wie ein Vorredner schon gesagt hat: alles dokumentieren. Ein Script mit weniger als 70% Kommentaren ist für TC (Traffic Control) nix wert.

So, jetzt zu den Tipps:

  1. Es ist nie schlau, die gesamte Bandbreite ständig „gerecht“ auf alle beteiligten Rechner aufzuteilen. zB. wenn Du 1MBit/s hast und 5 Rechner dahinter, dann könnte jeder immer nur 200kBit/s benutzen. Egal ob jemand anderer „seine“ 200kBit/s braucht oder nicht. Darum wichtig: Jeder darf jederzeit alle 1MBit/s verbrauchen, wenn aber mehrere darauf „Anspruch“ anmelden, wird gerecht geteilt.
  2. Du musst unbedingt zwischen Burst und Bulk Transfer unterscheiden. zB einer der Rechner hat 24x7 ein P2P-Programm (Kazaa, …) laufen, und damit zu irgend einem Zeitpunkt grade (weil eh niemand anderer daheim ist) die vollen 1MBit/s benutzt. Dann kommst du heim und möchtest schnell was im Internet surfen oder mit SSH einen Rechner über Internet fernbedienen.
    Das sind zwei verschiedene Benutzungsprofile. Bei Bulk (zB P2P, Download im Allgemeinen) gehts um Datenrate, wie lange aber jedes einzelne Packet unterwegs ist, ist egal. Bei Burst gehts nur um die Verzögerung, die Datenrate ist sehr gering. Wenn aber viel Bulk läuft, entsehen durch die langen Puffer der Router (siehe LARTC-Doku) hohe Verzögerungen. Darum musst du beim TC die Burst-Packete stark bevorzugen. Und ihnen auch erlauben, die Bandbreite der Bulk-Transfers zu beschneiden.

Diese Forderungen sind am Anfang ziemlich schwer umzusetzen. Schau dir aber das Wondershaper-Script an, das bemüht sich genau um das. Mit der geeigneten Hierarchie der TC Regeln kann man viel erreichen.

Bye
Hansi

Hallo Hansi,

Danke für die ausführliche Antwort. Entschuldige, dass ich mich erst jetzt melde, aber ich war über eine Woche offline (Wintersport + Silvester, von dort quasi direkt in den Flieger (dienstlich)).

Einen schönen Feiertag,
Pürsti