tc
Erscheinungsbild
tc - show / manipulate traffic control settings
Beschreibung
Installation
Syntax
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
Linux QoS mit ”tc”
- Linux benutzt tc vom Paket iproute2, um das Bandbreitenmanagement zu konfigurieren
- Allgemein beschrieben in Linux Advanced Routing & Traffic Control HOWTO.
Beispiel für eine Warteschlange mit konstanter Bitrate
Mit dem ”cbq” Planer können Röhren mit konstanter Bitrate definiert werden.
Root qdisc Definition
- Definition einer root qdisc mit einer Bandbreite von 1000 MBit/s an eth1
QoS class Definition
- Definition einer Klasse 1:1 mit 1 MBit/s
- Definition einer Klasse 1:2 mit 50 MBit/s
- Definition einer Klasse 1:3 mit 10 MBit/s
- Definition einer Klasse 1:4 mit 200 kBit/s
QoS filter Definition
- Definition eines Filters für IPv4 (protocol ip), TCP (match ip protocol 6 0xff) Zielport 5001 (match ip dport 5001 0xffff) unter Benutzung der Klasse 1:2 von oben
- Definition eines Filters für IPv6 (protocol ip), TCP (match ip6 protocol 6 0xff) Zielport 5001 unter der Benutzung der Klasse 1:2 von oben
- Definition eines Filters für IPv6 für Pakete mit Flowlabel 12345 (match ip6 flowlabel 0x12345 0x3ffff) unter der Benutzung der Klasse 1:3 von oben
- Definition eines Filters für IPv6 für Pakete mit der Linux iptables Markierung 32 (handle 32 fw) unter der Benutzung der Klasse 1:4 von oben
Die letzte Filterdefinition benötigt auch einen Eintrag in ip6tables um das Paket zu markieren
Testen der Filterdefinition mit iperf
Starten auf Serverseite in separaten Konsolen
$
Starten auf Clientseite und Vergleichen der Ergebnisse:
$
Das Ergebnis der Transferraten sollten der Definitionen von oben entsprechen, das Ergebnis auf Port 5002 sollte ziemlich identisch unabhängig von der benutzten IP-Version sein.