Tutorial
MikroTik Bandbreedtebeheer: Queues
Zo beheer je bandbreedte op MikroTik: simple queues, queue tree met mangle-marks, PCQ fair sharing, burst en priority, en rate-limits voor de hele vloot.
Samenvatting MikroTik-bandbreedtebeheer draait op drie tools: simple queues voor een snelle limiet per client, queue trees voor hiërarchie en priority, en PCQ voor fair sharing onder veel gebruikers zonder voor elk een aparte queue te maken. Queue trees werken samen met firewall-mangle-marks en geven je garanties, plafonds en prioriteiten. Deze gids laat zien wanneer je welke gebruikt, de RouterOS-commando’s, en hoe je hetzelfde beleid consistent houdt over een vloot routers.

Wat is bandbreedtebeheer op MikroTik?
Bandbreedtebeheer op MikroTik is het gebruik van RouterOS-queues om te bepalen hoeveel van een link elke klant, elk subnet of elke verkeersklasse mag verbruiken — snelheden limiteren, minima garanderen, en beslissen wie wijkt wanneer de link vol zit. RouterOS implementeert queues met een Hierarchical Token Bucket (HTB)-scheduler, beschikbaar op twee plekken: simple queues, een geordende lijst die in volgorde wordt toegepast, en de queue tree, een hiërarchie gekoppeld aan interfaces of aan packet-marks uit de mangle-faciliteit van de firewall (MikroTik-documentatie — Queues).
Het onderscheid bepaalt hoe ver je ontwerp schaalt. Een simple queue beantwoordt “begrens deze klant op 50 Mbps.” Een queue tree beantwoordt “deze 500 Mbps-uplink wordt gedeeld door 300 abonnees, VoIP gaat voor, niemand komt droog te staan, en zware downloaders verpesten de avond niet.” Elke ISP heeft uiteindelijk het tweede antwoord nodig.
Stap 1 — Begrens één client met een simple queue
Simple queues zijn de kortste weg van probleem naar oplossing. Richt je op een IP, een subnet of een interface, stel het plafond in, en je bent klaar:
/queue simple add name=client-101 target=10.10.0.101/32 max-limit=10M/50Mmax-limit wordt geschreven als upload/download vanuit het perspectief van de router. Regels worden op volgorde geëvalueerd en de eerste match wint — dus een vroege brede regel slokt stilletjes de specifieke regels op die je later toevoegt. Die volgorde is de meest voorkomende reden waarom een “werkende” queue stopt met werken nadat iemand er een regel boven zet (MikroTik-documentatie — Queues).
Simple queues werken ook samen met abonneeauthenticatie: het rate-limit-veld van een PPPoE-profiel maakt per sessie een dynamische simple queue, zodat plannen de gebruiker volgen in plaats van het IP. Onze MikroTik PPPoE-servergids voor ISP’s behandelt de profielkant.
Stap 2 — Markeer verkeer met firewall mangle
De queue tree kan geen “VoIP” of “klant 101” zien; hij ziet packet-marks. Maak ze aan in mangle, waarbij je eerst de connection markeert en daarna de packets, wat goedkoper is dan elk packet opnieuw te inspecteren:
/ip firewall mangleadd chain=forward action=mark-connection new-connection-mark=voip-conn protocol=udp port=5060,10000-20000add chain=forward action=mark-packet connection-mark=voip-conn new-packet-mark=voip-pkt passthrough=noHoud de mark-taxonomie klein en stabiel. Marks zijn de woordenschat die je queues spreken, en zodra een vloot drie generaties ad-hoc mark-namen heeft, kan niemand meer zeggen welke router welk beleid afdwingt. Hier verdient MKController’s configuratie-audit en -historie zich terug: bekijk de mangle- en queue-staat van elke router, vergelijk die met het bedoelde beleid, en push de gecorrigeerde regels over de hele vloot in plaats van dertig Winbox-sessies te openen om de ene box te vinden die de wijziging nooit kreeg.
Stap 3 — Bouw de queue tree-hiërarchie
Een queue tree heeft één parent die de werkelijke capaciteit van de link vasthoudt, en children die deze verdelen:
/queue treeadd name=download parent=bridge-lan max-limit=500Madd name=voip parent=download packet-mark=voip-pkt limit-at=50M max-limit=100M priority=1add name=bulk parent=download packet-mark=bulk-pkt limit-at=50M max-limit=500M priority=8Drie velden doen het werk. limit-at is de garantie die een child krijgt, zelfs wanneer de link verzadigd is. max-limit is het plafond dat hij mag bereiken wanneer er capaciteit vrij is. priority — 1 is het hoogst, 8 het laagst — bepaalt welke child als eerste de resten krijgt, en geldt alleen tussen limit-at en max-limit (MikroTik-documentatie — Queues). Stel de max-limit van de parent in op wat de link werkelijk levert, niet op wat het contract zegt, anders wordt de queue nooit het knelpunt en vormt hij nooit iets.
Stap 4 — Voeg PCQ toe voor fair sharing
Per Connection Queue (PCQ) is de reden dat MikroTik schaalt naar abonneeaantallen die een queue-lijst per gebruiker onbeheersbaar maken. Een PCQ queue type classificeert verkeer op basis van een adresveld en maakt voor elke afzonderlijke waarde een dynamische sub-queue, waarbij aan elk dezelfde snelheid wordt toegekend (MikroTik-documentatie — PCQ-voorbeeld):
/queue typeadd name=pcq-down kind=pcq pcq-rate=20M pcq-classifier=dst-addressadd name=pcq-up kind=pcq pcq-rate=10M pcq-classifier=src-addressKoppel pcq-down als de queue van de child die het downloadverkeer van klanten draagt, en elke klant krijgt tot 20 Mbps, automatisch toegewezen. Zet pcq-rate=0 en PCQ verdeelt de bandbreedte van de parent gelijk over wie er ook actief is — de klassieke “niemand komt droog te staan”-configuratie. Eén queue type vervangt honderden handgeschreven regels.
Dezelfde egaliserende logica geldt voor gedeelde WiFi: de rate limit van het plan en een PCQ-parent voorkomen samen dat één gast de uplink van een locatie opslokt — zie onze MikroTik HotSpot voucher-installatiegids voor de credentialkant.
Stap 5 — Stem limit-at, max-limit, burst en priority af
De meeste kapotte QoS is geen verkeerd gereedschap, maar verkeerde getallen. Houd de som van de limit-at van elke child op of onder de max-limit van de parent; als de garanties de link overboeken, kan HTB ze niet nakomen en gedragen prioriteiten zich niet meer zoals je verwacht. Reserveer priority=1 voor latentiegevoelig verkeer — VoIP, gaming, DNS — en laat bulkoverdrachten op 8 leven met een royaal plafond.
Burst verdient een waarschuwing. burst-limit, burst-threshold en burst-time laten een client kort de max-limit overschrijden terwijl het gemiddelde laag blijft — prima voor snelheidstests, slechter voor een overboekte link. Meet met /queue simple print stats of de tellers van de queue tree terwijl de link onder belasting staat, niet om 3 uur ‘s nachts wanneer alles inactief is. Als het uitlezen van tellers tijdens de piek niet praktisch is, houdt MKController’s Internet Link-weergave hetzelfde beeld continu bij — bezetting tegenover de gecontracteerde snelheid; latentie als gemiddelde, max en P95; en hoeveel uur elke link boven de 90% zat — zodat je afstemt op basis van historie, niet van een gelukkige momentopname.
Capaciteit verschuift ook. Bij een dual-WAN failover-opstelling is de max-limit van de parent die je voor glasvezel hebt afgestemd fictie op het moment dat verkeer op de LTE-back-up belandt — plan een tweede beleid.
Stap 6 — Rol het beleid uit over de hele vloot
Eén router is een configuratie; honderd routers is een operatie. Het beleid moet nu identiek zijn op elke box, de technicus overleven die “tijdelijk” het plafond van een klant verhoogde, en herstelbaar zijn wanneer een mastrouter opnieuw wordt geïnstalleerd met netinstall. Niets in RouterOS doet dat voor je.
MKController wel: pushes van queue types, rate-limit-profielen en firewallregels over de hele vloot; configuratiehistorie, zodat je kunt zien wanneer een limiet veranderde en de vorige versie in één klik herstelt; automatische back-ups vóór een wijziging; en beveiligde uitgaande toegang op afstand tot routers achter CGNAT of op Starlink, zonder publiek IP en zonder port forwarding — de aanpak die we beschrijven in MikroTik-beheer op afstand achter CGNAT. En de Internet Link-monitoring bewaakt precies de uplinks die je zojuist hebt vormgegeven — bezetting per bron tegenover de gecontracteerde snelheid, latentie met P95, en verbruik dat de 75%- en 90%-grenzen passeert over maximaal vier WAN-bronnen per router — zodat een link die richting verzadiging kruipt op het dashboard opduikt, en (gecombineerd met Telegram-meldingen) in je notificaties, voordat een abonnee belt. ISP’s en WISP’s die MikroTik op schaal draaien, gebruiken het zodat bandbreedtebeleid één beslissing blijft, niet honderd.
Tips
- Vorm het verkeer op de interface waar het verkeer de router verlaat; queues sturen egress, dus downloads worden aan de LAN-kant gevormd en uploads aan de WAN-kant.
- Kies liever één PCQ queue type boven honderden simple queues zodra je enkele tientallen abonnees passeert.
passthrough=noopmark-packet-regels bespaart onnodig doorlopen van de resterende mangle-regels.- Maak altijd een back-up voordat je queues op een productie-edge aanraakt, en verander één variabele tegelijk.
Stop met gissen waar je bandbreedte bleef
Queues zijn het verschil tussen een plan verkopen en het leveren. Simple queues begrenzen een client, queue trees geven structuur en priority, PCQ maakt eerlijkheid automatisch — en MKController maakt van alle drie een beleid dat je één keer toepast en overal afdwingt: gecentraliseerd vlootbeheer, rate-limit- en firewall-pushes naar elke router, configuratiehistorie met herstel in één klik, toegang op afstand zonder publiek IP, en Internet Link-monitoring die een link signaleert die verzadigt tegenover zijn gecontracteerde snelheid voordat je klanten het doen.