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
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
r1 = export (u
w, r)
2. Path vector transformation
r2 = PVT (u
w, r1)
3. Import policies
r3 = import (u w, r2)
6
Peering transformation
pt (u w, r) =
import (u w, PVT(u
w, export(u w, r)))
Suppose u0 is originating AS
P = uk uk-1 …..u1 u0
Route record received is
pt( uk
uk-1, pt( uk-1
Ranking function λ
uk
uk-2, ……..pt ( u1
u0 )))..))
(P)
7
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
}
}
}
}
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
1
2
0
4
3
10
SHORTEST 1- Path assignment
Node
Time
1
2
1
2
3
4
10
20
30
-
10
20
30
430
11
SHORTEST 1
1
2
0
4
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…..v1 v0 )
Pv - set of permitted paths from v to origin
If P1 , P2 ϵ Pv and λ v (P1) < λ v (P2)
then P2 is preferred over P1.
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
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 ϵ 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) ,u)
16
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.
17
SHORTEST 2
1
2
0
4
3
18
SHORTEST 2
1
2
0
4
3
19
Good Gadget
1
2
0
4
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
1
2
0
4
3
22
Bad Gadget
1
2
0
4
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
1
2
0
4
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
1
2
0
1
2
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 k-1
u0
R0
u1
Q0
Qk-1
Q1
R1
Q2
Qi+1
u2
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 ϵ Pui
Ri Qi+1 ϵ Pui
λ ui (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
u2
u0
R2
1
2
Q0
Q2
0
R0
Q1
3
4
R1
u1
31
Dispute Wheel of Naughty Gadget
R0
u0
3
Q0
0
2
4
u1
Q1
R1
32
Properties of dispute wheel
No dispute wheel implies
Solvability
Unique solution
Safety
Robustness
33
Dispute wheel
Construct a sequence of subsets of V, V0 , V1…
Corresponding path assignments π0, π1….
Direct path P = (u1 u2) P2 P2= π(u2)
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
1
2
0
4
3
35
Good Gadget
0
1
2
3
4
Node
Time
1
(0)
-
-
-
-
2
(0)
-
-
30
-
3
(0)
130
-
30
430
4
(0)
130
210
30
430
36
Bad Gadget
1
2
0
4
3
37
Bad Gadget
Node
Time
1
0
1
2
3
4
(0)
-
-
-
-
38
Solvability
R0
u1
u0
Q0
v1
R1
u2
39
Unique solution
R0
u1
u0
R3
R1
u3
R2
u2
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
1
2
0
4
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 guidelines
Static analysis of routing policies
Dynamic detection
44
45