In a nutshell it is based on IP broadcasts or IP multicast (IPND is used for discovery). So it depends on the structure of the underlying IP network, the broadcast domains and or the multicast routing performed by the network. TCP and UDP are just convergence layers to transport the Bundle Protocol (i.e. the BP is stacked on top of TCP or UDP). Other convergence layers do exist, such as IEEE 802.15.4, for sensor networks. Here of course discovery is not based on IP. But I guess this is not what you are dealing with.
A node is a neighbor if it can be seen by IPND OR if a (TCP convergence layer) connection exists. In case of TCP, due to TCP timeouts it will take a while before somebody will notice, that you took the remote peer down. (It is lthe same effect ike an ssh session: Unplug the ethernet cable at the right time (no date in queues), and reconnect it one minute later, and the session might still be alive)
MfG
Sebastian
On 07 Jan 2014, at 23:12, Shyam B shyambs85@gmail.com wrote:
Hi,
Can someone please help answer the question I have asked earlier (on 19/12/2013) ? It will be helpful for my thesis defense that is scheduled the day after tomorrow!
PS: It would be nice if someone can answer in as detail as possible, will help me to grasp quicker.
Thank you very much, Shyam
On Thu, Dec 19, 2013 at 1:16 PM, Shyam B shyambs85@gmail.com wrote: Hi,
I am posting this question after a question has boggled me quite a bit.
How does DTN really do its neighbor discovery? It runs the bundle protocol and I am running OLSR protocol below it. So, basically Mobile Ad-hoc routing protocol is what runs under it.
Does it do the neighbor discovery using the help of underlying Ad-Hoc routing protocol OR does it have its "own way" of neighbor discovery using beacons alone (Layer 2)?
This came to me as a surprise with a scenario I was testing where DTN still detects its neighbors when one runs OLSR and other does not:
- Run DTN + OLSR on both nodes
- Kill OLSR on one node, DTN still detects each other.
- Pull down wireless LAN (wlan0) on the node(not running OLSR), wait and then bring it up. One sees the DTN neighbor all the time(with OLSR), the other cannot (node without OLSR). What happened now, is this a bug? I would have expected both to detect each other now (like in point 2 above)
Finally, what is the use of TCP/UDP with DTN? How do nodes detect each other, when they do not know the IP address of any other DTN node??
My work is more on using DTN for an application, so apologies, if my questions might be a bit na'ive :) I have a presentation very soon, so your answers might help me understand this part.
Thanks in advance!
-- Best Regards, Shyam
-- Best Regards, Shyam