DIE INTERNET-PROTOKOLLWELT, WINTERSEMESTER 2016/17 1 Mobile Ad-Hoc Network Neighbourhood Discovery Protocol Michael Döbereiner, Student im Master Elektrotechnik/Informationstechnik Zusammenfassung— Dieser Bericht beschäftigt sich mit dem Mobile Ad Hoc Network (MANET) Neighborhood Discovery Protocol (NHDP). Dieses Protokoll regelt die Einrichtung von Verbindungen einzelner Knoten in einem MANET. Dabei wird besonders auf den Austausch und die Speicherung der Verbindungsinformationen eingegangen. Index Terms—MANET, NHDP, Nachbarknoten, 1-HopNachbar, Informationsbasis, Interface. I. Ü BERSICHT AS NHDP ist für das Sammeln von Informationen in einem MANET zuständig, um effiezientes Routing zu ermöglichen (CDD11). Insofern arbeitet es in der Vermittlungsschicht des OSI-Referenzmodells. Im Internet-Schichtenmodell aus Abbildung 1 befindet es sich in der Netzwerkschicht (HMC10). D Anwendungsschicht Transportschicht Vermittlungsschicht Rechner-Netzanschlussschicht Abbildung 1: Das Internet-Schichtenmodell II. P ROTOKOLLMECHANISMEN MANETs haben keine feste Infrastruktur und keine übergeordnete Steuereinheit. Deshalb ist für effizientes Routing in einem MANET notwendig, dass ein Knoten seine Nachbarknoten kennt. Zur Gewährleistung dessen ist das Speichern und Verbreiten der relevanten Informationen grundlegend. Dabei sind vor allem Informationen über Verbindungen zu Nachbarknoten und deren Adressen interessant. Als Grundlage der Weitergabe dieser Informationen dient 1-Hop-Signalling, welches die Informationen nur an 1-Hop-Nachbarn sendet. Die Funktionen und Aufgaben dieses Protokolls, sowie die Voraussetzungen an die teilnehmenden Router werden in den nächsten Abschnitten erläutert. A. Voraussetzungen an den Router Damit ein Router das MANET NHDP verwenden kann, muss dieser notwendige Ausstattungen aufweisen können. Ein solcher Router benötigt mindestens ein MANET-Interface mit einer eindeutigen Adresse im Netz. Außerdem benötigt jeder Router, der das NHDP nutzt, folgende Informationsbasen zum Speichern der relevanten Informationen: • Interface Information Base • Local Information Base • Neighbor Information Base. Die Funktionen und Inhalte jeder dieser Informationsbasen werden im folgenden Abschnitt erläutert. B. Informationsspeicherung Für gute Funktionalität in einem MANET benötigt jeder Router Informationen über seine Nachbarknoten, wie auch über sich selbst. Diese Informationen sind in verschiedenen Informationsbasen eingeteilt. 1) Local Information Base: Die Local Information Base eines Routers enthält Informationen über seine eigenen MANET-Interfaces. Dabei muss jedem Interface mindestens eine zugehörige Netzwerkadresse zugeordnet sein. Jeder Router muss die Informationen in dieser stets Tabelle aktuell halten und selbständig ändern. Die 2 Einträge in der Local Information Base eines Routers werden nicht aufgrund einer Signalisierungsnachricht geändert, sondern nur, wenn sich die Eigenschaften der eigenen Interfaces ändert. Nach einer solchen Änderung werden die geänderten Informationen an die Nachbarknoten weitergeleitet. Mögliche Änderungen in dieser Informationsbasis sind das Hinzufügen und Löschen von Interfaces bzw. Interface-Adressen. 2) Interface Information Base: Für jedes MANETInterface eines Routers existiert eine Interface Information Base. Darin sind alle Verbindungen zu 1-HopNachbarn, die über dieses Interface erreichbar sind, gespeichert. Außerdem sind Informationen über die Verbindungsqualität jeder Verbindung enthalten. Zusätzlich zu den Informationen der 1-Hop-Nachbarn sind in dieser Informationsbasis auch Informationen zu 2-Hop-Nachbarn mit symmetrischer Verbindung zu diesem Interface zusammengetragen. 3) Neighbor Information Base: Jeder MANETRouter besitzt eine Neighbor Information Base zur Speicherung von Informationen aller 1-Hop-Nachbarn des Routers mit symmetrischer Verbindung. Zu jedem 1Hop-Nachbarn werden alle seine Adressen im Netzwerk eingetragen. Außerdem wird festgehalten, ob die Verbindung zum Knoten symmetrisch ist oder nicht. Gespeichert sind auch solche Nachbarknoten, deren Verbindung kürzlich getrennt wurde. Dazu wird auch der Zeitpunkt des Löschens eingetragen. Durch Weitergabe dieser Informationen an die 1Hop-Nachbarn, sind diese in der Lage Informationen über ihre 2-Hop-Nachbarn zu sammeln. Die Übertragung dieser Informationen wird mittels HELLO-Nachrichten durchgeführt. Der Inhalt und Aufbau dieser Nachrichten wird im folgenden Abschnitt erläutert. C. Informationsaustausch Für den Aufbau eines funktionierenden Ad-HocNetzwerks ist es unerlässlich, dass die Knoten untereinander Informationen, wie Adress- und Verbindungsdaten, austauschen. Bei Verwendung des MANET NHDP aus (CDD11) wird für diese Aufgabe eine HELLO-Nachricht verwendet. 1) Nachrichteninhalt: Eine HELLO-Nachricht dient vor allem der Verbreitung der eigenen Interface-Adressen eines Routers an die Nachbarknoten. Demzufolge muss für jedes Interface aus der Local Information Base (vgl. Abschnitt II-B1) mindestens eine gültige InterfaceAdresse in der HELLO-Nachricht enthalten sein. Außerdem muss das Ursprungsinterface der HELLO-Nachricht DIE INTERNET-PROTOKOLLWELT, WINTERSEMESTER 2016/17 gesondert aufgeführt werden, damit der Empfänger die HELLO-Nachricht eindeutig zuordnen kann. Es ist nicht zwingend gefordert, dass alle Adressen eines Interfaces weitergegeben werden, jedoch muss jede Adresse, über die ein IP-Datagramm versendet werden könnte, mitgeteilt werden. Zusätzlich können alle Interface-Adressen, die als Zieladressen für IP-Datagramme auftreten könnten, durch eine HELLO-Nachricht an den Nachbarknoten gesendet werden. Des Weiteren können über die HELLO-Nachricht auch Informationen über 1-Hop-Nachbarn des Routers übertragen werden. Dazu gehören die Adressen der symmetrischen 1-Hop-Nachbarn der Neighbor Information Base aus Abschnitt II-B3, sowie die Adressen der 1Hop-Nachbarn aus der Interface Information Base (vgl. Abschnitt II-B2). Die Übertragung der Informationen der 1-Hop-Nachbarn ermöglicht den Nachbarknoten auch die Adressen ihrer 2-Hop-Nachbarn zu erfahren. Es werden auch die Adressen der 1-Hop-Nachbarn mit kürzlich getrennter Verbindung weitergegeben. Damit können auch die Nachbarknoten ihre Liste der verlorenen Nachbarknoten aktualisieren. Da diese Informationen nur an direkte Nachbarrouter versendet werden dürfen, muss eine Weiterleitung der Nachrichten verhindert werden. Aus diesem Grund wird das Hop-Limit der HELLO-Nachrichten auf 1 gesetzt. 2) Nachrichtengenerierung: Die Erstellung und das Versenden der HELLO-Nachrichten wird für jedes MANET-Interface separat durchgeführt. Die Nachrichtengenerierung kann entweder periodisch oder durch ein Triggerereignis ausgelöst werden. Bei periodischer Nachrichtengenerierung muss das Sendeintervall in einem festgelegten Bereich liegen. Dieses Intervall kann für jedes Interface individuell festgelegt werden. Die Wiederholrate der HELLO-Nachrichten kann auch aufgrund einer Veränderung der Netzwerkstabilität angepasst werden. Das Generieren und anschließende Versenden einer neuen HELLO-Nachricht kann auch durch bestimmte Ereignisse ausgelöst werden. Mögliche Ereignisse sind: • Hinzufügen oder Löschen eines Interfaces im Router • Hinzufügen, Ändern oder Löschen einer InterfaceAdresse • Änderung bei einer Verbindung zu einem 1-HopNachbarn. Die triggerbasierte und periodische Nachrichtengenerierung können auch kombiniert werden. MICHAEL DÖBEREINER: MOBILE AD-HOC NETWORK: NEIGHBORHOOD DISCOVERY PROTOCOL 3 3) Nachrichtenverarbeitung: Wird eine gültige HELLO-Nachricht von einem Router empfangen, muss dieser dementsprechende Änderungen in seinen Informationsspeichern vornehmen. Der empfangende Router muss bei Erhalt einer HELLO-Nachricht seine Neighbor Information Base aktualisieren. Dabei kann es sein, dass Nachbarknoten hinzugefügt oder gelöscht werden müssen. Es ist jedoch auch möglich, dass lediglich eine einzelne Adresse geändert werden muss. Außerdem muss der Router durch das Auswerten der 1-Hop-Nachbarknoten seines 1-Hop-Nachbarknotens seine Liste der 2-HopNachbarknoten aktualisieren. Genauso muss auch die Interface Information Base nach dem Empfangen einer HELLO-Nachricht angepasst werden. Dabei werden vor allem Änderungen des Verbindungsstatus durchgeführt. D. Paketaufbau 4) Verbindungsstatus: Der Status einer Verbindung wird über das Senden und Empfangen von HELLONachrichten bestimmt. Es wird zwischen den folgenden Status unterschieden: • LOST • HEARD • SYMMETRIC Besitzt eine Verbindung den Status LOST, ist diese Verbindung nicht existent. Das Zustandekommen und die Bedeutung der beiden anderen Status ist in Abbildung 2 dargestellt (HCR10). Ein Type-Length-Value-Block (TLV-Block) dient der Übertragung einer variabler Anzahl von Attributen in einer Nachricht. Im Anschluss an den Paketkopf folgt die eigentliche Nachricht. 1.) Hello() ··· Für das Versenden der HELLO-Nachrichten wird ein festes Paketformat verwendet, welches in (CDD09) spezifiziert wird. Ein Paket setzt sich dabei aus dem Paketkopf aus Abbildung 3 und der Nachricht aus Abbildung 4 zusammen. 0 3 Version 7 4 8 23 PaketFlags Paket-Sequenz-Nummer (opt) TLV-Block (opt) ··· Abbildung 3: Der Paketkopf einer HELLO-Nachricht 0 3 4 7 8 NachrichtenTyp N.-Flags SenderHop-Limit Adresse (opt) (opt) 1920 1516 1112 Adresslänge HopCount(opt) 35 Nachrichtenlänge Nachrichten-SequenzNummer(opt) TLV-Block Adress-Block A 2.) Hello(A=HEARD) B ··· Abbildung 4: Der Nachrichtenaufbau einer HELLONachricht 3.) Hello(B=SYMMETRIC) Abbildung 2: Bestimmen des Verbindungsstatus mittels HELLO-Nachrichten Vergleichbar ist dieses Verhalten mit einem DreiWege-Handshake beim Verbindungsaufbau Transmission Control Protocol (TCP) (Pos81). Im Adress-Block werden die zu übertragenden Interface-Adressen aus der Local Information Base und die 1-Hop-Nachbar-Adressen aus der Neighbor Information Base versendet. Der TLV-Block ermöglicht es zusätzliche Informationen mit der Nachricht zu übertragen, ohne dass dabei die Kompatibilität zu anderen Protokollen verloren geht (HMC10). 4 DIE INTERNET-PROTOKOLLWELT, WINTERSEMESTER 2016/17 III. B EWERTUNG Das MANET NHDP ermöglicht es den Routern den Aufbau der lokalen Netzwerktopologie zu ermitteln, indem der seine 1-Hop- und 2-Hop-Nachbarn bestimmt. Dadurch kann in diesem Bereich effizienteres Routing stattfinden. Da jedoch nur die lokale Topologie des Netzes bekannt ist, kann bei Übertragungen mit vielen Hops nicht mehr so effizient geroutet werden. Um Nachrichten über eine große räumliche Distanz trotzdem effektiv übertragen zu können, ist ein Netzwerk mit niedriger Knotendichte von Vorteil (HMC10). Durch die Verwendung von TLV-Blocks in HELLONachrichten können diese flexibel eingesetzt und erweitert werden. Dies ermöglicht eine Kombination mit Mechanismen anderer Protokolle. Ein Beispiel hierfür ist das Enhanced Multi-Hop Vehicular Broadcast (MHVB) (HMC10). Dieses Protokoll basiert nicht auf der Aufklärung der Netzwerktopologie, sondern auf der Bestimmung der geografischen Position umliegender Knoten. Dabei werden Nachrichten nicht nur an den nächstliegenden Nachbarn übertragen, sondern an alle Nachbarn, die innerhalb der Reichweite der kabellosen Schnittstelle liegen. Dieses Vorgehen sorgt dafür, dass auch Übertragungen mit größeren räumlichen Distanzen effektiv durchgeführt werden können. Aufgrund dessen ist MHVB vor allem in Netzwerken mit einer hohen Knotendichte vorteilhaft. Eine weitere Alternative ist das Optimized Link State Routing Protocol Version 2 (OLSRv2), welches eine Weiterentwicklung des NHDP ist. Das OLSRv2 ermöglicht den Aufbau einer hierarchischen Struktur in einem MANET und besitzt Erweiterungen und Verbesserungen des Sicherheitsaspekts (HCR10). IV. Z USAMMENFASSUNG UND AUSBLICK Das MANET NHDP organisiert den Austausch und die Speicherung von Verbindungsinformationen in ungeordneten Ad-Hoc-Netzwerken. Dafür werden HELLONachrichten an alle direkten Nachbarknoten versendet, um die Adressen des Knotens und der Schnittstellen zu verbreiten. Diese Technik ermöglicht die Bestimmung einer lokalen Netzwerktopologie für effizienteres Routing. Da die Nachrichten jedoch nur an 1-Hop-Nachbarn gesendet werden, sind Übertragungen über mehrere Hops nicht so effizient. Durch die Verwendung von TLVBlocks im Nachrichtenformat können allerdings Informationen aus anderen Protokollen einfach ergänzt werden. L ITERATUR [CDD09] C LAUSEN, Thomas H. ; D EARLOVE, Christopher ; D EAN, Justin W.: Generalized Mobile Ad Hoc Network (MANET) Packet/Message Format / Internet Engineering Task Force (IETF). Version: Februar 2009. http: //www.rfc-editor.org/pdfrfc/rfc5444.txt.pdf. 2009 (5444). – Request for Comments [CDD11] C LAUSEN, Thomas H. ; D EARLOVE, Christopher ; D EAN, Justin W.: Mobile Ad Hoc Network (MANET) Neighborhood Discovery Protocol (NHDP) / Internet Engineering Task Force (IETF). Version: April 2011. http: //www.rfc-editor.org/pdfrfc/rfc6130.txt.pdf. 2011 (6130). – Request for Comments [HCR10] H ERBERG, Ulrich ; C LAUSEN, Thomas H. ; ROBERT, Cole: MANET Network Management and Performance Monitoring for NHDP and OLSRv2 / Institut National de Recherche en Informatique et en Automatique (INRIA). Version: 2010. https://hal.inria.fr/inria-00490958/document. 2010 (RR-7311). – Research Report [HMC10] H ERBERG, Ulrich ; M ARIYASAGAYAM, Nestor ; C LAUSEN, Thomas H.: Comparison of NDHP and MHVB for Neighbor Discovery in Multi-hop Ad Hoc Networks / Institut National de Recherche en Informatique et en Automatique (INRIA). Version: 2010. https://hal.archives-ouvertes. fr/inria-00446051/document. 2010 (RR-7173). – Research Report [Pos81] P OSTEL, Jon: Transmission Control Protocol / Internet Engineering Task Force (IETF). Version: September 1981. https://tools.ietf.org/pdf/rfc793.pdf. 1981 (793). – Request for Comments