"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Bufferbloat - One smart Router to queue them all (Brume, QoS, cake, codel)

TOM 29.04.2021 - 20:10 3117 39 Thread rating
Posts

TOM

Legend
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 6755
Was ist Bufferbloat?

https://www.bufferbloat.net/
Zitat
"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
Zitat
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?

click to enlargeclick to enlargeclick to enlarge

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:

click to enlarge
250 Mbit download
50 Mbit upload

click to enlarge
Wenn gleichzeitig ein Steam-Download läuft, schaut's etwas schlechter aus.

click to enlarge
Hier ein Ping auf google.com am Desktop, während ein Steam-Download startet

It's alive!

click to enlarge
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 :cool:

click to enlarge
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.

click to enlarge
click to enlarge

Zwischenergebnis:

click to enlarge
237 Mbit Download limit via cake mit Steam download im Hintergrund

click to enlarge
230Mbit Download limit via cake mit Steam download im Hintergrund

click to enlarge
235 Mbit Download limit via cake mit Steam download im Hintergrund

click to enlarge
CPU usage am Router während der downloadtests/dslreports

click to enlarge
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 :fresserettich:
Bearbeitet von TOM am 29.04.2021, 20:13

UnleashThebeast

APES TOGETHER STRONK
Avatar
Registered: Dec 2005
Location: 127.0.0.1
Posts: 2723
Ich hab nix sinnvolles zum Thema beizutragen tbh, aber:

Zitat aus einem Post von TOM
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

topquote owner since '17
Avatar
Registered: Jan 2005
Location: wean
Posts: 1255
Oh das muss ich ausprobieren, danke schonmal fürs posten!

BiG_WEaSeL

Super Moderator
-
Avatar
Registered: Jun 2000
Location: Wien
Posts: 7090
Danke für deinen Bericht Tom.

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 8992
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... :)
Bearbeitet von davebastard am 30.04.2021, 09:38

Elbart

Addicted
Registered: Dec 2002
Location: Hobbingen
Posts: 488
Zitat aus einem Post von UnleashThebeast
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

APES TOGETHER STRONK
Avatar
Registered: Dec 2005
Location: 127.0.0.1
Posts: 2723
Nein nein, die NATen wirklich IPv6 in ihrem Wahnsinn.

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 8992
Zitat aus einem Post von UnleashThebeast
Nein nein, die NATen wirklich IPv6 in ihrem Wahnsinn.

glücklicherweise kann man es eh umstellen lassen...also nicht so ein drama

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 42996
@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

raub_UrhG_vergewaltiger
Avatar
Registered: Mar 2001
Location: gigritzpotschn
Posts: 6633
ein mikrotik hEX(s) (https://mikrotik.com/product/RB750Gr3) wäre auch noch ein gerät in der leistungsklasse...

TOM

Legend
Oldschool OC.at'ler
Avatar
Registered: Nov 2000
Location: Vienna
Posts: 6755
Zitat aus einem Post von Indigo
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

doh
Avatar
Registered: Nov 2000
Location: sensate.io
Posts: 9848
nau servas.. ;)

click to enlarge

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 42996
Schaut bei mir halb so wild aus
68204374_251961.png
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
Bearbeitet von Viper780 am 30.04.2021, 12:47

b_d

pixel imperfect
Avatar
Registered: Jul 2002
Location: 0x3FC
Posts: 10103
yep, ist essenziell wenn am selben WAN dl/up heavy und online gaming stuff gleichzeitig (zufriedenstellend) rennen sollen. also für eher letzteren :p

blizznet (teletronik) mit 200/200
edgerouter er-x mit qos auf 200/200

screenshot-2021-04-30-at-13-55-49_251962.png

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

doh
Avatar
Registered: Nov 2000
Location: sensate.io
Posts: 9848
Zitat aus einem Post von b_d
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?
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz