Delay-tolerant networking

Delay-tolerant networking (DTN) is an approach to computer network architecture that seeks to address the technical issues in heterogeneous networks that may lack continuous network connectivity. Examples of such networks are those operating in mobile or extreme terrestrial environments, or planned networks in space.

Recently,[when?] the term disruption-tolerant networking has gained currency in the United States due to support from DARPA, which has funded many DTN projects. Disruption may occur because of the limits of wireless radio range, sparsity of mobile nodes, energy resources, attack, and noise.

History edit

In the 1970s, spurred by the decreasing size of computers, researchers began developing technology for routing between non-fixed locations of computers. While the field of ad hoc routing was inactive throughout the 1980s, the widespread use of wireless protocols reinvigorated the field in the 1990s as mobile ad hoc networking (MANET) and vehicular ad hoc networking became areas of increasing interest.

Concurrently with (but separate from) the MANET activities, DARPA had funded NASA, MITRE and others to develop a proposal for the Interplanetary Internet (IPN). Internet pioneer Vint Cerf and others developed the initial IPN architecture, relating to the necessity of networking technologies that can cope with the significant delays and packet corruption of deep-space communications. In 2002, Kevin Fall started to adapt some of the ideas in the IPN design to terrestrial networks and coined the term delay-tolerant networking and the DTN acronym. A paper published in 2003 SIGCOMM conference gives the motivation for DTNs.[1] The mid-2000s brought about increased interest in DTNs, including a growing number of academic conferences on delay and disruption-tolerant networking, and growing interest in combining work from sensor networks and MANETs with the work on DTN. This field saw many optimizations on classic ad hoc and delay-tolerant networking algorithms and began to examine factors such as security, reliability, verifiability, and other areas of research that are well understood in traditional computer networking.

Routing edit

The ability to transport, or route, data from a source to a destination is a fundamental ability all communication networks must have. Delay and disruption-tolerant networks (DTNs), are characterized by their lack of connectivity, resulting in a lack of instantaneous end-to-end paths. In these challenging environments, popular ad hoc routing protocols such as AODV[2] and DSR[3] fail to establish routes. This is due to these protocols trying to first establish a complete route and then, after the route has been established, forward the actual data. However, when instantaneous end-to-end paths are difficult or impossible to establish, routing protocols must take to a "store and forward" approach, where data is incrementally moved and stored throughout the network in hopes that it will eventually reach its destination.[4][5][6] A common technique used to maximize the probability of a message being successfully transferred is to replicate many copies of the message in the hope that one will succeed in reaching its destination.[7] This is feasible only on networks with large amounts of local storage and internode bandwidth relative to the expected traffic. In many common problem spaces, this inefficiency is outweighed by the increased efficiency and shortened delivery times made possible by taking maximum advantage of available unscheduled forwarding opportunities. In others, where available storage and internode throughput opportunities are more tightly constrained, a more discriminate algorithm is required.

Other concerns edit

Bundle protocols edit

In efforts to provide a shared framework for algorithm and application development in DTNs, RFC 4838 and 5050 were published in 2007 to define a common abstraction to software running on disrupted networks. Commonly known as the Bundle Protocol, this protocol defines a series of contiguous data blocks as a bundle—where each bundle contains enough semantic information to allow the application to make progress where an individual block may not. Bundles are routed in a store and forward manner between participating nodes over varied network transport technologies (including both IP and non-IP based transports). The transport layers carrying the bundles across their local networks are called bundle convergence layers. The bundle architecture therefore operates as an overlay network, providing a new naming architecture based on Endpoint Identifiers (EIDs) and coarse-grained class of service offerings.

Protocols using bundling must leverage application-level preferences for sending bundles across a network. Due to the store and forward nature of delay-tolerant protocols, routing solutions for delay-tolerant networks can benefit from exposure to application-layer information. For example, network scheduling can be influenced if application data must be received in its entirety, quickly, or without variation in packet delay. Bundle protocols collect application data into bundles that can be sent across heterogeneous network configurations with high-level service guarantees. The service guarantees are generally set by the application level, and the RFC 5050 Bundle Protocol specification includes "bulk", "normal", and "expedited" markings.

In October 2014 the Internet Engineering Task Force (IETF) instantiated a Delay Tolerant Networking working group to review and revise the protocol specified in RFC 5050. The Bundle Protocol for CCSDS[8] is a profile of RFC 5050 specifically addressing the Bundle Protocol's utility for data communication in space missions.

As of January 2022, the IETF published the following RFCs related to BPv7: RFC 9171, 9172, 9173, 9174.

Security issues edit

Addressing security issues has been a major focus of the bundle protocol. Possible attacks take the form of nodes behaving as a "black hole" or a "flooder".[9][10]

