CoDel (Controlled Delay, RFC 8289, entwickelt von Van Jacobson und Kathleen Nichols) ist ein aktives Warteschlangen-Management (AQM), das nicht die Pufferfüllung, sondern die Verweildauer (sojourn time) der Pakete in der Warteschlange überwacht. Es gilt als wirkungsvolles Gegenmittel gegen Bufferbloat: Überdimensionierte Router-Puffer, die Latenzen in die Hunderte von Millisekunden treiben, obwohl die Leitung längst überlastet ist.
So funktioniert CoDel
CoDel misst die Zeit, die ein Paket in der Queue verbringt. Liegt diese dauerhaft über dem Zielwert target (Standard 5 ms), gerät der Algorithmus in den Drop-Zustand: Er verwirft Pakete in Intervallen, die sich invers zur Quadratwurzel der Zeit verkürzen – anfangs 100 ms (das Standard-interval), dann 70 ms, 50 ms, 35 ms usw. Sobald die Wartezeit wieder unter den Zielwert fällt, stoppt das Verwerfen. Diese selbstadaptierende Kadenz bringt TCP-Sender dazu, ihr Fenster zu reduzieren, ohne dass man Parameter wie min_th oder max_th einstellen muss.
Warum CoDel besser als RED ist
- Keine Parameterabstimmung: CoDel kommt mit nur zwei Standardwerten (target 5 ms, interval 100 ms) aus und ist damit nahezu parameterlos.
- Misst die Latenz direkt: Statt einer indirekten Füllstands-Schätzung reagiert CoDel auf die tatsächlich erfahrene Verzögerung.
- Robust gegen Bursts: Kurze Ausreißer lösen kein Verwerfen aus – nur eine dauerhafte Überschreitung des Ziels.
Zum Vergleich: RED betrachtet die durchschnittliche Queuelänge, FQ-CoDel kombiniert CoDel mit Fair-Queueing pro Datenstrom.
Verwandte Grundlagen
Verwandte Grundlagen: Tail Drop (das Problem, das CoDel ablöst) und Traffic Policing.