580 likes | 725 Views
15-441 Computer Networking. Lecture 10 – Geographic Ad Hoc Routing. 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.
E N D
15-441 Computer Networking Lecture 10 – Geographic Ad Hoc Routing
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.
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
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
D C S Problem D t0 t1 C C C A S S S X X X D D B E
Route Discovery Using Flooding route request C route reply A S X D B E
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
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
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
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
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
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
Neighbor must be strictly closer to avoid loops Greedy Forwarding • Nodes learn immediate neighbors’ positions from beaconing/piggybacking on data packets • Locally optimal, greedy next hop choice: • Neighbor geographically nearest destination D x y
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
How can we circumnavigate voids? …based only on one-hop neighborhood? Greedy Forwarding Failure Greedy forwarding not always possible! Consider: D v z void y w x
Voids more prevalent in sparser topologies Node Density and Voids
Void Traversal: The Right-hand Rule Well-known graph traversal: right-hand rule Requires only neighbors’ positions z y x
How to remove crossing edgeswithout partitioning graph? And usingonly single-hop neighbors’ positions? Planar vs. Non-planar Graphs On graphs with edges that cross (non-planar graphs), right-hand rule may not tour enclosed face boundary
Euclidean MST (so connected) RNG GG Delaunay Triangulation (so planar) 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! w w u v u v ? ? GG RNG
Planarized Graphs: Example 200 nodes, placed uniformly at random on 2000-by-2000-meter region; 250-meter radio range GG Subgraph Full Graph RNG Subgraph
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
Perimeter Mode Forwarding Example D • Traverse face closer to D along xD by right-hand rule, until crossing xD • Repeat with next-closer face, &c. x
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? State Size (200; Dense)
Evaluation in paper reveals nearly nothing about performance of perimeter mode! Why doesn’t it? 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?
Other Issues • How to route geographically in 3D? • Greedy mode? • Perimeter mode? • Effect of radio-opaque obstacles? • Effect of position errors?
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! C’s radio range A D F C G B E
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.
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.
Grid Location Service (GLS) Overview E H L B D J G A “D?” I F 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.
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.
level-0 level-1 level-2 level-3 GLS’s spatial hierarchy All nodes agree on the global origin of the grid hierarchy
sibling level-0 squares s n s s s s sibling level-1 squares s s sibling level-2 squares s s 3 Servers Per Node Per Level • s is n’s successorin that square. • (Successor is the node with “least ID greater than” n )
s n s s s s s s s1 x s2 s s3 location query path Queries Search for Destination’s Successors Each query step: visit n’s successor at surrounding level.
9 location table content 11 6 23 GLS Update (level 0) Invariant (for all levels): For node nin a square, n’s successor in each sibling square “knows” about n. 11 1 2 3 9 23 29 16 7 6 Base case: Each node in a level-0 square “knows” about all other nodes in the same square. 17 5 26 25 4 8 21 19
location table content location update GLS Update (level 1) Invariant (for all levels): For node nin a square, n’s successor in each sibling square “knows” about n. 9 11 1 2 3 2 11 9 6 23 29 2 16 2 23 7 6 17 5 26 25 4 8 21 19
location table content GLS Update (level 1) ... Invariant (for all levels): For node nin a square, n’s successor in each sibling square “knows” about n. 9 ... 11 1 2 ... 3 11,2 9 6 ... 23 29 2 16 ... 23, 2 7 6 ... ... ... 17 5 ... 26 25 ... ... ... 8 21 4 ... 19
location table content location update GLS Update (level 2) ... Invariant (for all levels): For node nin a square, n’s successor in each sibling square “knows” about n. 9 ... 1 11 1 1 2 ... 3 11, 2 9 6 ... 23 29 2 16 ... 23,2 7 6 ... ... ... 17 5 ... 26 25 ... ... ... 8 21 4 ... 19
GLS Query ... 9 ... 1 11 1 1 2 ... 3 11,2 9 6 ... 23 29 2 16 ... 23,2 7 6 ... ... ... 17 5 ... 26 25 location table content ... ... ... 8 21 4 query from 23 for 1 ... 19
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.
query success rate Number of nodes GLS Finds Nodes in Big Mobile Networks Biggest network simulated: 600 nodes, 2900x2900m (4-level grid hierarchy) • Failed queries are not retransmitted in this simulation • Queries fail because of out-of-date information for destination nodes or intermediate servers
GLS Protocol Overhead Grows Slowly Avg. packets transmitted per node per second Number of nodes • Protocol packets include: GLS update, GLS query/reply
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
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 Relaxation algorithm Degree of Information
Rubber Bands Every node moves to the average of its neighbors coordinates at each step in the iteration
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
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