Hello.
By design of the bundle protocol, synchronized clocks are
mandatory in a DTN. Since that is heavy constrain, I am working on
solutions to mitigate the issue or provide time-synchronization
even in losely connected networks. Basically, there are two
approaches. One of them is the Age Block Extension which allows to
track the age of a bundle without a correct clock. Since this
might be quite inaccurately, IBR-DTN provides a mechanism to
synchronize clocks. The approach to do this is described in this
paper:
http://dl.acm.org/citation.cfm?doid=2348616.2348618.
To enable time-sync you need at least one reference clock (master)
in your network.
# Master configuration
time_reference =
yes
time_discovery_announcements
= yes
The best way is to choose a node with a NTP (or something equal)
as master.
Sich a master will announce its time data to slaves.
# Slave configuration
time_reference =
no
time_discovery_announcements
= yes
time_synchronize
= yes
If the daemon runs as root, it can set the nodes clock if
synchronized
time_set_clock =
no
Be aware of that existing code in the releases is very
experimental and not completly polished to work under all
circumstances. There are known bugs which are already solved in
the master GIT branch, but due to larger changes not in the 0.10.x
releases.
Kind regards,
Johannes
Am 23.09.2013 14:40, schrieb Shyam B:
Hello All,
I am working on a project with DTN in which while exchanging
the bundles either don't reach the destination or the file
transfer fails completely. Then I routed the problem on
different times on the system.
There was some google page about BAD_Clock, but I am not able
to find that page on ibrdtn wiki anymore.
Could someone help me with, how to configure:
1) Considering completely BAD_Clocks on different nodes, I
can still be able to transmit data. I don't mind time
conscience/ security in this regard, for now. My nodes (RPis)
are not connected to internet, so they don't know anything about
time if they are switched off. Moreoever, I do not have a
real-time clock for it.
2) When setting time_synchronize parameter in the
ibrdtnd.conf file does not help. What does this really do, any
documentation on this and other <time> related parameter
would be helpful.