LSRP: Local Stabilization in Shortest Path Routing Hongwei Zhang and Anish Arora Presented by Aviv Zohar.

Slides:



Advertisements
Similar presentations
Karlston D'Emanuele Distance Vector Routing Protocols Notes courtesy of Mr. Joe Cordina Password Removed
Advertisements

Routing Complexity of Faulty Networks Omer Angel Itai Benjamini Eran Ofek Udi Wieder The Weizmann Institute of Science.
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Single Source Shortest Paths
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Routing in a Parallel Computer. A network of processors is represented by graph G=(V,E), where |V| = N. Each processor has unique ID between 1 and N.
Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Self Stabilization 1.
Courtesy: Nick McKeown, Stanford
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
1 Complexity of Network Synchronization Raeda Naamnieh.
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Routing - I Important concepts: link state based routing, distance vector based routing.
Parallel Routing Bruce, Chiu-Wing Sham. Overview Background Routing in parallel computers Routing in hypercube network –Bit-fixing routing algorithm –Randomized.
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
LSRP: Local Stabilization in Shortest Path Routing Anish Arora Hongwei Zhang.
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Dept. of Computer Science Distributed Computing Group Asymptotically Optimal Mobile Ad-Hoc Routing Fabian Kuhn Roger Wattenhofer Aaron Zollinger.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
The Byzantine Generals Strike Again Danny Dolev. Introduction We’ll build on the LSP presentation. Prove a necessary and sufficient condition on the network.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 21 Introduction to Computer Networks.
Message Passing Systems A Formal Model. The System Topology – network (connected undirected graph) Processors (nodes) Communication channels (edges) Algorithm.
1 Shortest Path Algorithms. 2 Routing Algorithms Shortest path routing What is a shortest path? –Minimum number of hops? –Minimum distance? There is a.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
Ad Hoc Wireless Routing COS 461: Computer Networks
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Message Passing Systems A Formal Model. The System Topology – network (connected undirected graph) Processors (nodes) Communication channels (edges) Algorithm.
NETWORK LAYER (2) T.Najah AlSubaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
SAvPS – úvod Genči 2009 (bsaed on Tanenbaum’s slides.
Distributed Asynchronous Bellman-Ford Algorithm
Distance Vector Routing Protocols W.lilakiatsakun.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
M. Menelaou CCNA2 DYNAMIC ROUTING. M. Menelaou DYNAMIC ROUTING Dynamic routing protocols can help simplify the life of a network administrator Routing.
Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest path routing (example). –Dijkstra algorithm. –Bellman-Ford.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
10.- Graph Algorithms Centro de Investigación y Estudios Avanzados del Instituto Politécnico Nacional Introduction Routing Algorithms Computation of Shortest.
Network Layer4-1 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define d x (y) := cost of least-cost path from x to y Then d x (y)
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Routing protocols. Static Routing Routes to destinations are set up manually Route may be up or down but static routes will remain in the routing tables.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
Global Clock Synchronization in Sensor Networks Qun Li, Member, IEEE, and Daniela Rus, Member, IEEE IEEE Transactions on Computers 2006 Chien-Ku Lai.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
4: Network Layer4a-1 Distance Vector Routing Algorithm iterative: r continues until no nodes exchange info. r self-terminating: no “signal” to stop asynchronous:
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Superstabilizing Protocols for Dynamic Distributed Systems Authors: Shlomi Dolev, Ted Herman Presented by: Vikas Motwani CSE 291: Wireless Sensor Networks.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
Distance Vector Routing
Distance Vector and Link State Routing Pragyaditya Das.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Routing Semester 2, Chapter 11. Routing Routing Basics Distance Vector Routing Link-State Routing Comparisons of Routing Protocols.
Formal verification of distance vector routing protocols.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
Routing algorithms. D(v): the cost from the source node to destination that has currently the least cost. p(v): previous node along current least.
Network Layer.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Distance Vector Routing: overview
Hongwei Zhang Anish Arora
Road Map I. Introduction II. IP Protocols III. Transport Layer
A stability-oriented approach to improving BGP convergence
COS 561: Advanced Computer Networks
Communication Networks
Abstraction.
Corona Linearization Patrick O’Donnell.
COS 461: Computer Networks
Network Layer (contd.) Routing
Network Layer.
Presentation transcript:

LSRP: Local Stabilization in Shortest Path Routing Hongwei Zhang and Anish Arora Presented by Aviv Zohar

On the agenda A quick overview of routing algorithms The concept of local stabilization –Why conventional algorithms fail to stabilize locally –Quantifying the perturbation –Properties of F-Local stabilizing algorithms The LSRP algorithm for local stabilization in shortest path routing

The routing problem Given a network with a topology: With some cost function on the edges: Build and maintain optimal routing tables at each node –Which neighbor should packets be sent through? –The routing choices describe a “cheapest path” tree for each destination node. ? target

Types of Routing algorithms There are two main types of routing algorithms: Link State algorithms. –Each node keeps a global view of the network graph and computes optimal paths independently. –When a link is down, all nodes in the network must be notified. Distance Vector algorithms. –Nodes maintain only a local view of the topology. –Global information is usually propagated in the form of distance to the targets.

The Bellman-Ford Algorithm Every node ‘j’ in the graph maintains two variables for every target ‘r’: –Distance of the optimal path to the target –The neighbor we route through Regular nodes keep updating: While the root node simply sets: Actually - we’ve seem this algorithm last week (BFS)

The Bellman-Ford algorithm stabilizes slowly r

r perturbation 0

The Bellman-Ford algorithm stabilizes slowly r Bad data is propagated onwards 0

The Bellman-Ford algorithm stabilizes slowly r Correction is too slow 0

The Bellman-Ford algorithm stabilizes slowly r

r

r

r

The Count to infinity problem r

The Count to infinity problem r Link failure 0

The Count to infinity problem r

The Count to infinity problem r

The Count to infinity problem r

The Count to infinity problem r

The Count to infinity problem The count to infinity problem may pop up whenever there are loops (of any length) during the stabilization phase. r And after a very long while…. 0

Motivation In both cases the change that the system had to make was small. The perturbation should have been easy to recover from. We’d like to avoid loops during stabilization in order to be free of the count-to-infinity problem. We would also like to find a stabilization algorithm that contains faults in a small region around the area where they occur and minimizes contamination. In order to do that we have to understand which areas must change after a perturbation and which can remain untouched.

The dependent set of nodes We define the state of the system at a given instant as it’s topology + the internal states of all nodes We now define the nodes at state q that are dependent on vertices V’ and edges E’ as:

Dependent nodes – an Example r State q:

Dependent nodes – an Example r

r Note that the definition of dependent nodes is independent of any algorithm.

The perturbation size We are now ready to define the perturbation size: q’ is the possible state we may have had before the perturbation. (The Nodes that stayed up but got “scrambled”) (The nodes that are now up but need to change their routing because of topology changes)

Example: r

r

Example: r

Contamination Nodes that were not perturbed may take part in the stabilization and change their value. We define the range of contamination as the farthest node from the perturbed region that changed during stabilization. Healthy Contaminated Perturbed

F- local stabilization Definition: –A system is “F-Local Stabilizing” if starting from any system state q, The system stabilizes in F(P(q)) time. Good properties of F-stabilizing systems: –Because information can only travel a limited distance in limited time, faults are contained locally. –Stabilizing concurrently in different regions. –Stabilizing under recurring perturbations. LS Algorithms cannot stabilize locally.

The Intuition behind LSRP A variant of Bellman-Ford Use stabilization wave to correct errors Use faster containment wave to stop bad stabilization waves. Use fastest Super containment wave to stop bad containment waves. In order to do this we introduce delay into the system.

The communication and fault models Fully asynchronous model is too hard – containment wave must be faster than stabilization wave. Nodes are assumed to have internal clock with clock speed ratios bounded by a constant α. The Alg. is presented for a shared memory model. But can be implemented for message passing. Each node can read it’s neighbor’s variables but cannot write to them. (1WMR registers) A node can read all the variables of all neighbors in one atomic action. Nodes and links may become “up” and “down”, and all internal variables may be scrambled.

LSRP – Stabilization

LSRP – Containment Propagation

LSRP - Collapsing the Containment Wave

LSRP – Super Containment

The LSRP Algorithm In Action r perturbation 0

The LSRP Algorithm In Action r

r

r 11 ∞

r 11 ∞

r ∞

r

r

r

r We’ve Stabilized! 0

Another Example of LSRP r Link failure 0

Another Example of LSRP r

r

r

r

r

r

r

r

r

r We’ve Stabilized Again! 0

LSRP Algorithm handles loops In every loop there must be a node with a minimal distance. –This node is either a source of fault propagation and sets p.i:=i –Or it has a neighbor j that has a lower distance and sets p.i:=j Either way the loop is broken Immediately Once loops are broken, They are never re-formed, since every node will set p.i=j only if j has a strictly lower distance value

LSRP Algorithm Stabilizes – Proof Outline Fixed Point - When every node points to it’s minimal neighbor and it’s distance is set accordingly, and no nodes are ghosts then no action is enabled. No more actions will take place. The rest of the proof is inductive. Let D denote the diameter of the system. We shall see a series of state predicates L.0,L.1,…,L.D such that: –The system reaches a state in L.0 from every state –L.i is closed under the system execution. –If L.i holds, L.(i+1) will be reached in finite time. –L.D is a legitimate state for the system.

LSRP Algorithm Stabilizes Convergence to State L.0 is achieved in O(N) time So this does not prove F-local stabilization just yet.

Local-Stabilization of a single region There are two main cases: Case 1: The perturbed region only has greater or equal distance values compared to the surrounding healthy nodes. root Perturbed Region Healthy Containment Healthy Containment After stabilization of the perturbed region in O(p) time – Super containment will be initiated to stop the bad containment wave. Contamination is small. What the SC wave did not manage to catch is only O(p) sized regions

Local-Stabilization of a single region Case2: The perturbed region has at least one node that has a smaller distance value than the surrounding healthy nodes. Perturbed Region Healthy Contamination Containment A containment wave is initiated from within the perturbed region and stops contamination quickly. Once the containment wave has terminated contamination, it folds back and leaves all nodes with a distance value of ∞. We are thus back to case 1.

Concurrent Stabilization of Regions Separated regions where contaminated areas do not overlap have no interaction. They can thus stabilize in O(max(perturbed region size)) Healthy Contamination Perturbed Region Contamination Perturbed Region