Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAd-hoc-Netzwerke.

Ähnliche Präsentationen


Präsentation zum Thema: "Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAd-hoc-Netzwerke."—  Präsentation transkript:

1 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAd-hoc-Netzwerke

2 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAgenda Einführung Ad-hoc-Netzwerke Routing in Ad-hoc-Netzwerken DSDV CGSR DSR AODV Simulation von Ad-hoc- Netzwerken Zusammenfassung

3 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeEinführung ad-hoc = aus dem Augenblick heraus entstanden (Duden) besteht aus mehreren mobilen Knoten keine zentrale Administration (keine Basistation) jeder Knoten kann als Datenquelle, Router oder Datensenke arbeiten Knoten haben drahtlose Übertragungseinrichtung MANET = Mobile Ad-hoc NETwork

4 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeEinführung Eigenschaften von Ad-hoc- Netzwerken Knoten verfügen über begrenzte Ressourcen Energie Speicher asymmetrische Verbindungen Multipath-Eigenschaft Interferenzen veränderliche Topologie Hidden-Terminal-Problematik An der Börse: Ad-hoc Meldungen beinhalten Informationen, die den Kurs einer Aktie beeinflussen können und müssen deshalb lt. Gesetz unverzüglich publik gemacht werden.

5 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeEinführung Hidden-Terminal-Problematik (CSMA) ABC A kommuniziert mit B -C hört auf dem Kanal und erkennt keine Übertragung - C sendet Informationen gehen verloren

6 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeEinführung Ad-hoc-Netzwerke vs. Sensornetzwerke Größe Ressourcen Infrastruktur unidirektional / multidirektional Mobilität...

7 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Routing in Ad-hoc-Netzwerken Routing = Art der Wegfindung durch ein Netzwerk Warum sind klassische Routing-Algorithmen für Ad-hoc- Netzwerke ungeeignet? Eine Wegwahl in Ad-hoc Netzwerken kann sich nicht auf Wissen der Vermittlungsschicht stützen. Die Informationen von niedrigeren Schichten hinsichtlich der aktuellen Empfangssituation und Interferenz ist hilfreich, um einen richtigen Weg zu finden. Zentralisierte Ansätze können wegen dynamischer Topologie und hohen Aufwand in Ad-hoc Netzwerken nicht richtig funktionieren.

8 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Routing in Ad-hoc-Netzwerken Strukturierung Ad-hoc-Routing-Protokolle proaktiv (table-driven)reaktiv (on-demand*) * auch: Source-initiated on-demand DSDVWRP CGSR AODVDSRLMRABR TORA SSR

9 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Routing in Ad-hoc-Netzwerken Bezeichnungen DSDV = Destination-Sequenced Distance-Vector Routing (1994) CGSR = Clusterhead Gateway Switch Routing (1997) WRP = Wireless Routing Protocol (1996) AODV = Ad-hoc On-Demand Distance-Vector Routing (1997) DSR = Dynamic Source Routing (1996) LMR = Lightweight Mobile Routing (1995) TORA = Temporally Ordered Routing Algorithm (1997) ABR = Associativity-Based Routing (1996) SSR = Signal Stability Routing (1997)

10 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Routing in Ad-hoc-Netzwerken Zeitliche Einordnung proaktiv reaktiv DSDV WRP CGSR AODV DSR LMRTORA ABRSSR

11 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSDV Destination-Sequenced Distance-Vector Routing C. Perkins 1994 proaktiv (table driven) basiert auf Bellman-Ford Routing-Algorithmus (1957) schleifenfrei Funktionsweise jeder mobile Knoten des Netzwerkes unterhält eine Routing-Tabelle R.-Tabelle enthält alle möglichen Zielknoten und die Anzahl der Teilstrecken (Hops) zum Ziel jeder Eintrag enthält Seq.-Nummer veraltete Routen können erkannt werden keine Schleifen Routing-Tabellen-Updates werden regelmäßig ausgesendet Charles Perkins, Nokia

12 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSDV Routing-Tabellen-Updates (Broadcasts) full dump sämtliche Routinginformation eines Knoten wird gesendet wird selten durchgeführt, da viele Daten zu senden kann mehrere PDUs umfassen (Protocol Data Unit) incremental überträgt nur die Routing-Informationen, die sich seit dem letzten full dump geändert haben sollte in eine PDU passen

13 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSDV New-Route-Broadcasts enthalten Zieladresse Sequenznummer der Information, die den Broadcast ausgelöst hat Sequenznummer des Broadcast es wird immer die Route mit der neuesten Sequenznummer gewählt bei Gleichheit wird die Route mit der kleinsten Metrik gewählt Knoten beobachten Einschwingzeit von Routen... durch Verzögerung von Routen-Updates

