SuS-04.1: Mobile Ad-hoc Networks

Werbung
Software ubiquitärer Systeme
Ad-hoc-Netzwerke
Constantin Timm und Olaf Spinczyk
Arbeitsgruppe Eingebettete Systemsoftware
Lehrstuhl für Informatik 12
TU Dortmund
[email protected]
http://ess.cs.uni-dortmund.de/~os/
http://ess.cs.tu-dortmund.de/DE/Teaching/SS2009/SuS/
Inhalt


Motivation
Ad-hoc-Netzwerke


Ad-hoc-Routingprotokolle
Sicherheit in Ad-hoc-Netzwerken
04.1 – Mobile Ad-hoc Networks (MANET)
2
Inhalt


Motivation
Ad-hoc-Netzwerke


Ad-hoc-Routingprotokolle
Sicherheit in Ad-hoc-Netzwerken
04.1 – Mobile Ad-hoc Networks (MANET)
3
Motivation
Hey Tür! Ist
Stuhl 1 in
deiner
Reichweite?
Hallo Stuhl 1!
Kannst du
ihm fragen,
ob er noch
besetzt ist?
Klar!
04.1 – Mobile Ad-hoc Networks (MANET)
4
Motivation
04.1 – Mobile Ad-hoc Networks (MANET)
5
Motivation
Start
Zwischenknoten
Ziel
Was braucht man hier? Richtig! Routingprotokolle.
04.1 – Mobile Ad-hoc Networks (MANET)
6
Ausprägungen von UbiCom-Netzwerken
• kleine Zellen, Personal Area Networks
• Lokalität als Gewinn, Nutzung von Lokationsinformation
• Preiswert durch preiswerte Gerätetechnologie
– ... und durch verringerten Kabelaufwand:
• z.B. Nutzung vorhandener Infrastruktur: Telefonkabel, Stromkabel
– ... und durch best-effort Verkabelung: Kabelgebundene
Grobverkabelung sowie kabelloser letzter Meter
• Anwendungs- statt Technikorientiert
04.1 – Mobile Ad-hoc Networks (MANET)
7
Anforderungen an UbiCom-Netzwerke
•
Netzwerktypen: oft verschiedene durch breiten Anwendungsbereich
– Multimedia / Information, Echtzeit, Kontext
•
•
Ad-Hoc-Ausprägung: Spontanes Hinzukommen/Verlassen,
keine/einmalige Administration, auf allen Schichten
Kommunikationsmodel:
– Anwendungsorientert (P2P)
– Dienstorientert (Master-Slave)
•
•
•
•
Medien: oft mobil und kabellos, für Haustechnik und Multimedia
auch kabelgebunden
Durchsatz, Latenz-, Einbuchzeiten: Multimedia: hoher Durchsatz,
längeres Einbuchen, Kontext: niedriger Durchsatz, kurzes Einb.
Energie und Preis: Oft energiesparend und preiswert
Routingfähigkeiten:
– Netzwerk-Routing
– Application Layer Bridges
04.1 – Mobile Ad-hoc Networks (MANET)
8
TCP/IP-Stack
04.1 – Mobile Ad-hoc Networks (MANET)
9
Routing

Wo ist Routing eigentlich im ISO/OSI-Modell angesiedelt?

Oft wird Routing mit der Wegsuche auf der Vermittlungsschicht
gleichgesetzt.
=> Dies ist aber nur zum Teil richtig

Es gibt Beispiele für Routingmechanismen auch auf anderen
Ebenen

Sicherungsschicht



Bluetooth
Routing zwischen WLAN-Access-Points
Anwendungsschicht

Routing in P2P-Protokollen
04.1 – Mobile Ad-hoc Networks (MANET)
10
Routing

Für Routingalgorithmen in Ubiquitous Computing muss
gelten



Hohe Skalierbarkeit
Flexibilität
Effizient im Hinblick auf …




Komplexität
Energieverbrauch
Speicherverbrauch
Ad-hoc-Routing in mobilen IP-Netzwerken erprobt



