Control de congestión TCP


El Protocolo de control de transmisión (TCP) utiliza un algoritmo para evitar la congestión de la red que incluye varios aspectos de un esquema de aumento aditivo/disminución multiplicativa (AIMD), junto con otros esquemas que incluyen el inicio lento [1] y la ventana de congestión (CWND), para evitar la congestión . El algoritmo para evitar la congestión de TCP es la base principal para el control de la congestión en Internet. [2] [3] [4] Según el principio de extremo a extremo , el control de la congestión es en gran medida una función de los servidores de Internet ., no la red en sí. Hay varias variaciones y versiones del algoritmo implementadas en las pilas de protocolos de los sistemas operativos de las computadoras que se conectan a Internet .

Para evitar el colapso congestivo , TCP utiliza una estrategia de control de congestión multifacética. Para cada conexión, TCP mantiene un CWND, lo que limita la cantidad total de paquetes no reconocidos que pueden estar en tránsito de un extremo a otro. Esto es algo análogo a la ventana deslizante de TCP utilizada para el control de flujo .

El algoritmo de aumento aditivo/disminución multiplicativa (AIMD) es un algoritmo de control de circuito cerrado . AIMD combina el crecimiento lineal de la ventana de congestión con una reducción exponencial cuando se produce una congestión. Múltiples flujos que usan control de congestión AIMD eventualmente convergerán para usar cantidades iguales de un enlace en disputa. [5]

En TCP, la ventana de congestión (CWND) es uno de los factores que determina la cantidad de bytes que se pueden enviar en cualquier momento. El remitente mantiene la ventana de congestión y es un medio para evitar que un enlace entre el remitente y el receptor se sobrecargue con demasiado tráfico. Esto no debe confundirse con la ventana deslizante mantenida por el emisor que existe para evitar que el receptor se sobrecargue. La ventana de congestión se calcula estimando cuánta congestión hay en el enlace.

Cuando se configura una conexión, la ventana de congestión, un valor que se mantiene de forma independiente en cada host, se establece en un múltiplo pequeño del tamaño de segmento máximo ( MSS ) permitido en esa conexión. La variación adicional en la ventana de congestión está dictada por un enfoque de aumento aditivo/disminución multiplicativa (AIMD). Esto significa que si se reciben todos los segmentos y los acuses de recibo llegan al remitente a tiempo, se agrega alguna constante al tamaño de la ventana. Seguirá diferentes algoritmos.

Un administrador del sistema puede ajustar el límite de tamaño máximo de la ventana o ajustar la constante agregada durante el aumento aditivo, como parte del ajuste de TCP .