Skip to content

HDTN FAQ

Dr. Rachel Dudukovich edited this page May 16, 2023 · 6 revisions

HDTN FAQ - Updated 5/16/2023

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

Right now, we have a file with a contact plan in JSON format. Eventually, we would like the web interface to display and update contacts.

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. It is not yet finished, as we plan on continuing testing before adding it to the public GitHub.

4. How should users emulate/simulate delays in the HDTN data chain?

With LTP, we have done testing with delays. Because we do not currently have a hardware solution, we have been using our UDP delay simulator proxy. We’ve also invested in outboard hardware delay emulations.

5. 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.

6. What role does the "final destination" field in an HDTN outduct play? It seems like HDTN can send bundles through an outduct even if that outduct doesn't specify the bundle's final destination.

When a bundle comes in and we look at its final destination, we look to see if there is an outduct that this bundle can go out of. The final destination EID vector sets the initial condition of what the outduct can support. If the bundle’s final destination does not match any of the outducts, the bundle cannot be sent and the bundle will ultimately have to go to storage.

7. 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.

8. 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.

9. 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.

10. 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.

11. Will HDTN have a "stable release"?

Yes, HDTN has released a stable V1.0.0 version. See the V1.0.0 tag V1.0.0.

12. 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}},
}
Clone this wiki locally