Principios de Control de Congestión
El control de congestión regula la tasa a la que los emisores inyectan datos en una red compartida para que la demanda agregada se mantenga cerca de la capacidad, evitando el colapso de congestión que ocurre cuando la carga ofrecida sobrepasa la capacidad de la red para entregarla.
Definition
El control de congestión es el conjunto de mecanismos mediante los cuales los emisores ajustan sus tasas de transmisión en respuesta a las señales de congestión de la red, con el fin de mantener la carga agregada cerca de la capacidad de la red mientras la comparten equitativamente entre flujos competidores.
Scope
Este tema cubre los principios y la práctica del control de congestión: la distinción del control de flujo, las causas y los costos de la congestión, los enfoques de extremo a extremo versus los asistidos por la red, la dinámica de aumento aditivo/disminución multiplicativa (AIMD) y sus propiedades de equidad y estabilidad, y los algoritmos concretos de TCP —inicio lento, evitación de congestión, recuperación rápida— junto con el papel de la notificación explícita de congestión y la existencia de algoritmos alternativos. Excluye los mecanismos de fiabilidad por conexión, que abordan la recuperación de pérdidas en lugar de la sobrecarga de la red.
Core questions
- ¿En qué se diferencia el control de congestión del control de flujo?
- ¿Qué causa la congestión y qué es el colapso de congestión?
- ¿Qué es la dinámica AIMD y por qué conduce a la equidad y la estabilidad?
- ¿Cómo funcionan las fases de inicio lento, evitación de congestión y recuperación rápida de TCP?
- ¿Cómo se comparan las señales de extremo a extremo (pérdida/retraso) con las señales asistidas por la red, como ECN?
Key concepts
- congestión versus control de flujo
- colapso de congestión
- aumento aditivo/disminución multiplicativa (AIMD)
- inicio lento
- evitación de congestión
- retransmisión rápida y recuperación rápida
- ventana de congestión
- notificación explícita de congestión (ECN)
- equidad y eficiencia
Key theories
- Aumento aditivo, disminución multiplicativa (AIMD)
- Aumentar la ventana de envío linealmente mientras no hay congestión y reducirla a la mitad ante una señal de congestión impulsa a los flujos competidores hacia una participación igual y eficiente de la capacidad; el análisis muestra que AIMD converge a la equidad y la eficiencia, razón por la cual TCP lo adopta.
- Fases de control de congestión de TCP
- TCP sondea el ancho de banda con un inicio lento exponencial, cambia a una evitación de congestión lineal cerca de la capacidad estimada y utiliza la retransmisión rápida/recuperación rápida para reaccionar a pérdidas aisladas sin reiniciar, infiriendo la congestión principalmente de la pérdida de paquetes.
- Evitar el colapso de congestión
- Sin control de tasa, las retransmisiones durante la sobrecarga pueden llevar a una red a un colapso de congestión donde el rendimiento se desploma; la introducción de la evitación de congestión a fines de la década de 1980 rescató a Internet de repetidos colapsos.
Clinical relevance
El control de congestión es lo que mantiene la Internet compartida utilizable bajo una carga pesada: ha prevenido el colapso sistémico desde finales de la década de 1980 y equilibra continuamente el rendimiento, la latencia y la equidad para miles de millones de flujos. Su diseño afecta directamente las velocidades de descarga, la calidad de la transmisión de video y el rendimiento de los centros de datos, y la investigación activa sobre algoritmos como CUBIC y BBR y sobre la gestión de colas de baja latencia continúa refinando este equilibrio.
History
Después de una serie de colapsos de congestión en la Internet temprana en 1986-1987, el trabajo de Van Jacobson de 1988 introdujo el inicio lento y la evitación de congestión, estableciendo el control de congestión TCP moderno. El análisis de Chiu y Jain de 1989 explicó por qué AIMD produce equidad y eficiencia. Las décadas subsiguientes produjeron variantes como Reno, NewReno, CUBIC y el BBR basado en modelos, además de mecanismos del lado del enrutador como RED y ECN.
Debates
- Control de congestión basado en pérdidas versus basado en retrasos y modelos
- TCP basado en pérdidas reacciona solo cuando los búferes se desbordan, lo que puede causar alta latencia (bufferbloat) y subutilizar enlaces rápidos de larga distancia, motivando esquemas basados en retrasos y modelos como BBR; el debate se centra en la equidad cuando estos coexisten con flujos tradicionales basados en pérdidas.
Key figures
- Van Jacobson
- Dah-Ming Chiu
- Raj Jain
- Sally Floyd
Related topics
Seminal works
- jacobson1988
- chiu1989
- kurose2021
Frequently asked questions
- ¿Cuál es la diferencia entre el control de flujo y el control de congestión?
- El control de flujo protege al receptor: evita que un emisor rápido sature el búfer de un receptor lento. El control de congestión protege la red: evita que los emisores, colectivamente, abrumen los enrutadores y los enlaces entre ellos. TCP hace ambas cosas, utilizando la ventana de recepción para el control de flujo y la ventana de congestión para el control de congestión.
- ¿Por qué TCP se ralentiza cuando detecta pérdida de paquetes?
- La pérdida es la principal señal de TCP de que la red está congestionada. Al reducir drásticamente su tasa de envío ante la pérdida y aumentarla solo gradualmente en otras circunstancias, TCP retrocede cuando la red está sobrecargada y sondea la capacidad disponible cuando no lo está, lo que mantiene el tráfico agregado cerca de la capacidad y comparte el ancho de banda de manera aproximadamente equitativa.