14 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSDV MH3 MH4 MH2 MH6 MH7 MH8 MH5 MH1 DestinationNext HopMetricSeq. Nr.InstallStable_Data MH1MH22S406_MH1T001_MH4Ptr1_MH1 MH2 1S128_MH2T001_MH4Ptr1_MH2 MH3MH22S564_MH3T001_MH4Ptr1_MH3 MH4 0S710_MH4T001_MH4Ptr1_MH4 MH5MH62S392_MH5T002_MH4Ptr1_MH5 MH6 1S076_MH6T001_MH4Ptr1_MH6 MH7MH62S128_MH7T002_MH4Ptr1_MH7 MH8MH63S050_MH8T002_MH4Ptr1_MH8

15 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSDV MH3 MH4 MH2 MH6 MH7 MH8 MH5 MH1 DestinationNext HopMetricSeq. Nr.InstallStable_Data MH1MH63S516_MH1T810_MH4Ptr1_MH1 MH2 1S128_MH2T001_MH4Ptr1_MH2 MH3MH22S564_MH3T001_MH4Ptr1_MH3 MH4 0S710_MH4T001_MH4Ptr1_MH4 MH5MH62S392_MH5T002_MH4Ptr1_MH5 MH6 1S076_MH6T001_MH4Ptr1_MH6 MH7MH62S128_MH7T002_MH4Ptr1_MH7 MH8MH63S050_MH8T002_MH4Ptr1_MH8

16 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeCGSR Clusterhead Gateway Switch Routing (proaktiv) basiert auf DSDV Unterschiede: Adressierung Netzwerkorganisation einzelne Knoten werden zu Clusterköpfen bestimmt Gateway-Knoten sind im Einzugsbereich mehrerer Clusterköpfe Nachteil: Overhead durch Clusterbildung Weiterentwicklung CGSR /LCC (Least Cluster Change) LCC verringert Häufigkeit der Clusterneubildung Mario Gerla, UCLA

17 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeCGSR Routing von Knoten 1 zu Knoten einf. Knoten Clusterkopf Gateway

18 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeCGSR Funktionsweise ein Paket, das ein Knoten aussendet, wird zuerst zum Clusterkopf geroutet vom Clusterkopf wird das Paket über einen Gateway zum nächsten Clusterkopf weitergeleitet der letzte Schritt wird solange wiederholt, bis der Clusterkopf des Zielknotens erreicht wird das Paket wird schließlich zum Zielknoten geroutet jeder Knoten muss Cluster Member Table unterhalten

19 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeCGSR Vergleich DSDV - CGSR

20 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSR Dynamic Source Routing (reaktiv) Source Routing: Datenquelle kennt die komplette Route zum Empfänger Datenpakete tragen komplette Route im Header zwei grundlegende Mechanismen: Route Discovery wird veranlasst, wenn Knoten S zu Knoten D senden will und keine Route kennt Route Maintenance wenn Knoten S erkennt, wenn Route zu D nicht mehr funktioniert und versucht eine Ausweichroute zu finden David B. Johnson

21 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSR Route Discovery möchte S ein Paket an D versenden, schaut S zunächst in seinen Route Cache wenn keine Route im Cache vorhanden Route Discovery Bezeichnungen S = Initiator des Route Discovery D = Ziel des Route Discovery D sendet Route Reply zurück an S SABCD "A""A,B""A,B,C""A,B,C,D" id=2

22 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSR Route Maintenance jeder Knoten entlang einer Route ist dafür verantwortlich, dass ein Paket den nächsten Knoten der Route erreicht im Beispiel: Knoten B wird so lange versuchen, das Paket zu C zu übertragen, bis eine maximale Versuchszahl erreicht wird anschließend wird eine Route Error-Nachricht an S zurückgesendet S entfernt den toten Link aus seinem Route Cache und sucht nach einer Alternativroute falls Alternativroute im Cache Route wird gewählt wenn keine Alternativroute im Cache S startet neuen Route Request SABCD X

23 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSR Beispiel mit mehreren möglichen Routen – Route Discovery N1 N2 N3 N4 N5 N6 N7 N8 N1 N1-N2 N1-N3 N1-N3-N4 N1-N2-N5 N1-N3-N4 N1-N3-N4-N6 N1-N3-N4-N7

24 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSR Beispiel mit mehreren möglichen Routen – Route Reply N1 N2 N3 N4 N5 N6 N7 N8 N1-N2-N5-N8

25 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSR Zusätzliche Eigenschaften des Route Discovery Cachen von belauschten Routing-Informationen ein Knoten, der ein Paket weiterleitet, kann die Routinginformationen dieses Paketes seinem eigenen Route Cache hinzufügen Data-Packet, Route-Reply-Packet, Route-Request-Packet können dafür genutzt werden Zwischenknoten antworten auf Route-Requests erhält ein Knoten ein Route-Request und ist nicht der Zielknoten, kann er, wenn er die gewünschte Route im Cache hat, ein Route-Reply an den Initiator des Route-Request zurücksenden Verhindern von Route-Reply-Stürmen Zwischenknoten verzögern Route-Reply Route-Request Hop-Limits Route Requests, die Hop-Limit überschreiten werden verworfen

