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