58
1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

Embed Size (px)

Citation preview

Page 1: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

1

15-441 Computer Networking

Lecture 10 – Geographic Ad Hoc Routing

Page 2: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

2

Readings

• [I.1] GPSR: Greedy Perimeter Stateless Routing for Wireless Networks, Karp, B., and Kung. H. T.,   Proc. 6th Annual International Conference on Mobile Computing and Networking (MobiCom 2000), 243-254.

• [I.7] Jinyang Li, John Jannotti, Douglas S. J. De Couto, David R. Karger, and Robert Morris,  "A Scalable Location Service for Geographic Ad Hoc Routing."  Proceedings of the sixth ACM International Conference on Mobile Computing and Networking (MobiCom '00), July 2000, Boston, Massachusetts. Pages 120-130.

• [I.11] Ananth Rao, Sylvia Ratnasamy, Christos Papadimitriou, Scott Shenker, and Ion Stoica. Geographic Routing without Location Information. In Proc. of ACM Mobicom 2003, Sept. 2003.

• OPTIONAL• [I.12] Young-Bae Ko and Nitin H. Vaidya, "Location-Aided Routing(LAR

) in Mobile Ad Hoc Networks" In Proceedings of the 4th Annual International Conference on Mobile Computing and Networking (MOBICOM'98), October, 1998.

Page 3: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

3

Context

• Early 90s: availability of off-the-shelf wireless network cards and laptops

• 1994: first papers on Destination-Sequenced Distance Vector (DSDV) routing and Dynamic Source Routing (DSR) spark tremendous interest in routing on mobile wireless (ad hoc) networks

• 1998: Broch et al.’s comparison of leading ad hoc routing protocol proposals in ns-2 simulator in MobiCom

• [2000: GPSR in MobiCom]• 2000: Estrin et al.’s Directed Diffusion in MobiCom

sparks interest in wireless sensor networks

Page 4: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

4

Scaling Routing (cont’d)

• Dominant factors in cost of DV, LS, DSR:• rate of change of topology (bandwidth)• number of routers in routing domain (b/w, state)

• Scaling strategies:• Hierarchy: at AS boundaries (BGP) or on finer scale

(OSPF)• Goal: reduce number of routers in routing domain• Assumption: address aggregation

• Caching: store source routes overheard (DSR)• Goal: limit propagation of future queries• Assumption: source route remains fixed while cached

Page 5: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

5

Problem

A

B

E

C

XS D

D

C

XS D

C

S

D

C

XS

t0t1

Page 6: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

6

Route Discovery Using Flooding

A

B

C

E

XS D

route request

route reply

Page 7: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

7

Location-Aided Routing

• Main Idea• Using location information to reduce the number of

nodes to whom route request is propagated. • Location-aided route discovery based on “limited”

flooding

• Consider a node S that needs to find a route to node D.

• each host in the ad hoc network knows its current location

• node S knows that node D was at location L at time t0, and that the current time is t1

Page 8: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

8

Location Information

• Consider a node S that needs to find a route to node D.

• Assumption:• each host in the ad hoc network knows its current

location precisely (location error considered in one of their simulations)

• node S knows that node D was at location L at time t0, and that the current time is t1

Page 9: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

9

Expected Zone

expected zone of D ---- the region that node S expects to contain node D at time t1, only an estimate made by node S

Page 10: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

10

Request Zone

• LAR’s limited flooding• A node forwards a route

request only if it belongs to the request zone

• The request zone should include

• expected zone• other regions around the

expected zone• No guarantee that a path can

be found consisting only of the hosts in a chosen request zone.

• timeout• expand request zone

• Trade-off between • latency of route

determination• the message overhead

Page 11: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

11

Central idea: Machines can know their geographic locations

• by GPS (outdoors)• by surveyed position (for non-mobile nodes)• by short-range localization (indoors, [AT&T

Camb, 1997], [Priyantha et al., 2000])

Route using geography.• packet destination field: location of destination

Greedy Perimeter Stateless Routing(GPSR)

Page 12: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

12

Assumptions

• Bi-directional radio links (unidirectional links may be blacklisted)

• Network nodes placed roughly in a plane

• Radio propagation in free space; distance from transmitter determines signal strength at receiver

• Fixed, uniform radio transmitter power

Page 13: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

13

Greedy Forwarding

• Nodes learn immediate neighbors’ positions from beaconing/piggybacking on data packets

• Locally optimal, greedy next hop choice:• Neighbor geographically nearest destination

Dx

y

Neighbor must be strictly closer to avoid loops

Page 14: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

14

In Praise of Geography

• Self-describing• As node density increases, shortest path

tends toward Euclidean straight line between source and destination

• Node’s state concerns only one-hop neighbors:

• Low per-node state: O(density)• Low routing protocol overhead: state pushed

only one hop

Page 15: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

15

Greedy Forwarding Failure

Greedy forwarding not always possible! Consider:D

x

zv

void

w y

How can we circumnavigate voids?…based only on one-hop

neighborhood?

Page 16: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

16

Node Density and Voids

Voids more prevalent in sparser topologies

Page 17: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

17

