Routing. Geo-Routing. Thanks to Stefan Schmid for slides

Similar documents
Geo-Routing. Chapter 2. Ad Hoc and Sensor Networks Roger Wattenhofer

Geometric Ad-Hoc Routing: Of Theory and Practice. Fabian Kuhn Roger Wattenhofer Yan Zhang Aaron Zollinger

Chapter 7 TOPOLOGY CONTROL

Geographical routing 1

Graph Algorithms. Many problems in networks can be modeled as graph problems.

Graph Algorithms. Many problems in networks can be modeled as graph problems.

Simulations of the quadrilateral-based localization

Geometric Routing: Of Theory and Practice

Chapter 6 DOMINATING SETS

Routing. Chapter 11. Ad Hoc and Sensor Networks Roger Wattenhofer 11/1

Chapter 8 DOMINATING SETS

Data Communication. Guaranteed Delivery Based on Memorization

Chapter 8 DOMINATING SETS

Network Layer: Routing

Worst-Case Optimal and Average-Case Efficient Geometric Ad-Hoc Routing

Void Traversal for Guaranteed Delivery in Geometric Routing

Routing. Chapter 12. Ad Hoc and Sensor Networks Roger Wattenhofer

A Survey on Geographic Routing Protocols for Mobile Ad hoc Networks

Lifetime Comparison on Location Base Routing in Wireless Sensor Networks

Midpoint Routing algorithms for Delaunay Triangulations

Networking Sensors, I

Theory and Practice of Geographic Routing

Mobile Advanced Networks. Position-based routing geometric, geographic, location-based. Navid Nikaein Mobile Communication Department

arxiv: v2 [cs.dc] 28 Feb 2018

Computational Geometry

On Delivery Guarantees of Face and Combined Greedy-Face Routing in Ad Hoc and Sensor Networks

Ad hoc and Sensor Networks Topology control

AN AD HOC network consists of a collection of mobile

Geometric Spanners for Routing in Mobile Networks

Computer Networking. Intra-Domain Routing. RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)

On Greedy Geographic Routing Algorithms in Sensing-Covered Networks

Face Routing with Guaranteed Message Delivery in Wireless Ad-hoc Networks. Xiaoyang Guan

Geographic Routing in Simulation: GPSR

6. Concluding Remarks

Distance vector and RIP

ECE 333: Introduction to Communication Networks Fall 2001

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks

Asymptotically Optimal Geometric Mobile Ad-Hoc Routing

Ad hoc and Sensor Networks Chapter 10: Topology control

3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :

C13b: Routing Problem and Algorithms

(Refer Slide Time: 01:08 to 01:25min)

Routing Outline. EECS 122, Lecture 15

Chapter 7 TOPOLOGY CONTROL

[Kleinberg04] J. Kleinberg, A. Slivkins, T. Wexler. Triangulation and Embedding using Small Sets of Beacons. Proc. 45th IEEE Symposium on Foundations

Networks: A Deterministic Approach with Constant Overhead

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

Landmark-based routing

Chapter 7: Routing Dynamically. Routing & Switching

arxiv: v1 [cs.ni] 28 Apr 2015

Lecture 12: Link-state Routing. Lecture 12 Overview. Router Tasks. CSE 123: Computer Networks Chris Kanich. Routing overview

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Networking Sensors, II

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Draft Notes 1 : Scaling in Ad hoc Routing Protocols

Geographic Routing without Planarization

Lecture 13: Routing in multihop wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 3, Monday

Does Topology Control Reduce Interference? Martin Burkhart Pascal von Rickenbach Roger Wattenhofer Aaron Zollinger

COMP/ELEC 429/556 Introduction to Computer Networks

An efficient implementation of the greedy forwarding strategy

Robust Position-based Routing for Wireless Ad Hoc Networks

Distance Vector Routing

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

TOPOLOGY CONTROL IN WIRELESS SENSOR NETWORKS

CHAPTER 4: ROUTING DYNAMIC. Routing & Switching

LECTURE 9. Ad hoc Networks and Routing

Configuring EIGRP. Overview CHAPTER

Geometric Ad-Hoc Routing: Of Theory and Practice

Convex Hulls in 3D. Definitions. Size of a Convex Hull in 3D. Collision detection: The smallest volume polyhedral that contains a set of points in 3D.

Chapter 4 Routing in Wireless Sensor Networks

