Skip to content

HDTN FAQ

Dr. Rachel Dudukovich edited this page Jan 4, 2024 · 6 revisions

HDTN FAQ - Updated 1/4/2024

1. What is the interface for managing contacts (using either CGR or multigraph)? How do clients operate this?

HDTN can read a contact plan from a file in JSON format. The contact plan can be dynamically updated using ZeroMQ messages. There is an example script located in HDTN/tests/test_scripts_linux/SendReloadContactPlanMsg.py

2. Is there an API for interfacing messages from our own apps to HDTN similar to what ION wants to add in a 2023 release?

We are currently in the process of developing an API, but it is not yet finished. It is set to be one of our top priorities for the first half of this year.

3. What is the status of encryption and security features / capabilities for HDTN?

Currently, we are using BPSec for version 7 only. BPSec for HDTN is officially released in HDTN v1.1.0.

4. Are there features in HDTN to interface / talk to other DTN implementations (i.e. ION)?

We’ve done a lot of interoperability testing with both ION and DTNME, and version 6 and version 7 are both compatible. We plan on doing additional testing with BPSec for compatibility.

5. Is there a simple way to hardcode a route? i.e. manually tell a node where to send the bundle next along a multi-hop route.

Right now, we do this through the HDTN configuration file. We are specifying the default route. Routing is currently static, but we plan on doing this through the web interface in the future so we can specify the route in a more user-friendly way.

6. Using the built-in router module, can it only find routes to one specified final destination (e.g. change the destination midway through a run, or multiple destinations)?

We have currently implemented support for multiple destinations.

7. Are BPSink/BPGen and alike applications able to run in the same IPN EID than the router (host) IPN EID? In the repo most provided test cases have such applications running in their own IPN EIDs.

In our testing, we’ve kept the bundling applications separate from HDTN so that there is no BPGen built within HDTN. We make the bundling applications be there own node. If you would like to run the BPGen and HDTN on the same node, you would be able to use a local host STCP connection.

8. Will the user guide have more detail about the options for the JSON files?

Yes, we go into detail on every line of all JSON files in HDTN, as well as give the exact unit type.

9. Will HDTN have a "stable release"?

Yes, HDTN has released a stable V1.0.0 version. See the V1.0.0 tag. A minor release, HDTN V1.1.0 was released in January 2024 featuring BPSec and several other improvements. Please see the change log for more details.

10. How should I cite the HDTN GitHub?

An example BibTex entry would be:

@misc{HDTN,
    url =       {https://github.com/nasa/HDTN},
author = {NASA Glenn Research Center},
title = {{High-Rate Delay Tolerant Network}},
}