Intentaré explicarlo lo mejor que pueda y que sea
muy breve, si al final sigues teniendo dudas, pregunta.
- Slow-start. Para no congestionar la red, se empieza enviando los paquetes por orden de tamaño, desde los pequeños a los más grandes, hasta que se llegue al límite, en cuyo caso se empezará a descartar paquetes. Simplemente trata de buscar una velocidad adecuada para enviar los paquetes.
- Congestion avoidance algorithm. Es la base básica para evitar las congestiones. En realidad es un conjunto de algoritmos que intenta remediar las congestiones, como el
TCP Vegas, TCP New Reno, Cubic, Hybla, etc.
- Fast retransmit and fast recovery. Se podría decir que es una de las muchas mejoras que se ha aplicado, intenta reducir el tiempo que el cliente espera para enviar los paquetes "perdidos"
Inicialmente la cwnd será de 1 o 2 segmentos de datos. En cada ronda, a medida que se reciban los ACK, cwnd irá aumentando en igual número de ACK's que hayan llegado (1,2,4,8,16,...). Esta ventana de segmentos aumentará indefinidamente hasta que se alcance el umbral ssthresh que haya sido programado (64 k en el caso más extremo al ser el límite de ventana que impone TCP). Una vez llegado a su umbral, slow-start dejará de ser usado y la ventana cwnd dejará de crecer exponencialmente, se pasará a otro algoritmo más conservador, orientado a mantenerse sin congestionar la red, y que hará que la ventana de transmisión crezca linealmente. Si en algún punto de la comunicación se pierde algún paquete, TCP entenderá que es porque hay congestión de red, guardará el valor de cwnd como nuevo ssthresh e iniciará de nuevo el algoritmo volviendo a empezar con la ventana inicial.
De todas formas, en el libro que mencionas (dispongo de otra versión, algo más nueva - "TCP/IP Illustrated, Volume 2") a partir de la página 840 se empieza a explicar casi todo lo que preguntas, me refiero a la variable cwnd y demás.
Documentación:
_
TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms.
_
TCP Congestion Handling and Congestion Avoidance Algorithms .
_
Slow Start and Congestion Avoidance Algorithms.
_
Network congestion.
_
RFC 2001 - TCP Slow Start, Congestion Avoidance, Fast Retransmit.
_
A TCP Tutorial.
Siento decírtelo para toda la buena documentación está en Inglés.
Te dejo unos PDF's más (uno de ellos está en Castellano) enlazados a mi Google Docs:
_https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0Bz-v_6NnBKKdOWJlMzUzYWItMGZmMS00ZjYwLTgzNTgtZGU5MWZkYTEwNDdm&hl=en_US
_https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0Bz-v_6NnBKKdYzZhNTdiZGItNDVkYi00NDNhLTk3MDctMzk2YzhkZWM5MjAx&hl=en_US
_https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0Bz-v_6NnBKKdZDcwNTcyNDAtNDZhYi00M2FhLWJmZDgtYzczN2Y4M2VjMDBi&hl=en_US
La mayoría son bastante técnicos, llegando a explicar en profundidad los distintos algoritmos.