Sincronización global TCP


La sincronización global de TCP en las redes informáticas puede ocurrir a los flujos de TCP / IP durante los períodos de congestión porque cada remitente reducirá su velocidad de transmisión al mismo tiempo que se produce la pérdida de paquetes.

Los enrutadores en Internet normalmente tienen colas de paquetes, para permitirles retener paquetes cuando la red está ocupada, en lugar de descartarlos.

Debido a que los enrutadores tienen recursos limitados, el tamaño de estas colas también es limitado. La técnica más sencilla para limitar el tamaño de la cola se conoce como tail drop . Se permite que la cola se llene hasta su tamaño máximo, y luego cualquier paquete nuevo simplemente se descarta, hasta que haya espacio en la cola nuevamente.

Esto causa problemas cuando se usa en enrutadores TCP/IP que manejan múltiples flujos TCP , especialmente cuando hay tráfico en ráfagas. Si bien la red es estable, la cola está constantemente llena y no hay problemas, excepto que la cola llena genera una latencia alta. Sin embargo, la introducción de una ráfaga repentina de tráfico puede causar que un gran número de flujos estables establecidos pierdan paquetes simultáneamente.

TCP tiene una recuperación automática de los paquetes perdidos, lo que interpreta como congestión en la red (lo que suele ser correcto). El remitente reduce su tasa de envío durante un cierto período de tiempo y luego intenta averiguar si la red ya no está congestionada aumentando la tasa nuevamente sujeta a una aceleración. Esto se conoce como el algoritmo de inicio lento .

Casi todos los remitentes utilizarán el mismo tiempo de retraso antes de aumentar sus tarifas. Cuando estos retrasos expiren, al mismo tiempo, todos los remitentes enviarán paquetes adicionales, la cola del enrutador volverá a desbordarse, se descartarán más paquetes, todos los remitentes retrocederán durante un retraso fijo... ad infinitum; comparar con el problema del rebaño atronador .