STABLE PATH PROBLEM Presented by: Sangeetha A. J. Based on The Stable Path Problem and Interdomain Routing Timothy G. Griffin, Bruce Shepherd, Gordon Wilfong
Overview BGP basics Simple Path Vector Protocol Stable Path Problem Dispute Wheels 2
Border Gateway Protocol The only interdomain routing protocol used in the internet today. Not based on shortest path. Path vector protocol. 3
How is BGP different from shortest path algorithms? Policy based metrics Independent routing policies at each AS These policies could be conflicting BGP can be considered a distributed algorithm to solve the Stable Path Problem. 4
BGP route selection Order of preference 1. Highest local preference 2. Shortest AS path 3. Lowest IP address for next hop 5
Peering transformation Composition of three transformations 1. Export policies r 1 = export (u w, r) 2. Path vector transformation r 2 = PVT (u w, r 1 ) 3. Import policies r 3 = import (u w, r 2 ) 6
Peering transformation pt (u w, r) = import (u w, PVT(u w, export(u w, r))) Suppose u 0 is originating AS P = u k u k-1 …..u 1 u 0 Route record received is pt( u k u k-1, pt( u k-1 u k-2, ……..pt ( u 1 u 0 )))..)) Ranking function λ u k (P) 7
Simple Path Vector Protocol process spvp(u) { receive P from w { rib-in(u w) := P if rib(u) != best(u) { rib(u) := best(u) for each v in peers(u) { send rib(u) to v } 8
Stable path problem Mathematical formulation that captures the semantics of any path vector protocol. Does every node have a stable route to one destination node? Node 0 is assumed to be origin or destination of all routes. 9
SHORTEST
SHORTEST 1- Path assignment Node Time
SHORTEST
Stable path problem Undirected graph G = (V, E) V- set of nodes, E - set of edges Path is either empty path or a sequence of nodes (v k v k -1 …..v 1 v 0 ) P v - set of permitted paths from v to origin If P 1, P 2 P v and λ v (P 1 ) < λ v (P 2 ) then P 2 is preferred over P 1. 13
Stable path problem An instance of stable path problem, S = (G,P,Λ) Graph together with permitted paths and ranking function for each node. Some properties P 0 = {(0)} for all v V – {0} ◦ P v (null path is always present in the set) ◦ λ v () =0, λ v (P) > 0 for P ≠ (null path has lowest preference) ◦ P P v then P is a simple path (no repeated nodes). 14
Stable path problem A path assignment is a function π function that maps a node to a permitted path. π(u) P u All possible permitted paths at u, choices (π, u) = { (u v) π(v) | {u,v} E } ∩ P u (u ≠ 0) { (0)} otherwise 15
Stable path problem W is subset of P u such that each path in W has a distinct next hop. Best path in W, best(W, u) {P W with maximal λ u (P) W ≠ Φ otherwise } Path assignment π is stable at node u if π(u) = best (choices (π, u),u) 16
Stable path problem π is stable, if it is stable at each node u Path assignment vector (P 1, P 2,….., P n ) where π(u)=P u If π is stable and π(u)= (u w) P, then π(w)= P. Thus stable path implies tree rooted at the origin. The stable path problem, S = (G,P,Λ) is solvable if there is a stable path assignment for S. 17
SHORTEST
SHORTEST
Good Gadget
Good Gadget Node Time
Good Gadget
Bad Gadget
Bad Gadget Node Time
Naughty Gadget
Naughty Gadget Node Time
Multiple solutions possible
Observations about SPP A stable path problem is safe if SPVP always converges. SPP solvability does not imply safety. ◦ Naughty gadget has single solution but SPVP may diverge. Oscillations are possible. It always diverges if there is no solution. Multiple stable solutions are possible for a SPP. 28
Dispute Wheels A sequence of nodes, u i. A sequence of non-empty paths, Q i and R i. 29 u i+1 u1u1 u2u2 u i u k-1 u0u0 v QiQi R1R1 R i R k-1 Q0Q0 Q1Q1 Q2Q2 R0R0 Q i+1 Q k-1
Dispute Wheels A circular set of dependencies between routing policies that cannot be simultaneously satisfied. R i is a path from u i to u i+1 Q i P u i R i Q i+1 P u i λ u i (Q i ) < λ u i (R i Q i+1 ) Preferred path for every node goes around the wheel instead of following the spoke. 30
Dispute Wheel of Bad Gadget R0R0 R1R1 R2R2 Q0Q0 Q2Q2 Q1Q1 u0u0 u2u2 u1u1
Dispute Wheel of Naughty Gadget R0R0 R1R1 Q0Q0 Q1Q1 u0u0 u1u1
Properties of dispute wheel No dispute wheel implies Solvability Unique solution Safety Robustness 33
Dispute wheel Construct a sequence of subsets of V, V 0, V 1 … Corresponding path assignments π 0, π 1 …. Direct path P = (u 1 u 2 ) P 2 P 2 = π(u 2 ) Add nodes to the set, if its highest rank consistent with π i is direct path. If you are unable to find nodes whose paths are consistent with existing path assignments, you get a dispute wheel. 34
Good Gadget
Good Gadget Node Time (0) (0) (0)
Bad Gadget
Bad Gadget Node Time (0)
Solvability 39 Q0Q0 R0R0 v1v1 u0u0 u1u1 R1R1 u2u2
Unique solution 40 u0u0 R0R0 u1u1 R1R1 u2u2 u3u3 R2R2 R3R3
Robustness If stable path problem, S, has no dispute wheel then S is robust. S is fragile if S is solvable but there exist some E’ (subset of E) such that S/E’ is not solvable. 41
Bad Backup- Fragile
Conclusion A network with unique solution can have a dispute wheel, if transient oscillations are present. This is a rigid condition. Even in networks with multiple stable states, we get dispute wheels. 43
Complementary approaches Operational guidelines Static analysis of routing policies Dynamic detection 44
45