Ciencia y Tecnología

Un programa duplica la cantidad de datos transmitidos por Internet

El programa Remy, creado en el MIT, reduce además en dos tercios el tiempo que tarda en llegar la información del emisor al receptor

El sistema Remy es capaz de gestionar redes muy complejas
El sistema Remy es capaz de gestionar redes muy complejaslarazon

TCP, Protocolo de Control de Transmisiones, es uno de los protocolos básicos que rigen Internet: Si lo consideramos un programa de ordenador, es el programa más ampliamente utilizado en el mundo.

Una de las principales funciones de TCP (Transmission Control Protocol) es evitar la congestión de la red mediante la regulación de la velocidad a la que los ordenadores envían los datos.

En los últimos 25 años, los ingenieros han hecho constantes mejoras en los algoritmos de control de congestión del TCP, lo que ha dado lugar a varias versiones rivales del protocolo: Muchos equipos con Windows, por ejemplo, ejecutan una versión llamada Compound TCP (TCP Combinado), mientras que las máquinas Linux ejecutan una versión llamada TCP Cubic (TCP Cúbico), informa Tendencias 21.

En una conferencia del sector de la computación que se celebrará este verano, investigadores del MIT (Massachussetts Institute of Technology, Boston, EE.UU) presentarán un sistema informático, llamado Remy, que genera automáticamente algoritmos de control de congestión para el TCP. En las simulaciones de los investigadores, los algoritmos elaborados por Remy superaron significativamente a los algoritmos diseñados por ingenieros humanos.

"Creo que la gente puede pensar en lo que ocurre con una o dos conexiones en una red y diseñar en torno a eso", explica en una nota de prensa del MIT Hari Balakrishnan, profesor de Ingeniería Eléctrica y Ciencias de la Computación, y coautor del nuevo estudio junto con el estudiante de doctorado Keith Winstein.

"Cuando se tienen un puñado de conexiones, y una red un poco más complicada, donde la carga de trabajo no es una constante es muy difícil para los seres humanos razonar sobre ello. Y las computadoras parecen saber mucho mejor cómo moverse en ese entorno."

Topografía del terreno

Remy es un sistema de aprendizaje automático, lo que significa que llega a su resultado después de probar un montón de posibilidades diferentes, y la exploración de nuevas variantes de aquellas que parecen funcionar mejor. Los usuarios especifican ciertas características de la red; por ejemplo, si el ancho de banda a través de los enlaces fluctúa o si el número de usuarios cambia, y en qué medida.

También proporcionan un "perfil de tráfico"que puede describir, por ejemplo, el porcentaje de usuarios que están navegando por páginas web estáticas o están usando aplicaciones de gran ancho de banda, como videoconferencias.

Por último, el usuario especifica los parámetros que se utilizarán para evaluar el rendimiento de la red. Las métricas estándar incluyen el rendimiento, que indica la cantidad total de datos que se pueden mover a través de la red en una cantidad fija de tiempo, y el retardo, que indica la cantidad media de tiempo que tarda un paquete de información en viajar del emisor al receptor. El usuario también puede asignar a estas métricas diferentes pesos; por ejemplo, la reducción de retardo es importante, pero sólo un tercio de importante que aumentar el rendimiento.

Remy necesita probar el rendimiento de cada algoritmo candidato bajo una amplia gama de condiciones de red, lo cual exigiría un tiempo prohibitivo. Pero Winstein y Balakrishnan desarrollaron un algoritmo inteligente que puede concentrar los análisis de Remy en aquellos casos en los que pequeñas variaciones en las condiciones de la red producen grandes variaciones en el rendimiento, mientras que gasta menos tiempo en los casos en los que el comportamiento de la red es más predecible.

150 normas distintas

Además, mientras que un algoritmo de control de congestión TCP típico puede consistir en un puñado de reglas -"si el porcentaje de paquetes perdidos supera un límite, reducir la tasa de transmisión a la mitad"- los algoritmos que Remy produce pueden tener más de 150 normas distintas.

"No se parece a nada en los 30 años de historia de TCP", afirma Winstein. "Tradicionalmente, los TCP tienen reglas relativamente simples pero un comportamiento complejo cuando se utilizan en la práctica. Con Remy ocurre lo contrario. Pensamos que es mejor, porque los ordenadores son buenos para hacer frente a la complejidad. Es el comportamiento lo que se quiere que sea simple. "Por qué funcionan tan bien los algoritmos Remy es una de las cuestiones que los investigadores esperan explorar en el futuro.

En el ínterin, sin embargo, no hay mucho que discutir sobre los resultados. En pruebas que simulaban una red por cable de alta velocidad, los algoritmos de Remy duplicaron el rendimiento de la red, en comparación con TCP Compound y TCP Cubic, mientras que redujeorn el retardo en dos tercios.

En otra serie de pruebas, que simulaban una red de telefonía móvil, las ganancias eran más pequeños pero aún significativas: una mejora del 20 al 30 por ciento en el rendimiento, y una reducción del 25 al 40 por ciento en el retraso.

Las características de TCP

El TCP fue creado entre los años 1973 y 1974 por Vint Cerf y Robert Kahn. El protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina, a través del concepto de puerto. TCP da soporte a muchas de las aplicaciones más populares de Internet (navegadores, intercambio de ficheros, clientes FTP, etc.) y protocolos de aplicación HTTP, SMTP, SSH y FTP.

El otro gran protocolo de Internet es UDP, User Datagram Protocol (Protocolo Datagrama-Usuario). Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera.

Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o recepción. Su uso principal es para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a la información transmitida, así como para la transmisión de audio y vídeo en tiempo real, donde no es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos.

Más información en Tendencias 21