RED (Random Early Detection o Random Early Drop) fue uno de los primeros algoritmos de Active Queue Management (AQM) diseñados para evitar la congestión antes de que ocurra. A diferencia del clásico Tail Drop, RED no espera a que el buffer esté lleno para empezar a descartar paquetes. Actúa antes.
Al final del artículo encontrarás un pequeño test que te permitirá evaluar los conocimientos adquiridos en esta lectura
Qué es RED (Random Early Detection) y qué problema resuelve
RED es un algoritmo de gestión activa de colas que monitoriza el tamaño promedio de la cola y descarta paquetes de forma probabilística antes de que el buffer se sature.
Su objetivo principal es:
Evitar congestión.
Reducir la sincronización global de TCP.
Mejorar la equidad entre flujos.
Controlar el bufferbloat.
El problema del Tail Drop
En Tail Drop, el router acepta paquetes hasta llenar completamente el buffer. Cuando se llena, simplemente descarta todo lo que llega.
Problemas:
Congestión brusca.
Sincronización global TCP (todos los flujos reducen ventana al mismo tiempo).
Uso ineficiente del ancho de banda.
Latencias elevadas.
RED rompe esta dinámica actuando antes del colapso.
Global Synchronization en TCP
Cuando múltiples flujos TCP comparten un router con Tail Drop:
El buffer se llena.
Se descartan muchos paquetes a la vez.
Todos los emisores reducen su ventana de congestión simultáneamente.
La red queda infrautilizada.
Luego todos vuelven a crecer a la vez.
Este patrón genera oscilaciones severas.
RED mitiga esto al descartar paquetes de forma aleatoria y gradual.
Bufferbloat y congestión temprana
Aunque el término bufferbloat apareció en 2011, RED ya apuntaba a ese problema: buffers demasiado grandes que incrementan latencia.
RED controla la longitud promedio de la cola dentro de umbrales definidos, evitando que el buffer se mantenga lleno de forma constante.
Cómo funciona el algoritmo RED paso a paso
RED opera en el momento de enqueue (cuando llega cada paquete al puerto de salida).
No funciona por intervalos periódicos. Se ejecuta con cada paquete entrante.
Cálculo del tamaño promedio de cola (EWMA)
RED no usa el tamaño instantáneo de la cola, sino un promedio suavizado mediante:
newavg=(1−wq)⋅oldavg+wq⋅current_queue_lennewavg = (1 – wq) \cdot oldavg + wq \cdot current\_queue\_lennewavg=(1−wq)⋅oldavg+wq⋅current_queue_len
Donde:
wq: factor de peso (típicamente 0.002 en RED clásico).
current_queue_len: tamaño instantáneo.
oldavg: promedio anterior.
Este modelo es un Exponential Weighted Moving Average (EWMA).
Clave: RED toma decisiones basadas en el promedio, no en picos momentáneos.
Umbrales minth y maxth
RED define dos límites:
minth (minimum threshold)
maxth (maximum threshold)
Caso 1: avg ≤ minth
No se descarta ningún paquete.
Caso 2: avg > maxth
Se descartan todos los paquetes entrantes.
Caso 3: minth < avg < maxth
Se calcula una probabilidad de descarte.
Valores clásicos en el paper original:
minth = 5 paquetes
maxth = 15 paquetes
Cálculo de la probabilidad de descarte (Pd y Pa)
Primero se calcula:
Pd=maxp⋅(avg−minth)(maxth−minth)Pd = maxp \cdot \frac{(avg – minth)}{(maxth – minth)}Pd=maxp⋅(maxth−minth)(avg−minth)
Donde:
maxp: probabilidad máxima (usualmente 0.5 en implementaciones modernas).
Pd crece linealmente entre minth y maxth.
Sin embargo, para evitar patrones no uniformes de descarte, se ajusta usando:
Pa=Pd1−count⋅PdPa = \frac{Pd}{1 – count \cdot Pd}Pa=1−count⋅PdPd
Donde:
count: paquetes encolados desde el último descarte.
Este ajuste mejora la distribución estadística.
Lógica de decisión y número aleatorio
Se genera un número aleatorio R ∈ [0,1].
Si Pa ≤ R → el paquete se encola.
Si Pa > R → el paquete se descarta.
Aquí está el corazón probabilístico de RED.
Qué ocurre cuando la cola está inactiva
Problema clásico:
Si no llegan paquetes, el promedio no decae.
Solución:
newavg=(1−wq)m⋅oldavgnewavg = (1 – wq)^m \cdot oldavgnewavg=(1−wq)m⋅oldavg
Donde m depende del tiempo de inactividad y la tasa de transmisión.
Esto evita falsos positivos de congestión.
Parámetros configurables en RED
wq: sensibilidad del promedio.
minth: umbral mínimo.
maxth: umbral máximo.
maxp: probabilidad máxima.
Mean packet size: usado en algunos cálculos adaptativos.
La configuración incorrecta puede hacer que RED:
Sea demasiado agresivo.
O no actúe a tiempo.
Cuándo usar RED (y cuándo no)
Casos recomendados
Redes con tráfico en ráfagas.
Enlaces compartidos con múltiples flujos TCP.
Redes mixtas (voz, video, datos).
Escenarios donde se quiere evitar buffer lleno constante.
Casos donde NO es ideal
Aplicaciones ultra sensibles a pérdida (VoIP sin QoS).
Redes con prioridad estricta (mejor usar QoS + WRED).
Entornos modernos donde CoDel/FQ-CoDel están disponibles.
RED vs otros algoritmos de gestión de colas
RED vs Tail Drop
RED evita sincronización global y congestión brusca.
RED vs FIFO
FIFO no gestiona activamente congestión.
RED vs SFQ / PCQ
SFQ y PCQ gestionan equidad por flujo; RED gestiona congestión global.
RED vs CoDel y FQ-CoDel
Aquí está la comparación moderna importante:
CoDel controla latencia basada en tiempo de permanencia.
FQ-CoDel combina equidad por flujo + control de latencia.
RED se basa en tamaño promedio de cola.
Hoy en día, CoDel suele preferirse en redes modernas.
Ventajas, desventajas y errores comunes
Ventajas
Evita sincronización TCP.
Reduce bufferbloat.
Mejora equidad.
Compatible con ECN.
Desventajas
Difícil de parametrizar correctamente.
Sensible a configuración.
Menos efectivo que algoritmos modernos adaptativos.
Errores comunes
minth y maxth demasiado cercanos.
maxp mal calibrado.
wq demasiado alto (reacciona exageradamente)
¿Sigue siendo relevante RED en 2026?
Sí, pero con matices.
RED fue revolucionario en los 90 y sigue siendo base conceptual de AQM.
Sin embargo:
CoDel y FQ-CoDel suelen ser preferidos.
ARED mejora mucho el diseño original.
WRED es común en equipos empresariales con QoS.
RED sigue siendo fundamental para entender la evolución del control de congestión.
Conclusión
RED marcó un antes y un después en la gestión activa de colas. Introdujo la idea de actuar antes del colapso y usar probabilidad en lugar de decisiones binarias.
Aunque hoy existan alternativas más modernas como CoDel, comprender RED es esencial para:
Entender AQM.
Diseñar políticas de QoS.
Analizar comportamiento TCP.
Preparar certificaciones de redes avanzadas.
Es una pieza histórica que aún tiene aplicación práctica.
Preguntas Frecuentes
¿Qué significa RED?
Random Early Detection o Random Early Drop
¿RED elimina completamente la congestión?
No. La mitiga y la hace más estable
¿RED funciona con UDP?
Sí, pero no controla comportamiento del emisor como TCP
¿RED es mejor que CoDel?
Depende del entorno. En redes modernas, CoDel suele ser más eficiente
Breve cuestionario de conocimientos
¿Qué te pareció este artículo?
¿Te atreves a evaluar tus conocimientos aprendidos?
Libros recomendados para éste artículo
(Book) Networking with MikroTik RouterOS: A Practical Approach to Understanding and Implementing RouterOS
Study material for the MTCNA Certification Course, updated to RouterOS v7
Libro Conceptos Fundamentales de MikroTik, RouterOS v7
Material de estudio para el Curso de Certificación MTCNA, actualizado a RouterOS v7










