Congestion Avoidance

  • Congestion Avoidance is a set of mechanisms designed to prevent packet loss before it happens.

    When more packets arrive at an outgoing interface than it can transmit, the excess is stored in its output queue. If the queue becomes full, new packets are dropped. This not only reduces performance but also triggers unnecessary TCP slowdowns.

    outgoing interface congestion

    Figure 1 – Outgoing Interface congestion

    As the name suggests, the goal of congestion avoidance is to prevent congestion before it happens.

    Before exploring these mechanisms, it is important to first understand how TCP windowing works, since TCP’s behavior directly interacts with congestion.

    Answer the question below