Las redes modernas contienen una serie de mejoras sobre la pila básica de TCP / IP. Uno de estos, particularmente útil dentro del centro de datos, fue desarrollado por
Microsoft Research en 2010 y llamado, sorprendentemente, DataCenter TCP (DCTCP).
DCTCP es un conjunto de modificaciones a TCP, dirigido a cumplir dos propiedades:
1. Mejore la latencia para mensajes pequeños sensibles a la latencia
2. No disminuir el rendimiento para grandes flujos sensibles al rendimiento
La latencia dentro de la red proviene de las colas dentro de los enrutadores. Por lo tanto, DCTCP intenta mantener la cola pequeña. La cola permanece pequeña cuando su tamaño es inferior a K mensajes.
El algoritmo propuesto reduce de forma adaptativa la ventana de congestión TCP de modo que la cola siga siendo pequeña.
Las mejoras sobre TCP requieren la modificación de los tres componentes: enrutador, receptor, remitente:
1. Marcar paquetes con el indicador de congestión experimentada (CE) mientras la cola se hace más larga que K por un enrutador.
2. Transformando un flujo de banderas CE en un flujo de paquetes ACK TCP por un receptor. Más específicamente, el receptor envía inmediatamente ACK si el indicador CE en el paquete actual es diferente del anterior. Mientras el indicador CE no se modifica, envía ACK retrasados normales. El paquete ACK siempre contiene el último valor del indicador CE.
3. Adaptar el tamaño de la ventana de congestión según el flujo agregado de paquetes ECN-Echo por parte del remitente. Primero, el emisor calcula el índice de congestión (CR), el promedio móvil exponencial entre los indicadores CE. DCTCP reduce el tamaño de la ventana proporcionalmente a CR. Si CR es igual a 1 (cada paquete tenía un indicador CE), el tamaño de la ventana se reduciría a la mitad, al igual que TCP.
La evaluación muestra que la latencia de consulta es significativamente mejor para transferencias cortas. El rendimiento de las solicitudes sensibles al rendimiento no es peor.
Sin embargo, desde 2010 hubo varios documentos con revisión y mejoras de DCTCP.
"Facilite la oscilación de la cola: análisis y mejora de DCTCP" de 2013 hace un experimento y descubre que DCTCP está sujeto a una oscilación severa del tamaño real de la cola. Esto sucede porque entre el primer paquete con el indicador CE y la reacción del remitente hay al menos un retraso RTT. El documento propone dividir un solo umbral K en dos umbrales K1 <K <K2 de modo que la configuración de los indicadores CE comience cuando el tamaño de la cola sea igual a K1, antes de que se experimente la congestión real, y se detenga en K2, antes de que el tamaño de la cola se reduzca demasiado.
Otro artículo es "Una retroalimentación de congestión temprana y esquemas de ajuste de velocidad para la comunicación de muchos a uno en datos basados en la nube", publicado en 2015, que propone NewDCTCP, que incluye dos mejoras:
1. Las banderas CE se establecen incluso para los paquetes que llegaron antes de la congestión
2. Diferente esquema de ajuste de tamaño de ventana
Uno de los últimos artículos es "Múltiples puntos de congestión y mecanismos de reacción de congestión para mejorar el rendimiento de DCTCP en redes de centros de datos" publicado en junio de 2018, que muestra que el tema permanece actualizado y el problema aún no se ha resuelto. De todos modos, el documento combina el enfoque de doble umbral e introduce una nueva idea: el ajuste de la ventana de congestión. Tiene en cuenta la cantidad de paquetes enviados y los ACK recibidos durante el cambio de tamaño de la ventana.