Redes informáticas que toleran latencia variable
Las redes tolerantes a retrasos ( DTN ) son un enfoque de la arquitectura de redes informáticas que busca abordar los problemas técnicos de las redes heterogéneas que pueden carecer de conectividad de red continua. Ejemplos de dichas redes son las que operan en entornos terrestres móviles o extremos, o las redes planificadas en el espacio.
Recientemente, [¿ cuándo? ] el término redes tolerantes a interrupciones ha ganado popularidad en los Estados Unidos debido al apoyo de DARPA , que ha financiado muchos proyectos DTN. Las interrupciones pueden ocurrir debido a los límites del alcance de las radios inalámbricas, la escasez de nodos móviles, los recursos energéticos, los ataques y el ruido.
Historia
En la década de 1970, impulsados por la disminución del tamaño de las computadoras , los investigadores comenzaron a desarrollar tecnología para el enrutamiento entre ubicaciones no fijas de computadoras. Si bien el campo del enrutamiento ad hoc estuvo inactivo durante la década de 1980, el uso generalizado de protocolos inalámbricos revitalizó el campo en la década de 1990, cuando las redes ad hoc móviles (MANET) y las redes ad hoc vehiculares se convirtieron en áreas de creciente interés.
Al mismo tiempo que las actividades de MANET (pero de forma independiente), DARPA había financiado a la NASA, MITRE y otros para desarrollar una propuesta para la Internet interplanetaria (IPN). El pionero de Internet Vint Cerf y otros desarrollaron la arquitectura inicial de la IPN, en relación con la necesidad de tecnologías de red que pudieran hacer frente a los retrasos significativos y la corrupción de paquetes de las comunicaciones del espacio profundo. En 2002, Kevin Fall comenzó a adaptar algunas de las ideas del diseño de la IPN a las redes terrestres y acuñó el término red tolerante al retraso y el acrónimo DTN. Un artículo publicado en la conferencia SIGCOMM de 2003 ofrece la motivación para las DTN. [1] A mediados de la década de 2000 aumentó el interés en las DTN, incluido un número creciente de conferencias académicas sobre redes tolerantes al retraso y a las interrupciones, y un creciente interés en combinar el trabajo de las redes de sensores y MANET con el trabajo sobre DTN. En este campo se realizaron muchas optimizaciones en algoritmos clásicos de redes ad hoc y tolerantes a retrasos y se comenzaron a examinar factores como la seguridad, la confiabilidad, la verificabilidad y otras áreas de investigación que se entienden bien en las redes informáticas tradicionales .
Enrutamiento
La capacidad de transportar o enrutar datos desde una fuente a un destino es una capacidad fundamental que deben tener todas las redes de comunicación. Las redes tolerantes a demoras e interrupciones (DTN, por sus siglas en inglés) se caracterizan por su falta de conectividad, lo que da como resultado una falta de rutas instantáneas de extremo a extremo. En estos entornos desafiantes, los protocolos de enrutamiento ad hoc populares, como AODV [2] y DSR [3], no logran establecer rutas. Esto se debe a que estos protocolos intentan primero establecer una ruta completa y luego, una vez que se ha establecido la ruta, reenviar los datos reales. Sin embargo, cuando las rutas instantáneas de extremo a extremo son difíciles o imposibles de establecer, los protocolos de enrutamiento deben adoptar un enfoque de "almacenamiento y reenvío", donde los datos se mueven y almacenan de manera incremental en toda la red con la esperanza de que eventualmente lleguen a su destino. [4] [5] [6] Una técnica común utilizada para maximizar la probabilidad de que un mensaje se transfiera con éxito es replicar muchas copias del mensaje con la esperanza de que una logre llegar a su destino. [7] Esto es factible solo en redes con grandes cantidades de almacenamiento local y ancho de banda entre nodos en relación con el tráfico esperado. En muchos espacios con problemas comunes, esta ineficiencia se ve compensada por la mayor eficiencia y los tiempos de entrega más cortos que se logran al aprovechar al máximo las oportunidades de reenvío no programado disponibles. En otros, donde las oportunidades de almacenamiento y rendimiento entre nodos disponibles están más limitadas, se requiere un algoritmo más discriminante.
Otras preocupaciones
Protocolos de paquete
En un esfuerzo por proporcionar un marco compartido para el desarrollo de algoritmos y aplicaciones en DTN, en 2007 se publicaron los RFC 4838 y 5050 para definir una abstracción común para el software que se ejecuta en redes interrumpidas. Comúnmente conocido como Protocolo Bundle, este protocolo define una serie de bloques de datos contiguos como un paquete, donde cada paquete contiene suficiente información semántica para permitir que la aplicación avance donde un bloque individual no puede. Los paquetes se enrutan de manera de almacenamiento y reenvío entre los nodos participantes a través de diversas tecnologías de transporte de red (incluidos los transportes basados en IP y no basados en IP ). Las capas de transporte que llevan los paquetes a través de sus redes locales se denominan capas de convergencia de paquetes. Por lo tanto, la arquitectura de paquetes funciona como una red superpuesta , que proporciona una nueva arquitectura de nombres basada en identificadores de punto final (EID) y una clase de ofertas de servicio de grano grueso .
Los protocolos que utilizan agrupación deben aprovechar las preferencias a nivel de aplicación para enviar paquetes a través de una red. Debido a la naturaleza de almacenamiento y reenvío de los protocolos tolerantes a demoras, las soluciones de enrutamiento para redes tolerantes a demoras pueden beneficiarse de la exposición a la información de la capa de aplicación. Por ejemplo, la programación de la red puede verse influenciada si los datos de la aplicación deben recibirse en su totalidad, rápidamente o sin variación en el retraso de los paquetes. Los protocolos de agrupación recopilan datos de la aplicación en paquetes que se pueden enviar a través de configuraciones de red heterogéneas con garantías de servicio de alto nivel. Las garantías de servicio generalmente se establecen por el nivel de aplicación, y la especificación del protocolo de agrupación RFC 5050 incluye marcas "masiva", "normal" y "acelerada".
En octubre de 2014, el Grupo de trabajo de ingeniería de Internet (IETF) creó un grupo de trabajo sobre redes tolerantes a retrasos para revisar y modificar el protocolo especificado en el RFC 5050. El Protocolo Bundle para CCSDS [8] es un perfil del RFC 5050 que aborda específicamente la utilidad del Protocolo Bundle para la comunicación de datos en misiones espaciales.
A partir de enero de 2022, el IETF publicó las siguientes RFC relacionadas con BPv7: RFC 9171, 9172, 9173, 9174.
Problemas de seguridad
El protocolo Bundle se ha centrado principalmente en abordar cuestiones de seguridad. Los posibles ataques adoptan la forma de nodos que se comportan como un "agujero negro" o un "inundador". [9] [10]
Las preocupaciones de seguridad para las redes tolerantes a los retrasos varían según el entorno y la aplicación, aunque la autenticación y la privacidad suelen ser críticas. Estas garantías de seguridad son difíciles de establecer en una red sin rutas bidireccionales continuas de extremo a extremo entre dispositivos porque la red obstaculiza los protocolos criptográficos complicados, dificulta el intercambio de claves y cada dispositivo debe identificar otros dispositivos visibles de forma intermitente. [11] [12] Las soluciones generalmente se han modificado a partir de la investigación de seguridad distribuida y de redes ad hoc móviles , como el uso de autoridades de certificación distribuidas [13] y esquemas PKI . Las soluciones originales de la comunidad de investigación tolerante a los retrasos incluyen: 1) el uso de cifrado basado en identidad , que permite a los nodos recibir información cifrada con su identificador público; [14] y 2) el uso de tablas a prueba de manipulaciones con un protocolo de chismes ; [15]
Implementaciones
Hay varias implementaciones del Protocolo Bundle:
BPv6 (RFC 5050, Protocolo de paquete paraCCSD)
A continuación se enumeran las principales implementaciones de BPv6. Existen otras implementaciones.
- DTN de alto rendimiento basado en C++17; DTN optimizado; se ejecuta directamente en Linux y Windows.
- Red de superposición interplanetaria de la NASA (ION): escrita en C; diseñada para ejecutarse en una amplia variedad de plataformas; cumple con las restricciones del software de vuelo espacial (por ejemplo, no tiene asignación de memoria dinámica).
- IBR-DTN—basado en C++; se ejecuta en enrutadores con OpenWRT; también contiene aplicaciones JAVA (aplicaciones de enrutador y de usuario) para usar en Android.
- DTN2—basado en C++; diseñado para ser una implementación de referencia/aprendizaje/enseñanza del Protocolo Bundle.
- DTN Marshal Enterprise (DTNME): solución empresarial basada en C++ diseñada como una implementación operativa de DTN. Actualmente se utiliza en operaciones de la ISS. DTNME es una implementación única compatible con BPv6 y BPv7.
BPv7 (RFC del Grupo de trabajo de investigación de Internet)
El borrador de BPv7 enumera seis implementaciones conocidas. [16]
- DTN de alto rendimiento basado en C++17; DTN optimizado; se ejecuta directamente en Linux y Windows.
- μPCN—C; construido sobre la API POSIX y FreeRTOS y pensado para ejecutarse en microsatélites de bajo coste.
- PyDTN—Python; desarrollado por X-works y durante el Hackathon IETF 101.
- Terra—Java; desarrollado en el contexto de DTN terrestre.
- dtn7-go—Go; implementación enfocada en la fácil extensibilidad y adecuada para la investigación.
- dtn7-rs—Rust; diseñado para entornos con recursos y requisitos de rendimiento limitados.
- Red de superposición interplanetaria de la NASA (ION)—C; diseñada para ser utilizada en entornos integrados, incluidas las computadoras de vuelo de naves espaciales.
- DTN Marshal Enterprise (DTNME): solución empresarial basada en C++ diseñada como una implementación operativa de DTN. Actualmente se utiliza en operaciones de la ISS. DTNME es una implementación única compatible con BPv6 y BPv7.
Otras implementaciones de DTN de código abierto de la NASA para BPv7
- NASA BPLib - C; una biblioteca de protocolos Bundle y aplicaciones asociadas del Centro de Vuelos Espaciales Goddard. Destinada a uso general, en particular en aplicaciones de vuelos espaciales, integración con cFS (sistema de vuelo central) y otras aplicaciones donde se necesitan capacidades de almacenamiento y reenvío. Se utilizará por primera vez en la misión PACE [1]
Esfuerzos de investigación
Actualmente se están llevando a cabo diversos esfuerzos de investigación que investigan las cuestiones relacionadas con la DTN:
Algunos esfuerzos de investigación analizan la DTN para la Internet interplanetaria mediante el examen del uso del Protocolo Bundle en el espacio:
- El proyecto Saratoga de la Universidad de Surrey , que fue el primero en probar el protocolo Bundle en el espacio en el satélite UK-DMC Disaster Monitoring Constellation en 2008. [17] [18] [19]
- Experimento de redes de impacto profundo (DINET) del JPL de la NASA a bordo de la nave espacial Deep Impact / EPOXI . [20] [21]
- BioServe Space Technologies, uno de los primeros desarrolladores de cargas útiles en adoptar la tecnología DTN, ha utilizado sus cargas útiles CGBA (Aparato de bioprocesamiento genérico comercial) a bordo de la ISS , que proporcionan plataformas computacionales/de comunicaciones, para implementar el protocolo DTN. [22] [23] [24]
- La NASA y la ESA utilizan Internet interplanetaria experimental para probar un robot desde la Estación Espacial Internacional [25]
Véase también
Referencias
- ^ Una arquitectura de red tolerante a retrasos para Internets desafiantes, K. Fall, SIGCOMM , agosto de 2003.
- ^ Perkins, C.; Royer, E. (1999), "Enrutamiento de vector de distancia ad hoc bajo demanda", Segundo taller IEEE sobre sistemas y aplicaciones de computación móvil
- ^ Johnson, D.; Maltz, D. (1996), "Enrutamiento dinámico de fuentes en redes inalámbricas ad hoc", Mobile Computing , Kluwer Academic, págs. 153-181
- ^ John Burgess, Brian Gallagher, David Jensen y Brian Neil Levine. MaxProp: Enrutamiento para redes tolerantes a interrupciones basadas en vehículos. En Proc. IEEE INFOCOM, abril de 2006.
- ^ Philo Juang; Hidekazu Oki; Yong Wang; Margaret Martonosi; Li Shiuan Peh; Daniel Rubenstein (2002). "Computación energéticamente eficiente para el seguimiento de la vida silvestre: compensaciones de diseño y primeras experiencias con ZebraNet". Actas de la 10.ª conferencia internacional sobre soporte arquitectónico para lenguajes de programación y sistemas operativos . págs. 96–107. doi :10.1145/605397.605408. ISBN 978-1-58113-574-9.S2CID1078542 .
- ^ Chaintreau, Augustin; Hui, Pan; Crowcroft, Jon; Diot, Christophe; Gass, Richard; Scott, James (2007). "Impacto de la movilidad humana en algoritmos de reenvío oportunistas". IEEE Transactions on Mobile Computing . 6 (6): 606–620. doi :10.1109/TMC.2007.1060. S2CID 206745317.
- ^ Vahdat, Amin; Becker, David (2000), "Enrutamiento epidémico para redes ad hoc parcialmente conectadas", Informe técnico CS-2000-06 , Duke University
- ^ Especificación del protocolo de paquete CCSDS (PDF) . Washington, DC: CCSDS. 2015.
- ^ Bucur, Doina; Iacca, Giovanni; Squillero, Giovanni; Tonda, Alberto (2015). "Agujeros negros y revelaciones: uso de algoritmos evolutivos para descubrir vulnerabilidades en redes tolerantes a interrupciones". En Mora, Antonio M.; Squillero, Giovanni (eds.). Aplicaciones de la computación evolutiva . Apuntes de clase en informática. Vol. 9028. Springer International Publishing. págs. 29–41. doi :10.1007/978-3-319-16549-3_3. hdl : 11572/196441 . ISBN . 978-3-319-16549-3.
- ^ Bucur, Doina; Iacca, Giovanni (1 de septiembre de 2017). "Métodos de búsqueda mejorados para evaluar la vulnerabilidad de las redes tolerantes a retrasos ante ataques heterogéneos fuertes coludidos". Expert Systems with Applications . 80 : 311–322. doi :10.1016/j.eswa.2017.03.035. hdl : 11572/196740 . ISSN 0957-4174. S2CID 37476103.
- ^ Kate, Aniket; Zaverucha, Greg; Hengartner, Urs (2007). "Anonimato y seguridad en redes tolerantes a retrasos". Tercera Conferencia Internacional sobre Seguridad y Privacidad en Redes de Comunicación (SecureComm 2007) . CiteSeerX 10.1.1.71.8314 .
- ^ Farrell, S.; Cahill, V. (17 de julio de 2006). "Consideraciones de seguridad en redes espaciales y tolerantes a retrasos". 2.ª Conferencia internacional IEEE sobre desafíos de las misiones espaciales para la tecnología de la información (SMC-IT'06) . pp. 8 pp.–38. doi :10.1109/SMC-IT.2006.66. ISBN 0-7695-2644-6. Número de identificación del sujeto 2191529.
- ^ DICTATE: Autoridad de Certificación Distribuida con Frescura Probabilística para Redes Ad Hoc
- ^ "Seguridad práctica para nodos desconectados" Seth, A. Keshav, S. 1er Taller IEEE ICNP sobre Protocolos de Red Segura (NPSec), 2005.
- ^ MobiRate: Cómo hacer que los evaluadores de telefonía móvil cumplan con su palabra. ACM Ubicomp 2008
- ^ Fall, Kevin; Birrane, Edward; Burleigh, Scott (28 de octubre de 2020). «Bundle Protocol Version 7». Ietf Datatracker . Consultado el 29 de octubre de 2020 .
- ^ Uso del protocolo de paquete de redes tolerantes a retrasos desde el espacio Archivado el 13 de mayo de 2008 en Wayback Machine , L. Wood et al. , Artículo de conferencia IAC-08-B2.3.10, 59.º Congreso Astronáutico Internacional, Glasgow, septiembre de 2008.
- ^ El satélite UK-DMC es el primero en transferir datos de sensores desde el espacio utilizando el protocolo 'bundle' Archivado el 26 de abril de 2012 en Wayback Machine , comunicado de prensa, Surrey Satellite Technology Ltd , 11 de septiembre de 2008.
- ^ CLEO Orbital Internet gana premio de la revista Time Archivado el 7 de diciembre de 2008 en Wayback Machine , Robin Wolstenholme, blog espacial de Surrey Satellite Technology Ltd , 14 de noviembre de 2008.
- ^ Una mejor red para el espacio exterior Archivado el 31 de marzo de 2012 en Wayback Machine , Brittany Sauser, MIT Technology Review, 27 de octubre de 2008.
- ^ La NASA prueba con éxito el primer Internet del espacio profundo Archivado el 24 de noviembre de 2010 en Wayback Machine , comunicado de prensa de la NASA 08-298, 18 de noviembre de 2008.
- ^ Jenkins, Andrew; Kuzminsky, Sebastian; Gifford, Kevin K.; Holbrook, Mark; Nichols, Kelvin; Pitts, Lee. (2010). "Redes tolerantes a retrasos e interrupciones: resultados de pruebas de vuelo de la Estación Espacial Internacional". Archivado el 2 de septiembre de 2011 en la Wayback Machine IEEE Aerospace Conference.
- ^ Gifford, Kevin K.; Jenkins, Andrew; Holbrook, Mark; Kuzminsky, Sebastian; Nichols, Kelvin; Pitts, Lee. (2010). "Implementación de DTN y opciones de utilización en la Estación Espacial Internacional". Archivado el 2 de septiembre de 2011 en Wayback Machine. Instituto Americano de Aeronáutica y Astronáutica. ]
- ^ El Grupo de Automatización de BioServe Space Technologies Universidad de Colorado, Boulder.
- ^ "La NASA y la ESA utilizan Internet interplanetario experimental para probar un robot desde la Estación Espacial Internacional". 7 de abril de 2015.