Was ist Bufferbloat?https://www.bufferbloat.net/"Bufferbloat ist eine Ursache für eine hohe Latenz in paketvermittelten Netzwerken, die durch übermäßiges Puffern von Paketen verursacht wird. Bufferbloat kann auch zu Paketverzögerungsschwankungen führen und den gesamten Netzwerkdurchsatz verringern"
Ihr werdet voller Freude im Ego-Shooter Eurer Wahl von 10 jährigen gep0wned.
Plötzlich bildet sich Euer Smartphone ein, dass dies der ideale Zeitpunkt wäre ein mehrere Gigabyte großes Update herunterzuladen oder ein Backup in die öminöse Cloud zu schieben... Euer Gaming-Ping sackt ab.... doch was kann man dagegen tun?
Wie messe ich Bufferbloat?http://www.dslreports.com/speedtestIch habe bisher den DSLReport laufen lassen und zum Testen Steam-Downloads im Hintergrund laufen lassen. Direkt in Games die Latenz messen wär natürlich besser, aber das muss vorerst einmal reichen.
QoSQoS (Quality of Service) besteht darin, Datenverkehr so zu manipulieren, dass ein Netzwerkgerät wie ein Router oder Switch ihn entsprechend den erforderlichen Verhaltensweisen der Anwendungen, die diesen Datenverkehr generieren, weiterleitet.
Smart queues wie fq_codel, oder cake sind black magic, welche auf Eurem Router erkennen soll, welche Pakete priorisiert werden und welche nicht.
Im Idealfall verliert Ihr ~5-10% Eurer Brutto Bandbreite (Up- & Download), habt dafür einen stabileren Ping wo die Latenz wichtig ist und unterbrechungsfreie Videocalls trotz laufenden Downloads im Netzwerk. Ausserdem eine gleichmäßigere Aufteilung Eurer Bandbreite, auf verschiedene Devices.
Und wie mach ich das?OpenWrt unterstützt viele fancy QoS Varianten, diese brauchen allerdings einiges an CPU horsepower am Router.
Aus diesem Grund hab ich mir einen GL.iNet GL-MV1000 (Brume) mit Dualcore 1GHZ ARM Prozessor um 109,- gecheckt. Im Netz findet man leider kaum Infos wie viel Power die verschiedenen QoS queues benötigen, deswegen war es einfach mal ein Experiment ob der kleine Router genug Leistung dafür hat.
https://www.amazon.de/dp/B07ZJD5BZYDa er auf OpenWRT basiert, bietet er einen bequemen Einstieg in das Thema.
Wie schaut so ein Brume aus?First things first- Anstecken (Magenta Modem => WAN, Switch/Clients => LAN)
- Aufpassen, dass kein weiterer DHCP läuft (PiHole DHCP deaktivieren in meinem Fall)
- Web-GUI via
http://192.168.8.1 aufrufen
- via DHCP IP vom ISP abrufen
- Let's go
Lessons learned: Magenta fährt per default IPV6, das mag der Brume nicht.
Er bekommt keine IP vom ISP.
Also
Tschello Magenta angerufen und darum gebeten, dass der Zugang auf ipv4 umgestellt wird.
Damit bekommt Ihr am Magenta Router (ConnectBox =>
http://192.168.0.1) auch die Möglichkeit den Router in Bridge Modus zu versetzen.
Die Umstellung hat bei mir 90 Minuten gedauert, das Modem rebooted und es gibt eine Info-SMS bzgl. der Umstellung.
Nachdem das Modem in Bridge Modus umgestellt wurde, ist es nun unter
http://192.168.100.1/ erreichbar und nicht mehr unter
Was ist Bufferbloat?Ausgangssituation:250 Mbit download
50 Mbit upload
Wenn gleichzeitig ein Steam-Download läuft, schaut's etwas schlechter aus.
Hier ein Ping auf google.com am Desktop, während ein Steam-Download startet
It's alive!Die Oberfläche ist clean und leicht verständlich.
Ein Basic Dashboard, eine Client-Übersicht mit der Möglichkeit Bandbreiten je Client hart zu limiteren, Firmware Upgrade (opt. scheduled), Firewall settings, VPN fun mit Wireguard Server/Client Optionen, DHCP, etc.
Und dann gibt's More Settings => Advanced => Führt direkt zu Luci in OpenWRT
Hier ein Bandbreitentest ohne jegliches QoS. Selbe Bandbreite, selber Bufferbloat-Wert
How to QoS Magic:Ich hab mich grob an
diese Anleitung gehalten.
Ich bin noch immer am experimentieren und hab noch kein optimales Setting gefunden.
Es gibt 5 Queuing disciplines: codel, cake, fq_codel, sfq, pie und 5 Queue setup scripts wie 'piece_of_cake.qos'
Weiters könnt Ihr noch den download und upload speed shapen, wo ihr etwa ~10% unter Eurer Brutto Bandbreite anlegen solltet.
Zwischenergebnis:237 Mbit Download limit via cake mit Steam download im Hintergrund
230Mbit Download limit via cake mit Steam download im Hintergrund
235 Mbit Download limit via cake mit Steam download im Hintergrund
CPU usage am Router während der downloadtests/dslreports
Reiner Downloadtest via Wireguard (mit aktivem QoS)
Es ist also noch work in progress... aber es funktioniert soweit und der kleine Brume geht nicht komplett in die Knie.
Bei zu hohen shaping-Werten und Cake habe ich beobachtet, dass der Bufferbloat vor allem beim Upload-Speedtest noch abkackt.
Ich habe auch noch nicht ganz verstanden, warum ich immer 50+ Mbit Upload bei den Speedtests hatte, obwohl der Upload auf ~40 Mbit limitiert sein sollte.
Falls jemand Erfahrung hat mit QoS Einstellungen/best practice => nur her damit.
Ich werde mich jedenfalls noch weiter damit spielen und versuchen möglichst viel Bandbreite, bei möglich keinem/geringen Bufferbloat herauszukitzeln.
Mit dem Teil fühle ich mich jedenfalls auch wohler, als hinter der Magenta ConnectBox