Kategorie:IPv6/QoS: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „=== Quality of Service (QoS) === IPv6 unterstützt QoS durch die Anwendung von Flow Labels und Traffic Classes. Zusätzliche Infos: * <nowiki>RFC 3697</nowiki> / IPv6 Flow Label Specification === General === Vernünftig funktionierendes QoS ist nur an der ausgehenden Schnittstelle eines Routers oder Host möglich, wo der Flaschenhals anfängt. Alles andere bereitet nur Probleme und funktioniert wahrscheinlich nicht so, wie erwartet. {| class="wikitable…“
 
K Textersetzung - „\{\|.*\n\|\n\|\}“ durch „“
Zeile 8: Zeile 8:
=== General ===
=== General ===
Vernünftig funktionierendes QoS ist nur an der ausgehenden Schnittstelle eines Routers oder Host möglich, wo der Flaschenhals anfängt. Alles andere bereitet nur Probleme und funktioniert wahrscheinlich nicht so, wie erwartet.
Vernünftig funktionierendes QoS ist nur an der ausgehenden Schnittstelle eines Routers oder Host möglich, wo der Flaschenhals anfängt. Alles andere bereitet nur Probleme und funktioniert wahrscheinlich nicht so, wie erwartet.
{| class="wikitable"
 
|
|}


=== Linux QoS mit ”tc” ===
=== Linux QoS mit ”tc” ===
Zeile 20: Zeile 18:
===== Root qdisc Definition =====
===== Root qdisc Definition =====
Definition einer root qdisc mit einer Bandbreite von 1000 MBit/s an eth1
Definition einer root qdisc mit einer Bandbreite von 1000 MBit/s an eth1
{| class="wikitable"
 
|
|}


===== QoS class Definition =====
===== QoS class Definition =====
Definition einer Klasse 1:1 mit 1 MBit/s
Definition einer Klasse 1:1 mit 1 MBit/s
{| class="wikitable"
 
|
|}
Definition einer Klasse 1:2 mit 50 MBit/s
Definition einer Klasse 1:2 mit 50 MBit/s
{| class="wikitable"
 
|
|}
Definition einer Klasse 1:3 mit 10 MBit/s
Definition einer Klasse 1:3 mit 10 MBit/s
{| class="wikitable"
 
|
|}
Definition einer Klasse 1:4 mit 200 kBit/s
Definition einer Klasse 1:4 mit 200 kBit/s
{| class="wikitable"
 
|
|}


===== QoS filter Definition =====
===== 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 IPv4 (''protocol ip''), TCP (''match ip protocol 6 0xff'') Zielport 5001 (''match ip dport 5001 0xffff'') unter Benutzung der Klasse 1:2 von oben
{| class="wikitable"
 
|
|}
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 (''protocol ip''), TCP (''match ip6 protocol 6 0xff'') Zielport 5001 unter der Benutzung der Klasse 1:2 von oben
{| class="wikitable"
 
|
|}
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 Flowlabel 12345 (''match ip6 flowlabel 0x12345 0x3ffff'') unter der Benutzung der Klasse 1:3 von oben
{| class="wikitable"
 
|
|}
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
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
{| class="wikitable"
 
|
|}
Die letzte Filterdefinition benötigt auch einen Eintrag in ip6tables um das Paket zu markieren
Die letzte Filterdefinition benötigt auch einen Eintrag in ip6tables um das Paket zu markieren
{| class="wikitable"
 
|
|}


===== Testen der Filterdefinition mit iperf =====
===== Testen der Filterdefinition mit iperf =====
Starten auf Serverseite in separaten Konsolen:
Starten auf Serverseite in separaten Konsolen:
{| class="wikitable"
 
|
|}
Starten auf Clientseite und Vergleichen der Ergebnisse:
Starten auf Clientseite und Vergleichen der Ergebnisse:
{| class="wikitable"
 
|
|}
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.
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.




[[Kategorie:IPv6]]
[[Kategorie:IPv6]]

Version vom 25. Juli 2023, 14:35 Uhr

Quality of Service (QoS)

IPv6 unterstützt QoS durch die Anwendung von Flow Labels und Traffic Classes.

Zusätzliche Infos:

  • RFC 3697 / IPv6 Flow Label Specification

General

Vernünftig funktionierendes QoS ist nur an der ausgehenden Schnittstelle eines Routers oder Host möglich, wo der Flaschenhals anfängt. Alles andere bereitet nur Probleme und funktioniert wahrscheinlich nicht so, wie erwartet.


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.

Seiten in der Kategorie „IPv6/QoS“

Folgende 2 Seiten sind in dieser Kategorie, von 2 insgesamt.