OS10 Enterprise Edition User Guide Release 10.4.0E(R3)


Congestion avoidance

Congestion avoidance is a predictive method to anticipate and take necessary action to avoid congestion. The following are the different mechanisms used to avoid congestion:

  • Tail drop—Packets are buffered at traffic queues. When the buffers are exhausted or reach the configured threshold, excess packets are dropped. By default, OS10 uses tail drop for congestion avoidance.
  • Random early detection (RED)—In tail drop mechanism, different flows are not considered in buffer utilization. When multiple hosts start retransmission, tail drop causes TCP global re-synchronization. Instead of waiting for the queue to get filled up completely, RED starts dropping excess packets with a certain drop-probability, when the average queue length exceeds the configured minimum threshold. The early drop ensures that only some of TCP sources slow down, which avoids global TCP re-synchronization.
  • Weighted random early detection (WRED)—This mechanism allows different drop-probabilities and thresholds for each color (red, yellow, green) of traffic. You can configure the drop characteristics for 3 different flows by assigning the colors to the flow. You can assign colors to a particular flow or traffic by various methods, like ingress policing, qos input policy-maps, and so on.
  • Explicit congestion notification (ECN)—This is an extension of WRED. Instead of dropping the packets when the average queue length crosses the minimum threshold values, ECN marks the CE bit of ECN field in a packet as ECN-capable traffic.

Configure congestion avoidance

  1. Configure WRED profile in the CONFIGURATION mode.
    OS10(config)# wred wred_prof_1
  2. Configure WRED threshold parameters for different colors in the WRED CONFIGURATION mode.
    OS10(config-wred)# random-detect color yellow minimum-threshold 100 maximum-threshold 300 drop-probability 40
  3. Configure the exponential weight value for the WRED profile in the WRED CONFIGURATION mode.
    OS10(config-wred)# random-detect weight 4
  4. Enable ECN.
    OS10(config-wred)# random-detect ecn
  5. Enable WRED/ECN on a queue.
    OS10(config)# class-map type queuing c1
                                        OS10(config-cmap-queuing)# match queue 2
                                        OS10(config-cmap-queuing)# exit
                                        OS10(config)# policy-map type queuing p1
                                        OS10(config-pmap-queuing)# class c1
                                        OS10(config-pmap-c-que)# random-detect wred_prof_1
  6. Enable WRED/ECN on a port.
    OS10(config)# interface ethernet 1/1/1
                                        OS10(conf-if-eth1/1/1)# random-detect wred_prof_1
  7. Enable WRED/ECN on a service-pool.
    OS10(config)# system qos
                                        OS10(config-sys-qos)# random-detect pool 0  wred_prof_1

Rate this content

Easy to understand
Was this article helpful?
0/3000 characters
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please select whether the article was helpful or not.
  Comments cannot contain these special characters: <>()\