Bufferbloat mit MikroTik eliminieren
Deine Leitung liefert 250 Mbit/s, aber sobald jemand einen Download startet, laggt der Video-Call? Das ist Bufferbloat. Mit einem MikroTik-Router lässt sich das Problem komplett lösen.
Falls du noch nicht weißt, was Bufferbloat genau ist: Unser Wissensartikel zu Bufferbloat erklärt die Hintergründe.
Schritt 1: Bufferbloat messen
Bevor wir etwas konfigurieren, messen wir den Ist-Zustand. Dafür eignen sich:
- fast.com: Klick auf "Weitere Informationen anzeigen". Dort siehst du die Latenz unter Last (Loaded Latency). Werte über 50 ms sind ein klares Zeichen für Bufferbloat.
- speed.cloudflare.com: Zeigt direkt eine Bufferbloat-Bewertung an.
- Waveform Bufferbloat Test: Der detaillierteste Test mit klarer Note (A bis F).
Notier dir die Werte, nach der Konfiguration testen wir erneut.
Schritt 2: Deine Bandbreite kennen
Für die Queue-Konfiguration brauchst du deine tatsächliche Bandbreite. Nicht den gebuchten Tarif, sondern was wirklich ankommt. Miss das ohne Queue-Regeln mit einem normalen Speedtest.
Beispiel: Dein Anschluss liefert 250 Mbit/s Download und 40 Mbit/s Upload.
Das max-limit der Queue muss unterhalb deiner tatsächlichen Bandbreite liegen, damit der MikroTik die Kontrolle über die Buffer übernimmt und nicht das Modem. Ein guter Startwert liegt bei 80–95 % der gemessenen Werte. Den optimalen Wert findest du durch schrittweises Anpassen: so hoch wie möglich, solange die Latenz unter Last niedrig bleibt.
Nutze immer die tatsächlich gemessene Bandbreite als Grundlage, nicht den Wert aus deinem Vertrag. Provider liefern selten exakt die gebuchte Geschwindigkeit. Wenn du den Tarif-Wert nimmst und dein Anschluss weniger liefert, hat weiterhin das Modem die Kontrolle über die Buffer - und Bufferbloat bleibt bestehen.
Schritt 3: FastTrack deaktivieren
FastTrack ist in vielen MikroTik-Konfigurationen standardmäßig aktiviert. Es beschleunigt den Paketdurchsatz, indem es die normale Verarbeitungskette umgeht -inklusive aller Queues. Das bedeutet: Solange FastTrack aktiv ist, greifen deine Queue-Regeln bei den meisten Verbindungen nicht.
/ip firewall filter print where action=fasttrack-connection
Falls eine Regel angezeigt wird, deaktiviere sie:
/ip firewall filter disable [find action=fasttrack-connection]
FastTrack und Queues schließen sich gegenseitig aus. Pakete, die durch FastTrack laufen, werden von keiner Queue erfasst - weder Simple Queues noch Queue Trees. Ohne diesen Schritt bleibt Bufferbloat trotz korrekt eingerichteter Queues bestehen.
Schritt 4: Simple Queue einrichten
Der einfachste Weg auf MikroTik ist eine Simple Queue mit fq_codel:
/queue type
add name=fq-codel-download kind=fq-codel
add name=fq-codel-upload kind=fq-codel
/queue simple
add name=bufferbloat-control \
target=bridge1 \
max-limit=200M/32M \
queue=fq-codel-download/fq-codel-upload \
comment="Bufferbloat Prevention"
target=bridge1: Ersetze das mit deinem LAN-Interface (z.B.bridge1oderether2-local)max-limit=200M/32M: Startwert bei 80 % von 250/40 Mbit/s. Von hier aus schrittweise erhöhen, bis die Latenz unter Last wieder ansteigt - dann einen Schritt zurück.- Das Format ist
Download/Upload
Schritt 5: Ergebnis testen
Jetzt nochmal testen, gleiche Tools wie vorher:
- Öffne fast.com und warte bis der Test komplett durchgelaufen ist
- Klick auf "Weitere Informationen anzeigen"
- Vergleiche die Loaded Latency mit deinem Vorher-Wert
Typische Ergebnisse:
| Vorher | Nachher | |
|---|---|---|
| Download | 250 Mbit/s | 200–237 Mbit/s |
| Upload | 40 Mbit/s | 32–38 Mbit/s |
| Latenz (unbelastet) | 8 ms | 8 ms |
| Latenz (unter Last) | 200–800 ms | 10–15 ms |
Je nach Anschluss und Provider kann der Bandbreitenverlust durch die Queue zwischen 5 % und 20 % liegen. Dafür gewinnst du stabile Latenzen, auch wenn alle Geräte gleichzeitig das Netz belasten. Wenn der Verlust zu hoch ist, kannst du das max-limit schrittweise erhöhen - solange die Latenz unter Last niedrig bleibt.
Warum fq_codel?
fq_codel (Fair Queuing Controlled Delay) ist ein moderner Queue-Algorithmus, der Buffer klein hält, Bandbreite fair verteilt und automatisch arbeitet. Pakete werden verworfen statt gestapelt, jeder Flow bekommt seinen fairen Anteil, und es ist keine manuelle Priorisierung nötig.
fq_codel ist erst ab RouterOS v7 verfügbar. Auf älteren Versionen (v6 und darunter) steht der Algorithmus nicht zur Verfügung - dort müsstest du auf pcq (Per Connection Queuing) ausweichen, was deutlich mehr manuelle Konfiguration erfordert.
Für Fortgeschrittene: Queue Trees
Simple Queues reichen für die meisten Setups. Wer aber zusätzlich bestimmten Traffic priorisieren will (z.B. VoIP oder Gaming), kann Queue Trees mit Mangle-Regeln nutzen:
Queue Trees sind nur nötig, wenn du gezielt bestimmten Traffic bevorzugen willst. Für die reine Bufferbloat-Bekämpfung reicht die Simple Queue aus Schritt 3 völlig aus.
/ip firewall mangle
add chain=forward action=mark-packet \
new-packet-mark=voip passthrough=no \
protocol=udp dst-port=5060-5061,10000-20000 \
comment="VoIP Traffic"
/queue tree
add name=download parent=bridge1 \
max-limit=200M queue=fq-codel-download
add name=download-voip parent=download \
packet-mark=voip priority=1 \
queue=fq-codel-download
add name=download-rest parent=download \
packet-mark=no-mark priority=8 \
queue=fq-codel-download
Das ist aber nur nötig, wenn fq_codel allein nicht reicht. In den meisten Fällen erledigt die Simple Queue den Job.
Fazit
Bufferbloat ist eines der häufigsten Netzwerkprobleme und eines der am einfachsten lösbaren. Mit einer einzigen Queue-Regel auf dem MikroTik gehören Lag-Spikes der Vergangenheit an.
Kurz zusammengefasst:
- Vorher messen (fast.com oder Waveform Test)
- FastTrack deaktivieren
- Simple Queue mit fq_codel einrichten
- Nachher messen und den Unterschied genießen
Ready for a Stable Network?
Let's take your network infrastructure to the next level together.
Get in Touch Now