ELOBSERVADOR
Control de congestión

Una clave para que internet siga creciendo

La Universidad de Palermo desarrolló un algoritmo que permite superar los mayores obstáculos al tráfico a través de la red, que crece con la evolución de la tecnología y el mayor número de usuarios.

2023_07_01_internet_cedoc_g
Clave. Solucionar los cuellos de botella en la transmisión de datos de internet es fundamental. | cedoc

El control de congestión es el responsable de que internet ha sido exitosa como tecnología y que creció desde unos pocos nodos a 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 el bit-rate (velocidad de transmisión), (B) minimizar la pérdida de paquetes de datos.

Pero descuida totalmente los siguientes aspectos: (C) minimizar el delay (retardo) entre el que envía y recibe los datos y (D) que haya una distribución justa de la capacidad disponible de la red. El objetivo de la distribución justa de la capacidad disponible de la red es fácilmente entendible. Pero el objetivo de minimizar el delay no es tan claro: si maximizo la velocidad de transmisión, ¿para qué me interesa minimizar el delay? La respuesta es que en muchísimos casos la comunicación es transaccional, 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 delay entre ellos. Entonces, si el control de congestión genera grandes delays para todas aquellas conexiones que comparten un cuello de botella de la red con la primera conexión, todas las comunicaciones transaccionales empeoran 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 calidad de su experiencia depende solamente del tiempo total de espera a cada una de sus acciones o requerimientos, y no le importa si este tiempo está causado por una disminución de la velocidad de transmisión o si está causado por retardos 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 incluso comparte consigo mismo con las muchas transmisiones que se generan desde su computadora o celular, sobre las que muchas veces ni siquiera tiene noción. Por lo que una sola comunicación que induzca grandes retardos en el cuello de botella generará una baja de la 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 corre 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 botella de la comunicación. Para mejorar esta dinámica, pueden incorporarse algoritmos de administración inteligente de las colas de salida de paquetes (AQM) en estos dispositivos, para inducir a los que envían paquetes de datos a utilizar eficientemente la capacidad disponible sin inundar los buffers del cuello de botella, y para que se distribuya justamente su capacidad. Entonces, según quién está encarando el problema de calidad de las comunicaciones y de performance en el servicio, es dónde se puede actuar:* Si se trata de los proveedores de servicios de internet o proveedores de servicios de hosting o cloud, pueden actuar a través de la elección del algoritmo de control de congestión en los servidores, o a través de la aplicación de AQM en los dispositivos de ruteo y también de firewall del datacenter (muy pocas veces contemplado).* Mientras que los usuarios pueden actuar a través de la selección del algoritmo de control de congestión en sus computadoras o a través de la incorporación de AQM en sus dispositivos de conexión (el minifirewall o modem que los conecta a internet).* En el caso del usuario final, que es mayormente un consumidor de contenido, necesita un algoritmo de control de congestión para tráfico entrante, de lo que hay muy pocas opciones siendo el control de 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 proveedor 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 inferior al contratado, pero que le permita convertirse en el cuello de botella. Esto le permite aplicar inteligentemente la cola de paquetes del cuello de botella. Los dispositivos (router o firewall hogareños) que permiten esta configuración suelen llamarse dispositivos con SQM (smart queue management).

SQM tiene la desventaja que la capacidad disponible para tráfico entrante no es constante, ya que los proveedores de 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. Mientras que un buen algoritmo de control de congestión para tráfico entrante se adapta constantemente a estos cambios. Pero, por otro lado, no es sencillo para usuarios finales instalar esta opción en su sistema operativo.En el caso de los proveedores de servicio de acceso a internet, la complicación viene generalmente porque el cuello de botella suele estar en el dispositivo que aplica la limitación al ancho de banda contratado a todos los usuarios, en donde es muy difícil en general, combinar su funcionalidad con AQM.

Esto no les gusta a los autoritarios
El ejercicio del periodismo profesional y crítico es un pilar fundamental de la democracia. Por eso molesta a quienes creen ser los dueños de la verdad.
Hoy más que nunca Suscribite

La UP ha creado el algoritmo de control de congestión Palermo, que combina los cuatro objetivos: maximización de bit-rate, minimización de pérdidas de paquetes, minimización de delay y distribución justa de la capacidad. Y puede aplicarse tanto para mejorar el tráfico saliente en servidores (sender side congestion control), como para mejorar el tráfico entrante (receiver side congestion control) en las computadoras de los usuarios o en proxies web. La versión para tráfico saliente está disponible en modalidad open source para todas las distribuciones de Linux. Existen otras opciones muy buenas también como control de congestión BBR, pero existe solamente 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 prestaciones 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 crecimiento siga siendo posible.

*Decano de la Facultad de Ingeniería de la Universidad de Palermo.