Event-driven Software-Architecture for Delay- and Disruption-Tolerant Networking [thesis]

Johannes Morgenroth, Universitätsbibliothek Braunschweig, Lars Wolf
Continuous end-to-end connectivity is not available all the time, not even in wired networks. Delay- and Disruption-Tolerant Networking (DTN) allows devices to communicate even if there is no continuous path to the destination by replacing the end-to-end semantics with a hop-by-hop store-carry-and-forward approach. Since existing implementations of DTN software suffer from various limitations, this work presents the event-driven software architecture of IBR-DTN, a lean, lightweight, and
more » ... le implementation of a networking stack for Delay- and Disruption-Tolerant Networking. In a comprehensive description of the architecture and the underlying design decisions, this work focuses on eliminating weaknesses of the Bundle Protocol (RFC 5050). One of these is the dependency on synchronized clocks. Thus, this work takes a closer look on that requirement and presents approaches to bypass that dependency for some cases. For scenarios which require synchronized clocks, an approach is presented to distribute time information which is used to adjust the individual clock of nodes. To compare the accuracy of time information provided by each node, this approach introduces a clock rating. Additionally, a self-aligning algorithm is used to automatically adjust the node's clock rating parameters according to the estimated accuracy of the node's clock. In an evaluation, the general portability of the bundle node software is proven by porting it to various systems. Further, a performance analysis compares the new implementation with existing software. To perform an evaluation of the time-synchronization algorithm, the ONE simulator is modified to provide individual clocks with randomized clock errors for every node. Additionally, a specialized testbed, called Hydra, is being developed to test the implementation of the time-synchronization approach in real software. Hydra instantiates virtualized nodes running a complete operating system and provides a way to test real software in large DTN scenarios. Both the simulation and t [...]
doi:10.24355/dbbs.084-201509251022-0 fatcat:ssl5rsityfcxjkhwfyzzk6xdzq