Simple Graph. General Graph

1 Proximity via Graph Spanners

arxiv:cs/ v1 [cs.dc] 22 Nov 2006

Youki Kadobayashi NAIST

Redes de Computadores. Shortest Paths in Networks

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

EECS 122, Lecture 16. Link Costs and Metrics. Traffic-Sensitive Metrics. Traffic-Sensitive Metrics. Static Cost Metrics.

From Routing to Traffic Engineering

Localized Algorithms for Energy Efficient Topology in Wireless Ad Hoc Networks

Survey on Position-Based Routing 1

Chapter 8 LOCATION SERVICES

Beaconless Position Based Routing with Guaranteed Delivery for Wireless Ad-Hoc and Sensor Networks

CSCE 463/612 Networks and Distributed Processing Spring 2018

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Link-State Routing OSPF

Chapter 7 Routing Protocols

Distance Vector Routing Protocols

Advanced Topics in Routing

CompSci 356: Computer Network Architectures. Lecture 13: Dynamic routing protocols: Link State Chapter 3.3.3, Xiaowei Yang

EIGRP. About EIGRP. CLI Book 1: Cisco ASA Series General Operations CLI Configuration Guide, 9.7 1

Comparative Study of Routing Protocols Convergence using OPNET Chapter Three: Simulation & Configuration

Line Arrangements. Applications

Network Layer (Routing)

Routing in a network

ITEC310 Computer Networks II

Routing. 4. Mar INF-3190: Switching and Routing

BTEC Level 3 Extended Diploma

CSE 461 Routing. Routing. Focus: Distance-vector and link-state Shortest path routing Key properties of schemes

Why dynamic route? (1)

Transcription:

Routing Geo-Routing Thanks to Stefan Schmid for slides 1

Overview Classic routing overview Geo-routing Greedy geo-routing Euclidean and Planar graphs Face Routing Greedy and Face Routing 2

Shortest path An important issue is: how well do such algorithms perform when the topology changes? No real network is static! Let us examine distance vector routing that is adaptation of the shortest path algorithm 3

Distance Vector Routing Distance vector routing uses the basic idea of shortest path routing, but handles topology changes. The routing table is an array of tuples <destination, nexthop, distance>. To send a packet to a given destination, it is forwarded to the process in the corresponding nexthop field of the tuple. When a node j or a link crashes some neighbor of it detects the failure and sets the corresponding distance to. When a new node joins the network, or an existing node is repaired, the neighbor detecting it sets the corresponding distance to 1. Routing table is eventually recomputed. Unfortunately, depending on when a failure is detected, and when the advertisements are sent out, the routing table may not stabilize soon. 4

Distance Vector Routing Distance Vector D for each node i contains N elements D[i,0], D[i,1], D[i,2] D[i, N-1]. D[i,j] denotes the distance from node i to node j. i, D[i,i] =0, and initially i,j: i j, D[i,j] =. j w[i,j] - Each node j periodically sends its distance vector to its immediate neighbors. D[j,k] i - Every neighbor i of j, after receiving the broadcasts from its neighbors, updates its distance vector as follows: k i:d[i,k]=min k (w[i,j]+d[j,k]) k D[i,k] Suggested Reading: Routing Information Protocol (RIP), Interior Gateway Routing Protocol (IGRP). 5

What if the topology changes? Assume that each edge has weight = 1. Currently, Node 1: d(1,0) = 1, d(1, 2) = 1, d(1,3) = 2 1 Node 2: d(2,0) = 1, d(2,1) =1, d(2,3) = 1 Node 1: d(3,0) = 2, d(3,1) = 2, d(3,2) = 1 0 2 3 Observe what can happen when the link (2,3) fails. 6

Counting to infinity Observe what can happen when the link (2,3) fails. Node 1 thinks d(1,3) = 2 (old value) Node 2 thinks d(2,3) = d(1,3) +1 = 3 Node 1 thinks d(1,3) = d(2,3) +1 = 4 1 D[j,k]=3 means j thinks k is 3 hops away and so on. So it will take forever for the distances to stabilize. A partial remedy is the split horizon method that will prevent node 1 from sending the advertisement about d(1,3) to 2 since its first hop (to 3) is node 2. 0 2 3 k i: D[i,k] = min k (w[i,j] + D[j,k] ) Suitable for smaller networks. Larger volume of data is disseminated, but to its immediate neighbors only. Poor convergence property 7

