El control de la congestión es el responsable de que Internet tenga una tecnología tan poderosa y que haya crecido desde unos pocos nodos hasta una red global de miles de millones de nodos. Podríamos decir que el control de congestión utilizado en internet es una de las tecnologías más exitosas de la humanidad. El control de congestión tradicional apunta a dos objetivos: (A) maximizar la tasa de bits (velocidad de transmisión), (B) minimizar la pérdida de paquetes de datos.
Pero descuida totalmente los siguientes aspectos: (C) minimizar el retraso (retardo) entre el que envía y recibe los datos y (D) que tiene una distribución justa de la capacidad disponible de la red. El objeto de la distribución justa de la capacidad disponible de rojo es fácil de escuchar. Pero el objetivo de minimizar el retraso no es tan claro: si maximizo la velocidad de transmisión, ¿para qué me interesa minimizar el retraso? La respuesta es que en la mayoría de los casos la comunicación es transacción, es decir que consiste solo en mensajes muy cortos de consulta, y sus correspondientes mensajes muy cortos de respuesta, y el tiempo total de estas transacciones es casi independiente del bit-rate entre los extremos , pero depende casi totalmente del retraso entre ellos. Entonces, si el control de congestión generará grandes demoras para todas las conexiones que comparan un cuello de botella de la red con la primera conexión, todas las comunicaciones empeorarán muchísimo. Esto incluye la navegación web, que realiza una transacción por cada pequeño gráfico o script incluido en la página. Para el usuario que está navegando o usando servicios a través de Internet, la capacidad de su experiencia depende únicamente del tiempo total de espera a cada una de sus acciones o requisitos, y no le importa si este tiempo está causado por una reducción de la la velocidad de transmisión o si está causada por retrasos en algún lugar de internet por donde pase la comunicación. Este usuario generalmente comparte parte del camino de internet con otros usuarios en su mismo hogar o en su misma empresa. E veces comparte incluso consigo mismo con las muchas transmisiones que se generan desde su computadora o celular, sobre las que muchas ni siquiera tiene noción. Por lo que una sola comunicación que induzca grandes tardos en el cuello de botella generará una baja calidad de la experiencia del mismo usuario y de los otros usuarios con los que comparte. Ahora bien, los cuatro objetivos mencionados anteriormente no dependen únicamente del algoritmo de congestión, que corren en las computadoras a ambos extremos de la conexión, sino que también pueden ser afectados por la dinámica del dispositivo que aloja el cuello de la botella de la comunicación . Para mejorar esta dinámica, se pueden incorporar algoritmos para la administración inteligente de los paquetes de colas de sal (AQM) en estos dispositivos, para inducir a los paquetes de datos a utilizar eficientemente la capacidad disponible sin inundar los búfer de la botella, incluso para que se distribuye justamente su capacidad. Entonces, según quién está encarando el problema de las comunicaciones y de rendimiento en el servicio, es dónde se puede actuar:* Si se trata de los proeedores de services de internet o proeedores de services de hosting o cloud, pueden actuar a través del selección del algoritmo de control de congestión en los servidores, o mediante la aplicación de AQM en los dispositivos de enrutamiento y también del firewall del datacenter (muy pocas veces contemplado).* Más que los usuarios pueden actuar mediante la selección del control de congestión algoritmo además de las computadoras a través de la incorporación de AQM además de los dispositivos de conexión (el minifirewall o módem que se conecta a internet) un algoritmo de control de congestión para el tráfico entrante, por lo que hay muchas opciones para el control de la congestión Palermo, tecnología desarrollada por la Universidad de Palermo, una opción. Pero para trabajar el problema desde su dispositivo de conexión a la red, el proofedor no le da permisos para hacerlo. Existe sin embargo, la opción de agregar en serie al dispositivo de conexión un segundo dispositivo que limite la velocidad de transmisión en un valor un poco menor al contratado, pero que el permiso convierta en el cuello de botella. Esto le permite aplicar inteligentemente la cola de los paquetes del cuello de botella. Los dispositivos (router o firewall hogareños) que permiten esta configuración solo utilizan dispositivos con SQM (smart queue management).
SQM tiene la ventaja de que la capacidad disponible para el tráfico entrante no es constante, solo hay indicios de que Internet hacen over-booking (sobrevenden su capacidad). Por lo que la capacidad disponible suele variar mucho con la hora, e incluso minuto a minuto. Variación que los routers y firewalls hogareños con SQM no pueden seguir. Mentras que un nuevo algoritmo de control de congestión para el tráfico entrante se adapta constantemente a estos cambios. Pero, por otro lado, no es sencillo para los usuarios finales instalar esta opción en su sistema operativo. Limitación al ancho de banda contratado a todos los usuarios, en donde es muy difícil en general, combinar su funcionalidad con AQM.
UP creó el algoritmo de control de congestión de Palermo, que combina los cuatro objetivos: maximizar la tasa de bits, minimizar la pérdida de paquetes, minimizar el retraso y una distribución justa de la capacidad. Y puede aplicar tanto para mejorar el tráfico saliente en servidores (control de congestión en el lado del remitente), como para mejorar el tráfico entrante (control de congestión en el lado del receptor) en las computadoras de los usuarios o en proxies web. La versión de tráfico principal está disponible en modo de código abierto para todas las distribuciones de Linux. Existen otras opciones muy buenas también como control de congestión BBR, pero únicamente para control de tráfico saliente.
Las tecnologías que hicieron posible la revolución de internet y las comunicaciones siguen evolucionando a medida que los servicios van creciendo en services y en volumen de datos, al mismo tiempo que va creciendo la cantidad de usuarios y dispositivos inteligentes, y que los usuarios van creciendo en su dependencia y en su exigencia de calidad. Podremos seguir apoyándonos en el éxito de las tecnologías de control de congestión para que este siga siendo posible.
*Decano de la Facultad de Ingeniería de la Universidad de Palermo.


