Bufferbloat - One smart Router to queue them all (Brume, QoS, cake, codel)
URL: https://www.overclockers.at/netzwerktechnik/bufferbloat-one-smart-router-to-queue-them-all-brume-qos-cake-codel_257903/page_1 - zur Vollversion wechseln!
TOM schrieb am 29.04.2021 um 20:10
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/speedtest
Ich 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.
QoS
QoS (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/B07ZJD5BZY
Da 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 
UnleashThebeast schrieb am 29.04.2021 um 20:18
Ich hab nix sinnvolles zum Thema beizutragen tbh, aber:
Lessons learned:
Magenta fährt per default IPV6, das mag der Brume nicht.
Er bekommt keine IP vom ISP.
default fährt Tschello-neu DS-lite, wo du sowohl IPv4 als auch IPv6 bekommst, abstruserweise ist die IPv6 hier aber von CGN (Carrier-Grade NAT) betroffen, was jedes mal, wenn ich drüber nachdenke einen kleinen Schlaganfall bei mir auslöst.
Lord Wyrm schrieb am 30.04.2021 um 00:00
Oh das muss ich ausprobieren, danke schonmal fürs posten!
BiG_WEaSeL schrieb am 30.04.2021 um 09:23
Danke für deinen Bericht Tom.
davebastard schrieb am 30.04.2021 um 09:30
danke dass ist echt auch eine option, hab ja in "meinem" firewall thread dann zu einem aliexpress x86 teil mit pfsense tendiert. aber das hier wäre von den kosten her noch überschaubarer und openwrt kenn ich schon und würde von den features her wsl auch voll genügen.
edit: ja wurscht, gleich bestellt... 
Elbart schrieb am 30.04.2021 um 09:44
abstruserweise ist die IPv6 hier aber von CGN (Carrier-Grade NAT) betroffen, was jedes mal, wenn ich drüber nachdenke einen kleinen Schlaganfall bei mir auslöst.
IPv4, oder? Wär ja sinnlos, NAT bei IPv6.
UnleashThebeast schrieb am 30.04.2021 um 09:49
Nein nein, die NATen wirklich IPv6 in ihrem Wahnsinn.
davebastard schrieb am 30.04.2021 um 09:51
Nein nein, die NATen wirklich IPv6 in ihrem Wahnsinn.
glücklicherweise kann man es eh umstellen lassen...also nicht so ein drama
Viper780 schrieb am 30.04.2021 um 10:32
@davebastard
dann bitte berichten das teil klingt interessant
@UPC / Magenta
Noch kannst umstellen lassen - man hört aber munkeln dass es privat bald nimmer gehen soll.
Warum sie IPv6 NATen weiß keiner - sie verkaufen es als Sicherheitsgewinn
Indigo schrieb am 30.04.2021 um 10:45
ein mikrotik hEX(s) (https://mikrotik.com/product/RB750Gr3) wäre auch noch ein gerät in der leistungsklasse...
TOM schrieb am 30.04.2021 um 11:24
ein mikrotik hEX(s) (https://mikrotik.com/product/RB750Gr3) wäre auch noch ein gerät in der leistungsklasse...
Yep, Mikrotik Hex und Hex S hab ich mir auch genauer angesehen, aber die waren nirgendwo lagernd. Auch auf Willhaben hätt ich in Wien nichts gefunden.
Mit Versandkosten waren sie nicht mehr weit weg vom Brume. Dualcore 880mhz vs dualcore 1Ghz, OpenWrt bereits on Board... das hat mich dann überzeugt. Aber Mikrotik dürfte gut dabei sein, die haben gerade eine Beta Firmware mit cake/codel am laufen, dürft aber noch sehr buggy sein (Crashes)
XeroXs schrieb am 30.04.2021 um 11:30
nau servas.. 

Viper780 schrieb am 30.04.2021 um 12:42
Schaut bei mir halb so wild aus

http://www.dslreports.com/speedtest/68204374.png
Download erhöht bei mir nur um +43ms den Ping.
Upload um fast das 10 fache. (ja die asymmetrische Leitung....)
Werde mal QoS am Edge Router einschalten und schauen was der so macht
b_d schrieb am 30.04.2021 um 14:00
yep, ist essenziell wenn am selben WAN dl/up heavy und online gaming stuff gleichzeitig (zufriedenstellend) rennen sollen. also für eher letzteren 
blizznet (teletronik) mit 200/200
edgerouter er-x mit qos auf 200/200

passt. hab das aber seit dem wrt54gl und tomato immer aktiviert gehabt, war damals schon ein riesen thema bei uns im haus (ich cs + bro torrent = streit), vor tomato halt. ab da war dann ruhe
und inzwischen können das auch 35€ consumer router.
XeroXs schrieb am 30.04.2021 um 14:02
edgerouter er-x mit qos auf 200/200
Kannst du da einen Screenshot machen wie du das genau konfiguriert hast? gibts ja allerhand Zeug zum einstellen.
Oder default mit 200/200 mbit und aus?
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025