(MANET) Neighborhood Discovery Protocol (NHDP)

Werbung
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
Herunterladen