26 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSR Beispiel Route-Reply-Sturm G F E D C BA B G G A B G C B G -A sucht Route nach G -B, C, D, E, F erhalten Route Request -aller antworten quasi-gleichzeitig mit Route aus dem Route-Cache - Kollision! ? ?

27 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeDSR Zusätzliche Route-Maintenance-Eigenschaften Paket-Rettung (Packet-Salvaging) rettet Paket, das einen Route-Error verursacht hat Automatische Routen-Kürzung (Route Shortening) unbenötigte Hops können ausgelassen werden Cachen von Negativ-Informationen tote Links werden nicht aus Route-Cache gelöscht, es wird stattdessen ein Hinweis gespeichert, dass der Link z. Zt nicht existiert. Verstärkte Ausbreitung von Route-Error-Nachrichten der Quellknoten einer Nachricht, die einen Route-Error verursacht hat, sendet einen Broadcast darüber an seine Nachbarn

28 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAODV Ad Hoc On-Demand Distance Vector Routing basiert auf DSDV verbessert DSDV durch Minimierung der benötigten Broadcasts Routen werden nur noch bei Bedarf ermittelt Routingtabellen werden unterhalten bei unbekannter Route Route Discovery Datenquelle sendet RREQ-Paket per Broadcast Datensenke antwortet mit RREP-Paket entlang der gefundenen Route Charles Perkins, Nokia Elizabeth M. Royer, UCSB

29 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAODV Route Discovery Annahme: Knoten S möchte Paket an Knoten D senden Route in Routing-Tabelle von S? wenn nicht Route Discovery wird gestartet S erzeugt RREQ-Paket mit Zieladresse, Seq.-Nummer und Broadcast-ID Broadcast erhält ein Zwischenknoten das RREQ-Paket, schaut er nach, ober er es schon kennt, wenn ja RREQ-Paket wird verworfen hat der Zwischenknoten eine aktuelle Route zu D, sendet er ein RREP-Paket an S. falls kein Zwischenknoten eine Route zu D kennt, dann sendet schließlich D ein RREP an S.

30 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAODV Route Discovery Beispiel Quelle Ziel Ausbreitung des Route Request Reverse Route Eintrag Jeder Zwischenknoten erzeugt nur dann einen Reverse-Route- Eintrag, wenn er ein RREQ-Paket zum ersten mal erhält. 1

31 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAODV Route Maintenance falls ein toter Link entdeckt wird Route Error (RERR) wird an Datenquelle gesendet RERR enthält eine Liste mit allen Zielknoten, die nun nicht mehr erreichbar sind Quelle Ziel RERR

32 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Vergleich DSR/AODV Gemeinsamkeiten reaktiv (Routen werden nur bei Bedarf ermittelt) Route Discovery basiert auf Request- und Reply-Zyklen Routing-Informationen werden auch in Zwischenknoten gespeichert Unterschiede DSR hat Zugriff auf größere Menge von Routing-Informationen (Cache vs. Routing-Table) DSR antwortet auf alle Requests, die einen Zielknoten erreichen (Quelle lernt alternative Routen) AODV-Routing-Tabelle kennt dagegen nur einen Eintrag je Ziel DSR kennt keinen Mechanismus, um veraltete Routen zu erkennen (obwohl einige veraltete Routen von RERR-Paketen gelöscht werden

33 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Simulation von Ad-hoc-Netzwerken NS2 – Network Simulator ereignisbasiert objektorientiert, geschrieben in C++ OTcl-Interpreter als Frontend C++, um Protokolle zu implementieren OTcl für Konfiguration und Simulations-Setup Graf. Frontend NAM: Network Animator

34 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Simulation von Ad-hoc-Netzwerken Netzwerk-Simulator NS2 NAM – Network-Animator Beispiel 2 Datenquellen, 1 Routing-Knoten mit Queue, 1 Datensenke

35 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Vergleich DSR/AODV Anteil der Pakete, die ihr Ziel erreichen (50 Knoten, 10 Datenquellen) 1500m x 300 m, random waypoint mobility

36 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Vergleich DSR/AODV Anteil der Pakete, die ihr Ziel erreichen (50 Knoten, 40 Datenquellen) 1500m x 300 m, random waypoint mobility

37 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Vergleich DSR/AODV Durschnittliche Verzögerung (50 Knoten, 10 Datenquellen) 1500m x 300 m, random waypoint mobility

38 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Vergleich DSR/AODV Durschnittliche Verzögerung (50 Knoten, 40 Datenquellen) 1500m x 300 m, random waypoint mobility

39 Hardwarenahe Programmierung / Vorlesung Ad-hoc-Netzwerke Vergleich DSR/AODV Durschnittliche Verzögerung (100 Knoten, 10 Datenquellen) 2200m x 600 m, random waypoint mobility

40 Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeNetzwerksimulatoren kommerziell: OPNET (Kosten: ab ) frei verfügbar: NS2: GlomoSim: OMNeT++:


Herunterladen ppt "Hardwarenahe Programmierung / Vorlesung Ad-hoc-NetzwerkeAd-hoc-Netzwerke."

Ähnliche Präsentationen


Google-Anzeigen