Link State Routing This is an alternative method of shortest path routing In comparison with distance vector routing, link-state routing protocol converges faster. Each node i periodically broadcasts the weights of all edges (i,j) incident on it (this is the link state) to all its neighbors. The mechanism for dissemination is flooding. Link state broadcasts are sent out reliable flooding, which guarantees that the broadcasts reach every node. This helps each node eventually compute the topology of the network, and independently determine the shortest path to any destination node using some standard sequential graph algorithm like Dijkstra s. When failures are not taken into consideration, the correctness follows trivially. The total number of LSPs circulating in the network for every change in the link state is E. Smaller volume data disseminated over the entire network Used in Open Shortest Path First (OSPF) of Internet Protocol (IP) 8

Link State Routing contd.. The failure (or temporary unavailability) of links and nodes can make the algorithm more complicated. When a node i crashes, the link-state packet s (LSPs) stored in it are lost so it has to reconstruct the topology from the newer packets. New link states replace the old ones in case of links and nodes failure and repair taken place. The links may not be FIFO, so to distinguish between the old and the new link states each link state contains a sequence number seq. Each link state packet has a seq that reflects the order in which the packets were generated. While sending a LSP, a node increments its seq by 1. Each node records the largest seq received from every other node. Packets with higher seq are more recent, and used for updates. Packets with lower seq are considered old, and discarded. 9

Link State Routing: clarification When a node crashes, all packets stored in it may be lost. After it is repaired, new packets are sent with seq = 0. So these new packets may be discarded in favor of the old packets! Problem resolved using time-to-live (TTL) 10

Time-To-Live (TTL) Each LSP contains a TTL field, which is an estimate of the time after which a packet should be considered stale (out of date), and discarded. Every node decrements the TTL field of all its LSPs at a steady rate.1 Furthermore, every time a node forwards a stored LSP, it decrements its TTL. When the TTL of a packet becomes 0, the packet is discarded. Of course transient failures can corrupt seq in an unpredictable manner and challenge the protocol. Corrupt LSP entries are eventually flushed out using the TTL field. Suggested reading: Dynamic Routing Protocols by Jeff Doyle, Sample Chapter is provided courtesy of Cisco Press, Nov 16, 2001. See: http://www.ciscopress.com/articles/article.asp?p=24090&seqnum=4 11

Discussion of Classic Routing Protocols Proactive Routing Protocols Reactive Routing Protocols Both link-state and distance vector are proactive, that is, routes are established and updated even if they are never needed. If there is almost no mobility, proactive algorithms are superior because they never have to exchange information and find optimal routes easily. Flooding is reactive, but does not scale If mobility is high and data transmission rare, reactive algorithms are superior; in the extreme case of almost no data and very much mobility the simple flooding protocol might be a good choice. There is no optimal routing protocol; the choice of the routing protocol depends on the circumstances. Of particular importance is the mobility/data ratio. 12

Routing in Ad-Hoc Networks Reliability Nodes in an ad-hoc network are not 100% reliable Algorithms need to find alternate routes when nodes are failing Mobile Ad-Hoc Network (MANET) It is often assumed that the nodes are mobile ( Car2Car ) Q: How good are these routing algorithms?!? Any hard results? A: Almost none! Method-of-choice is simulation 13

Geometric (geographic, directional, position-based) routing even with all the tricks there will be flooding every now and then. In this part we will assume that the nodes are location aware (they have GPS, or an ad-hoc way to figure out their coordinates), and that we know where the destination is. Then we simply route towards the destination t s 14

Geometric routing Problem: What if there is no path in the right direction? We need a guaranteed way to reach a destination even in the case when there is no directional path As in flooding nodes keep track of the messages they have already seen, and then they backtrack* from there *backtracking? Does this mean that we need a stack?!? s t? 15

Geo-Routing: Strictly Local??? B A 2/16

Greedy Geo-Routing? B A 2/17

Greedy Geo-Routing? A? C 2/18

What is Geographic Routing? Each node knows its own position and position of neighbors Source knows the position of the destination No routing tables stored in nodes! 19

Greedy routing Greedy routing looks promising. Maybe there is a way to choose the next neighbor and a particular graph where we always reach the destination? 2/20

Greedy routing 0. Start at s. 1. Proceed to the neighbor closest to t. 2. Repeat step 1 until either reaching t or a local minimum with respect to the distance from t, that is a node v without any neighbor closer to t than v itself. 2/21