Well-known graph traversal: right-hand rule

Requires only neighbors’ positions

Void Traversal: The Right-hand Rule

x

y z

Page 18: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

18

Planar vs. Non-planar Graphs

On graphs with edges that cross (non-planar graphs), right-hand rule may not tour enclosed face boundary

How to remove crossing edges without partitioning graph?

And using only single-hop neighbors’ positions?

Page 19: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

19

Planarized Graphs

Relative Neighborhood Graph (RNG) [Toussaint, ’80] and Gabriel Graph (GG) [Gabriel, ’69]: long-known planar graphsAssume edge exists between any pair of nodes separated by less than threshold distance (i.e., nominal radio range)RNG and GG can be constructed from only neighbors’ positions, and can be shown not to partition network!

u vw

?u v

w

?

RNG GG

Euclidean MST (so connected) RNG GG

Delaunay Triangulation (so planar)

Page 20: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

20

Planarized Graphs: Example

200 nodes, placed uniformly at random on 2000-by-2000-meter region; 250-meter radio range

Full Graph GG Subgraph RNG Subgraph

Page 21: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

21

Full Greedy PerimeterStateless Routing

• All packets begin in greedy mode• Greedy mode uses full graph• Upon greedy failure, node marks its location in

packet, marks packet in perimeter mode• Perimeter mode packets follow simple planar

graph traversal:• Forward along successively closer faces by right-hand

rule, until reaching destination• Packets return to greedy mode upon reaching node

closer to destination than perimeter mode entry point

Page 22: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

22

Perimeter Mode Forwarding Example

• Traverse face closer to D along xD by right-hand rule, until crossing xD

• Repeat with next-closer face, &c.

x

D

Page 23: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

23

Packet Delivery Success Rate(50, 200; Dense)

Page 24: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

24

State Size (200; Dense)

How would you expect GPSR’s state size to change the number of nodes in the network increases?Why does DSR hold state for more nodes than there are in the network?

Page 25: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

25

Critical Thinking

• Based on the results thus far (indeed, all results in the paper), what do we know about the performance of GPSR’s perimeter mode?

• Would you expect it to be more or less reliable than greedy mode?

• Would you expect use of perimeter mode to affect path length?

Evaluation in paper reveals nearly nothing about performance of perimeter mode!

Why doesn’t it?

Page 26: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

26

Other Issues

• How to route geographically in 3D?• Greedy mode?• Perimeter mode?

• Effect of radio-opaque obstacles?

• Effect of position errors?

Page 27: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

27

Geographic Forwarding Scales Well

• A addresses a packet to G’s latitude, longitude• C only needs to know its immediate neighbors to

forward packets towards G.• Geographic forwarding needs a location service!

A

B

CD F

C’s radio range

E

G

Page 28: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

28

Possible Designs for a Location Service

• Flood to get a node’s location (LAR, DREAM).• excessive flooding messages

• Central static location server.• not fault tolerant• too much load on central server and nearby

nodes• the server might be far away for nearby nodes

or inaccessible due to network partition.• Every node acts as server for a few others.

• good for spreading load and tolerating failures.

Page 29: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

29

Desirable Properties of a Distributed Location Service

• Spread load evenly over all nodes.• Degrade gracefully as nodes fail.• Queries for nearby nodes stay local.

• Per-node storage and communication costs grow slowly as the network size grows.

Page 30: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

30

Grid Location Service (GLS) Overview

A

EH

G

B

D

FC

J

I K

L

Each node has a few servers that know its location.1. Node D sends location updates to its servers (B, H, K).2. Node J sends a query for D to one of D’s close servers.

“D?”

Page 31: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

31

Grid Node Identifiers

• Each Grid node has a unique identifier.• Identifiers are numbers.• Perhaps a hash of the node’s IP address.

• Identifier X is the “successor” of Y if X is the smallest identifier greater than Y.

Page 32: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

32

GLS’s spatial hierarchy

level-0

level-1

level-2

level-3

All nodes agree on the global origin of the grid hierarchy

Page 33: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

33

n

s

s

s

s

s

s

s

s s

• s is n’s successor in that square. (Successor is the node with “least ID greater than” n )

sibling level-0squares

sibling level-1squares

sibling level-2squares

3 Servers Per Node Per Level

Page 34: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

34

Each query step: visit n’s successor at surrounding level.

n

s

s

s

s

s

s

s

s s3

xs2

s1

location query path

Queries Search for Destination’s Successors

Page 35: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

35

9

11

23

6

9

112

1623

6

1726

21

525

8

1

7

29

Base case:Each node in a level-0 square “knows” about all other nodes in the same square.

location table content

Invariant (for all levels):For node n in a square, n’s successor in each sibling square “knows” about n.

19

4

3

GLS Update (level 0)

Page 36: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

36

9

11

23

6

29

112

1623

6

17

4

26

21

5

19

25

8

1

7

292

2

Invariant (for all levels):For node n in a square, n’s successor in each sibling square “knows” about n.

location table content

location update

3

GLS Update (level 1)

Page 37: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

37

...

...

...

9

11, 2

23, 2

6

9

