STABLE PATH PROBLEM Based on The Stable Path
STABLE PATH PROBLEM Based on The Stable Path Problem and Interdomain Routing Timothy G. Griffin, Bruce Shepherd, Gordon Wilfong Presented by: Sangeetha A. J.
Overview � BGP basics � Simple � Stable Path Vector Protocol 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 �These routing policies at each AS 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 = uk uk-1 …. . u 1 u 0 Route record received is pt( uk uk-1, pt( uk-1 Ranking function λ uk uk-2, ……. . pt ( u 1 u 0 ))). . )) (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 - 1 10 130 1 20 210 2 0 4 30 420 3 10
SHORTEST 1 - Path assignment Node Time 1 2 3 4 1 10 20 30 - 2 10 20 30 430 11
SHORTEST 1 10 130 1 20 210 2 0 4 30 420 3 12
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 (vk vk -1…. . v 1 v 0 ) Pv - set of permitted paths from v to origin If P 1 , P 2 ϵ Pv 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} ◦ ϵ ϵ Pv (null path is always present in the set) ◦ λ v (ϵ) =0 , λ v (P) > 0 for P ≠ ϵ (null path has lowest preference) ◦ P ϵ Pv 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) ϵ Pu � All possible permitted paths at u , choices (π, u) = { (u v) π(v) | {u, v} ϵ E } ∩ Pu (u ≠ 0) { (0)} otherwise 15
Stable path problem �W is subset of Pu 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) 16
Stable path problem �π is stable, if it is stable at each node u � Path � If assignment vector (P 1 , P 2 , …. . , Pn ) where π(u)=Pu π 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 2 10 130 1 20 210 2 0 4 30 420 430 3 18
SHORTEST 2 10 130 1 20 210 2 0 4 30 420 430 3 19
Good Gadget 130 10 1 210 20 2 0 4 30 420 3 20
Good Gadget Node Time 1 2 3 4 1 10 20 30 - 2 130 210 30 430 3 130 20 30 430 21
Good Gadget 130 10 1 210 20 2 0 4 30 420 3 22
Bad Gadget 130 10 1 210 20 2 0 4 3420 30 420 430 3 23
Bad Gadget Node Time 1 2 3 4 1 10 20 30 - 2 130 210 30 420 3 130 20 3420 430 4 10 20 30 420 5 130 210 30 420 24
Naughty Gadget 130 10 1 210 20 2 0 4 3420 30 420 3 25
Naughty Gadget Node Time 1 2 3 4 1 10 20 30 - 2 130 210 30 420 3 130 20 3420 430 4 10 20 30 420 5 130 210 3420 430 6 10 20 30 26
Multiple solutions possible 120 10 1 2 210 20 0 1 2 0 27
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 , ui. � A sequence of non-empty paths, Qi and Ri. R k-1 u 0 R 0 u 1 Q 0 Qk-1 Q 1 R 1 Q 2 Qi+1 u 2 v Qi u i+1 Ri ui 29
Dispute Wheels �A circular set of dependencies between routing policies that cannot be simultaneously satisfied. � Ri is a path from ui to ui+1 � Qi ϵ P ui � Ri Qi+1 � λ ui ϵ Pui (Qi) < λ ui (Ri Qi+1 ) � Preferred path for every node goes around the wheel instead of following the spoke. 30
Dispute Wheel of Bad Gadget u 2 u 0 130 10 R 2 1 210 20 2 Q 0 Q 2 0 R 0 Q 1 3420 30 3 4 420 430 R 1 u 1 31
Dispute Wheel of Naughty Gadget R 0 3 u 0 Q 0 0 2 4 u 1 Q 1 430 420 30 R 1 32
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 � Direct path assignments π0, π1…. path P = (u 1 u 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 130 10 1 210 20 2 0 4 30 420 3 35
Good Gadget No 0 1 2 3 4 1 (0) - - 2 (0) - - 30 - 3 (0) 130 - 30 4 (0) 130 210 30 430 de Time 36
Bad Gadget 130 10 1 210 20 2 0 4 3420 30 420 430 3 37
Bad Gadget Nod 0 1 2 3 4 (0) - - e Time 1 38
Solvability R 0 u 1 u 0 Q 0 v 1 R 1 u 2 39
Unique solution R 0 u 1 u 0 R 3 R 1 u 3 R 2 u 2 40
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 130 10 1 210 20 2 0 4 3420 30 40 420 430 3 42
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 � Static guidelines analysis of routing policies � Dynamic detection 44
45
- Slides: 45