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