Hi Till,

Thank you for the detailed answer, it is very helpful, and looks like a complete recipe!
I think someone should collect all recipes and bits of knowledge from the mailing list in
a single place like wiki or something.

Yes, I have got a large network with routing and no multicast support - this is exactly my case.

Are the numbers 7 and 30 hardcoded constants somewhere in IBR DTN sources, and
is it possible to change, for example, 7 to 3 for testing purposes, in order to not set up
extra nodes?

I suppose that it is possible to block port 9999 from the Internet with the help of a firewall
in case if there is one host, which is part of the DHT and connected to the Internet, am I
wrong?

Best regards,
Sergey Sireskin

Mon, 22 Oct 2012 18:31:23 +0200 от Till Lorentzen <lorentze@ibr.cs.tu-bs.de>:
Hi Sergey,

I'll try to answer your third question (like Sebastian has done already)

> 3. Does Bittorrent DHT discovery and routing need (any) nodes to be connected to the Internet?
> If yes, is it possible to setup a DHT server in the Intranet, which is isolated from the Internet,
> and make IBR-DTN use it?

The main idea of the DHT discovery is to find nodes across the internet.
So, yes, if you want to use this feature, you should be in a large
network. It doesn't have to be the internet, but the DHT only works with
more than 7 nodes. And it tries to request for 30 nodes, until it will
break up bootstrapping for more nodes.


So if you have got a large network with multiple subnets and routing
between the subnets, but no multicast support between the subnets, then
you could use the DHT. If you would like to setup such a system, this
should be the setting of the DHT nodes:

dht_enabled = yes
dht_bootstrapping = no
dht_bootstrapping_ips = 10.0.0.1 9999;

The "10.0.0.1 9999" should be replaced by the IP and DHT Port of one
available node. You could give a list of probably available nodes as well:

dht_bootstrapping_ips = 10.0.0.1 9999; 10.1.0.1 9999; 10.2.13.34 1234;

This should be all you need to build your own "private" DHT in a
network, which is completely disconnected from the internet. If it is
not disconnected from the internet. There is no mechanism to block this
nodes! Only if one node connects to any node in the internet, this
contact will be propagated across the whole "private" DHT!


If your nodes are all in the same LAN with IP broadcast/multicast
support, then you don't need the DHT. So you can simply disable it and
use the normal neighbour discovery instead. To disable the DHT, simply
edit the line at ibrdtn.conf:

dht_enabled = no

If you have got one host, which is part of the DHT and connected to the
internet and you would like to prevent this node to announce all of its
neighbours to the internet, then you have got two possibilities:

Deactivating neighbour announcements completely on the node with the
active DHT:

dht_allow_neighbour_announcement = no

Or a "private" node can publish, that he shouldn't be announced by
anyone in the neighbourhood by setting:

dht_allow_neighbours_to_announce_me = false

_BUT_: This doesn't prevent from beeing connected from "outside". Like
Sebastian already said, if any DHT node has got connection to you, they
will communicate with each other and will try to exchange their DHT
neighbour nodes.

I hope, this will help you with your setup!

Best regards,
Till Lorentzen
--
!! This message is brought to you via the `ibr-dtn' mailing list.
!! Please do not reply to this message to unsubscribe. To unsubscribe or adjust
!! your settings, send a mail message to <ibr-dtn-request@ibr.cs.tu-bs.de>
!! or look at https://www.ibr.cs.tu-bs.de/mailman/listinfo/ibr-dtn.