Wireless Sensor Networks. Ad hoc and Sensor Networks Routing Protocols

Wireless Sensor Networks Ad hoc and Sensor Networks Routing Protocols Joris Dobbelsteen Martijn van den Heuvel October 2008 Goals  ID-centric rout...
4 downloads 0 Views 728KB Size
Wireless Sensor Networks Ad hoc and Sensor Networks Routing Protocols Joris Dobbelsteen Martijn van den Heuvel October 2008

Goals 

ID-centric routing 





Each node has unique identifier

Explain routing protocols 

Energy-efficiency vs robustness



Mobile nodes

NOT data-centric routing 

Look at chapter 12

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

2

Overview 

Introduction



Protocol Classification



Unicast routing



Broadcast/Multicast routing



Geographic routing



Concluding remarks

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

3

Terms 









Forwarding Principle of receiving data and sending it again Routing Deciding how and where to forward Unicast Sending end-to-end (think Internet) Broadcast Sending to multiple parties (think TV) Multicast Send to multiple, but only interested, parties

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

4

Basic Ideas 

Flooding 



Send a packet to all neighbours

Gossip 

Send a packet to a random selected neighbour

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

5

Overview 

Introduction



Protocol Classification



Unicast routing



Broadcast/Multicast routing



Geographic routing



Concluding remarks

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

6

Protocol classification 

Proactive or table-driven protocol 



On-demand or reactive protocol 



Always keep routing data up-to-date

Route is only determined when needed

Hybrid protocols

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

7

Protocol Classification 

Distance Vector 



Based on Distributed Bellman-Ford

Link State 

Based on Dijkstra's Shortest Path

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

8

Distance Vector Routing 

Share routing table with neighbours



Vectors:



Periodic updates

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

9

DV – Distr. Bellman-Ford Initial Table

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

10

DV – Distr. Bellman-Ford Update from D to E:

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

11

DV – Distr. Bellman-Ford Update from B to A:

(Path to C not optimal yet!)

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

12

DV – Distr. Bellman-Ford After all updates:

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

13

Distance Vector Issues 

Looping: Send packet from A to C over B: B sends packet back ● No update from B to A ● A repeats send to B ●

Solutions: ● Introduce route time-outs ● Split horizon October 2008

Joris Dobbelsteen, Martijn van den Heuvel

14

Distance Vector Issues 

Count to infinity:

Solution: Introduce max amount of hops October 2008

Joris Dobbelsteen, Martijn van den Heuvel

15

Link State Routing 

Identify neighbours



Identify link costs to neighbours



Flood neighbour info



Local Dijkstra's Shortest Path computation

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

16

Links State – Dijkstra

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

17

Link State Routing 

Solves count to infinity



Prevent looping: 

Periodically re-discover neighbours

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

18

Routing protocols Stateless Unicast

Stateful OLSR

Gossip

DSR AODV

Rumor routing

DSDV

TORA GeoTORA

Multicast/ Broadcast

GeRaF GPSR Flooding GEM ~ WSN

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

BIP

~ MANET 19

Overview 

Introduction



Protocol Classification



Unicast routing Sending end-to-end



Broadcast/Multicast routing



Geographic routing



Concluding remarks

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

20

Unicast Routing 

Rumor routing



DSDV



OLSR



Dynamic Source Routing



AODV



TORA

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

21

Rumor routing 



Two agents 

Event source



Sink

Both perform a random walk until they intersect 

Path is established ?

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

22

Rumor routing 

Pro  





Simple On-demand, low protocol overhead Scales reasonably

October 2008

Con 

Risk of long paths



No guarenteed delivery



Not mobile



Tuned for infrequent events

Joris Dobbelsteen, Martijn van den Heuvel

23

Unicast Routing 

Rumor routing



DSDV



OLSR



Dynamic Source Routing



AODV



TORA

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

24

DSDV 

Destination Sequence Distance Vector (DSDV) 

Based on distributed Bellman Ford



Route updates contain sequence number  

Detect updates Expires old routes

Prevent routing loops



Periodically send full route updates



On topology change, send incremental route updates



Unstable route updates are delayed

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

25

DSDV 

Pro



Con



High delivery rate



Complicated nodes



Short paths



High protocol overhead



Mobility





But not too much

Continuesly propagates updates 



October 2008

Network-wide

Does not scale

Joris Dobbelsteen, Martijn van den Heuvel

26

Unicast Routing 

Rumor routing



DSDV



OLSR



Dynamic Source Routing



AODV



TORA

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

27

OLSR 

Optimized Link State Routing (OLSR) 

Based on Dijkstra's shortest path algorithm



Link-state 



Topology control  



Proactively maintains link state database

Use ”multipoint relays” (MPR) Allows efficient flooding

Send link state often to compensate for unreliability

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

28

OLSR 

Pro



Con



Widely used





Mobile









Not too much

Complicated nodes Continuesly propagates updates

Extensions for link quality Scales fairly good

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

