Menu

#5 BitTorrent DHT name resolution support

Unstable (example)
open
nobody
None
5
2014-07-17
2014-07-17
No

This patch is an implementation of name resolution over the BitTorrent DHT, as introduced by Schildt et.al. in their paper "Free-riding the BitTorrent DHT to improve DTN connectivity". This protocol allows it to resolve unknown EIDs over the BitTorrent DHT, as well as announcing the host's own EID and its supported convergence layers. Support is already in IBR-DTN, so this patch aims to improve interoperability between DTN2 and IBR-DTN.

The patch includes documentation on building and usage in README.dtndht. The short version is:
- get libdtndht from https://github.com/ibrdtn/dtndht, build and install it.
- do a ./configure --with-dtndht[=DIR], optionally giving the installation prefix of libdtndht.
- start dtnd
- on the dtn command prompt, type "dht enable"
- try to dtnping unknown EIDs, for example dtn://neptun.rohieb.name/echo

Some additional notes about the patch:

  • Since the implementation is not a "discovery plugin" in the sense of the already existing ones (it needs to be triggered explicitly by the daemon on bundle arrival), I was not sure whether servlib/discovery was the right place to put it. But I also could not find a place in the source tree that fits better.

  • Host announcements currently assume that local convergence layers listen on their default ports, as it seems to be impossible to query the parameters of a convergence layer.

As this is my first work on DTN2, I would very much like to hear what other people think about this patch.

1 Attachments

Discussion


Log in to post a comment.