Does BGP Solve the Shortest
Paths Problem?
Timothy G. Griffin
Joint work with
Bruce Shepherd and Gordon Wilfong
Bell Laboratories, Lucent Technologies
{griffin, bshep, gtw}@research.bell-labs.com
NANOG 18
February, 2000
What Problem is BGP solving?
Underlying problem Distributed means of
computing a solution.
Shortest Paths RIP, OSPF, IS-IS
X? BGP
Having an X can
• aid in the design of policy analysis algorithms and heuristics,
• aid in the analysis and design of BGP and extensions,
• help explain some BGP routing anomalies,
This
• provide a fun way of thinking about the protocol
talk
2/7/2000 Griffin NANOG 18 2
Q : How simple can X get?
A: The Stable Paths Problem (SPP)
210 5210
2
20
5
An instance of the SPP :
• A graph of nodes and edges,
2
420
• Node 0, called the origin, 4 430
• For each non-zero node, a
set or permitted paths to the
0
origin. This set always 1 3
contains the “null path”. 30
130
• A ranking of permitted paths 10
at each node. Null path is most preferred
1
always least preferred. (Not …
shown in diagram) least preferred (not null)
When modeling BGP : nodes represent
BGP speaking border routers, and 0 represents Yes, the translation
a node originating some address block gets messy!
2/7/2000 Griffin NANOG 18 3
A Solution to a Stable Paths Problem
2
210 5 5210
A solution is an assignment of
20
permitted paths to each node
such that 2
420
• node u’s assigned path is either 4 430
the null path or is a path uwP, 0
where wP is assigned to node w
1 3
and {u,w} is an edge in the graph, 30
130
• each node is assigned the 10
1
highest ranked path among those
consistent with the paths A Solution need not represent
assigned to its neighbors. a shortest path tree, or
a spanning tree.
2/7/2000 Griffin NANOG 18 4
A Stable Paths Problem may have multiple solutions
120 120 120
10 10 10
1 1 1
0 0 0
2 2 2
210 210 210
20 20 20
First solution Second solution
DISAGREE
2/7/2000 Griffin NANOG 18 5
Multiple sets of BGP routing policies can map down
to the same Stable Paths Problem :
DISAGREE in RPSL (Version I)
120
10
import : from AS1 action pref = 0; accept ANY;
1 from AS0 action pref = 10; accept ANY;
export : to AS2 announce ANY;
0 export : to AS1, AS2 announce AS0;
import : from AS2 action pref = 0; accept ANY;
2 from AS0 action pref = 10; accept ANY;
export : to AS1 announce ANY;
210
20
2/7/2000 Griffin NANOG 18 6
DISAGREE in RPSL (Version II)
import : from AS-ANY action pref = 0;
120 accept community.contains(1:1);
from AS-ANY action pref = 10; accept ANY;
10 export : to AS2 announce ANY;
1
export : to AS1
set community.append(2:1);
announce AS0;
0 to AS2
set community.append(1:1);
announce AS0
2
import : from AS-ANY action pref = 0;
210 accept community.contains(2:1);
20 from AS-ANY action pref = 10; accept ANY;
export : to AS1 announce ANY;
Assume AS1 and AS2 use “neighbor send-community” command ….
2/7/2000 Griffin NANOG 18 7
DISAGREE in RPSL (Version III)
import : from AS-ANY accept ANY;
120 export : to AS2 announce ANY;
10
1
export : to AS1
action aspath.prepend(AS0, AS0, AS0);
announce AS0;
0 to AS2
announce AS0
2
210 import : from AS1 action pref = 0; accept ANY;
from AS0 action pref = 10; accept ANY;
20 export : to AS1 announce ANY;
The interaction of all BGP policies is directly represented in SPP
2/7/2000 Griffin NANOG 18 8
Multiple solutions can result in
“Route Triggering”
10 10
1230 1 1 1 1230
primary
link
230 230
210 2 0 2 0 2 0 310
backup
link
3210 3 3 3210
30 3 30
Remove primary link Restore primary link
2/7/2000 Griffin NANOG 18 9
SPP helps explain possibility of BGP divergence
• BGP is not guaranteed to converge to a stable routing. Policy
inconsistencies can lead to “livelock” protocol oscillations.
• See “Persistent Route Oscillations in Inter-domain Routing” by
K. Varadhan, R. Govindan, and D. Estrin. ISI report, 1996
The SPP view :
Solvable Can Diverge
must converge
must diverge
2/7/2000 Griffin NANOG 18 10
BAD GADGET : No Solution
With a BGP-like
protocol, each node 210
will do the best it 2
can, so at least one
20
node will always have 420
the opportunity to
improve its path. 4 430
Result :
persistent oscillation.
0
1 3
130 3420
10 30
2/7/2000 Griffin NANOG 18 11
SURPRISE : Beware of Backup Policies
Becomes BAD GADGET if link
210
2 (4, 0) goes down.
20
40
BGP is not robust :
4 420
it is not guaranteed
to recover from 430
network failures.
0
1 3
130 3420
10 30
2/7/2000 Griffin NANOG 18 12
PRECARIOUS
Has a solution, but can get “trapped”
4310 120
4 453120 10
43120 1
310
3120 3
0
5 6
2 210
5310 6310
20
563120 643120
53120 63120
This part has a solution only As with DISAGREE, this part
when node 1 is assigned the has two distinct solutions
direct path (1 0).
2/7/2000 Griffin NANOG 18 13
SPP simplifies analysis of proposed extensions
Proposal : Allow AS-path length to include member ASes
within a confederation.
AS path of routes 20 aqr0 Corresponding
in BGP table seen from (b) 0 ab0 SPP paths :
member-AS 30 a azy0 no solution
All paths appear to be of
equal length. Ties are 1
broken using IGP metric,
or Next-Hop. b
zab0
qzy0 zy0
qr0 0 zqr0
qab0 10
30 r y 3 (y) 0
20
(r) 0
10 q 2 z
2/7/2000 Griffin NANOG 18 14
PREFER_ME Global Community?
Imagine a world with no
LOCAL_PREFERENCE but
with PREFER_ME …
251470
shortest paths, 2
2 20 A single AS can use
no transit across 3 PREFER_ME to create
a “BAD GADGET” even
when others are doing
Import only from 1, vanilla routing.
no transit across 3, 5
send PREFER_ME Does PREFER_ME make
it easier to do bad things?
to 2 0
0 Guidelines for safe use
7 6 of PREFER_ME?
4
1360 1
1 3
3 320
1470 360
shortest paths shortest paths,
no transit across 1
Ties at 1 and 3 are broken by next-hop address...
2/7/2000 Griffin NANOG 18 15
What is to be done?
Static Dynamic
Approach Approach
Extend BGP with
a dynamic means of
detecting and suppressing
policy-based oscillations?
Inter-AS
Automated Analysis
of Routing Policies coordination
(This is very hard).
These approaches are complementary
2/7/2000 Griffin NANOG 18 16
Work in Progress...
“An Analysis of BGP Convergence Properties”
Timothy G. Griffin, Gordon Wilfong SIGCOMM’99
Model BGP, show static analysis is hard
“Policy Disputes in Path Vector Protocols”
Timothy G. Griffin, F. Bruce Shepherd, Gordon Wilfong ICNP ‘99
Define Stable Paths Problem and develop
sufficient condition for “sanity”
“A Safe Path Vector Protocol” INFOCOM’00
Timothy G. Griffin, Gordon Wilfong
Dynamic solution based on histories
“Stable Internet Routing without Global Coordination” SIGMETRICS’00
Lixin Gao, Jennifer Rexford
Show that if certain guidelines are followed, then all is well.
2/7/2000 Griffin NANOG 18 17