Dutzende Verfahren existieren
Implementierung für Standard-Betriebssysteme, wie z.B. Linux
oder Windows existieren
Wird deshalb heute in dieser Vorlesung behandelt
04.1 – Mobile Ad-hoc Networks (MANET)
11
Inhalt


Motivation
Ad-hoc-Netzwerke


Ad-hoc-Routingprotokolle
Sicherheit in Ad-hoc-Netzwerken
04.1 – Mobile Ad-hoc Networks (MANET)
12
Der Begriff: „Mobile Ad-hoc Network“

Jochen Schiller, Mobilkommunikation:
Ad-hoc-Netze kommen ohne jegliche Infrastruktur
aus, insbesondere ohne eine ausgezeichnete
Basisstation, welche den Medienzugriff zentral
steuert. Diese Netzvariante erlaubt die spontane, nicht
vorab geplante Kommunikation zwischen mobilen
Endgeräten, wobei einige oder alle Endgeräte auch
Daten von anderen Endgeräten weiterleiten können.
04.1 – Mobile Ad-hoc Networks (MANET)
13
Einordnung Manets
04.1 – Mobile Ad-hoc Networks (MANET)
14
Eigenschaften von MANETs
• Keine feste Infrastruktur
• Dynamische Topologie
• Wegbrechen von Routen
• Entstehung von neuen Routen
• Spontane Vernetzung
• Jedes Gerät kann Endpunkt einer Kommunikation sein, aber
auch Daten einer Kommunikation weiterleiten müssen.
N1
N7
N2
N4
Zeit = t1
N7
N6
N1
N3
N5
N3
N2
N4
N6
N5
Zeit = t2
gute Verbindung
schlechte Verbindung
04.1 – Mobile Ad-hoc Networks (MANET)
15
Eigenschaften von MANETs
•
•
•
•
Multihop-Umgebung
Stark begrenzte Bandbreite
Asymmetrische Verbindungen
Beschränkte Möglichkeit der Energieversorgung
• Abhängigkeit von Batterien oder Akkus
• Große Anzahl von Geräten + großer Energiebedarf führt zu
großen Kosten
• Limitierte Möglichkeit das Netz vor physischen Einfluss
zu schützen, z.B.
• Denial-of-Service-Angriffe
• Überwachungsangriffe
• Verfälschen von Nachrichten
04.1 – Mobile Ad-hoc Networks (MANET)
16
Inhalt


Motivation
Ad-hoc-Netzwerke


Ad-hoc-Routingprotokolle
Sicherheit in Ad-hoc-Netzwerken
04.1 – Mobile Ad-hoc Networks (MANET)
17
Ad-hoc-Routingprotokolle
• Grund
• Klassische Verfahren aus dem Festnetzbereich versagen
• Zu langsame Konvergenz, zu großer Overhead
• Hohe Dynamik, geringe Bandbreite, geringe Rechenleistung
• Metriken der klassischen Verfahren müssen hier nicht zu
optimalen Ergebnissen führen
• Metriken für eine Routenwahl
• Minimale
• Anzahl Knoten, Datenverluste, Verzögerung, Stausituationen, …
• Maximale
• Stabilität der Verbindungsstruktur, Batterielaufzeit der Knoten, Zeit
des Zusammenhalts der Knoten, …
04.1 – Mobile Ad-hoc Networks (MANET)
18
Ad-hoc Routingprotokolle
•
Flach
•
•
•
Hierarchisch
•
•
•
•
•
Proaktiv
• FSLS – Fuzzy Sighted Link State
• FSR – Fisheye State Routing
• OLSR – Optimised Link State Routing Protocol
• TBRPF – Topology Broadcast Based on Reverse Path Forwarding
Reaktiv
• AODV – Ad hoc On demand Distance Vector
• DSR – Dynamic Source Routing
CGSR – Clusterhead-Gateway Switch Routing
HSR – Hierarchical State Routing
LANMAR – Landmark Ad Hoc Routing
ZRP – Zone Routing Protocol
Unterstützt durch geographische Ortsangaben
•
•
•
•
DREAM – Distance Routing Effect Algorithm for Mobility
GeoCast – Geographic Addressing and Routing
GPSR – Greedy Perimeter Stateless Routing
LAR – Location-Aided Routing
04.1 – Mobile Ad-hoc Networks (MANET)
19
Proaktive Protokolle