11

1623

6

17

4

26

21

19

25

1

3

2

...

...

...

...

...

...

......

...

8

5

29

7

...

location table content

2Invariant (for all levels):For node n in a square, n’s successor in each sibling square “knows” about n.

GLS Update (level 1)

Page 38: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

38

... 1

...

...

...

9

23, 2

11, 2

6

9

11

1623

6

17

4

26

21

5

19

25

7

3

292

...

...

...

...

...

...

......

...

1

8

1

location table content

location update

2Invariant (for all levels):For node n in a square, n’s successor in each sibling square “knows” about n.

GLS Update (level 2)

Page 39: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

39

1

...

...

...

9

23, 2

11, 2

6

9

112

1623

6

17

4

26

21

5

19

25

7

3

292

...

...

...

...

...

...

......

...

1

8

... 1

location table content

query from 23 for 1

GLS Query

Page 40: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

40

Challenges for GLS in a Mobile Network

• Slow updates risk out-of-date information.• Packets dropped because we can’t find the

destination.

• Aggressive updates risk congestion.• Update packets leave no bandwidth for data.

• Large mobile ad-hoc nets usually suffer from one or the other.

Page 41: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

42

• Failed queries are not retransmitted in this simulation• Queries fail because of out-of-date information for destination nodes or intermediate servers

Number of nodes

quer

y su

c ces

s ra

te

Biggest network simulated:600 nodes, 2900x2900m(4-level grid hierarchy)

GLS Finds Nodes in Big Mobile Networks

Page 42: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

43

• Protocol packets include: GLS update, GLS query/reply

Number of nodes

Avg

. pa

cket

s t r

ansm

i tted

pe

r no

de p

er s

econ

d

GLS Protocol Overhead Grows Slowly

Page 43: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

44

Why geographic routing without location information

• GPS takes power, doesn’t work indoors

• Obstacles, non-ideal radios

• Coordinates computed will reflect true connectivity and not the geographic locations of the nodes

Page 44: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

45

Step by Step Approach

Perimeter nodes and their locations are knownPerimeter nodes and their locations are known

Perimeter nodes are known but their locations are not known

Perimeter nodes are known but their locations are not known

Nothing is known about the perimeterNothing is known about the perimeter

Relaxation algorithm

Balls and Springs

Perimeter node detection

Degree of Information

Page 45: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

46

Rubber Bands

Every node moves to the average of its neighbors coordinates at each step in the iteration

Page 46: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

47

Perimeter nodes are known (10 iterations)

Page 47: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

48

Perimeter nodes are known (100 iterations)

Page 48: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

49

Perimeter nodes are known (1000 iterations)

Page 49: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

50

• Stage 1 : Each perimeter node broadcasts a HELLO message to the entire network

• Stage 2 : Each perimeter node broadcasts its perimeter vector to the entire network

• Stage 3 : Every perimeter node uses a triangulation algorithm to compute the coordinates of all other perimeter nodes by minimizing

Perimeter Nodes are Known but Their Locations are not Known

Page 50: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

51

Balls and Springs

• Balls and Springs• Ball : each perimeter

node • Spring : each ball is

attached by a spring• Spring’s length : the

hop count distance

• Seen as minimizing the potential energy when a ball attached to every other ball by a spring

Page 51: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

52

Nothing is Known about the Perimeter

• Bootstrap Nodes flood the network and every node discovers its distance to these bootstrap nodes

• Nodes use the following criterion• Perimeter Criterion “if a node is farthest away, among

all its two-hop neighbors from the first bootstrap node, then the node decides that it is on the perimeter.”

• False Positives are relatively low and have little effect on the eventual outcome.

Page 52: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

53

Perimeter node detection

Page 53: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

54

Overall algorithm - Bootstrap the coordinate assignment

1. Two designated bootstrap beacon nodes broadcast to the entire network

2. Every perimeter node sends a broadcast message to the entire network to enable every other node to compute its perimeter vector

3. Perimeter and bootstrap nodes broadcast their perimeter vectors to the entire network

4. Each node uses these inter-perimeter distances to compute normalized coordinates for both itself and the perimeter nodes

Page 54: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

55

Overall Algorithms[Cont’d] – normal operation

5. Perimeter nodes stay fixed while other nodes run a relaxation algorithm

6. A designated bootstrap node periodically broadcasts by which nodes periodically re-asses whether they lie on the perimeter or not

Page 55: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

56

Two metrics to measure

• Success rate• The fraction of times packets reach their

intended destination using purely greedy routing

• Average Path length• The average number of hops taken along the

path

Page 56: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

57

Success Rate vs. Iterations

Page 57: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

58

Path Length vs. Number of Nodes

identical

Page 58: 1 15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing

59

Recap:Scalability via Geography with GPSR

Key scalability properties:• Small state per router: O(D), not O(N) or O(L) as

for shortest-path routing, where D = density (neighbors), N = total nodes, L = total links

• Low routing protocol overhead: each node merely single-hop broadcasts own position periodically

• Approximates shortest paths on dense networks• Delivers more packets successfully on dynamic

topologies than shortest-paths routing protocols