Examples why greedy algorithms fail We greedily route to the neighbor which is closest to the destination: But both neighbors of x are not closer to destination D Also the best angle approach might fail, even in a triangulation: if, in the example on the right, you always follow the edge with the narrowest angle to destination t, you will forward on a loop v 0, w 0, v 1, w 1,, v 3, w 3, v 0, 2/22

Euclidean and Planar Graphs Euclidean: Points in the plane, with coordinates, e.g. UDG UDG: Classic computational geometry model, special case of disk graphs. All nodes are points in the plane, two nodes are connected iff (if and only if) their distance is at most 1, that is {u,v} E, u,v 1 + Very simple, allows for strong analysis Particularly bad in obstructed environments (walls, hills, etc.) 2/23

Euclidean and Planar Graphs Planar: can be drawn without edge crossings in a plane A planar graph already drawn in the plane without edge intersections is called a plane graph. Now we will see how to make a Euclidean graph planar. 2/24

Euclidean and Planar Graphs In order to achieve planarity on the unit disk graph G, the Gabriel graph is employed. A Gabriel graph contains an edge between two nodes u and v iff the disk (including boundary) having uv as a diameter does not contain a witness node w. 2/25

Delaunay Triangulation Let disk(u,v,w) be a disk defined by the three points u,v,w. The Delaunay Triangulation (Graph) DT(V) is defined as an undirected graph (with E being a set of undirected edges). There is a triangle of edges between three nodes u,v,w iff the disk(u,v,w) contains no other points. u v disk(u,v,w) w The Delaunay Triangulation is the dual of the Voronoi diagram, and widely used in various CS areas the DT is planar the DT is a geometric spanner 2/26

Delaunay Triangulation 2/27

Properties of Proximity Graphs Theorem 1: MST RNG GG DT Corollary: Since the MST is connected and the DT is planar, all the graphs in Theorem 1 are connected and planar. 3/28

Breakthrough idea: route on faces Remember the faces Idea: Route along the boundaries of the faces that lie on the source destination line Kranakis, E., Singh, H., Urrutia, J.: Compass routing on geometric networks, in proc. of the 11 th CCCG, Vancouver, Canada, pp. 51 54 (1999) 2/29

Face Routing 0. Let f be the face incident to the source s, intersected by (s,t) 1. Explore the boundary of f; remember the point p where the boundary intersects with (s,t) which is nearest to t; after traversing the whole boundary, go back to p, switch the face, and repeat 1 until you hit destination t. 2/30

Face Routing Properties All necessary information is stored in the message Source and destination positions Point of transition to next face Completely local: Knowledge about direct neighbors positions sufficient Faces are implicit Right Hand Rule Planarity of graph is computed locally (not an assumption) Computation for instance with Gabriel Graph 31

Face Routing Works on Any Graph s t 32

Face routing is correct Theorem: Face routing terminates on any simple planar graph in O(n) steps, where n is the number of nodes in the network Proof: A simple planar graph has at most 3n 6 edges. You leave each face at the point that is closest to the destination, that is, you never visit a face twice, because you can order the faces that intersect the source-destination line on the exit point. Each edge is in at most 2 faces. Therefore each edge is visited at most 4 times. The algorithm terminates in O(n) steps. Euler's formula gives v e + f = 2. From v e + f = 2 and 2e >= 3f (one face has minimum 3 edges and each edge has maximum two faces) e 3v 6 if v 3. 33

Face Routing Theorem: Face Routing reaches destination in O(n) steps But: Can be very bad compared to the optimal route s t 34

Is there something better than Face Routing? How can we improve Face Routing? 2/35

Is there something better than Face Routing? How to improve face routing? A proposal called Face Routing 2 Idea: Don t search a whole face for the best exit point, but take the first (better) exit point you find. Then you don t have to traverse huge faces that point away from the destination. Efficiency: Seems to be practically more efficient than face routing. But the theoretical worst case is worse O(n 2 ). Problem: if source and destination are very close, we don t want to route through all nodes of the network. Instead we want a routing algorithm where the cost is a function of the cost of the best route in the unit disk graph (and independent of the number of nodes). 36

Bounding Searchable Area s t 37

