Las redes tolerantes a la latencia ( DTN , por sus siglas en inglés) son un enfoque de arquitectura de redes informáticas que busca solucionar los problemas técnicos de las redes heterogéneas que pueden carecer de conectividad continua. Ejemplos de estas redes son las que operan en entornos móviles o terrestres extremos, o las redes planificadas en el espacio.
Recientemente, el término redes tolerantes a interrupciones (DTN, por sus siglas en inglés) ha ganado popularidad en Estados Unidos gracias al apoyo de DARPA , que ha financiado numerosos proyectos DTN. Las interrupciones pueden producirse debido a las limitaciones del alcance de las comunicaciones 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 permaneció inactivo durante la década de 1980, el uso generalizado de protocolos inalámbricos revitalizó el sector en la década de 1990, a medida que las redes móviles ad hoc (MANET) y las redes vehiculares ad hoc se convirtieron en áreas de creciente interés.
Simultáneamente con (pero independientemente de) las actividades de MANET, DARPA financió 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, relacionada con la necesidad de tecnologías de red 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 la IPN a las redes terrestres y acuñó el término redes tolerantes a la latencia 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 trajo un mayor interés en las DTN, incluyendo un número creciente de conferencias académicas sobre redes tolerantes a la latencia 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. Este campo experimentó muchas optimizaciones en algoritmos de redes clásicas ad hoc y tolerantes a la latencia, 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 informáticas 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 la ausencia 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 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 incrementalmente a lo largo de la red con la esperanza de que finalmente 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 solo es factible en redes con gran cantidad de almacenamiento local y ancho de banda entre nodos en relación con el tráfico previsto. En muchos ámbitos problemáticos comunes, esta ineficiencia se compensa con la mayor eficiencia y la reducción de los tiempos de entrega que se consiguen al aprovechar al máximo las oportunidades de reenvío no programado disponibles. En otros casos, donde el almacenamiento disponible y el rendimiento entre nodos están más restringidos, se requiere un algoritmo más selectivo.
Otras preocupaciones
Protocolos de paquete
Con el objetivo de proporcionar un marco común para el desarrollo de algoritmos y aplicaciones en redes de transmisión distribuida (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. Conocido comúnmente como el Protocolo de Paquetes, 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 podría no hacerlo. Los paquetes se enrutan de forma que se almacenen y reenvíen entre los nodos participantes a través de diversas tecnologías de transporte de red (incluidos transportes basados en IP y no 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 opera como una red superpuesta , proporcionando una nueva arquitectura de nombres basada en identificadores de punto final (EID) y ofertas de clases de servicio de grano grueso .
Los protocolos que utilizan agrupamiento deben aprovechar las preferencias de la capa 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 la latencia, las soluciones de enrutamiento para redes tolerantes a la latencia pueden beneficiarse del acceso a la información de la capa de aplicación. Por ejemplo, la planificació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 la latencia de los paquetes. Los protocolos de agrupamiento recopilan datos de la aplicación en paquetes que pueden enviarse a través de configuraciones de red heterogéneas con garantías de servicio de alto nivel. Las garantías de servicio generalmente las establece la capa de aplicación, y la especificación del protocolo de agrupamiento RFC 5050 incluye las marcas "masivo", "normal" y "expedido".
En octubre de 2014, el Grupo de Trabajo de Ingeniería de Internet (IETF) creó un grupo de trabajo de Redes Tolerantes a la Retraso para revisar y modificar el protocolo especificado en la RFC 5050. El Protocolo de Paquetes para CCSDS [ 8 ] es un perfil de la RFC 5050 que aborda específicamente la utilidad del Protocolo de Paquetes para la comunicación de datos en misiones espaciales.
En enero de 2022, el IETF publicó los siguientes RFC relacionados con BPv7: RFC 9171 , 9172 , 9173 y 9174. En enero de 2025, se publicó el RFC 9713 , que actualiza el RFC 9171.
Problemas de seguridad
Abordar los problemas de seguridad ha sido un objetivo principal del protocolo bundle. 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 la latencia 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 dificulta los protocolos criptográficos complejos, dificulta el intercambio de claves y cada dispositivo debe identificar otros dispositivos visibles intermitentemente. [ 11 ] [ 12 ] Las soluciones generalmente se han modificado a partir de la investigación sobre redes móviles ad hoc y 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 la latencia 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
Existen varias implementaciones del Protocolo de Paquetes:
BPv6 ( RFC 5050 , Protocolo de paquete para CCSDS )
A continuación se enumeran las principales implementaciones de BPv6. Existen otras implementaciones.
- DTN de alta velocidad: basado en C++17; DTN optimizado para el rendimiento; se ejecuta directamente en Linux y Windows.
- Red Interplanetaria Superpuesta (ION) de la NASA : escrita en C; diseñada para ejecutarse en una amplia variedad de plataformas; cumple con las restricciones del software para vuelos espaciales (por ejemplo, no utiliza asignación dinámica de memoria).
- IBR-DTN — Basado en C++; se ejecuta en routers con OpenWRT; también contiene aplicaciones Java (aplicaciones para router y para usuario) para su uso 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 se utiliza en operaciones de la ISS. DTNME es una implementación única que admite tanto BPv6 como BPv7.
BPv7
Las siguientes implementaciones de BPv7 existen entre otras y están parcialmente enumeradas en el borrador de RFC de BPv7. [ 16 ]
- DTN de alta velocidad: basado en C++17; DTN optimizado para el rendimiento; se ejecuta directamente en Linux y Windows.
- μPCN —C; desarrollado sobre la API POSIX y FreeRTOS, y diseñado para ejecutarse en microsatélites de bajo coste.
- μD3TN —C; implementación del protocolo DTN, mantenida activamente y probada en el espacio, basada inicialmente en μPCN.
- PyDTN—Python; desarrollado por X-works durante el Hackathon IETF 101.
- Terra —Java; desarrollado en el contexto de DTN terrestre.
- dtn7-go —Go; implementación centrada 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 Interplanetaria Superpuesta (ION) de la NASA —C; diseñada para ser utilizada en entornos integrados, incluyendo 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 se utiliza en operaciones de la ISS. DTNME es una implementación única que admite tanto BPv6 como BPv7.
- NASA BPLib -C; una biblioteca de protocolos de paquetes y aplicaciones asociadas del Centro de Vuelo Espacial Goddard. Diseñada para uso general, particularmente en aplicaciones de vuelos espaciales, integración con cFS (sistema de vuelo central) y otras aplicaciones donde se requieren capacidades de almacenamiento y reenvío. Se utilizará por primera vez en la misión PACE.
esfuerzos de investigación
Actualmente, diversas investigaciones están analizando los problemas relacionados con DTN:
- El Grupo de Investigación de Redes Tolerantes a la Retardo .
- El proyecto Tecnología e Infraestructura para Regiones en Desarrollo en UC Berkeley
- El proyecto de investigación Bytewalla en el Real Instituto de Tecnología, KTH.
- El proyecto de investigación KioskNet en la Universidad de Waterloo .
- DieselNet archivado el 17 de marzo de 2022 en el proyecto de investigación Wayback Machine de la Universidad de Massachusetts Amherst , Amherst.
- La iniciativa de investigación ResiliNets en la Universidad de Kansas y la Universidad de Lancaster .
- El proyecto de investigación europeo Wayback Machine, titulado "The Haggle" , fue archivado el 8 de septiembre de 2019.
- El proyecto Centro de Interconexión Espacial EU/FP7 en la Universidad Demócrito de Tracia .
- El proyecto de investigación N4C UE/FP7.
- El proyecto WNaN de DARPA.
- Los proyectos EMMA y OPTRACOM en la Universidad Técnica de Braunschweig
- El DTN de la Universidad Tecnológica de Helsinki .
- El proyecto SARAH , archivado el 25 de diciembre de 2018 en Wayback Machine , fue financiado por la Agencia Nacional de Investigación francesa ( ANR ).
- El desarrollo de la plataforma DoDWAN en la Université Bretagne Sud .
- El proyecto CROWD fue archivado el 21 de julio de 2011 en Wayback Machine , proyecto financiado por la Agencia Nacional de Investigación francesa ( ANR ).
- El proyecto PodNet en KTH Estocolmo y ETH Zúrich.
Algunos estudios analizan la red de transporte distribuido (DTN) para la Internet interplanetaria examinando el uso del protocolo Bundle en el espacio:
- El Saratoga se archivó el 12 de diciembre de 2009 en el proyecto Wayback Machine de la Universidad de Surrey , que fue el primero en probar el protocolo de paquetes 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 (Commercial Generic Bioprocessing Apparatus) a bordo de la ISS , que proporcionan plataformas de computación y 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 ].
Véase también
Referencias
- ↑ Arquitectura de red tolerante a la latencia para Internets con limitaciones , K. Fall, SIGCOMM , agosto de 2003.
- ↑ Perkins, C.; Royer, E. (1999), "Enrutamiento vectorial de distancia bajo demanda ad hoc", 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, pp . 153–181
- ↑ John Burgess, Brian Gallagher, David Jensen y Brian Neil Levine. MaxProp: Enrutamiento para redes tolerantes a interrupciones basadas en vehículos. En Actas de 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: Compromisos 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. S2CID 1078542 .
- ↑ Chaintreau, Augustin; Hui, Pan; Crowcroft, Jon; Diot, Christophe; Gass, Richard; Scott, James (2007). "Impacto de la movilidad humana en los algoritmos de reenvío oportunista". IEEE Transactions on Mobile Computing . 6 (6): 606– 620. Bibcode : 2007ITMC....6..606C . 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 . Lecture Notes in Computer Science. Vol. 9028. Springer International Publishing. pp. 29–41 . doi : 10.1007/978-3-319-16549-3_3 . hdl : 11572/196441 . ISBN 978-3-319-16549-3.
- ↑ Bucur, Doina; Iacca, Giovanni (2017-09-01). "Métodos de búsqueda mejorados para evaluar la vulnerabilidad de las redes tolerantes a retrasos a ataques heterogéneos fuertes y 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 la latencia". 3.ª 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 la latencia». 2.ª Conferencia Internacional IEEE sobre Desafíos de las Misiones Espaciales para la Tecnología de la Información (SMC-IT'06) . pp. 8–38. doi : 10.1109/SMC-IT.2006.66 . ISBN 0-7695-2644-6. S2CID 2191529 .
- ↑ DICTAR: 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 lograr que los evaluadores de aplicaciones móviles cumplan su palabra . ACM Ubicomp 2008
- ↑ Fall, Kevin; Birrane, Edward; Burleigh, Scott (28 de octubre de 2020). "Protocolo de paquetes versión 7" . Ietf Datatracker . Recuperado el 29 de octubre de 2020 .
- ↑ Uso del protocolo de paquete de red tolerante 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 Internacional de Astronáutica, 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 un 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 conexión a 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, Andrew; Kuzminsky, Sebastian; Gifford, Kevin K.; Holbrook, Mark; Nichols, 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 Wayback Machine IEEE Aerospace Conference.
- ↑ Gifford, Kevin K.; Jenkins, Andrew; Holbrook, Mark; Kuzminsky, Sebastian; Nichols, 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 Wayback Machine del Instituto Americano de Aeronáutica y Astronáutica. ]
- ↑ El Grupo de Automatización de BioServe Space Technologies, Universidad de Colorado en Boulder.
- ↑ "La NASA y la ESA utilizan una red interplanetaria experimental para probar un robot desde la Estación Espacial Internacional" . 7 de abril de 2015.
- Arquitectura de red
- protocolos de red