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 !
© Copyright 2026 Paperzz