border gateway protocol (bgp) - center for discrete mathematics
TRANSCRIPT
![Page 1: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/1.jpg)
Border Gateway Protocol (BGP)
Gordon Wilfong
Algorithms Research Department
Mathematical and Algorithmic Sciences Research Center
Bell Laboratories
August 2007
![Page 2: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/2.jpg)
2Dimacs 2007
Internet Architecture
Partitioned into Autonomous Systems (ASes)
Collection of routers under independent administrative control
Service provider, university, corporate campus…
Hierarchy of Autonomous Systems
Large, tier-1 provider with a national backbone
Medium-sized regional provider with smaller backbone
Small network run by a single company or university
AS1
AS0
AS2
![Page 3: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/3.jpg)
3Dimacs 2007
Internet Routing
AS has its own economic incentives to:–cooperate so as to achieve connectivity –to minimize other’s traffic across its network
Routing between ASes achieved by the Border Gateway Protocol (BGP):
AS implicitly ranks paths to the destinationAS selects highest ranked route it knows about from neighborsAS selectively announces to neighbors its chosen route
![Page 4: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/4.jpg)
4Dimacs 2007
Border Gateway Protocol (BGP)
“I routedirectly to d”
AS1 AS2
“The route I use to dgoes through AS0”
AS0
d
“The route I useto d goes throughAS1 then AS0”
AS3
Data packets
![Page 5: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/5.jpg)
5Dimacs 2007
BGP Attributes
Code Reference-------------------------------------------ORIGIN [RFC1771]AS_PATH [RFC1771]NEXT_HOP [RFC1771]MULTI_EXIT_DISC [RFC1771]LOCAL_PREF [RFC1771]ATOMIC_AGGREGATE [RFC1771]AGGREGATOR [RFC1771]COMMUNITY [RFC1997]ORIGINATOR_ID [RFC2796]CLUSTER_LIST [RFC2796]DPA [Chen]ADVERTISER [RFC1863]RCID_PATH / CLUSTER_ID [RFC1863]MP_REACH_NLRI [RFC2283] MP_UNREACH_NLRI [RFC2283] EXTENDED COMMUNITIES [Rosen]
...
From IANA: http://www.iana.org/assignments/bgp-parameters
Not all attributesneed to be present inevery announcement
![Page 6: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/6.jpg)
6Dimacs 2007
Best RouteSelection
Apply ImportPolicies
Best Route Table
Apply ExportPolicies
Install forwardingEntries for bestRoutes.
ReceiveBGPUpdates
BestRoutes
TransmitBGP Updates
Apply Policy =filter routes & tweak attributes
Based onAttributeValues
IP Forwarding Table
Apply Policy =filter routes & tweak attributes
Open ended programming.Constrained only by vendor configuration language
BGP Route Processing
![Page 7: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/7.jpg)
7Dimacs 2007
Interdomain Routing
Must scale
Destination address blocks: 150,000 and growing
Autonomous Systems: 20,000 and growing
AS paths and routers: at least in the millions…
Must support flexible policy
Route selection: selecting which route to a particular destination the AS will use is based on local policy
Route export: selecting routes to advertise allows control over who can send packets through the AS
Results in convergence problems
BGP can take several (tens of) minutes to converge
There are cases where BGP actually fails to converge at all!
![Page 8: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/8.jpg)
8Dimacs 2007
External BGP (E-BGP) is the mode of BGP that propagates routes between autonomous systems.
OSPF, RIP, ISIS distributed algorithms for solving shortest paths.
BGP distributed algorithm for solving the Stable Paths Problem (SPP)
E-BGP
![Page 9: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/9.jpg)
9Dimacs 2007
SPP
1
0
2
1 2 01 0
2 3 1 02 0
33 1 2 03 1 0
• graph G=(V,E)• for each vertex, ordered list of paths to destination
Solution: each vertexchooses a path(consistent with the paths chosen byvertices on the path) and no vertexcan choose amore preferred path
![Page 10: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/10.jpg)
10Dimacs 2007
1 2 01 0
Conflicting Policies Cause Convergence Problems
0
1
23 2 3 02 0
3 1 03 0
Pick the highest-ranked path consistent with your neighbors’ choices.
Bad Gadget
![Page 11: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/11.jpg)
11Dimacs 2007
May Be Multiple Solutions
First solution
1
0
2
1 2 01 0
1
0
2
1
0
2
2 1 02 0
1 2 01 0
2 1 02 0
1 2 01 0
2 1 02 0
Second solutionDISAGREE
![Page 12: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/12.jpg)
12Dimacs 2007
Complexity of determining existence of a solution
Variables V = {X1, X2, …, Xn}
Clauses C1 = X17 or ~X23 or ~X3,C2 = ~X2 or X3 or ~X12….Cm = X6 or ~X7 or X18
Question Is there an variable assignmentA : V {true, false} such that each clause C1, … ,Cm is true?
3-SAT is NP-complete
![Page 13: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/13.jpg)
13Dimacs 2007
Modeling Assignment to Variable X
X
0
X
X = trueX = false
X
0X
X
0X
X X 0
X 0
X X 0
X 0
![Page 14: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/14.jpg)
14Dimacs 2007
Convergence Is NP-complete
BAD GADGET0
X5 X5X7 X7 X3 X3
CX7 or X5 or X3
C X7 0C X5 0C X3 0
![Page 15: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/15.jpg)
15Dimacs 2007
u_0u_1
u_2
u_iu_(i+1)
u_k
Q_0Q_1
Q_2
Q_k
Q_(I+1)
Q_i
R_0
R_1
R_i
R_kAt u_i, rankof Q_i is lessthan or equalto rank of R_iQ_(i+1)
Dispute Wheel
![Page 16: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/16.jpg)
16Dimacs 2007
Open Problem
What is the complexity of deciding if an instance of SPP is guaranteed to converge?
![Page 17: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/17.jpg)
17Dimacs 2007
What Can Be Done?
Use only configurations that guarantee no problems [GR00]No modifications to BGP required
Prevent problems for any configurationModification to BGP required [GW00]
Possible approaches:
Valley-free[EHPV]
![Page 18: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/18.jpg)
18Dimacs 2007
Internal BGP (I-BGP) is the protocol used to propagate external routes within an autonomous system.
I-BGP
![Page 19: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/19.jpg)
19Dimacs 2007
Fully Meshed
RR
RR
RR
RR
RR
RR
A router only announcesits own routes
![Page 20: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/20.jpg)
20Dimacs 2007
Shortest Paths to Border
17
1 2
3
1
![Page 21: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/21.jpg)
21Dimacs 2007
Route Reflectors
RR
RR
RR
RR
RR
RR
Route Reflectors must be fullymeshed
Route Reflectors pass along updatesto client routers
![Page 22: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/22.jpg)
22Dimacs 2007
Route Selection Summary
Highest Local Preference
Shortest ASPATH
(Lowest MED (if same next AS))
i-BGP < e-BGP
Lowest IGP cost to BGP egress
Lowest router ID
Traffic engineering
Enforce relationships
Throw up hands andbreak ties
![Page 23: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/23.jpg)
23Dimacs 2007
Oscillations in I-BGP
135.104.54.4
1
115 5 5
RR1 RR2 RR3
C1 C2 C3
P1 P2 P3I-BGP connection
Physical link
![Page 24: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/24.jpg)
24Dimacs 2007
Signaling Safety
A configuration is said to be signaling safe if I-BGP converges for all possible learned external routes
Determining signaling safety is NP-hard
Sufficient conditions to guarantee signaling safety:
the directed graph consisting of arcs from clients to route reflectors contains no directed cycles
route reflectors prefer routes heard about from clients over routes heard from other route reflectors
![Page 25: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/25.jpg)
25Dimacs 2007
Routing Loops
135.104.54.4
5
11
1
RR1RR2
C1 C2
Badly configurednetworks can alsoexperience routingloops
![Page 26: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/26.jpg)
26Dimacs 2007
Deflections
135.104.54.4
3
1
1
P
Q
RR
A B
Packets can be diverted out of a network unexpectedly.
![Page 27: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/27.jpg)
27Dimacs 2007
Forwarding Correctness
A signaling safe configuration is forwarding correct if there are no deflections (and hence no loops) for any set of learned external routes
Determining forwarding correctness is NP-hard
Sufficient conditions to guarantee forwarding correctness:
shortest path between two nodes is a signaling path
route reflectors prefer client routes to others
![Page 28: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/28.jpg)
28Dimacs 2007
Route Selection Summary
Highest Local Preference
Shortest ASPATH
(Lowest MED (if same next AS))
i-BGP < e-BGP
Lowest IGP cost to BGP egress
Lowest router ID
Traffic engineering
Enforce relationships
Throw up hands andbreak ties
![Page 29: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/29.jpg)
29Dimacs 2007
What Are MEDs?
135.104.54.4
MED=1MED=0
AS1
AS2
CP
Client
“Hot Potato Routing”vs.
“Cold Potato Routing”
![Page 30: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/30.jpg)
30Dimacs 2007
MED Attribute
MED disobeys independent orderingthe presence of a route may change the
rank ordering of other routes
u
PQ
QPR
u
![Page 31: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/31.jpg)
31Dimacs 2007
Not order preserving
MED=1MED=0
AS1
AS2
AS0
AS3
1 1
d
AB C
R
R: {B,C} => B{B,C,A} => C
![Page 32: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/32.jpg)
32Dimacs 2007
A Real-world MED Oscillation Example
• A functioning network breaks into a stateof persistent route oscillations when a BGPsession goes down
• First thought to be a hardware problem• Analysis shows that route oscillations caused by
the use of the MED attribute
![Page 33: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/33.jpg)
33Dimacs 2007
Initial State
AS 4
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)(2)
C
MEDs
IGP12
D
21
(2)
70000
Only AS 2 sends MEDs to AS 4
![Page 34: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/34.jpg)
34Dimacs 2007
Initial Routing
AS 4
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)
C
IGP12
D
21
(2)MEDs (2)
70000
D prefers AS 2000path due to router IDtie breaking
![Page 35: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/35.jpg)
35Dimacs 2007
B Changes Its Route
AS 4000
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)
C
IGP12
D
21
session down!
The AS 4 AS 3 BGP Session is dropped
(2)MEDs (2)
70000
![Page 36: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/36.jpg)
36Dimacs 2007
A Changes Its Route
AS 4
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)
C
IGP12
D
21
session down!
(2)MEDs (2)
The MED 1 route from B beats the MED 2 routesthat A sees from its clients….
70000
CALL THISSTATE ZERO
![Page 37: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/37.jpg)
37Dimacs 2007
C & D Change Routes
AS 4
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)
C
IGP12
D
21
session down!
(2)MEDs (2)
The MED 1 route from A knocks both MED 2 routesout of the picture for C & D …
70000
![Page 38: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/38.jpg)
38Dimacs 2007
A Changes Route Again
AS 4
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)
C
IGP12
D
21
session down!
(2)MEDs (2)
A now sees the route from D through AS 3, and it is closer IGP-wise than the route from B…
70000
![Page 39: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/39.jpg)
39Dimacs 2007
C&D Return to Initial Routes
AS 4
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)
C
IGP12
D
21
session down!
(2)MEDs (2)
C & D no longer see MED 1 route from A, so they return to the eBGP routes with MED 2…
70000
![Page 40: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/40.jpg)
40Dimacs 2007
Back to State Zero!
AS 4
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)
C
IGP12
D
21
session down!
(2)MEDs (2)
A switches back to MED 1 route through B.
70000
![Page 41: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/41.jpg)
41Dimacs 2007
What Can Be Done?
Possible Approaches:Use only configurations that guarantee no problems
No modification to BGP requiredPrevious example shows this might be difficult
Prevent problems for any configurationModification to BGP required
![Page 42: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/42.jpg)
42Dimacs 2007
I-BGP Modification
(1) Run selection process up through MED-comparison stage resulting in set of routes S
(2) Run remainder of selection process to determine best route R
(3) Advertise all routes in S (as opposed to announcing only best route R)
Highest Local PreferenceShortest ASPATHLowest MED (if same next AS)
i-BGP < e-BGPLowest IGP cost to BGP egressLowest router ID
S
R
![Page 43: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/43.jpg)
43Dimacs 2007
Modified I-BGP
(1) Modified I-BGP provably always converges (i.e., it’s signaling safe)
(2) Modified I-BGP guarantees no forwarding loops (I.e., it’s (almost) forwarding safe although there might be simple deflections)
![Page 44: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/44.jpg)
44Dimacs 2007
Solution with modified BGP
AS 4
A B
E F
AS 3
AS 1
AS 2
reflector reflector
iBGP
eBGP
(1)
C
IGP12
D
21
session down!
(2)MEDs (2)
70000
![Page 45: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/45.jpg)
A Fractional Model of BGP
Joint work with P. Haxell (U. Waterloo)
August 2007
![Page 46: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/46.jpg)
46Dimacs 2007
• Instance of fSPP: same as instance of SPP• Solution to fSPP: assignment of non-negative weights w(P) to each path P that satisfy:
Fractional SPP (fSPP)
(1) Unity: total weight of paths starting at each v, W(v), is at most 1
(2) Tree: For each vertex v and path S, total weight on pathsfrom v that end with S is at most w(S)
(3) Stablity: If Q starts at v then either:(i) W(v)=1, if P starts at v and w(P)>0 then v
prefers P to Q(ii) there is a proper final segment S of Q where
total weight on paths from v ending in S, ie Ws(v),is s.t. WS(v)=w(S) and if P starts at v with final segment S and w(P)>0 then v prefers P to Q
![Page 47: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/47.jpg)
47Dimacs 2007
Unity Condition
(1) Unity: total weight of paths starting at each v, W(v), is at most 1
v
0P1
Pn
w(P1) + … + w(Pn) ≤ 1
![Page 48: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/48.jpg)
48Dimacs 2007
Tree Condition
(2) Tree: For each vertex v and path S, total weight on pathsfrom v that end with S is at most w(S)
S
0v
P1
Pn
w(P1) + … + w(Pn) ≤ w(S)
x
![Page 49: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/49.jpg)
49Dimacs 2007
Stability Condition (i)
(3) Stablity: if Q starts at v then either:(i) W(v)=1, if P starts at v and w(P)>0 then v
prefers P to Q
v
0P Σw(R) = 1
PQ
Q
w(P) > 0
![Page 50: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/50.jpg)
50Dimacs 2007
Stability Condition (ii)
(3) Stablity: if Q starts at v then either:(ii) there is a proper final segment S of Q with
WS(v)=w(S) and if P starts at v, w(P)>0 thenv prefers P to Q
S
0v
P
Q
PQ
ΣR w(R) = w(S)
w(P) > 0
x
![Page 51: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/51.jpg)
51Dimacs 2007
Solution for Bad Gadget!
1 2 01 0
0
1
23 2 3 02 0
3 1 03 0
Bad Gadget
1/2
1/2
1/2
1/21/2
1/2
![Page 52: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/52.jpg)
52Dimacs 2007
Theorem: A solution to fSPP always exists.
Solutions for fSPP
![Page 53: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/53.jpg)
53Dimacs 2007
Let n < m be positive integers, b , B and C nxm matrices such that:- first n columns of B are the identity matrix- the set {x : Bx=b} is bounded- for cik k>n, cii < cik < cij for each j ≠ i, j<n.
Then there is x where Bx=b and the set of columns S of C that correspond to supp(x)={k : xk ≠ 0} are such that for all columns j there is a row i such that cik < cij for all k supp(x).
Scarf’s Lemma
R+m
R+m
R+m
![Page 54: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/54.jpg)
54Dimacs 2007
• V a set of players• S(v) a set of “strategies”, for each player v• strategy vector (s1, …, sn), si a strategy for vi
• Pi((s1, …, sn)), payoff for vi given choice ofstrategy sj for vj
A Little Game Theory
A Nash equilibrium is a strategy vector such thatno player can change its strategy and improve itspayoff.
![Page 55: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/55.jpg)
55Dimacs 2007
• The BGP Game• nodes of SPP instance are players• a player’s strategies are choices of paths to the destination• payoff to a player directly related to preference of path chosen• payoff is -1 if choice not “consistent” with strategies of other nodes on the path
A Non-cooperative Game
![Page 56: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/56.jpg)
56Dimacs 2007
• The solutions of SPP are the Nash equilibriaof the BGP game and vice versa• Some instances of BGP game have no Nash equilibria (Bad Gadget)
Nash Equilibria of BGP Game
![Page 57: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/57.jpg)
57Dimacs 2007
• Utility of path P is some number directly related to preference or -1 if P is not consistent with the strategies of other players along P• payoff to v is the weighted sum of the utilities of the paths originating at v
Defines fractional BGP Game that is guaranteed to always have a Nash equilibrium.
Payoffs for fractional game
![Page 58: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/58.jpg)
Degree Constrained Network Flows (STOC 07)
Joint work with P. Donovan, B. Shepherd, A. Vetta (McGill U)
August 2007
![Page 59: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/59.jpg)
59Dimacs 2007
(Single Sink) Unconstrained Network FlowsGiven:
(1) directed network G=(V,A)
(2) sink node s
(3) demands d(v) from nodes v in V to s
find a flow that minimizes the max load at any non-sink node.
s
![Page 60: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/60.jpg)
60Dimacs 2007
Degree Constrained Network Flows
Given:
(1) directed network G=(V,A)
(2) sink node s
(3) demands from nodes in V to s
(4) outdegree bound d
find a flow that minimizes the max load at any non-sink node where for each node v in V the flow out of v is on at most d out-arcs.
![Page 61: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/61.jpg)
61Dimacs 2007
Confluent FlowsBGP results in the flow to a given destination s
to be a confluent flow.
s
![Page 62: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/62.jpg)
62Dimacs 2007
Confluent Flows (d=1)
A confluent flow allows flow out of each node on 1 out-arc.
s
If unconstrained max load = 1, then can always find a confluent flow with max load O(log n) (and this is tight). [Chen et al 04]
![Page 63: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/63.jpg)
63Dimacs 2007
Bifurcated Flows (d=2)
A bifurcated flow allows flow out of each node on at most 2 out-arcs.
sIf unconstrained max load = 1, then can always find a bifurcated flow
with max load < 2 (and this is tight). [DSVW 07]
Min_load_bifurcated_flow is maxSNP-hard. [DSVW 07]
![Page 64: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/64.jpg)
64Dimacs 2007
d-furcated flows (d > 2)
A d-furcated flow allows flow out of each node on at most d out-arcs.
s
If unconstrained max load = 1, then can always find a d-furcated flow with max load < d/(d-1) (and this is tight). [DSVW 07]
![Page 65: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/65.jpg)
65Dimacs 2007
B-confluent flows (what happens between d=1 and d=2 ??)
A B-confluent flow is a bifurcated flow where at each node v at least a B-fraction of the flow goes out on one arc.
s
For any B in [1/2,1) there is a B-confluent flow with max node load < 1/(B-1).
![Page 66: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/66.jpg)
66Dimacs 2007
Algorithm outline for bifurcated flow
(1) Find fractional single-sink flow F with minimum max load.
(2) Manipulate F into a “simpler” flow F’ without changing max load.
(3) Transform F’ into a bifurcated flow F’’ with max load < 2.
![Page 67: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/67.jpg)
67Dimacs 2007
Algorithm outline (2)
(2) Manipulate F into a “simpler” flow F’ without changing max load.
(ii) break “sawtooth” cycles
+
++
-
--
(i) contract node with outdegree 1
![Page 68: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/68.jpg)
68Dimacs 2007
Algorithm outline (3)
(3) Transform F’ into a d-furcated flow F’’ with max load < 2.
Theorem: There exists a source node v where all but at most 1 of v’s neighbors has in-degree 1.
v
![Page 69: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/69.jpg)
69Dimacs 2007
Algorithm outline (3)
Case 1.
v
v
f(u1) = f(u1) + extra(v) < f(u1) + 1f(u2) = f(u2)
u2
u2
For i=1,2,f(ui) = f(ui) + [extra(v) + f(u3) + f(u4)] / 2
< f(ui) + (1 + 1) / 2 = f(ui) + 1u1
u3 u4
u1
x x
Case 2.
![Page 70: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/70.jpg)
70Dimacs 2007
Future
(1) Halfluent flows: a bifurcated flow where load is split evenly on outgoing arcs. Cases where halfluent load is twice as bad as bifurcated flow. Is this worst possible?
(2) What about capacitated versions?
(3) costs?
(4) multiple sinks?
![Page 71: Border Gateway Protocol (BGP) - Center for Discrete Mathematics](https://reader036.vdocuments.net/reader036/viewer/2022071523/613d0b99736caf36b758a9ce/html5/thumbnails/71.jpg)
71Dimacs 2007
• BGP is extremely flexible, allowing operators to easily make obscure errors that are difficult to find and correct.
• Policy based routing is difficult to get right.
• Lots of open algorithmic problems in interdomain routing remain.
Conclusions