architectures and applications for wireless sensor networks (01204525) routing
DESCRIPTION
Architectures and Applications for Wireless Sensor Networks (01204525) Routing. Chaiporn Jaikaeo [email protected] Department of Computer Engineering Kasetsart University. Materials taken from lecture slides by Karl and Willig. Overview. Unicast routing in MANETs - PowerPoint PPT PresentationTRANSCRIPT
Architectures and Architectures and Applications for Applications for Wireless Sensor Wireless Sensor
Networks (01204525)Networks (01204525)
RoutingRouting
Chaiporn JaikaeoChaiporn [email protected]@ku.ac.th
Department of Computer EngineeringDepartment of Computer EngineeringKasetsart UniversityKasetsart University
Materials taken from lecture slides by Karl and Willig
2
OverviewOverview Unicast routing in MANETsUnicast routing in MANETs Energy efficiency & unicast routingEnergy efficiency & unicast routing Multi-/broadcast routingMulti-/broadcast routing Geographical routingGeographical routing
3
Unicast, ID-Centric Unicast, ID-Centric RoutingRouting Given: a network/a graphGiven: a network/a graph
Each node has a unique identifier (ID)Each node has a unique identifier (ID) Goal: Send a packet from one node Goal: Send a packet from one node
to anotherto another The routing & forwarding problemThe routing & forwarding problem Routing:Routing: Construct a table telling how Construct a table telling how
can reach a given destinationcan reach a given destination Forwarding:Forwarding: Consult this table to Consult this table to
forward a given packet to its next hopforward a given packet to its next hop ChallengesChallenges
4
Challenges in Challenges in WSNs/MANETsWSNs/MANETs Nodes may move around, Nodes may move around,
neighborhood relations changeneighborhood relations change
Optimization metrics may be more Optimization metrics may be more complicatedcomplicated Not just “smallest hop count”Not just “smallest hop count”
A
BC
5
Ad hoc Routing Ad hoc Routing ProtocolsProtocols Because of challenges, standard routing Because of challenges, standard routing
approaches not really applicableapproaches not really applicable Too big an overhead, too slow in reacting Too big an overhead, too slow in reacting
to changesto changes Examples: Dijkstra, Bellman-FordExamples: Dijkstra, Bellman-Ford
Simple solution: Simple solution: FloodingFlooding No routing table needed No routing table needed Packets are usually delivered to destination Packets are usually delivered to destination But: overhead is prohibitiveBut: overhead is prohibitive Usually not acceptable in most casesUsually not acceptable in most cases
6
GossipingGossiping Needs no routing tableNeeds no routing table
Similar to floodingSimilar to flooding Nodes forward packets with some Nodes forward packets with some
probabilityprobability Haas et al. studies gossiping Haas et al. studies gossiping
behavior and found thatbehavior and found that There is a critical probability, There is a critical probability, xx pp < < xx: gossip dies out very quickly: gossip dies out very quickly pp > > xx: gossip reaches most nodes: gossip reaches most nodes
7
Routing Protocol Routing Protocol ClassificationClassification Main question: Main question: WhenWhen does the does the
routing protocol operate? routing protocol operate? Option 1Option 1: : Always Always tries to keep tries to keep
routing data up-to-daterouting data up-to-date Protocol is Protocol is proactive proactive / / table-driventable-driven
Option 2Option 2: Route is only determined : Route is only determined when when actually neededactually needed Protocol operatesProtocol operates on demandon demand
Option 3Option 3: Combine these behaviors: Combine these behaviors HybridHybrid protocolsprotocols
8
Routing Protocol Routing Protocol ClassificationClassification Which data is used to identify nodes?Which data is used to identify nodes?
An arbitrary identifier?An arbitrary identifier? The The positionposition of a node? of a node?
Can be used to assist in Can be used to assist in geographic geographic routing protocols routing protocols
Identifiers that are not arbitrary, but Identifiers that are not arbitrary, but carry some structure?carry some structure? As in traditional routingAs in traditional routing Structure akin to position, on a logical Structure akin to position, on a logical
level?level?
9
Proactive Protocols – Proactive Protocols – ExampleExample Fisheye State Routing (FSR)Fisheye State Routing (FSR)
Basic observation: When destination is Basic observation: When destination is far away, details about path are not far away, details about path are not relevantrelevant
Look at the graph as if through a Look at the graph as if through a fisheye lensfisheye lens
Regions of different accuracy of routing Regions of different accuracy of routing informationinformation
LS information about closer nodes is LS information about closer nodes is exchanged more frequentlyexchanged more frequently
10
Reactive Protocols – Reactive Protocols – ExampleExample Recall reactive routing protocolsRecall reactive routing protocols
Initially, no information about next hop is Initially, no information about next hop is available at all available at all
One possibility: Send packet to One possibility: Send packet to everyoneeveryone Hope: At some point, packet will reach Hope: At some point, packet will reach
destination and an answer is sent pack – destination and an answer is sent pack – use this answer for use this answer for backward learningbackward learning the route from destination to source the route from destination to source
ExamplesExamples Ad hoc On-demand Distance Vector Ad hoc On-demand Distance Vector
(AODV)(AODV) Dynamic Source Routing (DSR)Dynamic Source Routing (DSR)
11
DSRDSR DDynamic ynamic SSource ource RRouting protocolouting protocol Use separate Use separate route request/route route request/route
reply reply packets to discover routepackets to discover route Data packets only sent once route has Data packets only sent once route has
been establishedbeen established Discovery packets smaller than data Discovery packets smaller than data
packetspackets Store routing information in the Store routing information in the
discovery packetsdiscovery packets
12
DSR Route Discovery DSR Route Discovery Search for route from 1 to 5
17
6
5
34
2[1]
[1] 17
6
5
34
2[1,7]
[1,7]
[1,4][1,7]
17
6
5
34
2[1,7,2]
[1,4,6]
[1,7,2]
[1,7,3]
17
6
5
34
2
Node 5 uses route information recorded in RREQ to send back, via source routing, a route reply
[5,3,7,1]
13
AODV AODV AAd hoc d hoc OOn-demand n-demand DDistance istance VVectorector Very popular routing protocolVery popular routing protocol Same basic idea as DSR for Same basic idea as DSR for
discovery procedurediscovery procedure Nodes maintain routing tables Nodes maintain routing tables
instead of source routinginstead of source routing
14
Alternative - Rumor Alternative - Rumor RoutingRouting Think of an “agent” wandering through Think of an “agent” wandering through
the network, looking for data/eventsthe network, looking for data/events
?
Agent initially Agent initially perform perform random walkrandom walk
Leave Leave “traces” in “traces” in the networkthe network
Later agents Later agents can use these can use these traces to find traces to find datadata
15
OverviewOverview Unicast routing in MANETs Unicast routing in MANETs Energy efficiency & unicast Energy efficiency & unicast
routingrouting Multi-/broadcast routingMulti-/broadcast routing Geographical routingGeographical routing
16
Energy-Efficient Energy-Efficient Unicast: GoalsUnicast: Goals
C1
4A
2G
3D
4H
4F
2E
2B
1
1
1
2
2
22
2
3
3
Minimize Minimize energy/bitenergy/bit Eg., A-B-E-HEg., A-B-E-H
Maximize Maximize network network "lifetime""lifetime" Time until first Time until first
node failurenode failure loss of coverageloss of coverage partitioningpartitioning Example: Send data from node A to node H
17
Basic options for path Basic options for path metricsmetrics Max total Max total
available battery available battery capacity capacity Sum of batt. Sum of batt.
levels without levels without needless detoursneedless detours
Example: A-C-F-HExample: A-C-F-H Min battery costMin battery cost
Sum of reciprocal Sum of reciprocal battery levelsbattery levels
Example: A-D-HExample: A-D-H Min-Max batt. costMin-Max batt. cost
Largest reciprocal Largest reciprocal level of all nodes level of all nodes in pathin path
Minimize variance Minimize variance in power levelsin power levels
C1
4A
2G
3D
4H
4F
2E
2B
1
1
1
2
2
22
2
3
3
18
OverviewOverview Unicast routing in MANETs Unicast routing in MANETs Energy efficiency & unicast routingEnergy efficiency & unicast routing Multicast/broadcast routingMulticast/broadcast routing Geographical routingGeographical routing
19
Broadcast & MulticastBroadcast & Multicast Distribute a packet to all reachable Distribute a packet to all reachable
nodes (nodes (broadcastbroadcast) or to a subgroup ) or to a subgroup ((multicastmulticast))
Basic optionsBasic options Source-based tree: one tree per sourceSource-based tree: one tree per source
Minimize total costMinimize total cost Minimize maximum cost to each destination Minimize maximum cost to each destination
Shared, core-based treesShared, core-based trees MeshMesh
Provides redundancy in data transfer Provides redundancy in data transfer
20
Goals for Source-Based Goals for Source-Based TreesTrees For each source, For each source,
minimize minimize total costtotal cost The Steiner tree The Steiner tree
problemproblem For each source, For each source,
minimize minimize maximum maximum cost cost to each to each destinationdestination Obtained by Obtained by
overlapping the overlapping the individual individual shortest shortest pathspaths
Steiner tree
Src
Dest 1
Dest 2
2
2
1
Src
Dest 1
Dest 2
2
2
1
Shortest-path tree
21
Broadcast/Multicast Broadcast/Multicast ClassificationClassification
Broadcast Multicast
MeshShared tree(core-based tree)
Single core
Multiple core
One treeper source
Minimizetotal cost
(Steiner tree)
Minimizecost to each node
(e.g., Dijkstra)
22
Wireless Multicast Wireless Multicast AdvantageAdvantage WiresWires
Locally distributing a packet to n neighborsLocally distributing a packet to n neighbors nn times the cost of a unicast packet times the cost of a unicast packet
Wireless: sending to Wireless: sending to nn neighbors can incur neighbors can incur costscosts
= tx to a single neighbor – if receive costs are ignored = tx to a single neighbor – if receive costs are ignored
= One tx, = One tx, nn rx – if receives are correctly tuned rx – if receives are correctly tuned
= send = send nn unicasts – if multicast not supported by MAC unicasts – if multicast not supported by MAC
If local multicast is cheaper, then If local multicast is cheaper, then wireless multicast advantage wireless multicast advantage is is presentpresent Can be assumed realistically Can be assumed realistically
23
Steiner Tree Steiner Tree ApproximationsApproximations Computing Steiner tree is NP Computing Steiner tree is NP
completecomplete A simple approximationA simple approximation
Pick some arbitrary order of all Pick some arbitrary order of all destination nodes + source nodedestination nodes + source node
Successively add these nodes to the Successively add these nodes to the treetree For every next node, construct a shortest For every next node, construct a shortest
path to some other node already on the path to some other node already on the treetree
Performs reasonably well in practicePerforms reasonably well in practice
24
Steiner Tree Steiner Tree ApproximationsApproximations Takahashi Matsuyama heuristicTakahashi Matsuyama heuristic
Similar, but let algorithm decide which is Similar, but let algorithm decide which is the next node to be addedthe next node to be added
Start with source node, add that destination Start with source node, add that destination node to the tree which has shortest path node to the tree which has shortest path
Iterate, picking that destination node which Iterate, picking that destination node which has the shortest path to some node already has the shortest path to some node already on the treeon the tree
Problem: Wireless multicast advantage Problem: Wireless multicast advantage not exploited!not exploited! And does not really fit to the Steiner tree And does not really fit to the Steiner tree
formulationformulation
25
Broadcast Incremental Broadcast Incremental PowerPower Or BIPOr BIP Exploits multicast wireless Exploits multicast wireless
advantageadvantage Goal: use as little transmission power Goal: use as little transmission power
as possibleas possible Based on Prim's MST algorithmBased on Prim's MST algorithm Once a node transmits and reaches Once a node transmits and reaches
some neighbors, it becomes some neighbors, it becomes cheaper cheaper to reach to reach additional additional neighbors neighbors
26
BIP – Example BIP – Example
S (3)
A
B
C (1)D
2 3
67
Round 4:
S (5)
A
B
C (1)D
3
710
Round 5:
S
A
B
CD
1
5 3
73
1
10
Round 1:
S (1)
A
B
CD
4 3
72
1
9
Round 2:
S (3)
A
B
CD
2 3
7
1
7
Round 3:
27
Multicast Incremental Multicast Incremental PowerPower Or MIPOr MIP Start with broadcast tree Start with broadcast tree
construction, then prune construction, then prune unnecessary edges out of the treeunnecessary edges out of the tree
S
A
B
CD
3
710
S
A
B
CD
3
710
28
Mesh-Based MulticastMesh-Based Multicast Example – Example – ODMRP (On-Demand ODMRP (On-Demand
Multicast Routing Protocol)Multicast Routing Protocol)
F
A
B
ED
G
H
I
SenderNextHop
H C
SenderNextHop
H D
SenderNextHop
H HC
29
OverviewOverview Unicast routing in MANETs Unicast routing in MANETs Energy efficiency & unicast routingEnergy efficiency & unicast routing Multi-/broadcast routingMulti-/broadcast routing Geographical routingGeographical routing
Position-based routingPosition-based routing GeocastingGeocasting
30
Geographic RoutingGeographic Routing Implicitly Implicitly infer infer routing information from routing information from
physical placement of nodesphysical placement of nodes E.g., position of current node, current E.g., position of current node, current
neighbors, destination knownneighbors, destination known Send to a neighbor in the right direction as Send to a neighbor in the right direction as
next hopnext hop Geographic routingGeographic routing
Position-based routingPosition-based routing Use position information to aid in routingUse position information to aid in routing
GeocastingGeocasting Send to any node in a given areaSend to any node in a given area
31
OverviewOverview Unicast routing in MANETs Unicast routing in MANETs Energy efficiency & unicast routingEnergy efficiency & unicast routing Multi-/broadcast routingMulti-/broadcast routing Geographical routingGeographical routing
Position-based routingPosition-based routing GeocastingGeocasting
32
Position-Based Routing Position-Based Routing ““Most forward within range rMost forward within range r” strategy” strategy
Send to that neighbor that Send to that neighbor that realizes the most forward realizes the most forward progress towards destinationprogress towards destination
Nearest node with forward progressNearest node with forward progress Idea: Minimize transmission powerIdea: Minimize transmission power
Directional routingDirectional routing Choose next hop that is angularly closest to Choose next hop that is angularly closest to
destinationdestination Choose next hop that is closest to the Choose next hop that is closest to the
connecting line to destinationconnecting line to destination Problem: Might result in loops!Problem: Might result in loops!
33
Problem: Dead EndsProblem: Dead Ends Simple strategies might send a Simple strategies might send a
packet into a dead endpacket into a dead end
34
Right Hand Rule Right Hand Rule Basic idea to get out of a dead end: Basic idea to get out of a dead end:
Put right hand to the wall, follow the Put right hand to the wall, follow the wallwall Does not work if on some inner wall – Does not work if on some inner wall –
will walk in circleswill walk in circles Need some additional rules to detect Need some additional rules to detect
such circlessuch circles
35
Right Hand Rule – GPSR Right Hand Rule – GPSR Greedy Perimeter Stateless RoutingGreedy Perimeter Stateless Routing
Use greedy, “most forward” routing as long Use greedy, “most forward” routing as long as possibleas possible
If no progress possible: Switch to “face” If no progress possible: Switch to “face” routingrouting FaceFace: largest possible region of the plane that is : largest possible region of the plane that is
not cut by any edge of the graphnot cut by any edge of the graph Send packet around the face using right-hand Send packet around the face using right-hand
rulerule Use position where face was entered and Use position where face was entered and
destination position to determine when face can destination position to determine when face can be left again, switch back to greedy routingbe left again, switch back to greedy routing
Requires: planar graph! (topology control Requires: planar graph! (topology control can ensure that)can ensure that)
36
Face Routing ExampleFace Routing Example
37
GPSR – Example GPSR – Example Route packet from node A to node ZRoute packet from node A to node Z
AZ
D
C
B
E
F
G
I
H
J
K
LEnter face
routing
Leave face routing
38
GEM – Graph GEM – Graph EMbedding EMbedding Geographical routing without positionsGeographical routing without positions Construct Construct virtual polar coordinatesvirtual polar coordinates
for nodesfor nodes Assign “virtual Assign “virtual angle range” angle range” to neighbors of to neighbors of a node, bigger a node, bigger radius radius
Angles are Angles are recursively recursively redistributed redistributed to children to children nodesnodes
39
OverviewOverview Unicast routing in MANETs Unicast routing in MANETs Energy efficiency & unicast routingEnergy efficiency & unicast routing Multi-/broadcast routingMulti-/broadcast routing Geographical routingGeographical routing
Position-based routingPosition-based routing GeocastingGeocasting
40
Location-based Location-based Multicast (LBM)Multicast (LBM) Geocasting by geographically Geocasting by geographically
restricted floodingrestricted flooding Define a “forwarding” zone – nodes Define a “forwarding” zone – nodes
in this zone will forward the packet in this zone will forward the packet to make it reach the destination to make it reach the destination zonezone
Packet is always forwarded by nodes Packet is always forwarded by nodes within the destination zone itselfwithin the destination zone itself
41
Determining Next HopsDetermining Next Hops Use Voronoi diagramUse Voronoi diagram
S
A
B
C
D
DestinationZone
42
Determining Next HopsDetermining Next Hops Use convex hullsUse convex hulls
S
A
B C
E
DestinationZone
D
43
Trajectory-Based Trajectory-Based Forwarding (TBF)Forwarding (TBF) Source routing + geocastingSource routing + geocasting
44
ConclusionConclusion Routing exploit various sources of Routing exploit various sources of
information to find destination of a information to find destination of a packetpacket
Routing can make some difference Routing can make some difference for network lifetime for network lifetime
Non-standard routing tasks Non-standard routing tasks (multicasting, geocasting) require (multicasting, geocasting) require adapted protocolsadapted protocols