Proaktive Protokolle tauschen periodisch
Kontrollnachrichten miteinander aus

Linkstate-Protokolle



Distanzvektor-Protokolle



Jeder Router im Netzwerk teilt den anderen Knoten im Netzwerk den
Zustand der Verbindungen zu sein Nachbarn mit
Jeder Router kennt explizit die komplette Topologie und kann mit
dieser eine Route berechnen, z.B. mit dem Shortest-Path-Algorithmus
von Dijkstra
Jeder Router kennt alle im Netzwerk vorhanden Knoten, aber nur in
Form des nächsten Hops und der Länge des Weges
Routenberechnung implizit durch Austausch der kompletten
Routingtabelle
Proaktive Protokolle brauchen viel Bandbreite und sind
nicht so dynamisch
04.1 – Mobile Ad-hoc Networks (MANET)
20
DSDV


Destination-Sequenced Distance Vector Routing
Routingtabelle enthält u.a. folgende Felder





Destination
Next Hop und Anzahl der Hops
Sequenznummer
Routingtabellen werden per Broadcast verteilt
Updates werden periodisch

Full dump: Alle Informationen werden übernommen
und bei Veränderung in der Topologie geschickt


Incremental dump: Nur Information über Veränderungen werden
übernommen
Auswahl der Route


Route mit der neusten Sequenznummer
Route mit der besten Metrik
04.1 – Mobile Ad-hoc Networks (MANET)
21
OLSR


Optimized Link State Routing
Spezifiziert in RFC (Request for Comments) 3626



Erweitert normale Link-State-Protokolle
Vereinfacht die Komplexität der Link-Protokolle
Wichtige Eigenschaften




Jeder Knoten hat globalen Überblick über alle Knoten im Netzwerk
und den Verbindungen dort hin
Jeder Knoten berechnet die Route eigenständig
In OLSR haben nicht alle Knoten die gleichen Aufgaben
Route wird über „Shortest Path Algorithmus“ berechnet
04.1 – Mobile Ad-hoc Networks (MANET)
22
OLSR


Nachbarknoten werden mit Hello-Nachrichten gefunden
Kontrollpakete (TC) werden periodisch erstellt



Knoten erhält Distanzinformation von allen anderen
Knoten



Enthält Knotenadresse, Sequenznummer, Nachbarknoten mit
Distanzinformationen
Werden per Broadcast verteilt
Netzwerktopologie wird aufgebaut
Route mit „Shortest Path Algorithmus“ berechnet
Unterschied zu anderen Linkstate-Algorithmen?
04.1 – Mobile Ad-hoc Networks (MANET)
23
OLSR
• Unterschied zu anderen Linkstate-Algorithmen
– Optimized LSR
– Es sogenannte Multi-Point-Relays, die Kontrollnachrichten
weiterleiten dürfen
• Es müssen aber alle Knoten im Netzwerk erreichbar sein
Standard
Optimiert
04.1 – Mobile Ad-hoc Networks (MANET)
24
Reaktive Protokolle



Reaktive Protokolle tauschen Kontrollnachrichten
nur aus, wenn eine Route benutzt werden soll
Reaktive Protokolle brauchen weniger Bandbreite
als proaktive Protokolle und sind dynamischer
Die Route müssen aus nur teilweiser Kenntnis des
Netzwerks errechnet werden
04.1 – Mobile Ad-hoc Networks (MANET)
25
AODV

Ad hoc On-Demand Distance Vector


Spezifiziert in RFC (Request for Comments) 3561



Ausgelegt für IPv4-Netze
Beliebige Anzahl von Knoten im Netzwerk
Wichtige Eigenschaften



Reaktives Routingprotokoll
Knoten kennen nur den nächsten Teilnehmer einer Route und die
Länge der Route
Singlepfadalgorithmus
Definiert zwei Routingmechanismen


