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