Zum Inhalt springen

Tc: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 9: Zeile 9:
=== Exit-Status ===
=== Exit-Status ===
== Anwendung ==
== 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.
<noinclude>
=== Fehlerbehebung ===
=== Fehlerbehebung ===
== Konfiguration ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===

Version vom 1. November 2023, 15:15 Uhr

tc - Kurzbeschreibung

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.




Fehlerbehebung

Konfiguration

Dateien

Anhang

Siehe auch

Sicherheit

Dokumentation

RFC
Man-Pages
Info-Pages

Links

Projekt
Weblinks

Manpage