Route Discovery
Route Maintenance
04.1 – Mobile Ad-hoc Networks (MANET)
26
AODV
• Route Discovery
• Zwei Routingnachrichtentypen zum Routenaufbau
• „Route-Request“(RREQ)-Nachricht per Broadcast in Richtung Ziel
• „Route Replay“(RREP)-Nachricht per Unicast zurück zur Quelle
• Broadcast an die Adresse 255.255.255.255
• Bei bidirektionalen Verbindungen zwischen den Knoten wird
auch eine bidirektionale Route aufgebaut
• Route Maintenance
• “Route-Error”(RRER)-Nachricht wird losgeschickt, wenn eine
gebrochenen Route entdeckt wird, z.B. durch einen Fehler auf
der Sicherungsschicht (MAC-Schicht)
• RRER-Nachricht wird an Nachbarn geschickt
04.1 – Mobile Ad-hoc Networks (MANET)
27
AODV
04.1 – Mobile Ad-hoc Networks (MANET)
28
DSR

Dynamic Source Routing


Spezifiziert in RFC (Request for Comments) 4728



Ausgelegt für IPv4-Netze
Höchstanzahl der Zwischenknoten u.a. festgelegt durch
vorhandenen Platz im IP-Header (<10)
Wichtige Eigenschaften



Reaktives Routingprotokoll
Quelle kennt die komplette Route
Route wird im Datenpaket mitgeschickt
Definiert zwei Routingmechanismen


