Tail drop

Tail drop is a simple queue management algorithm used by network schedulers in network equipment to decide when to drop packets. With tail drop, when the queue is filled to its maximum capacity, the newly arriving packets are dropped until the queue has enough room to accept incoming traffic.

The name arises from the effect of the policy on incoming packets. Once a queue has been filled, the router begins discarding all additional datagrams, thus dropping the tail of the sequence of packets. The loss of packets causes the TCP sender to enter slow start, which reduces throughput in that TCP session until the sender begins to receive acknowledgements again and increases its congestion window. A more severe problem occurs when datagrams from multiple TCP connections are dropped, causing global synchronization; i.e. all of the involved TCP senders enter slow-start. This happens because, instead of discarding many segments from one connection, the router would tend to discard one segment from each connection.