Redes de computadoras que toleran latencia variable
Las redes tolerantes al retardo ( DTN ) son un enfoque de la arquitectura de redes informáticas que busca abordar los problemas técnicos en redes heterogéneas que pueden carecer de conectividad de red continua. Ejemplos de dichas redes son las que funcionan en entornos móviles o terrestres 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. Pueden producirse interrupciones debido a los límites del alcance de la radio inalámbrica, la escasez de nodos móviles, los recursos energéticos, los ataques y el ruido.
Historia
En la década de 1970, impulsados por el tamaño cada vez menor de las computadoras , los investigadores comenzaron a desarrollar tecnología para el enrutamiento entre ubicaciones no fijas de las 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 móviles ad hoc (MANET) y las redes vehiculares ad hoc se convirtieron en áreas de creciente interés.
Al mismo tiempo que (pero separadamente) de las actividades de MANET, 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 IPN inicial, en relación con la necesidad de tecnologías de redes que puedan hacer frente a los importantes retrasos y la corrupción de paquetes de las comunicaciones en el espacio profundo. En 2002, Kevin Fall comenzó a adaptar algunas de las ideas del diseño de IPN a las redes terrestres y acuñó el término redes tolerantes al retraso y el acrónimo DTN. Un artículo publicado en la conferencia SIGCOMM de 2003 da la motivación para las DTN. [1] A mediados de la década de 2000 se produjo un mayor interés en las DTN, incluido un número cada vez mayor de conferencias académicas sobre redes tolerantes a retrasos e interrupciones, y un creciente interés en combinar el trabajo de redes de sensores y MANET con el trabajo en DTN. Este campo vio muchas optimizaciones en algoritmos de redes clásicos ad hoc y tolerantes a retrasos y comenzó a examinar factores como la seguridad, la confiabilidad, la verificabilidad y otras áreas de investigación que se comprenden bien en las redes de computadoras tradicionales .
Enrutamiento
La capacidad de transportar o enrutar datos desde un origen a un destino es una capacidad fundamental que deben tener todas las redes de comunicación. Las redes tolerantes a retrasos e interrupciones (DTN) se caracterizan por su falta de conectividad, lo que resulta en 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 establecida la ruta, reenviar los datos reales. Sin embargo, cuando es difícil o imposible establecer rutas instantáneas de extremo a extremo, los protocolos de enrutamiento deben adoptar un enfoque de "almacenamiento y reenvío", en el que los datos se mueven y almacenan de forma incremental a lo largo de 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 sólo es factible en redes con grandes cantidades de almacenamiento local y ancho de banda internodo 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 son posibles al aprovechar al máximo las oportunidades de envío no programadas disponibles. En otros, donde las oportunidades de almacenamiento disponible y rendimiento de los entrenudos están más limitadas, se requiere un algoritmo más discriminado.
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 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 de paquete, 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 hacerlo. 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 transportes IP y no basados en IP ). Las capas de transporte que transportan los paquetes a través de sus redes locales se denominan capas de convergencia de paquetes. Por lo tanto, la arquitectura del paquete funciona como una red superpuesta , proporcionando una nueva arquitectura de nombres basada en identificadores de punto final (EID) y ofertas de servicios de clase general .
Los protocolos que utilizan paquetes 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 al retraso, las soluciones de enrutamiento para redes tolerantes al retraso 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 paquete recopilan datos de aplicaciones 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 según el nivel de aplicación, y la especificación del protocolo de paquete RFC 5050 incluye marcas "masivas", "normales" y "aceleradas".
En octubre de 2014, el Grupo de trabajo de ingeniería de Internet (IETF) creó una instancia de un grupo de trabajo sobre redes tolerantes al retardo para revisar el protocolo especificado en RFC 5050. El protocolo Bundle para CCSDS [8] es un perfil de RFC 5050 que aborda específicamente la utilidad del protocolo Bundle para Comunicación de datos en misiones espaciales.
En enero de 2022, el IETF publicó los siguientes RFC relacionados con BPv7: RFC 9171, 9172, 9173, 9174.
Temas de seguridad
Abordar los problemas de seguridad ha sido un objetivo importante del protocolo del paquete. Los posibles ataques toman la forma de nodos que se comportan como un "agujero negro" o una "inundación". [9] [10]
Las preocupaciones de seguridad para las redes tolerantes a retrasos varían según el entorno y la aplicación, aunque la autenticación y la privacidad suelen ser fundamentales. 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 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 redes móviles ad hoc e investigaciones de seguridad distribuida, 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 para CCSDS )
La implementación principal de BPv6 se enumera a continuación. Existen otras implementaciones.
- Basado en DTN-C++17 de alta velocidad; DTN de rendimiento optimizado; Se ejecuta directamente en Linux y Windows.
- Red de superposición interplanetaria (ION) de la NASA: escrita en C; diseñado para ejecutarse en una amplia variedad de plataformas; cumple con las restricciones para el software de vuelos espaciales (por ejemplo, sin asignación de memoria dinámica).
- IBR-DTN: basado en C++; se ejecuta en enrutadores con OpenWRT; También contiene aplicaciones JAVA (enrutador y aplicaciones 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): basado en C++; Solución empresarial; diseñado como una implementación operativa de DTN. Actualmente utilizado en operaciones de la ISS. DTNME es una implementación única que admite tanto BPv6 como BPv7.
BPv7 (RFC del Grupo de Trabajo de Investigación de Internet)
El borrador de BPv7 enumera seis implementaciones conocidas. [dieciséis]
- Basado en DTN-C++17 de alta velocidad; DTN de rendimiento optimizado; Se ejecuta directamente en Linux y Windows.
- µPCN—C; construido sobre la API POSIX y FreeRTOS y diseñado para ejecutarse en microsatélites de bajo costo.
- PyDTN: Python; desarrollado por X-works y durante el IETF 101 Hackathon.
- Tierra: Java; desarrollado en el contexto de la DTN terrestre.
- dtn7-go—Ir; Implementación enfocada en una fácil extensibilidad y adecuada para la investigación.
- dtn7-rs: óxido; Diseñado para entornos con recursos y requisitos de rendimiento limitados.
- Red de superposición interplanetaria (ION) de la NASA: C; destinado a ser utilizable en entornos integrados, incluidas las computadoras de vuelo de naves espaciales.
- DTN Marshal Enterprise (DTNME): basado en C++; Solución empresarial; diseñado como una implementación operativa de DTN. Actualmente utilizado en operaciones de la ISS. DTNME es una implementación única que admite tanto BPv6 como BPv7.
Otras implementaciones de DTN de código abierto de la NASA para BPv7
- NASA BPLib-C; Una biblioteca de protocolos de paquete y aplicaciones asociadas del Goddard Space Flight Center. Diseñado para uso general, particularmente 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. La primera vez se utilizará en la misión PACE [1]
Esfuerzos de investigación
Actualmente, varios esfuerzos de investigación están investigando los problemas relacionados con DTN:
Algunos esfuerzos de investigación analizan DTN para Internet interplanetario examinando el uso del protocolo Bundle en el espacio:
- El proyecto Saratoga de la Universidad de Surrey , que fue el primero en probar el protocolo de paquete en el espacio en el satélite UK-DMC Disaster Monitoring Constellation en 2008. [17] [18] [19]
- Experimento Deep Impact Networking (DINET) de la NASA JPL 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 interplanetario experimental para probar un robot desde la Estación Espacial Internacional [25]
Ver también
Referencias
- ^ Una arquitectura de red tolerante a retrasos para Internet desafiada, K. Fall, SIGCOMM , agosto de 2003.
- ^ Perkins, C.; Royer, E. (1999), "Enrutamiento por vector de distancia bajo demanda ad hoc", Segundo taller del IEEE sobre sistemas y aplicaciones de computación móvil
- ^ Johnson, D.; Maltz, D. (1996), "Enrutamiento de fuente dinámica en redes inalámbricas ad hoc", Computación móvil , 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.
- ^ Filo Juang; Hidekazu Oki; Yong Wang; Margarita Martonosi; Li Shiuan Peh; Daniel Rubenstein (2002). "Computación energéticamente eficiente para el seguimiento de la vida silvestre: compensaciones de diseño y experiencias tempranas con ZebraNet". Actas de la décima 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. S2CID 1078542.
- ^ Chaintreau, Agustín; Hui, Pan; Crowcroft, Jon; Diot, Christophe; Gass, Richard; Scott, James (2007). "Impacto de la movilidad humana en los algoritmos de reenvío oportunistas". Transacciones IEEE sobre informática móvil . 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 , Universidad de Duke
- ^ Especificación del protocolo del 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 conferencias sobre informática. vol. 9028. Publicaciones internacionales Springer. 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 la colusión de fuertes ataques heterogéneos". Sistemas Expertos con Aplicaciones . 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". 3er Congreso Internacional sobre Seguridad y Privacidad en Redes de Comunicaciones (SecureComm 2007) . CiteSeerX 10.1.1.71.8314 .
- ^ Farrell, S.; Cahill, V. (17 de julio de 2006). "Consideraciones de seguridad en redes tolerantes a retrasos y espacio". Segunda Conferencia Internacional IEEE sobre Desafíos de las Misiones Espaciales para la Tecnología de la Información (SMC-IT'06) . págs.8 págs.–38. doi :10.1109/SMC-IT.2006.66. ISBN 0-7695-2644-6. S2CID 2191529.
- ^ DICTADO: 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 de IEEE ICNP sobre protocolos de red seguros (NPSec), 2005.
- ^ MobiRate: hacer que los evaluadores móviles cumplan su palabra. ACM Ubicomp 2008
- ^ Caída, Kevin; Birrane, Eduardo; Burleigh, Scott (28 de octubre de 2020). "Protocolo de paquete versión 7". Rastreador de datos del IETF . Consultado el 29 de octubre de 2020 .
- ^ Uso del protocolo del paquete de redes tolerantes a retrasos desde el espacio Archivado el 13 de mayo de 2008 en Wayback Machine , L. Wood et al. , Documento 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 mediante el protocolo 'paquete' 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 el 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 la primera Internet en el 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, Andrés; Kuzminsky, Sebastián; Gifford, Kevin K.; Holbrook, Marcos; Nicols, Kelvin; Pitts, Lee. (2010). "Redes tolerantes a retrasos/interrupciones: resultados de pruebas de vuelo desde la Estación Espacial Internacional". Archivado el 2 de septiembre de 2011 en la Conferencia Aeroespacial IEEE de Wayback Machine .
- ^ Gifford, Kevin K.; Jenkins, Andrés; Holbrook, Marcos; Kuzminsky, Sebastián; Nicols, Kelvin; Pitts, Lee. (2010). "Opciones de implementación y utilización de DTN en la Estación Espacial Internacional". Archivado el 2 de septiembre de 2011 en el Instituto Americano de Aeronáutica y Astronáutica Wayback Machine . ]
- ^ 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.