0
Congestion-avoidance tools are complementary to, and dependent upon, queuing algorithms. Queuing/scheduling algorithms manage the front of a queue, while congestion-avoidance mechanisms manage the tail of a queue.
Congestion-avoidance tools are designed for TCP traffic, because TCP has built-in flow-control mechanisms that operate by gradually increasing traffic flows until packet loss has occurred. Once packet loss has occurred, the transmission rate is reduced before slowly ramping up again. This means that if no mechanism is in place to control TCP, any particular flow has the ability to eat up all available bandwidth.
When there are no congestion-avoidance tools in place, and queues fill, tail drop occurs, which means all traffic is dropped.
In a constricted channel without congestion-avoidance tools, TCP connections eventually synchronize with each other – they ramp up together, lose packets together, and back off together. This is called global synchronization and basically results in “waves” of TCP traffic.
Congestion-avoidance tools has no real benefit or use for UDP traffic, because UDP traffic does not have any retry logic.
Random Early Detection (RED)
RED combats global synchronization by preemptively and randomly dropping packets before queues fill. Instead of waiting for the queues to fill, Continue reading