Event-Driven Software-Architecture for Delay- and Disruption-Tolerant Networking
Total Page:16
File Type:pdf, Size:1020Kb
Event-driven Software-Architecture for Delay- and Disruption-Tolerant Networking Der Carl-Friedrich-Gauß-Fakultät der Technischen Universität Carolo-Wilhelmina zu Braunschweig zur Erlangung des Grades eines Doktoringenieurs (Dr.-Ing.) genehmigte Disseration von Johannes Morgenroth geboren am 28.08.1981 in Braunschweig Eingereicht am: 19.12.2014 Disputation am: 17.07.2015 1. Referent: Prof. Dr.-Ing. Lars Wolf 2. Referent: Prof. Dr.-Ing. Klaus Wehrle 2015 Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über www.dnb.de abrufbar. Diss., Technische Universität Carolo Wilhelmina zu Braunschweig, 2015 © 2015 Johannes Morgenroth Herstellung: BoD – Books on Demand, Norderstedt BoD Ref. 0011632925 Abstract Continuous end-to-end connectivity is not available all the time, not even in wired networks. Thus, the »Off-line first« paradigm is applied to applications of mobile devices to deal with intermittent connectivity without annoying the users every time the network is going to be flaky. But since mobile devices, particularly smart- phones, are typically bound to the Internet, they become almost useless as soon as their connectivity is gone. Delay- and Disruption-Tolerant Networking (DTN) al- lows 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 limita- tions, this thesis presents an event-driven software architecture for Delay- and Disruption-Tolerant Networking and a lean, lightweight, and extensible imple- mentation of a bundle node. Beside general considerations of requirements and use-cases, special attention is paid to the performance and portability to embed- ded platforms. Further, a set of helpful extensions is selected and integrated to gain a bundle node implementation which is ready to get deployed to common scenarios. 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 ac- cording 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 iv 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 the emulation in Hydra show that the algorithm for time-synchronization can provide an adequate accuracy depend- ing on the inter-contact times. Kurzfassung Eine kontinuierliche Ende-zu-Ende-Konnektivität ist nicht immer verfügbar, nicht einmal in drahtgebundenen Netzen. Daher wird das »Off-line first« Para- digma bei Anwendungen auf Mobilgeräten angewendet um die Anwender nicht zu irritieren, falls die Verbindung unzuverlässig wird. Aber da Mobilgeräte, insbe- sondere Smartphones, typischerweise abhängig von dem Internet sind, werden sie fast nutzlos sobald keine Verbindung mehr existiert. Verzögerungs- und unterbre- chungstolerante Kommunikation (DTN) ersetzt die Ende-zu-Ende-Semantik mit einem Hop-by-Hop Store-Carry-and-Forward Ansatz und erlaubt es so Geräten miteinander zu kommunizieren, auch wenn es keinen kontinuierlichen Pfad gibt. Da bestehende DTN Implementierungen unter verschiedenen Einschränkun- gen leiden, stellt diese Arbeit eine ereignisgesteuerte Software-Architektur für Verzögerungs- und unterbrechungstolerante Netze sowie eine schlanke, leichte und erweiterbare Implementierung eines Bündelknotens vor. Neben den allge- meinen Überlegungen zu den Anforderungen und den Anwendungsfällen wird besonderes Augenmerk auf die Leistung und die Portabilität zu eingebetteten Systemen gelegt. Ferner wird eine Reihe von hilfreichen Erweiterungen ausge- wählt und integriert, um eine Implementierung eines Bündelknotens zu erhalten, welche bereit ist in üblichen Szenarien eingesetzt zu werden. In einer umfassenden Beschreibung der Architektur und den zugrunde liegen- den Design-Entscheidungen, konzentriert sich diese Arbeit auf die Beseitigung von Schwächen des Bundle Protocols (RFC 5050). Eine davon ist die Abhängig- keit zu synchronisierten Uhren. Daher wirft diese Arbeit einen genaueren Blick auf diese Anforderung und präsentiert Ansätze, um diese Abhängigkeit in einigen Fällen zu umgehen. Für Szenarien die synchronisierte Uhren voraussetzen wird außerdem ein Ansatz vorgestellt, um die Uhren der einzelnen Knoten mit Hilfe von verteilten Zeitinformationen zu korrigieren. Um die Genauigkeit der Zeitin- formationen von jedem Knoten vergleichen zu können, wird eine Bewertung der Uhren eingeführt. Zusätzlich wird ein Algorithmus vorgestellt, der die Parameter der Bewertung in Abhängigkeit von der ermittelten Genauigkeit der lokalen Uhr anpasst. In einer Evaluation wird die allgemeine Portabilität der Software zu verschiede- nen Systemen gezeigt. Ferner wird bei einer Performance-Analyse die neue Soft- vi ware mit existierenden Implementierungen verglichen. Um eine Evaluation des Zeitsynchronisationsalgorithmus durchzuführen, wird der ONE Simlator so an- gepasst, dass jeder Knoten eine individuelle Uhr mit zufälligem Fehler besitzt. Außerdem wird eine spezielle Testumgebung namens Hydra vorgestellt um ei- ne echte Implementierung des Zeitsynchronisationsalgorithmus zu testen. Hydra instanziiert virtualisierte Knoten mit einem kompletten Betriebssystem und bie- tet die Möglichkeit echte Software in großen DTN Szenarien zu testen. Sowohl die Simulation als auch die Emulation in Hydra zeigen, dass der Algorithmus für die Zeitsynchronisation eine ausreichende Genauigkeit in Abhängigkeit von Kontakt- häufigkeit erreicht. Danksagung Nach einigen Jahren interessanter Forschung hatte ich nun die Gelegenheit meine bisherigen gesammelten Erkenntnisse und Erfahrungen in diesem Werk nieder zu schreiben. Auch wenn die Schrift von mir verfasst wurde, haben dennoch viele mir wichtige Menschen einen ganz wesentlichen Beitrag zu dieser Arbeit geleistet. Auf diesem Wege möchte ich all’ jenen meinen herzlichsten Dank aussprechen. Meinem Doktorvater und ehem. Arbeitgeber Prof. Dr.-Ing. Lars Wolf danke ich in erster Linie für die umfangreiche Betreuung und Unterstützung bei der Entwicklung meiner Fähigkeiten und Forscher-Tätigkeiten. Ohne den gebotenen Freiraum kombiniert mit sehr zielgerichteten Stößen in die richtige Richtung, wäre meine Arbeit sicherlich nicht das was sie nun ist. Selbstverständlich danke ich auch für seine Arbeit als Gutachter und Prüfer im Rahmen meiner Promotion. Ebenso danke ich Prof. Dr.-Ing. Klaus Wehrle für seinen Einsatz bei der Begut- achtung meiner Arbeit und der abschließenden Prüfung. Meinen ehem. Kollegen des Instituts für Betriebssysteme und Rechnerverbund der TU Braunschweig danke ich für die moralische Unterstützung und für die vielen Diskussions- runden, welche mir mehr als einmal erlaubt haben einen anderen Blickwinkel einzunehmen. Meiner Familie und dabei insbesondere meiner Frau, Julia Morgenroth, danke ich für die tatkräftige Unterstützung bei der Bewältigung des Alltags während der anspruchsvollen Phasen meiner Arbeit. Außerdem Danke ich für das mir entge- gen gebrachte Verständnis und für die Ermutigungen die mir halfen diese Arbeit schließlich zu vollenden. Johannes Morgenroth, August 2015 viii Contents 1 Introduction 1 1.1 Off-line First . .1 1.2 Living without Internet . .2 1.3 Store, Carry, and Forward . .2 1.4 Delay- and Disruption-Tolerant Networking . .3 1.5 Outline . .4 2 Fundamentals 7 2.1 Applications . .7 2.1.1 ZebraNet . .7 2.1.2 DakNet . .8 2.1.3 N4C .................................8 2.1.4 Astronaut E-mail Challenge . .9 2.1.5 EMMA . 10 2.2 Scenarios . 11 2.2.1 Space and Interplanetary Networking . 11 2.2.2 Military and Tactical Communications . 11 2.2.3 Disaster and Emergency Systems . 11 2.2.4 Internet Deployment . 12 2.2.5 Wireless Sensor-networks . 12 2.2.6 Mobile Internet . 13 2.3 Bundle Protocol . 13 2.3.1 Architecture . 14 2.3.2 Addressing . 16 2.3.3 Data-structures . 17 2.3.4 Fragmentation . 22 2.3.5 Administrative Records . 23 2.3.6 Custody Transfer . 26 2.3.7 Application Agent . 27 2.3.8 Security . 28 2.3.9 Dependency on Synchronized Clocks . 29 2.4 Implementations . 29 x Contents 2.4.1 DTN2 Reference Implementation . 30 2.4.2 Interplanetary Overlay Network . 31 2.4.3 Postellation . 33 2.4.4 Bytewalla . 34 2.4.5 Other . 35 2.5 Time-synchronization . 35 2.5.1 Synchronicity in Computer Networks