Routing Protokolle
Transcription
Routing Protokolle
Routing Protokolle Alexander Kiontke 664488 Überblick: Wieso brauchen Sensornetze eigene Routingprotokolle? ● Beispiele für Routingprotokolle ● Energy Aware Routing (EAR) ● Energy Aware Data-Centric Routing (EAD) ● Ad-Hoc On-Demand Distance Vector Routing (AODV) ● ● Fazit Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 1 Routing Protokolle Alexander Kiontke 664488 Wieso brauchen Sensortnetze eigene Routingprotokolle? ● Anforderung an Sensorknoten ● Klein ● Herstellung in großen Mengen ● geringe Produktionskosten ● Einsatz in unterschiedlicher Umgebung => wenig Energie, kleine Speicher, geringe Rechenleistung ● Anforderungen an Routingprotokolle: ● Einteilen der Energie ● Möglichst lange Lebenszeiten der Knoten ● Sicherstellen des Nachrichtenaustausch => verschiedene Ansätze (abhängig vom Einsatzgebiet) Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 2 Routing Protokolle Alexander Kiontke 664488 Wieso brauchen Sensortnetze eigene Routingprotokolle? Bsp: Energieverbrauch eines Knoten. zeigt Unteschiede des Energieverbrauch ● Sende-, Empfangs- und Idlestatus vielfaches größer ● ● ● Aufgabe der Routingprotokolle ● Organisation des Nachrichtenaustausch ● möglichst wenig Energieverbrauch Anmerkung: Verhältnis des Energieverbrauch ist exemplarisch Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 3 Alexander Kiontke 664488 Routing Protokolle Beispiel: Energy Aware Routing (EAR) 3 Phasen: Setup Phase, Data Communication Phase, Route Maintenance ● Anforderung wird durch das Netz gesendet ● Erstellung von Pfaden mit Speicherung der Übertragungskosten (Metrik) ● Metrik abhängig von Restenergie ● Setup Phase: ● Senke flutet in Richtung der Quelle ● Kostenfeld: Cost(N )=0 D ● Zwischenknoten leiten Anfrage nur weiter falls: ● d(N ,N )>=d(N ,N ) i) i S j S ● d(Ni,ND)<=d(Nj,ND) Senke (ND) flutet in Richtung der Quelle Ni Entscheidung nach i) und ii) ii) Quelle (NS) Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 4 Alexander Kiontke 664488 Routing Protokolle Beispiel: Energy Aware Routing (EAR) ● Nj erhielt Nachricht von Ni : errechnet neue Pfadkosten (hier von ND) = Cost(Ni) + Metric(Ni,Nj) ● C N ,N j ● i Knoten Nj trägt Pfad in Forwarding Table ein falls <= α * (min CN ,N )} ● Ft ={ i| C j n ,N j i j k α abhängig von Implementation Senke (ND) ● Falls Pfadkosten Grenzwert übersteigen kein Eintrag ● ● Nj trägt Wahrscheinlichkeit zum Pfad in FT ein ● Wahrscheinlichkeit invers zu Pfadkosten ● verhindert Nutzung eines einzelnen Pfad ● PN j ,Ni = 1 CN ∑ k ∈FT j ● flutet in Richtung der Quelle Ni Eintrag in Forward Table j Ni 1 CN j ,Ni Nj berechnet durchschnittliche Kosten für Pfade Cost N j = ∑ i ∈FT j PN j , Ni CN j ,Ni ● Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken Quelle (NS) 5 Alexander Kiontke 664488 Routing Protokolle Beispiel: Energy Aware Routing (EAR) ● Quelle führt Berechnungen durch Senke (ND) Quelle (NS) Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 6 Alexander Kiontke 664488 Routing Protokolle Beispiel: Energy Aware Routing (EAR) ● Quelle führt Berechnungen durch Data Communication Phase ● Quelle beginnt anhand der Wahrscheinlichkeiten an einen Knoten zu senden Senke (ND) ● jeder Knoten der Paket erhält sendet anhand der Wahrscheinlichkeit an nächsten Knoten Knoten mit höchster Wahrscheinlichkeit Quelle (NS) Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 7 Alexander Kiontke 664488 Routing Protokolle Beispiel: Energy Aware Routing (EAR) ● Quelle führt Berechnungen durch Data Communication Phase ● Quelle beginnt anhand der Wahrscheinlichkeiten an einen Knoten zu senden ● ● jeder Knoten der Paket erhält sendet anhand der Wahrscheinlichkeit an nächsten Knoten bis das Paket bei der Senke eintrifft Senke (ND) Knoten mit höchster Wahrscheinlichkeit Quelle (NS) Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 8 Routing Protokolle Alexander Kiontke 664488 Beispiel: Energy Aware Routing (EAR) Anmerkung: ● Metrik ist abhängig vom Netz ● meistens abhängig von Energie pro Übertragung und Restenergie ● C ij =e aij R bi Route Maintenance: ● periodisch ● sehr kurz im Vergleich zu anderen Phasen ● durch fluten von Senke zur Quelle wird sichergestellt, dass Pfade noch existieren Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 9 Routing Protokolle Alexander Kiontke 664488 Beispiel: Energy-Aware Data-Centric Routing (EAD) meiste Energie gespart indem Funkeinheiten ausgeschlatet werden ● erreicht durch einen Baum mit möglichst vielen Blättern ● Blatt oder Knoten abhängig von Knotenenergie => Einrichtung eines Backbone ● ● Konstruktion des Baum wird von der Senke initiiert Konstruktion des Baum: ● Senke schickt Kontrollnachricht ins Netz (Broadcast) ● msg(2,0,NULL,unendlich) ● msg(type,level,parent,power) type: Status des Knoten (0: Initialwert undefiniert; 1: Blatt; 2: Knoten) ● level: Anzahl der Hops zur Senke ● parent: Namen des Elternknoten bzw. nächster Hop zur Senke ● power: Energie des Knoten (Senke hat als Wert unendlich) ● Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 10 Alexander Kiontke 664488 Routing Protokolle Beispiel: Energy-Aware Data-Centric Routing (EAD) ● 1. Fall: ein Knoten v erhält msg(2,levelu,parentu,Eu) von Knoten u (kein Blatt) ● Knoten v setzt type = 1 (Blattknoten) ● tastet Kanal ab bis er frei ist ● und wartet dann: ● T v2=t 0 t0:max. Übertragungszeit zwischen zwei Knoten c: angepasste Konstante Ev: Energie des Knoten c Ev falls Kanal immernoch frei ist: ● Broadcast: msg(1, level +1,u,E ) u v ● 2. Fall: ein Knoten v erhält msg(1,level ,parent ,E ) von Knoten u (Blatt) u u u ● tastet Kanal ab bis er frei ist ● und wartet dann: ● ● ● T v1=2∗t 0 c Ev Falls Kanal immernoch frei ist: ● Broadcast: msg(2,level +1,u,E ) u v Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 11 Routing Protokolle Alexander Kiontke 664488 Beispiel: Energy-Aware Data-Centric Routing (EAD) ● 3. Fall: ein Knoten v mit type = 1 erhält msg(2,levelw,parentv,Ew) von Knoten w (v Parent von w) ● Knoten v broadcastet ohne zu warten ● msg(2, level ,parent ,E ) v v v dieser Vorgang wiederholt sich bis alle Knoten Blatt oder Knoten sind ● Sensoren mit type = 2 werden Blattknoten, wenn keine Kinder entdeckt werden ● Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 12 Routing Protokolle Alexander Kiontke 664488 Beispiel: Energy-Aware Data-Centric Routing (EAD) Ursprüngliches Netz: Knoten mit Energiewerten indiziert Senke broadcastet Nachricht an Nachbarn: 2 Hop Nachbarn bilden Gruppen 2 Sensoreinheiten, die ursprünglich Knoten waren, werden Blätter, da sie keine Kinder haben Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 13 Routing Protokolle Alexander Kiontke 664488 Beispiel: Energy-Aware Data-Centric Routing (EAD) nachdem Baum aufgebaut ist schalten Blattknoten ihre Funkeinheiten ab ● periodisch wieder einschalten ● oder: wenn ein Event entdeckt wurde ● senden der Daten von Quelle zur Senke über Elternknote ● Aufrechterhaltung des Baum: ● Wichtig, da Knoten schneller an Energie verlieren als Blätter ● Knoten leiten Daten aller Blätter weiter ● Funkeinheiten von Knoten sind immer an => Aufbau des Baums muss in Runden ausgeführt werden ● Runde besteht aus Setup Phase und Data Transfer Phase ● Wenn Datentransfer endet, beginnt Neuaufbau des Baum Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 14 Routing Protokolle Alexander Kiontke 664488 Beispiel: Energy-Aware Data-Centric Routing (EAD) Problem: ● nur effizient, wenn Netz klein ist ● in großen Netzen dauert Prozess zu lange ● darum Erweiterungen ● Postion-based approach ● Topology-based approach ● beide Erweiterungen beruhen darauf, dass nicht alle Knoten involviert sind Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 15 Routing Protokolle Alexander Kiontke 664488 Beispiel: Energy-Aware Data-Centric Routing (EAD) Position-based Approach: ● Voraussetzungen: ● jeder Einheit kennt seine Position ● zu Beginn sind alle Funkeinheiten aus Ziel: in jeder Richtung α <= 120° von einem Knoten ein aktiver anderer Knoten ● nach zufälliger Zeit wacht ein Knoten auf (einer pro T Zeiteinheit) 0 ● Knoten v broadcastet HELLO Message mit eigener Position ● Knoten u hört diese Nachricht ● ● ● 1 Fall: in Richtung von v kein anderer aktiver Knoten ● u antwortet mit message mit Position und INVI Bit = 1 2 Fall: wenn 1. Fall nicht zutrifft ● U antwortet mit INVI Bit = 0 Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 16 Routing Protokolle Alexander Kiontke 664488 Beispiel: Energy-Aware Data-Centric Routing (EAD) ● ● Entweder: Knoten erhält Antwort mit INVI Bit = 1 oder in einer Richtung ist kein aktiver Knoten ● Knoten v lässt Funkeinheit an Oder: Knoten erhält Antwort mit INVI Bit = 0 ● Knoten v schaltet Funkeinheit aus nach einiger Zeit ausgeglichener Zustand => EAD startet (baut broadcast tree) ● Periode T wachen Knoten auf und stellen Elternknoten fest 0 ● aktiver Knoten keine Kinder => schaltet sich aus ● Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 17 Routing Protokolle Alexander Kiontke 664488 Beispiel: Ad-hoc On-Demand Distance Vector Routing (AODV) Routen werden auf Wunsch von Quelle erstellt ● Löschung wenn nicht mehr benötigt ● für Aktualität der Routen verwaltet jeder Knoten eine Sequenznummer ● ● Routenerstellung: ● 3 verschiedene Nachrichten ● Route Request (RREQ) ● Route Reply (RREP) ● Route Error (RERR) Ablauf: ● Quelle broadcastet RREQ ● Informationen: IP Quelle, Broadcast ID, akt. Sequenznummer, IP Ziel, akt. Bekannte Sequenznummer Ziel Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 18 Routing Protokolle Alexander Kiontke 664488 Beispiel: Ad-hoc On-Demand Distance Vector Routing (AODV) ● 1. Fall: Knoten v überprüft, ob er selbst das Ziel ist od. Route zum Ziel kennt mit höherer oder gleicher Sequenznummer ● RREP wird gesendet (Unicast) ● Bem: Informationen von RREQ speichern => verhindern von Schleifen 2. Fall: Knoten v ist weder Ziel noch kennt er eine Route ● broadcast des RREQ ● ● Speicherung der Request und Reply Informationen entsteht Pfade für Hin- und Rückweg Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 19 Routing Protokolle Alexander Kiontke 664488 Beispiel: Ad-hoc On-Demand Distance Vector Routing (AODV) Nachdem RREP bei Quelle angekommen, Sendebeginn anhand der Informationen ● trifft zu späterem Zeitpunkt ein weiterer RREP mit höherer Sequenznummer oder niedrigerem Hopcount ein => Aktualisierung der Route ● ● Fehlerfall: ● Knoten fällt aus: benachbarter Knoten sendet RERR zur Quelle ● ggf. Aufbau neuer Route (RREQ) Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 20 Routing Protokolle Alexander Kiontke 664488 Fazit: ● viele verschiedene Protokolle ● Einsatz je nach Anwendungsgebiet ● abhängig von Hardware ● viele Protokolle noch in Weiterentwicklung / Verbesserung ● große Bedeutung für Sensornetzwerke => viel Forschung ● Persönliche Anmerkung: noch kein Produktivsystem bekannt Noch Fragen ??? Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 21 Routing Protokolle Alexander Kiontke 664488 Danke für die Aufmerksamkeit!!! Hauptseminar: Kommunikation in drahtlosen Sensornetzwerken 22