Route Discovery
Route Maintenance
04.1 – Mobile Ad-hoc Networks (MANET)
29
DSR
• Route Discovery
• Nur wenn wirklich ein Weg zum Senden von Daten zu einem
bestimmten Ziel benötigt wird und noch keiner vorhanden ist
• Aussenden eines Broadcast-Pakets mit Zieladresse und
Sequenznummer
• Bei Empfang eines Broadcast-Pakets
• falls Empfänger, dann Rücksendung eines Route Replys an
Absender
• falls Paket bereits früher erhalten (Sequenznummer), verwerfen
• sonst eigene Adresse anhängen und als Broadcast weiterleiten
• Das Ziel kann den Weg auslesen und auf diesem antworten
(symmetrische Pfade!) oder startet das gleiche Verfahren in
Gegenrichtung
• Sender erhält Paket mit aktuellem Weg (Adressliste) zurück
04.1 – Mobile Ad-hoc Networks (MANET)
30
DSR
04.1 – Mobile Ad-hoc Networks (MANET)
31
DSR
• Route Maintenance
• Nach dem Senden
• Warten auf die Quittung auf Sicherungsschicht
• Mithören auf dem Medium, ob Paket weitergeleitet wird
• Anforderung einer expliziten Bestätigung
• Falls Probleme erkannt werden, kann der Sender informiert oder
lokal ein neuer Weg gesucht werden
• nur während ein Weg aktuell benutzt wird, muss dafür gesorgt
werden, dass er weiterhin funktioniert
04.1 – Mobile Ad-hoc Networks (MANET)
32
CGSR
• Clusterhead-Gateway Switch Routing
• Eigenschaften
• Das Netzwerk wird in sich überlappende Cluster aufgeteilt
• Für jedes Cluster wird ein sogenannter Clusterhead ausgewählt
• Ein Knoten, der zu zwei Clustern gehört, wird Gateway genannt
04.1 – Mobile Ad-hoc Networks (MANET)
33
CGSR
• CGSR benutzt ein Distanzverktor-Protokoll
• Jeder Knoten speichert zwei Routingtabellen
• Eine Distanzvektor-Routingtabelle, die zusätzlich zu den “normalen”
Routingeinträgen einen Routingeintrag mit der Route zum
Clusterhead für jedes Cluster beinhaltet
• Eine “Cluster Member”-Tabelle, die für jeden Knoten den
Clusterhead speichert
• CGSR reduziert die Größe der Routingtabelle signifikant
im Hinblick auf klassische Distanzvektorprotokollen
04.1 – Mobile Ad-hoc Networks (MANET)
34
BeeAdhoc
• Agenten-basiertes Ad-hoc-Routingprotokoll
– Multipfad-Algorithmus
– Routenbestimmung
– Finden der Senke ist klassisch per Broadcast gelöst
– „Source Routing“-Algorithmus
– Bestimmung der besten Route per Sammeln von Information längst
der Route
– Kann mehrere Faktoren optimieren
• Gleichmäßiger Energieverbrauch im Netzwerk
• Abfrage der verbleibenden Energie auf einem Knoten
• Delay
• Speichern von Zeitinformation entlang der Route
04.1 – Mobile Ad-hoc Networks (MANET)
35
BeeAdhoc
• Agententypen in BeeAdhoc
• Packers: Datenpakete
• Scouts : Erkunden neue Pfade
• Foragers : Transportieren Datenpakete und testen Routen
36
04.1 – Mobile Ad-hoc Networks (MANET)
36
BeeAdhoc
04.1 – Mobile Ad-hoc Networks (MANET)
37
AntHocNet
• Agenten-basierter Algorithums
• Multipfad-Algorithmus
• Basiert auf den „Ant Colony Optimization“ (ACO) –
Prinzipien
– Ameisen haben folgende Eigenschaften
• Futtergebiete können erkundet werden ohne globale Sicht auf die
Oberfläche
• Können Futter finden und dieses zum Hügel zurückbringen
• Werden den kürzesten Pfad benutzen
– Ameisen arbeiten im Team
• Indem sie Pheromone hinterlassen
• Pheromone diene zur Kommunikation mit den anderen Ameisen
04.1 – Mobile Ad-hoc Networks (MANET)
38
AntHocNet
1. Wenn eine Datenübertragung an Knoten S mit Senke D
startet, wird überprüftt, ob aktuelle Routinginformationen
vorhanden sind.
2. Falls nicht werden Ameisen-ähnliche Agenten, die
“Forward Ants” losgeschickt, um eine Route zu D zu
finden
3. Diese Ameisen sammeln Informationen über die
Qualität der von ihnen benutzten Route. Am Ziele
werden sie “Backward Ants”, die den Pfad zurückgehen
und an den besuchten Knoten die Routingtabelle
erneuern.
04.1 – Mobile Ad-hoc Networks (MANET)
39
AntHocNet
1. Wenn die Routen aufgebaut sind und die
Datenübertragung läuft, sendet S proaktive „Forward
Ants“ zum Knoten D. Diese folgenden der
Pheromonspur genauso wie die Datenpakete und haben
zusätzlich die Fähigkeit neue Route zu erkunden.
2. Im Falle von Verbindungsproblemen versuchen die
Knoten die Route lokal zu erneuern oder schicken
Warnmittelungen an ihre Nachbarknoten
04.1 – Mobile Ad-hoc Networks (MANET)
40
Inhalt


Motivation
Ad-hoc-Netzwerke


