450 likes | 676 Views
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 Path Vector Protocol Stable Path Problem Dispute Wheels. Border Gateway Protocol.
E N D
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 Path Vector Protocol • Stable Path Problem • Dispute Wheels
Border Gateway Protocol • The only interdomain routing protocol used in the internet today. • Not based on shortest path. • Path vector protocol.
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.
BGP route selection Order of preference • Highest local preference • Shortest AS path • Lowest IP address for next hop
Peering transformation Composition of three transformations 1. Export policies r1 = export (u w, r) 2. Path vector transformation r2 = PVT (u w, r1) 3. Import policies r3 = import (u w, r2)
Peering transformation pt (u w, r) = import (u w, PVT(u w, export(u w, r))) Suppose u0is originating AS P = ukuk-1 …..u1 u0 Route record received is pt( uk uk-1, pt( uk-1 uk-2, ……..pt ( u1 u0 )))..)) Ranking function λuk(P)
Simple Path Vector Protocol process spvp(u) { receive P from w { rib-in(uw) := P if rib(u) != best(u) { rib(u) := best(u) for each v in peers(u) { send rib(u) to v } } } }
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.
SHORTEST - 1 1 2 20 210 10 130 0 4 430 420 3 30
SHORTEST 1 1 2 20 210 10 130 0 4 430 420 3 30
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 (vkvk -1…..v1 v0) Pv - set of permitted paths from vto origin If P1 , P2ϵPvandλv(P1) < λv(P2) then P2is preferred over P1.
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 • P0 = {(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 ϵPvthen P is a simple path (no repeated nodes).
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
Stable path problem • Wis 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) ,u)
Stable path problem • πis stable, if it is stable at each node u • Path assignment vector (P1 , P2 ,….., Pn ) where π(u)=Pu • 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.
SHORTEST 2 1 2 20 210 10 130 0 4 420 430 3 30
SHORTEST 2 1 2 20 210 10 130 0 4 420 430 3 30
Good Gadget 1 2 210 20 130 10 0 4 430 420 3 30
Good Gadget 1 2 210 20 130 10 0 4 430 420 3 30
Bad Gadget 1 2 210 20 130 10 0 4 420 430 3 3420 30
Naughty Gadget 1 2 210 20 130 10 0 4 430 420 3 3420 30
Multiple solutions possible 1 2 120 10 210 20 0 1 2 1 2 0 0
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.
Dispute Wheels • A sequence of nodes , ui. • A sequence of non-empty paths, Qiand Ri. u0 R k-1 R0 u k-1 u1 Q0 Qk-1 Q1 R1 Q2 u2 Qi+1 v Qi u i+1 R i u i
Dispute Wheels • A circular set of dependencies between routing policies that cannot be simultaneously satisfied. • Riis a path from uito ui+1 • QiϵPui • RiQi+1 ϵPui • λui(Qi) < λui(RiQi+1 ) • Preferred path for every node goes around the wheel instead of following the spoke.
Dispute Wheel of Bad Gadget u2 u0 R2 1 2 210 20 130 10 Q0 Q2 0 R0 4 Q1 420 430 3 R1 3420 30 u1
Dispute Wheel of Naughty Gadget R0 Q0 3 0 2 4 u1 u0 Q1 430 420 3420 30 R1
Properties of dispute wheel No dispute wheel implies • Solvability • Unique solution • Safety • Robustness
Dispute wheel • Construct a sequence of subsets of V, V0 , V1… • Corresponding path assignments π0, π1…. • Direct path P = (u1 u2) P2P2= π(u2) • Add nodes to the set, if its highest rank consistent with πiis direct path. • If you are unable to find nodes whose paths are consistent with existing path assignments, you get a dispute wheel.
Good Gadget 1 2 210 20 130 10 0 4 430 420 3 30
Bad Gadget 1 2 210 20 130 10 0 4 420 430 3 3420 30
Solvability R0 u1 u0 Q0 v1 R1 u2
Unique solution R0 u1 u0 R3 R1 u3 u2 R2
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.
Bad Backup- Fragile 1 2 210 20 130 10 0 4 40 420 430 3 3420 30
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.
Complementary approaches • Operational guidelines • Static analysis of routing policies • Dynamic detection