Weighted Round Robin (WRR) ist ein Scheduling-Verfahren, bei dem Verkehrsklassen in getrennten Warteschlangen liegen und der Scheduler die Queues zyklisch mit unterschiedlichen Gewichten bedient. Jede Klasse erhält dadurch einen konfigurierbaren Mindestanteil an der Bandbreite, ohne dass eine Klasse die andere vollständig verdrängen kann.
Klassen statt Flows
Im Gegensatz zum automatisch klassifizierenden Weighted Fair Queuing arbeitet WRR mit manuell definierten Klassen: Pakete werden per Klassifizierung (DSCP, ACL, Schnittstelle) einer Queue zugeordnet, typischerweise vier bis acht Queues für Sprach-, Video-, Transaktions- und Standardverkehr. Jeder Queue wird ein Gewicht zugewiesen, das ihren Bandbreitenanteil bestimmt.
Zyklische Bedienung mit Gewichten
Der Scheduler besucht die nicht-leeren Queues in fester Reihenfolge (Round Robin) und nimmt pro Durchlauf aus jeder Queue die durch ihr Gewicht bestimmte Menge. Bei einem Verhältnis von 4:2:1 erhält die erste Queue in jedem Zyklus viermal so viele Pakete wie die dritte. So bekommt jede Klasse einen garantierten Anteil, und keine wartet hinter einer Dauerbelastung einer anderen Klasse — ein klarer Unterschied zur strikten Priority Queuing, bei der niedrige Klassen aushungern können.
Problem: variable Paketgrößen
Klassisches WRR zählt Pakete, nicht Bytes. Sind die Pakete in einer Queue deutlich größer als in einer anderen, erhält die großpaketige Queue real mehr Bandbreite als ihr Gewicht vorgibt. Moderne Varianten beheben das, indem sie mit Byte-Kontingenten arbeiten:
- DRR/DWRR (Deficit Weighted Round Robin): Jede Queue führt einen Byte-Defizit-Zähler; nicht genutzte Kontingente werden gutgeschrieben, sodass langfristig exakt der gewichtete Byte-Anteil erreicht wird.
- Cisco SRR (Shaped/Shared Round Robin): auf Catalyst-Switches für die Egress-Queues; Gewichte als Anteile der Schnittstellenbandbreite.
WRR ist einfach in Hardware umsetzbar und daher das dominierende Verfahren auf Ethernet-Switches. Für Latenz-kritischen Verkehr wie VoIP reicht die zyklische Bedienung nicht immer aus — dann wird der Queue ein strikter Vorrang eingeräumt, siehe Priority Queuing beziehungsweise LLQ. Die Überlaststeuerung davor übernehmen Traffic Shaping und Leaky Bucket.
Verwandte Grundlagen: QoS: Quality of Service, Round Robin, Bandbreite.