Tail Drop (auch Drop Tail oder Tail-Drop) ist die einfachste Verwerfungsstrategie für Netzwerk-Warteschlangen: Sobald der Puffer voll ist, werden neu eintreffende Pakete verworfen, bis wieder Platz frei wird. Sie ist das Standardverhalten von FIFO-Queues in Routern und Switches.
So funktioniert Tail Drop
Jede Ausgangsschnittstelle besitzt eine Warteschlange begrenzter Länge. Solange die Queue nicht voll ist, werden Pakete eingereiht und in der Reihenfolge ihres Eintreffens gesendet (First In, First Out). Ist die Queue voll, werden alle weiteren Pakete schlicht verworfen – egal wie wichtig oder unwichtig sie sind. Die Verluste signalisieren TCP-Sendern indirekt Überlast: Sie reduzieren ihr Senderfenster und erhöhen es später wieder.
Probleme: Global Synchronization und Lock-Out
Da Tail Drop unterschiedslos verwirft, reagieren viele TCP-Verbindungen gleichzeitig: Alle Sender drosseln gemeinsam, das Netz unterlastet kurz, dann stoßen alle wieder gleichzeitig an die Puffergrenze – die berüchtigte TCP-Global-Synchronization mit periodischem Stau und brachliegender Bandbreite. Zudem können einzelne aggressive Flows die Queue dominieren (Lock-Out), während andere kaum noch Pakete durchbringen.
Alternativen
Moderne Verfahren ersetzen Tail Drop durch aktives Queue-Management: RED (Random Early Detection) und WRED verwerfen Pakete bereits vor dem Pufferüberlauf mit wachsender Wahrscheinlichkeit, wodurch einzelne TCP-Sender früher und unabhängiger drosseln. Mit DSCP-basiertem WRED können niedriger priorisierte Klassen (höhere Drop-Precedence) zuerst verworfen werden. CoDel und FQ-CoDel steuern zusätzlich die Wartezeit. Auch Traffic Policing kann Verwerfen bereits am Netzwerkeingang übernehmen, bevor die Warteschlange überhaupt voll läuft.
Verwandte Grundlagen: Traffic Shaping, Priority Queuing.