Congestion Avoidance Random Early Detection RED

A router must handle how it queues network traffic to control packet access to the limited network bandwidth. Traffic variations such as packet bursts or flows demanding high bandwidth can cause congestion when packets arrive at an output port faster than they can be transmitted.

The router tries to handle short-term congestion by packet buffering. This absorbs periodic bursts of excessive packets so they can be transmitted later. Although packet buffering has a cost of delay and jitter, packets are not dropped.

For network traffic causing longer-term congestion, a router using queuing methods faces a need to drop some packets. A traditional strategy is tail drop. With tail drop, a router simply discards a packet when that packet arrives at the tail end of a queue that has completely used up its packet-holding resources. Tail drop is the default queuing response to congestion. Tail drop treats all traffic equally and does not differentiate between classes of service (CoS).

Using tail drop, the router drops all traffic that exceeds the queue limit. Many TCP sessions then simultaneously go into slow start (TCP window size reduced). Consequently, traffic temporarily slows down to the extreme. All flows then begin to increase the window size as the congestion is reduced.

This activity creates a condition called global synchronization. Global synchronization occurs when multiple TCP hosts reduce their transmission rates in response to packet dropping, and then increase their transmission rates again when the congestion is reduced. The important point is that the fluctuations of transmission known as global synchronization will result in significant underuse of a link.

0 0

Post a comment