Congestion avoidance is a mechanism used to control service flows. Congestion avoidance allows the device to monitor network resource usage, such as queues and memory buffers. The system uses tail drop or Weighted Random Early Detection (WRED) to discard packets when congestion occurs or worsens.
The switch supports the following congestion avoidance features:
Tail drop
When the queue length reaches its maximum value, the packets that were added last (at the tail of the queue) are discarded. This packet drop policy may cause global TCP synchronization. As a result, TCP connections cannot be set up.
Below, three colors represent three TCP connections. When packets from multiple TCP connections are discarded, these TCP connections enter the congestion avoidance and slow start state. Traffic reduces, and then reaches a peak. Traffic volume varies greatly.
WRED
Random Early Detection (RED) is used to avoid global TCP synchronization. This mechanism randomly discards packets and ensures that the transmission speed of multiple TCP connections is not reduced simultaneously. Global TCP synchronization is prevented and the TCP and network traffic rates are stabilized.
The switch provides WRED based on RED technology.
WRED discards packets in queues based on DSCP priorities or IP priorities. The upper drop threshold, lower drop threshold, and drop probability can be set for each priority. When the total size of packets in a queue reaches the lower drop threshold, the switch discards packets. As the total size of packets in the queue increases, the packet loss rate increases accordingly. The maximum drop probability cannot exceed the configured packet loss rate. All packets are discarded when the total size of packets in the queue reaches the upper drop threshold. WRED discards packets in queues based on the drop probability, thereby mitigating congestion to some extent.