Evitación de la congestión
Evitación de la congestión es el algoritmo que va en combinación con el algoritmo de comienzo lento, para llevar a cabo el control de congestión. Así, se ha de tener en consideración el valor del slow start threshold size (SSTHRESH), que no es más que una variable que se encarga de indicar el tamaño máximo de la ventana de transmisión, que se inicializa en este algoritmo a 65535 bytes.
Cada vez que se detecte congestión se actualizará el valor de este campo a la mitad del mínimo entre window (WIN) y congestion window (CWND).
Si el motivo de la congestión es debido a la expiración del tiempo para la confirmación de la recepción de un segmento (vence el temporizador de retransmisión), se pondrá el valor de CWND a MSS (Maximum Segment Size), lo que equivale a resetear la ventana de transmisión de comienzo lento.
Cuando se incrementa CWND siempre se tiene en cuenta el valor de SSTHRESH, de modo que si el valor de CWND no ha superado al de SSTHRESH, la forma de incrementarse será del mismo modo que se hace en comienzo lento que no es otra forma que exponencial, mientras que si se ha superado el incremento será lineal.
En la siguiente expresión, se muestra cómo se calcula la nueva CWND a partir de la actual, en caso de su valor se encuentre por encima del SSTHRESH.