Ad-hoc-Routingprotokolle
Sicherheit in Ad-hoc-Netzwerken
04.1 – Mobile Ad-hoc Networks (MANET)
41
Sicherheit in MANETs
• Kommunikationspartner sind per Definition nicht
vertrauenswürdig, weil …
•
•
•
•
Offenes Medium
Teilnehmende Geräte können leicht in falsche Hände geraten
Keine zentrale Instanz
Dynamische Topologie
04.1 – Mobile Ad-hoc Networks (MANET)
42
Sicherheit in MANETs
•
Adhoc-Routingprotokoll-Spezifikationen sind oft nicht
auf Sicherheit eingestellt, z.B. :
Currently, OLSR does not specify any
special security measures. As a
proactive routing protocol, OLSR makes
a target for various attacks.
Vertraulichkeit der Daten: Informationen können mitgelesen
werden
– Integrität der Daten: Verfälschte Kontrollnachrichten
–
04.1 – Mobile Ad-hoc Networks (MANET)
43
Sicherheit in MANETs
•
Selfishness
–
–
•
Kontrollpakete nicht
weiterleiten
Kontrollpakete zum eigenen
Vorteil ändern
Black-Hole-Angriff
–
–
Datenpakete nicht
weiterleiten
Möglichst viele Route über
sich selbst leiten
04.1 – Mobile Ad-hoc Networks (MANET)
44
Sicherheit in MANETs
•
Denial of Service DoS
–
–
•
Funkverbindung stören
Unnötige Pakete schicken
Spoofing
–
Weitergeleitete Pakete
mitlesen
04.1 – Mobile Ad-hoc Networks (MANET)
45
Sicherheit in MANETs
• SAODV
– Basiert auf AODV
– Schützt feste und flexible Bereiche der Kontrollnachrichten
Route Request
04.1 – Mobile Ad-hoc Networks (MANET)
Route Reply
46
Sicherheit in MANETs
• SAODV
• Nicht veränderbare Felder werden mit digitalen Signaturen
gesichert
• „Hash chains“ werden in SAODV benutzt um den Hop Count des
Route Requests zu authentifizieren:
• Bei jedem RREQ wird ein Seed-Wert erzeugt und ein „Max Hop
Count“ auf die TTL des AODV gesetzt. „Max Hop Count“ und „Top
Hash“ sind durch Signaturen geschützt:
Hash = seed
Top_Hash = hMax_Hop_Count(seed)
• Beim Empfangen eines RREQ wird der Hop Count authentifiziert
und vorm Losschicken wird die Hashfunktion einmal auf den
aktuellen Hash-Wert angewendet
Top_Hash == hMax_Hop_Count – Hop_Count(Hash)
04.1 – Mobile Ad-hoc Networks (MANET)
Hash = h(Hash)
47
Zusammenfassung
• Kennenlernen von Ad-Hoc-Netzwerken und Bedeutung
für Ubiquitous Computing
• Ad-Hoc-Routing-Protokolle
• Sicherheit in Ad-Hoc-Routing-Protokollen
04.1 – Mobile Ad-hoc Networks (MANET)
48
Referenzen
• Jochen Schiller, Mobilkommunikation, Addison-Wesley
– Dazu: Folienmaterial von der TU Berlin
• Gianni Di Caro, AntHocNet: an Ant-Based HybridRouting
Algorithm for Mobile Ad Hoc Networks
• Muddassar Farooq, BeeAdHoc: An Energy Efficient
Routing Algorithm for Mobile Ad Hoc Networks Inspired
by Bee Behavior
• Alexander Berner, Sicherheitsaspekte beim Routing in
MANETs
• Anouck Schlesser, Ad-hoc Workshop 2004, AODV,
OLSR
• D. Johnson, RFC 4728, The Dynamic Source Routing
Protocol (DSR) for Mobile Ad hoc Networks for IPv4
04.1 – Mobile Ad-hoc Networks (MANET)
49
Referenzen
• Christophe Ronkar, Ad-Hoc Workshop 2004, Reactive
Routing, DSR
• Serge Kaiser, Ad-Hoc Workshop 2004, DSDV
• S. Corson, RFC 2501, Mobile Ad hoc Networking
(MANET): Routing Protocol Performance Issues and
Evaluation Considerations
• C. Perkins, RFC 3561, Ad hoc On-Demand Distance
Vector (AODV) Routing
• Manel Guerrero Zapata, Secure Ad hoc On-Demand
Distance Vector (SAODV) Routing
• Michael Beigl, Universität Karlsruhe, Ubiquitäre
Informationstechnologien
• Prof. Dr. Otto Spaniol, Dr. rer. nat. Dirk Thißen, Lehrstuhl
für Informatik IV, RWTH Aachen, Mobilkommunikation
04.1 – Mobile Ad-hoc Networks (MANET)
50
Referenzen
• Johannes Faigle, Ad-hoc Routing Protocols
• Gupta, WMU, Department of Computer Science,
Wireless Communications & Networks, Scalable
Routing Protocols for Mobile Ad Hoc Networks
04.1 – Mobile Ad-hoc Networks (MANET)
51
Herunterladen