Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La capa de transporte
En esta última versión pueden evitarse las respuestas de tipo NAK si se tiene en cuenta que una respuesta ACK
duplicada tiene el mismo efecto: un emisor que recibe dos respuestas ACK para el mismo paquete sabe que el receptor
no ha recibido correctamente el paquete que sigue al que está siendo reconocido. [rdt2.2]
Para limitar la velocidad, TCP hace uso de una variable denominada ventana de congestión:
Ú𝑙𝑡𝑖𝑚𝑜𝐵𝑦𝑡𝑒𝐿𝑒í𝑑𝑜 − Ú𝑙𝑡𝑖𝑚𝑜𝐵𝑦𝑡𝑒𝑅𝑒𝑐𝑜𝑛𝑜𝑐𝑖𝑑𝑜 ≤ min{𝑉𝑒𝑛𝑡𝑎𝑛𝑎𝐶𝑜𝑛𝑔𝑒𝑠𝑡𝑖ó𝑛, 𝑉𝑒𝑛𝑡𝑎𝑛𝑎𝑅𝑒𝑐𝑒𝑝𝑐𝑖ó𝑛}
Con esta restricción, la velocidad de transmisión del emisor es aproximadamente igual a VentanaCongestión/RTT
bytes/segundo. Para determinar la velocidad de transmisión, TCP se basa en los siguientes principios:
-Un segmento perdido implica congestión y, por tanto, la velocidad del emisor debe reducirse.
-Un segmento que ha sido reconocido indica que la transmisión está siendo efectiva y, por tanto, la velocidad puede
incrementarse cuando llega un paquete ACK correspondiente a un segmento que todavía no había sido reconocido.
Con esto, TCP sigue una estrategia de tanteo de ancho de banda, en la que incrementa su velocidad en respuesta la
llegada de paquetes ACK hasta que se produce una pérdida, momento en el que reduce la velocidad. Entonces,
incrementa de nuevo la velocidad para ver cuándo vuelve a aparecer congestión, retrocede a partir de ese punto y
vuelve a tantear. Así, el algoritmo de control de congestión de TCP es el que sigue:
Arranque lento (1): cuando se inicia una conexión TCP, el valor de la ventana de congestión se inicia a 1 MSS y se
incrementa 1 MSS cada vez que se produce el primer reconocimiento de un segmento transmitido. Esto hace que la
velocidad de transmisión se duplique en cada periodo RTT. Este crecimiento cesa cuando se produce la pérdida de un
paquete, caso en el que se establece el valor de VentanaCongestion en 1, una nueva variable umbral como
VentanaCongestion/2 y se inicia de nuevo un proceso de arranque lento; bien cuando el valor de VentanaCogestion
es igual a umbral, momento en el que se pasa al modo de evitación de la congestión; o bien cuando se detectan tres
paquetes ACK duplicados, en cuyo caso TCP realiza una retransmisión rápida y entra en el estado de recuperación
rápida.
Evitación de la congestión (2): el iniciar esta fase, el valor de la ventana de congestión es aproximadamente igual a la
mitad de su valor en el momento en el que se detectó congestión por última vez, estando, por tanto, cerca de la
congestión. Por tanto, en lugar de duplicar el valor de VentanaCongestion para cada RTT, TCP lo incrementa solamente
en 1MSS cada RTT.
Recuperación rápida (3): el valor de VentanaCongestion se incrementa en 1MSS por cada ACK duplicado recibido
correspondiente al segmento que falta y que ha causado que TCP ente en el estado de recuperación rápida.
Desde un punto de vista macroscópico, ignorando la fase de arranque lento y suponiendo que RTT y W son
aproximadamente constantes durante la conexión, se tiene que la red descarta un paquete cuando la velocidad
aumenta hasta W/RTT (siendo W el número de bytes de la ventana de congestión cuando se produce una pérdida); la
velocidad se reduce entonces a la mitad y luego aumenta MSS/RTT cada RTT de nuevo hasta alcanzar el valor W/RTT,
repitiendo el proceso una y otra vez. Como resultado, se tendrá una tasa de transferencia media par una conexión de
0.75W/RTT.
Dicha tasa viene expresada en función de la tasa de pérdidas (L) de la siguiente forma: 1.22MSS/RTT√L
Se dice que un mecanismo de control de congestión es equitativo si la velocidad media de transmisión de cada
conexión es aproximadamente igual a R/K (siendo R la velocidad de transmisión del enlace y K el número de
conexiones); es decir, que cada conexión obtiene la misma cuota del ancho de banda del enlace.