- Viernes, 05 Mayo 2017
El protocolo de control de transmisión, o TCP, que gestiona el tráfico en Internet, fue propuesto por primera vez en 1974. Alguna versión de TCP todavía regula la transferencia de datos en la mayoría de los centros de datos más importantes, los grandes almacenes de servidores mantenidos por sitios web conocidos.
Eso no es porque TCP sea perfecto o porque los científicos de la informática hayan tenido problemas para encontrar posibles alternativas; Es porque esas alternativas son demasiado difíciles de probar. Los routers en las redes de centros de datos tienen sus protocolos de gestión de tráfico cableados en ellos. La prueba de un nuevo protocolo significa reemplazar el hardware de red existente con chips reconfigurables, que requieren mucho trabajo de programación, o routers controlados por software, que son tan lentos que hacen imposibles las pruebas a gran escala.
Investigadores del Laboratorio de Informática e Inteligencia Artificial del MIT han presentado un sistema para probar nuevos protocolos de gestión de tráfico que no necesita de ninguna alteración en el hardware de la red, sino que sigue funcionando a velocidades realistas, unas 20 veces más rápido que las redes de routers controlados por software.
El sistema mantiene un modelo computacional compacto y eficiente de una red que ejecuta el nuevo protocolo, con paquetes de datos virtuales que rebotan entre routers virtuales. Sobre la base del modelo, programan las transmisiones en la red real para producir los mismos patrones de tráfico. Los investigadores podrían así ejecutar aplicaciones web reales en los servidores de red y obtener una idea exacta de cómo el nuevo protocolo afectaría a su rendimiento.
"La forma en que funciona es, cuando un extremo quiere enviar un paquete [de datos], primero envía una solicitud a este emulador centralizado", describe Amy Ousterhout, estudiante de posgrado en ingeniería eléctrica e informática (EECS) y primer autor del nuevo documento. "El emulador emula en el software el esquema que desea experimentar con su red. A continuación, indica al extremo cuando enviar el paquete para que llegue a su destino atravesado una red que ejecuta el esquema programado.
Ousterhout ha escrito el documento de investigación ayudado por su consejero, Hari Balakrishnan, profesor de Fujitsu en ingeniería eléctrica e informática; Jonathan Perry, estudiante graduado en EECS; Y Petr Lapukhov de Facebook.
Control de trafico
Cada paquete de datos enviados a través de una red de ordenadores tiene dos partes: el encabezado y la carga útil. La carga contiene los datos en los que está interesado el destinatario: datos de imagen, datos de audio, datos de texto, etc. El encabezado contiene la dirección del remitente, la dirección del destinatario y otra información que los routers y usuarios finales pueden usar para administrar las transmisiones.
Cuando varios paquetes alcanzan un router al mismo tiempo, son colocados en una cola y procesados secuencialmente. Con TCP, si la cola es demasiado larga, los paquetes siguientes simplemente se descartan, nunca llegan a sus destinatarios. Cuando un ordenador emisor se da cuenta de que sus paquetes se están perdiendo, reduce su velocidad de transmisión a la mitad, luego lo vuelve a subir lentamente.
Un mejor protocolo podría permitir a un router mover los bits en los encabezados de paquetes para que los usuarios finales sepan que la red está congestionada, de modo que pueden acelerar las tasas de transmisión antes de que los paquetes se eliminen. O puede asignar a diferentes tipos de paquetes diferentes prioridades, y mantener las tasas de transmisión hasta cuando el tráfico de alta prioridad todavía está siendo enviado. Estos son los tipos de estrategias que los científicos informáticos están interesados en probar en redes reales.
Simulación rápida
Con el nuevo sistema de los investigadores del MIT, llamado Flexplane, el router que modela una red que ejecuta el nuevo protocolo, utiliza sólo los datos de encabezado de los paquetes, reduciendo su carga de cálculo. De hecho, no necesariamente usa todos los datos de encabezado, sólo los campos que son relevantes para implementar el nuevo protocolo.
Cuando un servidor de la red real desea transmitir datos, envía una petición al emulador, que envía un paquete ficticio a través de una red virtual gobernada por el nuevo protocolo. Cuando el paquete ficticio llega a su destino, el emulador le dice al servidor real que puede seguir adelante y enviar su paquete real.
Si, al pasar por la red virtual, un paquete ficticio tiene algunos de sus bits de encabezado invertidos, el servidor real vuelca los bits correspondientes en el paquete real antes de enviarlo. Si un router obstruido en la red virtual deja un paquete ficticio, el paquete real correspondiente nunca se envía. Y si en la red virtual un paquete ficticio de mayor prioridad alcanza un router después de un paquete de prioridad inferior pero salta por delante de él en la cola, entonces en la red real se envía primero el paquete de mayor prioridad.
Los servidores de la red, por lo tanto, ven los mismos paquetes en la misma secuencia que lo harían si los routers reales estuvieran ejecutando el nuevo protocolo. Hay un ligero retraso entre la primera solicitud emitida por el primer servidor y la primera instrucción de transmisión emitida por el emulador. Pero a partir de entonces, los servidores emiten paquetes a velocidades normales de la red.
La posibilidad de utilizar servidores reales que ejecutan aplicaciones web reales ofrece una ventaja significativa sobre otra técnica popular para probar nuevos esquemas de gestión de red: simulación de software, que generalmente utiliza patrones estadísticos para caracterizar el comportamiento de las aplicaciones de una manera informáticamente eficiente.
Autor: Larry Hardesty, MIT News Office