architectures and applications for wireless sensor networks (01204525) routing

Post on 22-Jan-2016

34 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Architectures and Applications for Wireless Sensor Networks (01204525) Routing. Chaiporn Jaikaeo chaiporn.j@ku.ac.th Department of Computer Engineering Kasetsart University. Materials taken from lecture slides by Karl and Willig. Overview. Unicast routing in MANETs - PowerPoint PPT Presentation

TRANSCRIPT

Architectures and Architectures and Applications for Applications for Wireless Sensor Wireless Sensor

Networks (01204525)Networks (01204525)

RoutingRouting

Chaiporn JaikaeoChaiporn Jaikaeochaiporn.j@ku.ac.thchaiporn.j@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

top related