Security concerns for delay-tolerant networks vary depending on the environment and application, though authentication and privacy are often critical. These security guarantees are difficult to establish in a network without continuous bi-directional end-to-end paths between devices because the network hinders complicated cryptographic protocols, hinders key exchange, and each device must identify other intermittently visible devices.[11][12] Solutions have typically been modified from mobile ad hoc network and distributed security research, such as the use of distributed certificate authorities[13] and PKI schemes. Original solutions from the delay-tolerant research community include: 1) the use of identity-based encryption, which allows nodes to receive information encrypted with their public identifier;[14] and 2) the use of tamper-evident tables with a gossiping protocol;[15]

Implementations edit

There are a number of implementations of the Bundle Protocol:

BPv6 (RFC 5050, Bundle Protocol for CCSDS) edit

The main implementation of BPv6 are listed below. A number of other implementations exist.

  • High-rate DTN-C++17 - based; performance-optimized DTN; runs directly on Linux and Windows.
  • NASA Interplanetary Overlay Network (ION)—Written in C; designed to run on a wide variety of platforms; conforms to restrictions for space flight software (e.g. no dynamic memory allocation).
  • IBR-DTN—C++ - based; runs on routers with OpenWRT; also contains JAVA applications (router and user apps) for use on Android.
  • DTN2—C++ - based; designed to be a reference / learning / teaching implementation of the Bundle Protocol.
  • DTN Marshal Enterprise (DTNME) — C++ - based; Enterprise solution; designed as an operational DTN implementation. Currently used in ISS operations. DTNME is a single implementation supporting both BPv6 and BPv7.

BPv7 (Internet Research Task Force RFC) edit

The draft of BPv7 lists six known implementations.[16]

  • High-rate DTN-C++17 - based; performance-optimized DTN; runs directly on Linux and Windows.
  • µPCN—C; built upon the POSIX API as well as FreeRTOS and intended to run on low-cost micro satellites.
  • PyDTN—Python; developed by X-works and during the IETF 101 Hackathon.
  • Terra—Java; developed in the context of terrestrial DTN.
  • dtn7-go—Go; implementation focused on easy extensibility and suitable for research.
  • dtn7-rs—Rust; intended for environments with limited resources and performance requirements.
  • NASA Interplanetary Overlay Network (ION)—C; intended to be usable in embedded environments including spacecraft flight computers.
  • DTN Marshal Enterprise (DTNME) — C++ - based; Enterprise solution; designed as an operational DTN implementation. Currently used in ISS operations. DTNME is a single implementation supporting both BPv6 and BPv7.

Other NASA open source DTN for BPv7 implementations edit

  • NASA BPLib - C; A Bundle Protocol library and associated applications by Goddard Space Flight Center. Intended for general use, particularly in space flight applications, integration with cFS (core Flight System), and other applications where store-and-forward capabilities are needed. First time will be used on PACE mission [1]

Research efforts edit

Various research efforts are currently investigating the issues involved with DTN:

Some research efforts look at DTN for the Interplanetary Internet by examining use of the Bundle Protocol in space:

  • The Saratoga project at the University of Surrey, which was the first to test the bundle protocol in space on the UK-DMC Disaster Monitoring Constellation satellite in 2008.[17][18][19]
  • NASA JPL's Deep Impact Networking (DINET) Experiment on board the Deep Impact/EPOXI spacecraft.[20][21]
  • BioServe Space Technologies, one of the first payload developers to adopt the DTN technology, has utilized their CGBA (Commercial Generic Bioprocessing Apparatus) payloads on board the ISS, which provide computational/communications platforms, to implement the DTN protocol.[22][23][24]
  • NASA, ESA Use Experimental Interplanetary Internet to Test Robot From International Space Station [25]

See also edit

