RED (Random Early Detection, zu Deutsch etwa „zufällige Früherkennung“, RFC 2309) ist ein aktives Warteschlangen-Management (Active Queue Management, AQM) für Router und Switches. Statt erst bei vollem Puffer wahllos Pakete zu verwerfen, beobachtet RED die durchschnittliche Füllung der Warteschlange und verwirft bereits vor dem Überlauf Pakete mit wachsender Wahrscheinlichkeit. So bekommen einzelne TCP-Sender ein frühes Verlustsignal und drosseln ihr Tempo, bevor es zum Stau kommt.

So funktioniert RED

RED arbeitet mit drei Parametern: min_th (untere Schwelle), max_th (obere Schwelle) und max_p (maximale Verwerfungswahrscheinlichkeit). Liegt die geglättete (exponentiell gewichtete) durchschnittliche Queuelänge unter min_th, werden alle Pakete durchgelassen. Zwischen min_th und max_th steigt die Verwerfungswahrscheinlichkeit linear von 0 auf max_p an. Oberhalb von max_th wird jedes Paket verworfen. Die Glättung über einen gewichteten Durchschnitt verhindert, dass kurze Bursts sofort zu Verwerfungen führen.

Vorteile gegenüber Tail Drop

  • Keine Global Synchronization: Weil nur ein Teil der TCP-Verbindungen betroffen ist, drosseln nicht alle Sender gleichzeitig (anders als bei Tail Drop).
  • Geringere mittlere Queuelänge: Die Warteschlange bleibt kurz, Verzögerung (Latenz) und Jitter sinken.
  • Fairness: Aggressive Flows, die mehr senden, werden häufiger verworfen als zurückhaltende.

Grenzen und Nachfolger

RED reagiert empfindlich auf die Wahl von min_th, max_th und max_p; falsch eingestellt, verwirft es entweder zu früh oder zu spät. Zudem steuert es nur die Füllung, nicht die tatsächliche Wartezeit. Die Nachfolger CoDel und FQ-CoDel messen deshalb direkt die Verweildauer der Pakete in der Queue.

Verwandte Grundlagen

Verwandte Grundlagen: ECN (Markieren statt Verwerfen), Quality of Service und Traffic Shaping.