Qos Fallbeispiel Umsetzung unter Linux
Umsetzung
- Wir können nur die ausgehenden Schnittstelle den Traffic einschränken.
- Als ausgehende Schnittstelle nutzen wir eth0
- Wir nutzen unter Linux einen Traffic Shaper
Tools
Um das Traffic Shaping auf Ihrer ausgehenden Schnittstelle eth0 umzusetzen und eine Bandbreitenreservierung von 30 Mbit/s für den VoIP-Datenverkehr zu erreichen, können Sie das Tool "tc" (Traffic Control) verwenden. "tc" ist ein leistungsstarkes Werkzeug zur Netzwerkverkehrskontrolle unter Linux.
Vorgehensweise
Überprüfen Sie zunächst, ob das Paket "tc" auf Ihrem Linux-Router installiert ist. Sie können dies mit dem Befehl "tc -v" überprüfen. Wenn "tc" nicht installiert ist, können Sie es mit dem Paketmanager Ihres Linux-Systems installieren.
Legen Sie eine Klasse (Class) für den VoIP-Datenverkehr fest
- tc qdisc add dev eth0 root handle 1: htb default 10
- tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit
- tc class add dev eth0 parent 1:1 classid 1:10 htb rate 30mbit
Erläuterung
Dieser Code erstellt eine Hierarchische Token Bucket (HTB) Warteschlange auf der Schnittstelle eth0. Die Gesamtbandbreite wird auf 100 Mbit/s festgelegt, und eine Klasse mit einer Bandbreite von 30 Mbit/s (classid 1:10) wird erstellt.
Definieren der Filterregel, um den VoIP-Datenverkehr zu kennzeichnen
- tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dscp ef 0xff flowid 1:10
- tc filter add dev eth0 protocol ip parent 1: prio 2 u32 match ip dscp cs5 0xff flowid 1:10
Diese Filterregeln identifizieren den VoIP-Datenverkehr anhand der DSCP-Markierungen. Hier werden die DSCP-Markierungen CS5 (Class Selector 5) und EF (Expedited Forwarding) verwendet, die üblicherweise für VoIP-Verkehr verwendet werden.
- ef wird durch die Priorisierung vor allem anderen behandelt.
Der Rest kommt auch in die Priorisierung 2
- tc filter add dev eth0 protocol ip parent 1: prio 2 flowid 1: default
Überprüfung
- tc qdisc show dev eth0
- tc class show dev eth0
- tc filter show dev eth0