Adaptive Face Routing (AFR) Idea: Use face routing together with growing radius trick: That is, don t route beyond some radius r by branching the planar graph within an ellipse of exponentially growing size. Kuhn, F., Wattenhofer, R., Zollinger, A.: Asymptotically optimal geometric mobile ad-hoc routing, 6th Int. Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, Atlanta,USA (2002) 2/38

AFR Example Continued We grow the ellipse and find a path 2/39

AFR Pseudo-Code 0. Calculate G = GG(V) Å UDG(V) Set c to be twice the Euclidean source destination distance. 1. Nodes w 2 W are nodes where the path s-w-t is larger than c. Do face routing on the graph G, but without visiting nodes in W. (This is like reducing the graph G with an ellipse.) You either reach the destination, or you are stuck at a face (that is, you do not find a better exit point.) 2. If step 1 did not succeed, double c and go back to step 1. Note: All the steps can be done completely locally, and the nodes need no local storage. 40

GOAFR Greedy Other Adaptive Face Routing Back to geometric routing AFR Algorithm is not very efficient (especially in dense graphs) Combine Greedy and (Other Adaptive) Face Routing Route greedily as long as possible Circumvent dead ends by use of face routing Then route greedily again Other AFR: In each face proceed to point closest to destination s n 1 01 1100 01 1100 F00 11 00 11 01 00 11 00 11 00 11 01 01 01 n 2 t 2/41

GOAFR+ Greedy Other Adaptive Face Routing Early fallback to greedy routing: Use counters p and q. Let u be the node where the exploration of the current face F started p counts the nodes closer to t than u q counts the nodes not closer to t than u Fall back to greedy routing as soon as p > σ q (constant σ > 0) Theorem: GOAFR is still asymptotically worst-case optimal and it is efficient in practice, in the average-case. What does practice mean? Usually nodes placed uniformly at random s v 01 00 11 01 00 11 00 11 00 11 F 01 00 11 00 00 11 00 11 00 11 11 u 01 01 01 w t C 42

Average Case Not interesting when graph not dense enough Not interesting when graph is too dense Critical density range ( percolation ) Shortest path is significantly longer than Euclidean distance too sparse critical density too dense 43

Critical Density: Shortest Path vs. Euclidean Distance Shortest path is significantly longer than Euclidean distance Critical density range mandatory for the simulation of any routing algorithm (not only geographic) 44

Randomly Generated Graphs: Critical Density Range 1.9 1 Path Span Shortest 1.8 1.7 1.6 1.5 1.4 1.3 1.2 Connectivity Greedy success Shortest Path Span 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 Freq quency 1.1 critical 1 0 5 10 15 0.1 0 Network Density [nodes per unit disk] 2/45

Simulation on Randomly Generated Graphs worse Perfo ormance better 10 9 AFR 8 Connectivity 7 6 Greedy success 5 4 GOAFR+ 3 2 1 critical 0 2 4 6 8 10 12 Network Density [nodes per unit disk] 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Freq quency 2/46

A Word on Performance What does a performance of 3.3 in the critical density range mean? If an optimal path (found by Dijkstra) has cost c, then GOAFR+ finds the destination in 3.3 c steps. It does not mean that the path found is 3.3 times as long as the optimal path! The path found can be much smaller Remarks about cost metrics In this lecture cost c = c hops There are other results, for instance on distance/energy/hybrid metrics In particular: With energy metric there is no competitive geometric routing algorithm 47

GOAFR: Summary Face Routing Greedy Routing Adaptive Face Routing s t s v 01 1100 1 01 00 110 1F 00 11 01 00 11 00 11 u 01 01 01 w t C GOAFR + Average-case efficiency Worst-case optimality Practice Theory 48

Routing with and without position information Without position information: Flooding Distance Vector Routing With position information: Greedy Routing may fail: message may get stuck in a dead end Geometric Routing It is assumed that each node knows its position 49

Summary If position information is available geo-routing is a feasible option. Face routing guarantees to deliver the message. Combining greedy and face gives efficient algorithm. Even if there is no position information, some ideas might be helpful. Geo-routing is probably the only class of routing that is well understood. There are many adjacent areas: topology control, location services, routing in general, etc. 50

Open problem Geo-routing is one of the best understood topics. In that sense it is hard to come up with a decent open problem. Open problem: How much information does one need to store in the network to guarantee only constant overhead? Variant: Instead of UDG some more realistic model How can one maintain this information if the network is dynamic? 51