architectures and applications for wireless sensor networks (01204525) routing

44
Architectures and Architectures and Applications for Applications for Wireless Sensor Wireless Sensor Networks (01204525) Networks (01204525) Routing Routing Chaiporn Jaikaeo Chaiporn Jaikaeo [email protected] [email protected] Department of Computer Engineering Department of Computer Engineering Kasetsart University Kasetsart University Materials taken from lecture slides by Karl and Willig

Upload: jacqui

Post on 22-Jan-2016

31 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 2: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

2

OverviewOverview Unicast routing in MANETsUnicast routing in MANETs Energy efficiency & unicast routingEnergy efficiency & unicast routing Multi-/broadcast routingMulti-/broadcast routing Geographical routingGeographical routing

Page 3: Architectures and Applications for Wireless Sensor Networks (01204525) 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

Page 4: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 5: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 6: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 7: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 8: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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?

Page 9: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 10: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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)

Page 11: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 12: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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]

Page 13: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 14: Architectures and Applications for Wireless Sensor Networks (01204525) 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

Page 15: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 16: Architectures and Applications for Wireless Sensor Networks (01204525) 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

Page 17: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 18: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 19: Architectures and Applications for Wireless Sensor Networks (01204525) 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

Page 20: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 21: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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)

Page 22: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 23: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 24: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 25: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 26: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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:

Page 27: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 28: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 29: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 30: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 31: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 32: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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!

Page 33: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 34: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 35: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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)

Page 36: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

36

Face Routing ExampleFace Routing Example

Page 37: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 38: Architectures and Applications for Wireless Sensor Networks (01204525) 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

Page 39: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 40: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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

Page 41: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

41

Determining Next HopsDetermining Next Hops Use Voronoi diagramUse Voronoi diagram

S

A

B

C

D

DestinationZone

Page 42: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

42

Determining Next HopsDetermining Next Hops Use convex hullsUse convex hulls

S

A

B C

E

DestinationZone

D

Page 43: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

43

Trajectory-Based Trajectory-Based Forwarding (TBF)Forwarding (TBF) Source routing + geocastingSource routing + geocasting

Page 44: Architectures and Applications for Wireless Sensor Networks (01204525) Routing

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