ca319c70b8b0d038693a6bf053556e16.ppt

- Количество слайдов: 58

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

Readings • [I. 1] GPSR: Greedy Perimeter Stateless Routing for Wireless Networks, Karp, B. , and Kung. H. T. , Proc. 6 th Annual International Conference on Mobile Computing and Networking (Mobi. Com 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 (Mobi. Com '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 4 th Annual International Conference on Mobile Computing and Networking (MOBICOM'98), October, 1998. 2

Context • Early 90 s: 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 Mobi. Com • [2000: GPSR in Mobi. Com] • 2000: Estrin et al. ’s Directed Diffusion in Mobi. Com sparks interest in wireless sensor networks 3

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 4

Problem D t 0 1 C A S X D B E 5

Route Discovery Using Flooding route request C route reply A S X D B E 6

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 t 0, and that the current time is t 1 7

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 t 0, and that the current time is t 1 8

Expected Zone expected zone of D ---- the region that node S expects to contain node D at time t 1, only an estimate made by node S 9

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 10

Greedy Perimeter Stateless Routing (GPSR) 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 11

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 12

Greedy Forwarding • Nodes learn immediate neighbors’ positions from beaconing/piggybacking on data packets • Neighbor must be strictly closer to avoid loops Locally optimal, greedy next hop choice: • Neighbor geographically nearest destination D x y 13

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 14

Greedy Forwarding Failure Greedy forwarding not always possible! Consider: D v z How can we circumnavigate voids? …based only on one-hop neighborhood? void y w x 15

Node Density and Voids more prevalent in sparser topologies 16

Void Traversal: The Right-hand Rule Well-known graph traversal: right-hand rule Requires only neighbors’ positions z y x 17

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? 18

Planarized Graphs Relative Neighborhood Graph (RNG) [Toussaint, ’ 80] and Gabriel Graph (GG) [Gabriel, ’ 69]: long-known planar graphs Assume 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! Euclidean MST (so connected) RNG GG w w u u v Delaunay Triangulation ? planar) (so v ? RNG GG 19

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 20

Full Greedy Perimeter Stateless 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 21

Perimeter Mode Forwarding Example D x • Traverse face closer to D along x. D by right-hand rule, until crossing x. D • Repeat with next-closer face, &c. 22

Packet Delivery Success Rate (50, 200; Dense) 23

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? 24

Critical Thinking • Based on the results thus far (indeed, all results in the paper), what do we know Evaluation in paper reveals nearly nothing about the performance of GPSR’s perimeter performance of perimeter mode! mode? Why doesn’t it? • Would you expect it to be more or less reliable than greedy mode? • Would you expect use of perimeter mode to affect path length? 25

Other Issues • How to route geographically in 3 D? • • Greedy mode? Perimeter mode? • Effect of radio-opaque obstacles? • Effect of position errors? 26

Geographic Forwarding Scales Well C’s radio range A C B D F G E • 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! 27

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. 28

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. 29

Grid Location Service (GLS) Overview E B H L D J G A F “D? ” I K C 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. 30

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. 31

GLS’s spatial hierarchy level-0 level-1 level-2 level-3 All nodes agree on the global origin of the grid hierarchy 32

3 Servers Per Node Per Level sibling level-0 squares sibling level-1 squares sibling level-2 squares s n s s s s • s is n’s successor in that square. (Successor is the node with “least ID greater than” n ) 33

Queries Search for Destination’s Successors s n s s s Each query step: visit n’s successor at surrounding level. s s 1 x s 2 s s 3 location query path 34

GLS Update (level 0) 9 11 2 9 1 11 3 6 23 23 16 29 7 6 26 21 17 25 4 Invariant (for all levels): For node n in a square, n’s successor in each sibling square “knows” about n. 5 Base case: Each node in a level-0 square “knows” about all other nodes in the same square. 8 19 location table content 35

GLS Update (level 1) 9 11 2 9 1 11 2 3 6 23 23 2 16 2 Invariant (for all levels): For node n in a square, n’s successor in each sibling square “knows” about n. 29 7 6 26 21 17 25 4 5 location table content 8 19 location update 36

GLS Update (level 1) 2 . . . 9 11 9 1 11, 2 6 23 23, 2 16 2 . . . 3. . . 29 7 6 . . . 21 . . . 17 . . . 25 . . . 4 Invariant (for all levels): For node n in a square, n’s successor in each sibling square “knows” about n. 5 . . 8 . . . 19 location table content 37

GLS Update (level 2) 2 . . . 1 . . . 9 11 9 1 11, 2 6 23 23, 2 16 2 . . . 3. . . 29 7 6 . . . 21 . . . 17 . . . 25 . . . 4 Invariant (for all levels): For node n in a square, n’s successor in each sibling square “knows” about n. 5 . . 8 location table content. . . 19 location update 38

GLS Query. . . 1 11 2 . . . 9 9 1 11, 2 6 23 23, 2 16 2 . . . 3. . . 29 7 6 . . . 21 . . . 17 . . . 25 . . . 4 5 . . . location table content . . . 8 . . . 19 query from 23 for 1 39

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. 40

query success rate GLS Finds Nodes in Big Mobile Networks Biggest network simulated: 600 nodes, 2900 x 2900 m (4 -level grid hierarchy) Number of nodes • Failed queries are not retransmitted in this simulation • Queries fail because of out-of-date information for destination nodes or intermediate servers 42

Avg. packets transmitted per node per second GLS Protocol Overhead Grows Slowly Number of nodes • Protocol packets include: GLS update, GLS query/reply 43

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 44

Step by Step Approach Nothing is known about the perimeter Perimeter node detection Perimeter nodes are known but their locations are not known Balls and Springs Perimeter nodes and their locations are known Degree of Information Relaxation algorithm 45

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

Perimeter nodes are known (10 iterations) 47

Perimeter nodes are known (100 iterations) 48

Perimeter nodes are known (1000 iterations) 49

Perimeter Nodes are Known but Their Locations are not Known • 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 50

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 51

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. 52

Perimeter node detection 53

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 54

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 reasses whether they lie on the perimeter or not 55

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 56

Success Rate vs. Iterations 57

Path Length vs. Number of Nodes identical 58

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 59