References edit

  1. ^ A Delay-Tolerant Network Architecture for Challenged Internets, K. Fall, SIGCOMM, August 2003.
  2. ^ Perkins, C.; Royer, E. (1999), "Ad hoc on-demand distance vector routing", The Second IEEE Workshop on Mobile Computing Systems and Applications
  3. ^ Johnson, D.; Maltz, D. (1996), "Dynamic source routing in ad hoc wireless networks", Mobile Computing, Kluwer Academic, pp. 153–181
  4. ^ John Burgess, Brian Gallagher, David Jensen, and Brian Neil Levine. MaxProp: Routing for vehicle-based disruption-tolerant networks. In Proc. IEEE INFOCOM, April 2006.
  5. ^ Philo Juang; Hidekazu Oki; Yong Wang; Margaret Martonosi; Li Shiuan Peh; Daniel Rubenstein (2002). "Energy-efficient computing for wildlife tracking: Design tradeoffs and early experiences with ZebraNet". Proceedings of the 10th international conference on Architectural support for programming languages and operating systems. pp. 96–107. doi:10.1145/605397.605408. ISBN 978-1-58113-574-9. S2CID 1078542.
  6. ^ Chaintreau, Augustin; Hui, Pan; Crowcroft, Jon; Diot, Christophe; Gass, Richard; Scott, James (2007). "Impact of human mobility on opportunistic forwarding algorithms". IEEE Transactions on Mobile Computing. 6 (6): 606–620. doi:10.1109/TMC.2007.1060. S2CID 206745317.
  7. ^ Vahdat, Amin; Becker, David (2000), "Epidemic routing for partially connected ad hoc networks", Technical Report CS-2000-06, Duke University
  8. ^ CCSDS Bundle Protocol Specification (PDF). Washington, D.C.: CCSDS. 2015.
  9. ^ Bucur, Doina; Iacca, Giovanni; Squillero, Giovanni; Tonda, Alberto (2015). "Black Holes and Revelations: Using Evolutionary Algorithms to Uncover Vulnerabilities in Disruption-Tolerant Networks". In Mora, Antonio M.; Squillero, Giovanni (eds.). Applications of Evolutionary Computation. 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.
  10. ^ Bucur, Doina; Iacca, Giovanni (2017-09-01). "Improved search methods for assessing Delay-Tolerant Networks vulnerability to colluding strong heterogeneous attacks". Expert Systems with Applications. 80: 311–322. doi:10.1016/j.eswa.2017.03.035. hdl:11572/196740. ISSN 0957-4174. S2CID 37476103.
  11. ^ Kate, Aniket; Zaverucha, Greg; Hengartner, Urs (2007). "Anonymity and security in delay tolerant networks". 3rd International Conference on Security and Privacy in Communication Networks (SecureComm 2007). CiteSeerX 10.1.1.71.8314.
  12. ^ Farrell, S.; Cahill, V. (2006-07-17). "Security Considerations in Space and Delay Tolerant Networks". 2nd IEEE International Conference on Space Mission Challenges for Information Technology (SMC-IT'06). pp. 8 pp.–38. doi:10.1109/SMC-IT.2006.66. ISBN 0-7695-2644-6. S2CID 2191529.
  13. ^ DICTATE: DIstributed CerTification Authority with probabilisTic frEshness for Ad Hoc Networks
  14. ^ "Practical security for disconnected nodes" Seth, A. Keshav, S. 1st IEEE ICNP Workshop on Secure Network Protocols (NPSec), 2005.
  15. ^ MobiRate: Making Mobile Raters Stick to their Word. ACM Ubicomp 2008
  16. ^ Fall, Kevin; Birrane, Edward; Burleigh, Scott (28 October 2020). "Bundle Protocol Version 7". Ietf Datatracker. Retrieved 2020-10-29.
  17. ^ Use of the Delay-Tolerant Networking Bundle Protocol from Space Archived 2008-05-13 at the Wayback Machine, L. Wood et al., Conference paper IAC-08-B2.3.10, 59th International Astronautical Congress, Glasgow, September 2008.
  18. ^ UK-DMC satellite first to transfer sensor data from space using 'bundle' protocol Archived 2012-04-26 at the Wayback Machine, press release, Surrey Satellite Technology Ltd, 11 September 2008.
  19. ^ CLEO Orbital Internet earns Time Magazine award Archived 2008-12-07 at the Wayback Machine, Robin Wolstenholme, Surrey Satellite Technology Ltd space blog, 14 November 2008.
  20. ^ A Better Network for Outer Space Archived 2012-03-31 at the Wayback Machine, Brittany Sauser, MIT Technology Review, 27 October 2008.
  21. ^ NASA Successfully Tests First Deep Space Internet Archived 2010-11-24 at the Wayback Machine, NASA press release 08-298, 18 November 2008.
  22. ^ Jenkins, Andrew; Kuzminsky, Sebastian; Gifford, Kevin K.; Holbrook, Mark; Nichols, Kelvin; Pitts, Lee. (2010). "Delay/Disruption-Tolerant Networking: Flight Test Results from the International Space Station." Archived 2011-09-02 at the Wayback Machine IEEE Aerospace Conference.
  23. ^ Gifford, Kevin K.; Jenkins, Andrew; Holbrook, Mark; Kuzminsky, Sebastian; Nichols, Kelvin; Pitts, Lee. (2010). "DTN Implementation and Utilization Options on the International Space Station." Archived 2011-09-02 at the Wayback Machine American Institute of Aeronautics and Astronautics.]
  24. ^ The Automation Group at BioServe Space Technologies University of Colorado, Boulder.
  25. ^ "NASA, ESA Use Experimental Interplanetary Internet to Test Robot from International Space Station". 7 April 2015.