Send a message to multiple recipients at a time
Hello dear IBR-DTN authors,
I was unable to find any man pages, documentation or HOW-TOs on IBR-DTN, so the only place for asking my stupid questions is this mailing list, sorry.
Here are my questions.
1. Is it possible to send a message to multiple recipients at a time, I mean something like multicast or group messages, in order to save bandwidth?
2. Changelog states that both reactive and proactive fragmentation are supported. How does IBR-DTN choose which fragmentation type to be used?
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?
Best regards, Sergey Sireskin
Hi Sergey
Am 22.10.2012 um 17:02 schrieb Sergey Sireskin sire@mail.ru:
Hello dear IBR-DTN authors,
I was unable to find any man pages, documentation or HOW-TOs on IBR-DTN, so the only place for asking my stupid questions is this mailing list, sorry.
Here are my questions.
- Is it possible to send a message to multiple recipients at a time, I mean something like
multicast or group messages, in order to save bandwidth?
Prophet routing support group messages (Epidemic also, but Prophet should be more efficient). For sending use the "-g" parameter of dtnsend. (dtnsend --help shoudl give you the necessary information). make sure that you also use the --group parameter in dtnrecv (dtnrecv --help). Let us know if there are any problems.
- Changelog states that both reactive and proactive fragmentation are supported. How does
IBR-DTN choose which fragmentation type to be used?
I think this is better answered by Johannes....
- 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?
Usually (i.e. in default configuration) it needs internet, because it will make a DNS query to a well known domain to find the first nodes in the DHT. However, you can try to play with the Bootstrap options:
# # Enable DNS Bootstrapping for the DHT # #dht_bootstrapping = yes
# # DNS Bootstrapping by giving domain names of wellknown nodes #dht_bootstrapping_domains = [domain] [...] # # Example: #dht_bootstrapping_domains = dtndht.ibr.cs.tu-bs.de # # Default is an empty string #dht_bootstrapping_domains =
# # IP Bootstrapping from wellknown IP (and port) addresses of nodes #dht_bootstrapping_ips = [ip [port]]; [ip [port]]; ...
Something like the following should work:
Uncomment and set dht_bootstrapping to "no" (and dht_enabled to yes of course)
Start an IBR DTN node, with a well known IP e.g. 192.168.1.1
for all the other nodes you wish to start also set
dht_bootstrapping to "no" and dht_enabled to "yes"
and add 192.168.1.1 to
dht_bootstrapping_ips = 192.168.1.1
This assumes you run DHT on the default port (9999). If you change that to say 8888 use
dht_bootstrapping_ips = 192.168.1.1 8888
This should theoretically give you a completely local DHT, although I am not sure whether we ever tested it. Also keep in mind that your DHT can easily be contaminated/connected to the outside world, if only one of your nodes has internet and does a DHT bootstrap, because the outside nodes it will propagate to to other node sin you "local" DHT.
Best regards, Sergey Sireskin -- !! 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.
Hi and thanks a lot, Sebastian!
I'll be trying to check paragraphs 1 and 3 during this week, and will report in case of trouble or success. I'm also looking forward to seeing Johanes's answer on the 2 paragraph.
Best regards, Sergey Sireskin
Mon, 22 Oct 2012 17:59:41 +0200 от Sebastian Schildt schildt@ibr.cs.tu-bs.de:
Hi Sergey
Am 22.10.2012 um 17:02 schrieb Sergey Sireskin sire@mail.ru:
Hello dear IBR-DTN authors,
I was unable to find any man pages, documentation or HOW-TOs on IBR-DTN, so the only
place for asking my stupid questions is this mailing list, sorry.
Here are my questions.
- Is it possible to send a message to multiple recipients at a time, I mean something like
multicast or group messages, in order to save bandwidth?
Prophet routing support group messages (Epidemic also, but Prophet should be more efficient). For sending use the "-g" parameter of dtnsend. (dtnsend --help shoudl give you the necessary information). make sure that you also use the --group parameter in dtnrecv (dtnrecv --help). Let us know if there are any problems.
- Changelog states that both reactive and proactive fragmentation are supported. How does
IBR-DTN choose which fragmentation type to be used?
I think this is better answered by Johannes....
- 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?
Usually (i.e. in default configuration) it needs internet, because it will make a DNS query to a well known domain to find the first nodes in the DHT. However, you can try to play with the Bootstrap options:
#
# Enable DNS Bootstrapping for the DHT
#
#dht_bootstrapping = yes
#
# DNS Bootstrapping by giving domain names of wellknown nodes
#dht_bootstrapping_domains = [domain] [...]
#
# Example:
#dht_bootstrapping_domains = dtndht.ibr.cs.tu-bs.de
#
# Default is an empty string
#dht_bootstrapping_domains =
#
# IP Bootstrapping from wellknown IP (and port) addresses of nodes
#dht_bootstrapping_ips = [ip [port]]; [ip [port]]; ...
Something like the following should work:
Uncomment and set dht_bootstrapping to "no" (and dht_enabled to yes of course)
Start an IBR DTN node, with a well known IP e.g. 192.168.1.1
for all the other nodes you wish to start also set
dht_bootstrapping to "no" and dht_enabled to "yes"
and add 192.168.1.1 to
dht_bootstrapping_ips = 192.168.1.1
This assumes you run DHT on the default port (9999). If you change that to say 8888 use
dht_bootstrapping_ips = 192.168.1.1 8888
This should theoretically give you a completely local DHT, although I am not sure whether we ever tested it. Also keep in mind that your DHT can easily be contaminated/connected to the outside world, if only one of your nodes has internet and does a DHT bootstrap, because the outside nodes it will propagate to to other node sin you "local" DHT.
Best regards,
Sergey Sireskin
--
!! 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.
Am 22.10.2012 17:59, schrieb Sebastian Schildt:
- Changelog states that both reactive and proactive fragmentation are supported. How does
IBR-DTN choose which fragmentation type to be used?
I think this is better answered by Johannes....
This is half-true for the recent release. We are supporting reassembling of fragments and reactive fragmentation in the TCP convergence layer. This will happen automatic if you enable fragmentation support via the configuration and the TCP connection gets interrupted while transferring a bundle.
Proactive fragmentation is partially supported. The structures allows to fragment bundles in the code, but there is no automatic mechanism to do that. However, we are currently working on an approach to split up bundles into fragments on the sender side if the bundle size exceeds a defined limit. So this will be there in future releases.
Kind regards, Johannes
Hi Sergey,
I'll try to answer your third question (like Sebastian has done already)
- 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
participants (4)
-
Johannes Morgenroth
-
Sebastian Schildt
-
Sergey Sireskin
-
Till Lorentzen