29

Unicast Routing 

Rumor routing



DSDV



OLSR



Dynamic Source Routing



AODV



TORA

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

30

Dynamic Source Routing

4

5

3

5

[1

,2

[1,

,6

]

4,5 ]

2

6

[1,2,6]

7

]

5

3

6

7

Destination gives route reply 1

[1,2,3]

October 2008

7

6



1

4

4

[1,4

[1,2]

[1,2]

2]

Reactive → Discover by route requests [1] 1 1 3 2 2 [1,

[ 1]



4

2 5

Joris Dobbelsteen, Martijn van den Heuvel

6

3

7 31

Dynamic Source Routing 

Uses small ”route discovery”-packets



Source routing: sender specifies route



Extensions: 

Cache known routes



Learn from control messages send by other nodes



Try to repair lost route instead of re-discovery

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

32

Dynamic Source Routing 

Pro



Con



Simple



Flooding overhead



Reliably finds paths



Not mobile



Not scalable



Path only available at end-points

October 2008



Large packets

Joris Dobbelsteen, Martijn van den Heuvel

33

Unicast Routing 

Rumor routing



DSDV



OLSR



Dynamic Source Routing



AODV



TORA

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

34

AODV 

Ad hoc On demand Distance Vector 

Reactive protocol based on DSR



But routing tables instead of source routing



Add sequence numbers (as DSDV) 

Prevent count-to-infinity



Populate table using any received packet



Used in practice

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

35

AODV 

Pro



Con



Used in practice



Complicated node



Reliably finds paths



Flooding overhead



Relative short paths



Mobile 

October 2008

Resolve stale caches

Joris Dobbelsteen, Martijn van den Heuvel

36

Unicast Routing 

Rumor routing



DSDV



OLSR



Dynamic Source Routing



AODV



TORA

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

37

TORA 

Temporally-Ordered Routing Algorithm 

Maintain directed acyclic graph to specific destination  



Discovery using flooding (as DSR) Or proactive from destination

Work with heights 

Send packet to lower height router



When no outgoing edge, reconfigure



Can optimize routes

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

38

TORA Example Source

A

B E

D

C

A

F

C1

B E

D

1

F

Destination

Assign heights

DSR: find paths 3

A 2

D October 2008

0

B E

2

1

Joris Dobbelsteen, Martijn van den Heuvel

C F

1

0 39

TORA example 3

A 2

D

B E

2

1

C1 F

A 2

3

A 4

D

B E

D

0

No outgoing edge: increase height (+2)

October 2008

3

2

3

C F

1

0

Reconfigure heights B E

2

3

Joris Dobbelsteen, Martijn van den Heuvel

C F

1

0 40

TORA 

Pro 



Updates only to neighboors



Always loop-free



Scales reasonable



Reaches destination



Fault tolerance



Mobile

October 2008

Con 

Complicated node



Not optimal paths



No energy consideration

Joris Dobbelsteen, Martijn van den Heuvel

41

Overview 

Introduction



Protocol Classification



Unicast routing Broadcast/Multicast routing 

Sending to multiple parties



Geographic routing



Concluding remarks

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

42

Broadcast/Multicast Routing Basic options 

Source-based tree: 



Shared, core-based trees: 



Construct a tree for every source

Use only a single tree for all sources

Mesh 

Improve redundancy

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

43

Optimizing Total Cost Make use of “wireless multicast advantage” Steiner tree

Shortest path tree Source

2

2

Destination 2

1

Destination 1

● ●

Source

2

2

Destination 2

1

Destination 1

Shortest Path: Minimize each single path Steiner tree: Minimize total network

Steiner Tree Problem is proven NP-hard! October 2008

Joris Dobbelsteen, Martijn van den Heuvel

44

Steiner Approximations 

Simple approximation  





Successively add using shortest path to some tree vertex Performs reasonably well in practice

Takahashi Matsuyama heuristic  



Randomly order vertices

Start with source node Add a destination node to the tree which has shortest path to an already added node

Wireless multicast advantage not exploited

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

45

Broadcast Incremental Power 

Minimize total transmission power



Use a minimum-spanning-tree-type construction





Once a node transmits at a given power level, it becomes cheaper to reach additional neighbors From BIP to multicast incremental power (MIP): 

Start with broadcast tree



Prune unnecessary edges

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

46

BIP example Round 1:

Round 3:

A 5

S 3

D C

Round 2:

October 2008

Round 4:

D

3 B

7 2

C (1)

A

S (3)

B

9 D

1

3

S (1)

7

7

2

4

B

S (5) 10

C

A

3 B

7

1

A

3

S (3)

B

7

10 D

2

3 1

Round 5:

A

6

7 D

1 C

C (1) Joris Dobbelsteen, Martijn van den Heuvel

47

Broadcast Incremental Power 

Pro 

Power efficient



Cheap paths



Con 

Need underlying link state



Complex



Not mobile



High protocol overhead 

October 2008

Measure energy cost

Joris Dobbelsteen, Martijn van den Heuvel

48

Overview 

Introduction



Protocol Classification



Unicast routing



Broadcast/Multicast routing



Geographic routing 



Use node location to aid routing

Concluding remarks

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

49

Geographic routing 

ID based on geographic location 



Position-based routing 



Or mapping service

Use position to aid routing

Geocasting 

Send to any node in an area

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

50

Basic geo-routing strategies 

Most forward within range 



Nearest node with (any) progress 



Node, within range, that is closest to destination

Minimize transmission power

Directional routing 

Closest to angle towards destination

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

51

GPSR 

Geometric Perimeter State Routing 



Uses greedy “most forward” strategy When stuck: 





Follow face using right-hand rule Switch to greedy when no longer needed

Requires planar graph

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

52

GPSR 

Pro



Con



Easy implementation



Long paths



Reaches destination



Not energy efficient



Scalable 



Mobile 



Known neighbours only Update location

Low protocol overhead

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

53

GeRaF 

Geometric Random Forwarding 

Handles nodes turning on and off



Basic idea  



Sender broadcasts packet Some receiver picks up and forward packet

Handling multiple forwarders 

October 2008

Larger forwarding probability when closer to destination

Joris Dobbelsteen, Martijn van den Heuvel

54

GeRaF example

S Closer to destination Higher probability

D

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

55

GeRaF example

S

D

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

56

GeRaF 

Pro 



Scalable 





No state to maintain

Multiple paths 



Redundancy



Mobile



Relative short paths

October 2008

Con Probably reaches destination Multiple paths  

Protocol overhead Energy consuming

Joris Dobbelsteen, Martijn van den Heuvel

57

Graph Embedding (GEM) 

Constructs geographic structure 

Uses polar coordinates



Build spanning tree   

October 2008

Starting at central point (root) Distance = number of hops from root Angle = where in neighbourhood

Joris Dobbelsteen, Martijn van den Heuvel

58

An g

le

GEM example

Di sta

nc e

Root October 2008

Joris Dobbelsteen, Martijn van den Heuvel

59

Graph Embedding (GEM) 

Pro



Con



Reaches destination



Not mobile



Low protocol overhead



Difficult setup



Scalable



Short paths

October 2008



Determine angles

Joris Dobbelsteen, Martijn van den Heuvel

60

Geographic routing 

Position-based routing 



Use position to aid routing

Geocasting 

Send to any node in an area

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

61

Location-Based Multicast 



Geocast: Flood within geographically restricted area Reach the “multicast zone” through “forwarding zone” 

Forwarding zone includes multicast zone and source



May make forwarding zone smaller with progress



Based on distance Multicast zone

S October 2008

Forwarding zone

Joris Dobbelsteen, Martijn van den Heuvel

62

GeoTORA 

Based on TORA: 



Use TORA to reach any sink (anycast) 





Region of nodes are destination

Anycast: Reach one of the destinations

The sink floods the region Basically LBM, but with TORA for forwarding

October 2008

S

A T OR

Multicast zone

Forwarding zone

Joris Dobbelsteen, Martijn van den Heuvel

63

GeoTORA 

Pro 



Single protocol for unicast and multicast



Always loop-free



Scales reasonable



Reaches destination



Fault tolerance

October 2008

Con  



Complicated nodes No energy considerations No shortest paths

Joris Dobbelsteen, Martijn van den Heuvel

64

Trajectory-Based Forwarding 



Think of agent 

moving along trajectory



collection information

Describe trajectory 



Forward to next closest node

Theory only

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

65

Conclusion 

Pro-active protocols need considerable resources



Geo-routing scales better



Routing can 

Extend network lifetime



Optimize for energy consumption

Note: energy ≠ network lifetime 

'Best' routing protocol depends on application

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

66

References 











Holger Karl, Andreas Wilig; ”Protocols and Architectures for Wireless Sensor Networks”; Chap 11, John Wiley & sons Ltd; England, 2006; 0-470-09510-5 Andrew S. Tanenbaum; “Computernetwerken”; Chap 5.2, Pearson Education Benelux 4th edition 2nd reprint November 2005; 90-430-0698-X SECAN-LAB; “Interoperability Laboratory for Security in Ad-Hoc Networks”; 2006, University of Luxembourg; http://wiki.uni.lu/secan-lab/ James Newsome, Dawn Song; “GEM: Graph Embedding for Routing and Data-centric Storage in Sensor Networks Without Geographic Information”; ACM Conference Proceedings; November 2003 T. Clausen, P. Jacquet; “Optimized Link State Routing Protocol (OLSR)”; IETF RFC 3626 V. Park, S. Corson; “Temporally-Ordered Routing Algorithm (TORA) ”; version 1; work in progress Courtesy: Peter van der Stok and Holger Karl

October 2008

Joris Dobbelsteen, Martijn van den Heuvel

67

Suggest Documents