Advertising Equal Cost Multi-Path Routes in BGP

Advertising Equal Cost Multi-Path
Routes in BGP
Manav Bhatia
Samsung India Software Operations,
Bangalore – India
July 17, 2003
57th IETF - Vienna
draft-ecmp-routes-in-bgp-00.txt
The Problem Statement




Route Reflectors only reflect the routes which
“they” think are the best !
True Load Balancing not always possible
In some cases leads to persistent route Oscillations
Solutions in RFC 3345 place Network Design
Constraints which is not a long term solution –
Protocol must be enhanced
Route Reflector’s View of the Best Path
AS X
Rclient 1
3
R3
Route Reflector
IGP Cloud
3
Rclient 2
AS Y
BGP Information
BGP Peering
IGP Connection
Solution
AS X
Rclient 1
3
R3
Route Reflector
IGP Cloud
3
Rclient 2
AS Y
BGP Information
BGP Peering
IGP Connection
BGP Information using
ECMP_NEXT_HOP
BGP MED Oscillation - 1
AS X
Route
Reflector
AS Z,
MED M3,
RID R1
High IGP
Cost (C2)
Low IGP
Cost (C1)
AS Z,
MED M2
(Non)
Client
Client
MED Low
(M1)
MED Hi
(M3)
MED Low
(M2)
AS Y
AS Z
Router ID
R2
Router ID
R1
IBGP Peering
EBGP Peering
BGP Information
BGP MED Oscillation - 2
AS X
Route
Reflector
AS Z,
MED M2
High IGP
Cost (C2)
Low IGP
Cost (C1)
AS Z,
MED M2
(Non)
Client
Client
MED Low
(M1)
MED Hi
(M3)
AS Y
AS Z
Router ID
R2
Router ID
R1
IBGP Peering
EBGP Peering
Advertised BGP
Information
BGP MED Oscillation - 3
AS X
Route
Reflector
AS Z,
MED M2
High IGP
Cost (C2)
AS Y,
MED M1, AS Z,
MED M2
R2
Low IGP
Cost (C1)
(Non)
Client
Client
MED Low
(M1)
MED Hi
(M3)
AS Y
AS Z
Router ID
R2
Router ID
R1
IBGP Peering
Withdrawn BGP
Information
EBGP Peering
Advertised BGP
Information
BGP MED Oscillation – The Solution
AS
MED
IGP
Cost
Z
M2
C2
Z
M3
C1
Y
M1
C1
AS X
Route
Reflector
AS Z,
MED M3,
RID R1
AS Y,
MED M1,
RID R2
High IGP
Cost (C2)
Low IGP
Cost (C1)
AS Z,
MED M2
(Non)
Client
Client
MED Low
(M1)
MED Hi
(M3)
MED Low
(M2)
AS Y
AS Z
Router ID
R2
Router ID
R1
IBGP Peering
BGP Information
EBGP Peering
BGP Information advertised
using ECMP_NEXT_HOP
How to Advertise Multiple BGP Routes?





If more than one route for a given NLRI is announced
then it is considered as an implicit withdraw for the former
advertisement
New Optional Non Transitive attribute
ECMP_NEXT_HOP introduced
NEXT_HOP attribute not mandatory if
ECMP_NEXT_HOP present
Semantics of the BGP UPDATE message unchanged
Modify Phase 2 and Phase 3 of the Decision Process
ECMP_NEXT_HOP Attribute
Address Family Identifier (2 Octets)
Number of Next Hops (1 Octet)
Length of the First Next Hop (1 Octet)
Network Address of the First Next Hop (Variable)
Length of the second Next Hop (1 Octet)
Network Address of the second Next Hop (Variable)
...
Length of the “n” Next Hop (1 Octet)
Network Address of the “n” Next Hop (Variable)
Advertising multiple routes with
ECMP_NEXT_HOP attribute
AS PATH
100 101
AS PATH
100 101
NEXT_HOP
34.13.15.3
NEXT_HOP
23.42.21.2
MED
56
MED
56
AS PATH
100 101
NEXT_HOP
3.1.1.132
BGP_UPDATE
Withdrawn Routes Length
0
AS PATH
100 101
NEXT_HOP
3.1.1.132
MED
56
ECMP_NEXT_HOP
MED
56
Family
AF_INET
AS PATH
500 601
NEXT_HOP
4.14.13.11
MED
56
Number of Next Hops
2
Length of 1st Next Hop
4
Network Address
34.13.15.3
Length of 2nd Next Hop
4
Network Address
23.42.21.2
10.0.0.0/8
ECMP_NEXT_HOP
Attribute
Appending routes using
ECMP_NEXT_HOP attribute
AS PATH
100 101
AS PATH
100 101
NEXT_HOP
34.13.15.3
NEXT_HOP
23.42.21.2
MED
56
MED
56
AS PATH
100 101
NEXT_HOP
3.1.1.132
BGP_UPDATE
Withdrawn Routes Length
0
AS PATH
500 601
MED
56
ECMP_NEXT_HOP
MED
56
Family
AF_INET
AS PATH
500 601
NEXT_HOP
4.14.13.11
MED
56
Number of Next Hops
1
Length of 1st Next Hop
4
Network Address
4.14.13.11
10.0.0.0/8
ECMP_NEXT_HOP
Attribute
Removing one of the Multiple Routes
AS PATH
100 101
AS PATH
100 101
NEXT_HOP
34.13.15.3
NEXT_HOP
23.42.21.2
MED
56
MED
56
AS PATH
100 101
NEXT_HOP
3.1.1.132
BGP_UPDATE
Withdrawn Routes
10.0.0.0/8
AS PATH
100 101
MED
56
ECMP_NEXT_HOP
MED
56
Family
AF_INET
AS PATH
500 601
NEXT_HOP
4.14.13.11
MED
56
Number of Next Hops
1
Length of 1st Next Hop
4
Network Address
3.1.1.132
ECMP_NEXT_HOP
Attribute
Pragmatic Considerations






Advertising both Reachable and Unreachable
Prefixes
Multi-Protocol BGP
Additional Load in the Network
Impact on BGP Convergence
Flapping BGP ECMP route
May give higher degree of preference to a peer we
know has more number of ECMP routes
Next Steps


Possibly combine with draft-lefaucheurmultiprotocol-nh-00.txt
Get Feedback !