Beruflich Dokumente
Kultur Dokumente
net/publication/320244798
CITATIONS READS
3 1,632
1 author:
Anatol Badach
University of Applied Sciences Fulda
247 PUBLICATIONS 115 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Anatol Badach on 06 October 2017.
RPL
IPv6 Routing Protocol for LLNs
Autor: Prof. Dr.-Ing. Heutzutage werden an das Internet nicht nur Rechner verschiedener
Anatol Badach Art angeschlossen, sondern zunehmend auch drahtlose Netze, wel-
che aus unterschiedlichen, mit diversen Sensoren und Aktoren aus-
gestatteten, intelligenten Geräten/Einrichtungen bestehen, angebun-
den. Diese Netze werden als Wireless Sensor Networks (WSN)
bezeichnet, die intelligenten Geräte Smart Objects genannt. De facto
stellt ein WSN eine Vernetzung von Smart Objects dar. Die Integra-
tion verschiedener WSNs in das herkömmliche Internet führt zur
Entstehung einer neuen, besonderen, als Internet of Things (IoT)
(Internet der Dinge) bezeichneten Erweiterung des Internets. Da
WSNs aber sehr stark ressourcenbeschränkt (resource constrained),
besonders energiearm (low-power) und verlustbehaftet (lossy net-
Auszug aus dem Werk: work) angelegt sind, werden sie auch als Low-Power and Lossy
Networks (LLN) bezeichnet.
Das IoT bilden de facto die in das Internet integrierten LLNs mit
dem Protokoll IPv6 (Internet Protocol, Version 6). Im IoT, genauer
in LLNs mit dem Protokoll IPv6, ist ebenso wie im herkömmlichen
Internet ein Routingprotokoll nötig. Hierfür wurde das IPv6 Routing
Protocol for Low-Power and Lossy Networks (RPL) entwickelt. Wie
bereits aus dem Namen hervorgeht, handelt es sich um ein Routing-
protokoll für energiearme und verlustbehaftete Netze mit IPv6 und
kann auch als Routingprotokoll für das IoT angesehen werden.
Herausgeber: Dipl.-Ing. LLNs bilden drahtlose Netze mit energiearmen Knoten, zwischen
Heinz Schulte denen die als Links bezeichneten Funkkanäle datenverlustbehaftet
sind. Dies hat zur Folge, dass bei der Ermittlung optimaler Routen
mehrere Faktoren, insbesondere die Qualität von Links, z.B. deren
Zuverlässigkeit (Reliability) und Verzögerung (Latency) sowie die
zum Betrieb knappe Energie in Knoten berücksichtigt werden müs-
sen. Hinzu kommt noch die Tatsache, dass die Topologie der Ver-
netzung von Smart Objects in LLNs nicht dauerhaft angelegt ist,
sondern schnell veränderbar sein muss. Diese Umstände führen
dazu, dass die Anforderungen an ein LLN-Routingprotokoll im
Vergleich zum Routingprotokoll in klassischen IP-Netzen sehr viel
WEKA-Verlag komplexer sind. Diese vielfältigen Anforderungen führten schließ-
ISBN 978-3-8276-9142-2
1
R
► RPL
Das RPL wurde nicht als ein einziger Algorithmus konzipiert, son- Routing
dern ist als ein Routing Framework anzusehen, in dem mehrere Framework
Algorithmen zur Bereitstellung der benötigten Funktionalität mit-
wirken müssen. Mithilfe der dazu spezifizierten einzelnen Funk-
tionsmodule wird in einem physischen LLN, welches im Allgemei-
nen eine drahtlose, schleifenbehaftete Vernetzung von Smart Objects
darstellt, eine logische, zielgerichtete, azyklische, also schleifenfreie
(loop-free) Vernetzung von Smart Objects gebildet.
Die technischen Entwicklungen im Hinblick auf RPL werden bei der Entwicklung
Internet Engineering Task Force (IETF) von der Working Group bei der IETF
ROLL (Routing over Low-Power and Lossy Networks) koordiniert.
Die bisherigen RPL betreffenden Entwicklungen wurden in zahlrei-
chen als Request for Comments (RFC) von der IETF veröffentlich-
ten Internet Standards bzw. Internet Drafts dokumentiert. Eine Auf-
listung dieser findet sich am Ende dieses Beitrags.
Dieser Beitrag erläutert zuerst kurz die Aufgaben vom RPL. Danach Beitrags-
wird ein funktionales Modell des Protokolls eingeführt, in dem die schwerpunkte
wesentlichen RPL-Funktionsmodule wie jene zur Realisierung von
Objective Functions, Path Calculation Algorithm, Estimation of
Routing Metrics, Packet Forwarding Scheme, Rerouting & Maintai-
ning Support, Mobility Support und Security Support präsentiert
werden. Schließlich wird detaillierter auf die Bedeutung und Aufga-
be einzelner Funktionsmodule eingegangen.
2
R
► RPL
Loop-free Routing In einem LLN können bei der Übermittlung von Datenpaketen ver-
schiedene unerwünschte, als Routing Loops (kurz Loops) bezeichne-
te Schleifen entstehen, welche dazu führen, dass die Pakete entlang
von „geschlossenen Übermittlungspfaden“ zirkulieren. In einem
Wireless Sensor Network kann eine solche Situation z.B. dazu füh-
ren, dass ein Aktor und/oder Sensor die gleichen Daten wiederholt
empfängt. Um derartige negative Effekte zu vermeiden, muss das
RPL eine schleifenfreie Übermittlung von Datenpaketen zwischen
Intermediate Nodes und End Nodes im LLN gewährleisten.
DODAG Diese Anforderung wird vom RPL mittels einer besonderen logi-
Destination-Oriented schen Vernetzungstopologie (Bild 008361b) erfüllt. Sie bildet einen
Directed Acyclic sog. Destination-Oriented Directed Acyclic Graph (DODAG), das
Graph heißt einen zielorientierten, gerichteten, azyklischen Graphen. Er
stellt eine nach einer sog. Objective Function optimierte schleifen-
freie Topologie dar, in welcher der LBR die Wurzel bildet und die
Intermediate Nodes als Abzweigungen einer Baumstruktur angese-
hen werden können, in der die End Nodes die Blätter darstellen.
3
R
► RPL
Im Kontext des IoT sind die Intermediate Nodes und End Nodes im Adressierte
LLN als IoT-Devices zu betrachten, denen IPv6-Adressen zugewie- IoT-Devices
sen werden müssen. Hierfür werden sog. LLU-Adressen (Link-Local
Unicast IPv6 Addresses) mit einem 64 Bit langen Präfix FE80::/64
in LLNs verwendet. Die letzten 64 Bit in diesen IPv6-Adressen
stellen die Interface-ID (Identification) dar und bilden die sog. EUI-
64-Adresse (Extended Unique Identifier). Sie entsteht durch die
Erweiterung von MAC-Adressen um eine festgelegte Bitkombinati-
on und ist wie die ursprüngliche Adresse im Grunde als MAC-
Adresse anzusehen. Folglich werden die Nodes in LLNs – und dem-
entsprechend auch in DODAGs – mit Interface-IDs, die de facto
MAC-Adressen sind, identifiziert.
4
R
► RPL
5
R
► RPL
RPL-Grundbegriffe
Das Routing in einem Netzwerk ist ein Optimierungsprozess im Objective
Sinne eines Kriteriums, welches das Ziel der Optimierung bestimmt. Function
Insbesondere in jedem LLN ist das Routing ein wiederholt durch-
führbarer Optimierungsprozess, dessen Ziel durch eine Zielfunktion
(Objective Function, OF) messbar und numerisch bestimmt werden
muss.
6
R
► RPL
Der DODAG in einem LLN wird so aufgebaut, dass die Routen von
jedem End Node zum Root Node nach einer Objective Function
optimiert sind. Zurzeit (August 2017) können beim RPL die zwei
folgenden als Internet-Standards geltenden Objective Functions zum
Einsatz kommen:
OF0 – Objective Function Zero nach RFC 6552
MRHOF – Minimum Rank with Hysteresis Objective Function
nach RFC 6719
Auf ihre Bedeutung wird im Folgenden noch eingegangen.
Die Qualität einer Route, also ihre Metrik, wird durch die Qualität
von Systemkomponenten (insbesondere von Links und Nodes) ent-
lang der Route bestimmt. Dementsprechend spricht man von Link
Metrics und von Node Metrics, wenn die Qualität dieser System-
komponenten gemeint ist.
1
Genau genommen wird die Art der Objective Function (OF-Type) als Wert
von OCP (Objective Code Point) in der Option DODAG-Configuration
angegeben. Diese Option wird in den Nachrichten DIO übermittelt.
7
R
► RPL
Die Metriken von Routen und Links, also ihre Qualität, werden beim
RPL mit dem Parameter Rank quantitativ angegeben.
Jeder Node – sowohl ein Intermediate Node (Router) als auch ein
End Node – hat im DODAG seinen Rank, welcher die Metrik der
Route von ihm zum Root Node widerspiegelt. Damit ist der Rank
quasi ein Maß für die „Entfernung“ eines Node zum Root Node.
Deshalb wird der Rank von Nodes dazu verwendet, im DODAG
seine Entfernung zur Root zu bestimmen. Die Bedeutung des Rank
wird in den Bildern 008363 und 008364 gezeigt.
Wie in Bild 008363 zum Ausdruck gebracht wurde, können mehrere RPL-Instance
DODAGs in einem LLN aufgebaut und zu einer logischen Instanz
zusammengefasst werden. Diese wird als RPL-Instance bezeichnet.
In einem sehr großen LLN lassen sich mehrere dieser Instanzen
einrichten. Um die geschilderte zweistufige logische Strukturierung
von LLNs zu ermöglichen, wird jedem DODAG eine im ganzen
LLN einmalige Identifikation (DODAG ID) zugewiesen. Als Identi-
fikation dient in der Regel die IPv6-Adresse der DODAG-Root.
Die in Bild 008363 gezeigte logische Strukturierung von LLNs, also Vorteil der
die Bildung mehrerer DODAGs innerhalb einer RPL-Instance, hat Strukturierung
einen großen Vorteil: In den einzelnen DODAGs innerhalb einer
RPL-Instance können dadurch die besten Routen nach den verschie-
denen, an die Besonderheiten des LLN angepassten Kriterien und
Prinzipien ermittelt werden. Damit besteht die Möglichkeit, die
Optimierung von LLN-Routen nach verschiedenen Optimierungskri-
terien (Objective Functions) vorzunehmen. In jedem DODAG des-
selben LLN kann so eine andere Objective Function verwendet
werden. Eine solche Lösung kann dazu dienen, die Nutzungsprofile
einzelner DODAGs in breit angelegten LLNs, z.B. in den künftigen
Smart Cities, an die Besonderheiten und Leistungsfähigkeiten von
8
R
► RPL
Relevanz An dieser Stelle soll nochmals auf die in Bild 008363 herausgestellte
des Rank Relevanz des Rank im DODAG eingegangen werden. Auf diese
im DODAG Weise wird quasi dessen „Distanz“ zur Root angegeben – aber nicht
in klassischen Längewerten, sondern in den Werten verwendeter
Routing Metrics. Die präzise Aussage eines Rank erhält man somit
nur unter Beachtung der beim RPL verwendeten Routing Metric. So
kann der Rank z.B. in einem Sonderfall (siehe Anmerkung) die
9
R
► RPL
Wie Bild 008363 zeigt, unterscheidet man bei der Übermittlung von
RPL-Nachrichten zwischen zwei Richtungen (Directions), und zwar Übermittlungs-
zwischen Downward Direction und Upward Direction. Hierbei wird richtungen
die Richtung „vom Root Node zu den End Nodes“ als Downward
Direction und die Gegenrichtung „von den End Nodes zum Root
Node“ als Upward Direction bezeichnet. Bild 008363 vermittelt
zudem, welche RPL-Nachrichten in welcher Richtung übermittelt
werden.
10
R
► RPL
Die Bildung von VLLNs im IoT würde somit der Bildung von Virtual LANs
(VLANs) sowohl innerhalb von LANs als auch im „klassischen“ Internet
entsprechen.
Route Jedes Routingprotokoll spezifiziert die Art und Weise, wie optimale
Selection Routen gemäß der bei ihm verwendeten Zielfunktion (Objective
Function) unter Berücksichtigung möglichst aller Beschränkungen
ausgewählt werden sollen. Diese Routenauswahl wird beim RPL als
Route Selection bezeichnet. Sie ist die „Kernaufgabe” jedes Rou-
tingprotokolls – somit auch des RPL. Bild 008364 verfolgt das Ziel,
die Idee und Realisierung der Route Selection beim RPL zu veran-
schaulichen.
11
R
► RPL
Beim RPL wird vorausgesetzt, dass jeder Router (Root Node) die Güte
Metriken, also die Güte von Links (Funkkanälen) zu allen benach- der Links
barten Routern, kennt. Diese Metriken werden in der Konfigurati-
onsphase beim betreffenden Router eingetragen. Er kann sie in
bestimmten Fällen auch experimentell auf eine festgelegte, vom
konkreten Fall abhängige Art und Weise abschätzen, so wie es z.B.
in Bild 008364b gezeigt wurde. Der hier dargestellte Router X k
kennt folglich die Metriken zu allen ihm bekannten benachbarten
Routern in Root-Richtung.
Beim Aufbau des DODAG und insbesondere bei der Route Selection Aktualisierung
spielt die Nachricht DIO (Bild 008372) eine sehr wichtige Rolle. Mit der Routing-
DIO initiiert die Root den Aufbau eines neuen DODAG, genauer informationen
gesagt einer neuen DODAG-Version, die in DIO angegeben werden
muss. Auch jeder Router, der eine auf das Routing bezogene Verän-
derung in seinem Umfeld feststellt, verschickt DIO an alle seine
Nachbarn, um diese über die Notwendigkeit der Änderung von
Routen zu informieren und de facto das sog. Rerouting, also die
Neuermittlung aktueller Routen, einzuleiten. Durch diese seitens
jedes Routers realisierte Aktion versetzen sich alle Router gegensei-
tig in die Lage, alle benachbarten, über einen Hop erreichbaren
Router in Root-Richtung kennenzulernen.
Betrachtet man z.B. den Router Xk, in Bild 008364, so sind die
Router P1, …, Pi, Pm, …, PN dessen Nachbarrouter (Neighbour Rou-
ters) in Root-Richtung. Aus diesen Nachbarroutern wird ein Router,
über den die optimale Route zur Root führt, ausgewählt und als
Parent bezeichnet. Es werden also alle benachbarten Router in Root-
Richtung eines Routers als seine Parent Candidates angesehen.2
Jeder Router muss die Liste seiner Parent Candidates, die sog. Parent
Candidates List (PCL), immer auf dem aktuellen Stand halten. Er
muss diese Liste fast ständig aktualisieren, insbesondere nach dem
Empfang von DIO.
2
Parent Candidates nennt man (wie z.B. in RFC 6552) auch Potential Pa-
rents. Die Parent Candidates List wird dann als Parent Set bezeichnet.
12
R
► RPL
MRHOF Wie in Bild 008364 gezeigt, werden die optimalen Routen nach der
und ETX Objective Function MRHOF ausgewählt. Als Metrik von Links bei
MRHOF wird in der Regel der Parameter ETX verwendet. Bei der
MRHOF wird der Rank jedes Routers als Parameter PathCost ange-
nommen und als Kosten (Cost) der Route (Path) vom Router zum
Root angesehen. Demzufolge wird bei der Route Selection, als opti-
male Route, die Route zur Root mit den minimalsten Kosten ange-
nommen.
Der Parameter ETX stellt die Metrik von Links dar und dient als
Maß zur Bewertung der Qualität von fehlerbehafteten und unzuver-
lässigen Links im LLN. Der ETX-Wert eines Links repräsentiert die
in stochastischem Sinne geschätzte mittlere Anzahl der Sendungs-
versuche eines Pakets, die benötigt werden, um dieses erfolgreich
über den Link zu übermitteln und eine Quittung dafür in Form eines
entsprechenden Acknowledgement-Pakets zu erhalten.
Registrierung Hat der in Bild 008364 betrachtete Router Xk die Nachricht DIO von
von Parent einem neuen, ihm noch unbekannten Router Pm empfangen, gilt
Candidates dieser als dessen Parent Candidate. Daher nimmt der Router X k
zuerst den neuen Router Pm in seine Parent Candidates List auf.
13
R
► RPL
Ist der neue, nach der MRHOF als NewPathCost bezeichnete Rank-
Wert R(Xk|Pm) um den Wert niedriger als der alte, als OldPathCost
bezeichnete Rank-Wert R(Xk|Pi), so dient der neue Nachbarrouter Pm
von jetzt an als neuer Parent, denn über diesen Router Pm verläuft
die aktuell optimale Route vom Router Xk zur Root.
Anmerkung: Der als PARENT_SWITCH_THRESHOLD bezeichnete Para-
meter muss sorgfältig bestimmt werden. Er soll dazu beitragen, dass nicht
jede minimale Steigerung des Rank-Wertes der optimalen Route unbedingt
zur Ermittlung einer neuen, besseren Route führen muss. Somit trägt dazu
bei, sog. Hysteresis-Effekte als negative Nachwirkungen, die durch ein sich
zu oft wiederholendes Rerouting zu Instabilitäten im LLN führen würden,
möglichst zu vermeiden. Folglich kann als Hysteresis-Parameter angesehen
werden.
Auf Englisch werden diese auch Traffic Patterns genannten Ver- Verkehrsarten
kehrsarten entsprechend als
P2P – Point-to-Point (auch One-to-One),
P2MP – Point-to-Multipoint (auch One-to-Many) und
14
R
► RPL
P2MP
Diese Verkehrsart ermöglicht eine gerichtete Datenübermittlung
vom Root Node zu allen End Nodes, welche de facto oft diverse
Sensoren und Aktoren repräsentieren. Dank der P2MP-
Kommunikation können alle End Nodes in einem DODAG quasi
auf einen Schlag mit einer aus dem Internet kommenden, über
15
R
► RPL
16
R
► RPL
Multicasting Die beim RPL möglichen Betriebsarten verlangen, dass man beim
Aufbau eines DODAG in der Nachricht DIO darauf verweist, welche
Betriebsart jeweils unterstützt werden soll. Hierfür dient die Angabe
MOP (Mode of Operation) im DIO-Header (Bild 008372). Bezüg-
lich der Unterstützung von Multicast im DODAG sei angemerkt,
dass man bei der Betriebsart Storing Mode mithilfe der Angabe
MOP im DIO-Header noch zwischen zwei Möglichkeiten unter-
scheidet, nämlich, ob dabei das Multicasting unterstützt wird (MOP
= 3) oder nicht (MOP =2).
17
R
► RPL
18
R
► RPL
19
R
► RPL
Es sei hervorgehoben, das beim RPL alle Parameter als Metriken Routing Met-
infrage kommen, die als Maß zur Bewertung der Qualität von Links rics
bzw. Nodes dienen können. Dabei unterscheidet man zwischen
Link-based und Node-based Metrics. Bild 008367 zeigt eine Auflis-
tung jener Metriken, welche bereits ausführlich untersucht worden
sind und sich für den Einsatz im RPL als besonders gut geeignet
erwiesen haben.
20
R
► RPL
Literatur
[1] Anand, M., C., Radhesh; Tahiliani, Mohit, P.: mRPL++:
Smarter-HOP for optimizing mobility in RPL, IEEE Region 10
Symposium (TENSYMP), May 2016; DOI:
10.1109/TENCONSpring.2016.7519374
[2] Badach, Anatol; Hoffmann, Erwin: Technik der IP-Netze.
Verlag Hanser, 2015, ISBN-13: 978-3446439764
[3] Djedjig, Nabil; Tandjaoui, Djamel; Medjek, Faiza: Trust-based
RPL for the Internet of Things, 20th IEEE Symposium on
Computers and Communication (ISCC), July 2015; DOI:
10.1109/ISCC.2015.7405638
[4] Djedjig, Nabil; Tandjaoui, Djamel; Medjek, Faiza; Romdhani,
Imed: New Trust Metric for the RPL Routing Protocol, 8th In-
ternational Conference on Information and Communication
Systems, Apr. 2017; DOI: 10.1109/IACS.2017.7921993
[5] Fotouhi, Hossein; Moreira, Daniel; Alves Mário: mRPL: Boost-
ing Mobility in the Internet of Things, Ad Hoc Networks, Vol.
26, Mar. 2015; DOI: 10.1016/j.adhoc.2014.10.009
[6] Fotouhi, Hossein; Moreira, Daniel; Alves Mário; Yomsi, Pat-
rick, Meumeu: mRPL+: A mobility management framework in
RPL/6LoWPAN, Computer Communications, Vol. 104, May
2017; DOI: 10.1016/j.comcom.2017.01.020
[7] Glissa, Ghada; Rachedi, Abderrezak; Meddeb, Aref: A secure
routing protocol based on RPL for Internet of Things, IEEE
Global Communications Conference (GLOBECOM), Dec.
2016; DOI: 10.1109/GLOCOM.2016.7841543
[8] Kim, Hyung-Sin; Paek, Jeongyeup; Bahk, Saewoong: QU-RPL:
Queue Utilization based RPL for Load Balancing in Large Scale
Industrial Applications, IEEE International Conference on
Sensing, Communication, and Networking (SECON), June
2015; DOI: 10.1109/SAHCN.2015.7338325
[9] Lodhi, M, Ali; Rehman, Abdul; Khan, Meer, M.; Hussain,
Faisal, Bashir: Multiple Path RPL for Low-Power Lossy Net-
works, IEEE Asia Pacific Conference on Wireless and Mobile,
Aug. 2015; DOI: 10.1109/APWiMob.2015.7374975
[10] Lorentea, Guillermo, Gastón; Lemmens, Bart; Carlier, Matthias;
Braeken, An; Steenhaut, Kris: BMRF: Bidirectional Multicast
21
R
► RPL
22