--- 1/draft-ietf-idr-bgp-optimal-route-reflection-25.txt 2021-06-16 16:13:10.727526745 -0700 +++ 2/draft-ietf-idr-bgp-optimal-route-reflection-26.txt 2021-06-16 16:13:10.755527450 -0700 @@ -1,39 +1,39 @@ IDR Working Group R. Raszuk, Ed. Internet-Draft NTT Network Innovations -Intended status: Standards Track B. Decraene, Ed. -Expires: December 16, 2021 Orange - C. Cassar +Updates: 4456 (if approved) B. Decraene, Ed. +Intended status: Standards Track Orange +Expires: December 18, 2021 C. Cassar E. Aman K. Wang Juniper Networks - June 14, 2021 + June 16, 2021 - BGP Optimal Route Reflection (BGP-ORR) - draft-ietf-idr-bgp-optimal-route-reflection-25 + BGP Optimal Route Reflection (BGP ORR) + draft-ietf-idr-bgp-optimal-route-reflection-26 Abstract This document defines an extension to BGP route reflectors. On route reflectors, BGP route selection is modified in order to choose the best route from the standpoint of their clients, rather than from the standpoint of the route reflectors. Depending on the scaling and precision requirements, route selection can be specific for one client, common for a set of clients or common for all clients of a route reflector. This solution is particularly applicable in deployments using centralized route reflectors, where choosing the - best route based on the route reflector's IGP location is suboptimal. - This facilitates, for example, best exit point policy (hot potato - routing). + best route based on the route reflector's Interior Gateway Protocol + (IGP) location is suboptimal. This facilitates, for example, best + exit point policy (hot potato routing). The solution relies upon all route reflectors learning all paths which are eligible for consideration. BGP Route Selection is performed in the route reflectors based on the IGP cost from configured locations in the link state IGP. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. @@ -41,21 +41,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on December 16, 2021. + This Internet-Draft will expire on December 18, 2021. Copyright Notice Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -70,55 +70,56 @@ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Modifications to BGP Route Selection . . . . . . . . . . . . 4 3.1. Route Selection from a different IGP location . . . . . . 5 3.1.1. Restriction when BGP next hop is a BGP prefix . . . . 6 3.2. Multiple Route Selections . . . . . . . . . . . . . . . . 6 4. Deployment Considerations . . . . . . . . . . . . . . . . . . 6 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 - 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 + 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 - 9.2. Informative References . . . . . . . . . . . . . . . . . 9 + 9.2. Informative References . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction - There are three types of BGP deployments within Autonomous Systems - today: full mesh, confederations and route reflection. BGP route - reflection [RFC4456] is the most popular way to distribute BGP routes - between BGP speakers belonging to the same Autonomous System. - However, in some situations, this method suffers from non-optimal - path selection. + There are three types of BGP (Border Gateway Protocol) deployments + within Autonomous Systems today: full mesh, confederations and route + reflection. BGP route reflection [RFC4456] is the most popular way + to distribute BGP routes between BGP speakers belonging to the same + Autonomous System. However, in some situations, this method suffers + from non-optimal path selection. [RFC4456] asserts that, because the IGP cost to a given point in the network will vary across routers, "the route reflection approach may - not yield the same route selection result as that of the full IBGP - mesh approach." One practical implication of this assertion is that - the deployment of route reflection may thwart the ability to achieve - hot potato routing. Hot potato routing attempts to direct traffic to - the closest AS exit point in cases where no higher priority policy - dictates otherwise. As a consequence of the route reflection method, - the choice of exit point for a route reflector and its clients will - be the exit point that is optimal for the route reflector - not - necessarily the one that is optimal for its clients. + not yield the same route selection result as that of the full + Internal BGP (IBGP) mesh approach." One practical implication of + this fact is that the deployment of route reflection may thwart the + ability to achieve hot potato routing. Hot potato routing attempts + to direct traffic to the closest Autonomous System (AS) exit point in + cases where no higher priority policy dictates otherwise. As a + consequence of the route reflection method, the choice of exit point + for a route reflector and its clients will be the exit point that is + optimal for the route reflector - not necessarily the one that is + optimal for its clients. Section 11 of [RFC4456] describes a deployment approach and a set of constraints which, if satisfied, would result in the deployment of route reflection yielding the same results as the IBGP full mesh approach. This deployment approach makes route reflection compatible with the application of hot potato routing policy. In accordance with these design rules, route reflectors have often been deployed in - the forwarding path and carefully placed on the POP to core - boundaries. + the forwarding path and carefully placed on the Point of Presence + (POP) to core boundaries. The evolving model of intra-domain network design has enabled deployments of route reflectors outside the forwarding path. Initially this model was only employed for new services, e.g., IP VPNs [RFC4364], however it has been gradually extended to other BGP services, including the IPv4 and IPv6 Internet. In such environments, hot potato routing policy remains desirable. Route reflectors outside the forwarding path can be placed on the POP to core boundaries, but they are often placed in arbitrary locations @@ -154,31 +155,32 @@ 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Modifications to BGP Route Selection The core of this solution is the ability for an operator to specify the IGP location for which the route reflector calculates interior cost for the NEXT_HOP. The IGP location is defined as a node in the IGP topology, it is identified by an IP address of this node (e.g., a loopback address), and may be configured on a per route reflector - basis, per set of clients, or per client basis. This ability enables - the route reflector to send to a given set of clients routes with - shortest distance to the next hops from the position of the selected - IGP location. This provides for freedom of route reflector physical - location, and allows transient or permanent migration of this network - control plane function to an arbitrary location. + basis, per set of clients, or per client basis. Such configuration + will allow the route reflector to select and distribute to a given + set of clients routes with shortest distance to the next hops from + the position of the selected IGP location. This provides for freedom + of route reflector physical location, and allows transient or + permanent migration of this network control plane function to an + arbitrary location with no impact to IP transit. The choice of specific granularity (route reflector, set of clients, or client) is configured by the network operator. An implementation is considered compliant with this document if it supports at least - one listed grouping of IGP location. + one such grouping category. For purposes of route selection, the perspective of a client can differ from that of a route reflector or another client in two distinct ways: o it has a different position in the IGP topology, o it can have a different routing policy. These factors correspond to the issues described earlier. @@ -222,43 +224,46 @@ interior cost. The interior cost of a route is determined by calculating the metric from the selected IGP location to the NEXT_HOP for the route using the shortest IGP path tree rooted at the selected IGP location. In order to be able to compute the shortest path tree rooted at the selected IGP locations, knowledge of the IGP topology for the area/ level that includes each of those locations is needed. This knowledge can be gained with the use of the link state IGP such as IS-IS [ISO10589] or OSPF [RFC2328] [RFC5340] or via BGP-LS [RFC7752]. - One or more backup IGP locations SHOULD be allowed to be specified - for redundancy. + When specifing logical location of a route reflector for a group of + clients one or more backup IGP locations SHOULD be allowed to be + specified for redundancy. Further deployment considerations are + discussed in Section 4. 3.1.1. Restriction when BGP next hop is a BGP prefix - In situations where the BGP next hop is a BGP prefix itself, the IGP + In situations where the BGP next hop is a BGP route itself, the IGP metric of a route used for its resolution SHOULD be the final IGP cost to reach such next hop. Implementations which cannot inform BGP of the final IGP metric to a recursive next hop MUST treat such paths as least preferred during next hop metric comparison. However, such paths MUST still be considered valid for BGP Phase 2 Route Selection. 3.2. Multiple Route Selections BGP Route Reflector as per [RFC4456] runs a single BGP Decision Process. Optimal route reflection may require multiple BGP Decision Processes or subsets of the Decision Process in order to consider different IGP locations or BGP policies for different sets of - clients. + clients. This is very similar to what is defined in [RFC7947] + section 2.3.2.1. If the required routing optimization is limited to the IGP cost to - the BGP Next-Hop, only step e) and below as defined [RFC4271] section - 9.1.2.2, needs to be run multiple times. + the BGP Next-Hop, only step e) and subsequent steps as defined in + [RFC4271] section 9.1.2.2, needs to be run multiple times. If the routing optimization requires the use of different BGP policies for different sets of clients, a larger part of the decision process needs to be run multiple times, up to the whole decision process as defined in section 9.1 of [RFC4271]. This is for example the case when there is a need to use different policies to compute different degree of preference during Phase 1. This is needed for use cases involving traffic engineering or dedicating certain exit points for certain clients. In the latter case, the user may specify and apply a general policy on the route reflector for a set of @@ -268,34 +273,34 @@ A route reflector can implement either or both of the modifications in order to allow it to choose the best path for its clients that the clients themselves would have chosen given the same set of candidate paths. 4. Deployment Considerations BGP Optimal Route Reflection provides a model for integrating the client perspective into the BGP Route Selection decision function for - route reflectors. More specifically, the choice of BGP path factors - in either the IGP cost between the client and the NEXT_HOP (rather - than the IGP cost from the route reflector to the NEXT_HOP) or other - user configured policies. + route reflectors. More specifically, the choice of BGP path takes + into account either the IGP cost between the client and the NEXT_HOP + (rather than the IGP cost from the route reflector to the NEXT_HOP) + or other user configured policies. The achievement of optimal routing between clients of different clusters relies upon all route reflectors learning all paths that are eligible for consideration. In order to satisfy this requirement, BGP add-path [RFC7911] needs to be deployed between route reflectors. This solution can be deployed in traditional hop-by-hop forwarding networks as well as in end-to-end tunneled environments. In networks where there are multiple route reflectors and hop-by-hop forwarding - without encapsulation, such optimizations SHOULD be consistently + without encapsulation, such optimizations MUST be consistently enabled on all route reflectors. Otherwise, clients may receive an inconsistent view of the network, in turn leading to intra-domain forwarding loops. As discussed in section 11 of [RFC4456], the IGP locations of BGP route reflectors is important and has routing implications. This equally applies to the choice of the IGP locations configured on optimal route reflectors. If a backup location is provided, it is used when the primary IGP location disappears from the IGP (i.e. fails). Just like the failure of a RR [RFC4456], it may result in @@ -309,71 +314,75 @@ multiple route reflectors handle route selection for all of them. The operator may alternatively deploy one or multiple route reflector for each IGP location or create any design in between. This choice may depend on operational model (centralized vs per region), acceptable blast radius in case of failure, acceptable number of IBGP sessions for the mesh between the route reflectors, performance and configuration granularity of the equipment. With this approach, an ISP can effect a hot potato routing policy even if route reflection has been moved out of the forwarding plane, - and hop-by-hop switching has been replaced by end-to-end MPLS or IP + and hop-by-hop forwarding has been replaced by end-to-end MPLS or IP encapsulation. Compared with a deployment of ADD-PATH on all - routers, BGP ORR reduces the amount of state which needs to be pushed - to the edge of the network in order to perform hot potato routing. + routers, BGP Optimal Route Reflection (ORR) reduces the amount of + state which needs to be pushed to the edge of the network in order to + perform hot potato routing. Modifying the IGP location of BGP ORR does not interfere with - policies enforced before IGP tie-breaking (step e) in the BGP - Decision Process Route. + policies enforced before IGP tie-breaking (step e) of [RFC4271] + section 9.1.2.2 in the BGP Decision Process. - Calculating routes for different IGP locations requires multiple SPF - calculations and multiple (subsets of) BGP Decision Processes, which - requires more computing resources. This document allows for - different granularity such as one Decision Process per route - reflector, per set of clients or per client. A more fine-grained - granularity may translate into more optimal hot potato routing at the - cost of more computing power. Selecting to configure an IGP location - per client has the highest precision as each client can be associated - with their ideal (own) IGP location. However, doing so may have an - impact on the performance (as explained above). Using an IGP - location per set of clients implies a loss of precision, but reduces - the impact on the performance of the route reflector. Similarly, if - an IGP location is selected for the whole routing instance, the - lowest precision is achieved, but the performance impact is minimal - (both should be equal to the [RFC4456] ones). The ability to run - fine-grained computations depends on the platform/hardware deployed, - the number of clients, the number of BGP routes and the size of the - IGP topology. In essence, sizing considerations are similar to the - deployments of BGP Route Reflector. + Calculating routes for different IGP locations requires multiple + Shortest Path First (SPF) calculations and multiple (subsets of) BGP + Decision Processes, which requires more computing resources. This + document allows for different granularity such as one Decision + Process per route reflector, per set of clients or per client. A + more fine-grained granularity may translate into more optimal hot + potato routing at the cost of more computing power. Selecting to + configure an IGP location per client has the highest precision as + each client can be associated with their ideal (own) IGP location. + However, doing so may have an impact on the performance (as explained + above). Using an IGP location per set of clients implies a loss of + precision, but reduces the impact on the performance of the route + reflector. Similarly, if an IGP location is selected for the whole + routing instance, the lowest precision is achieved, but the + performance impact is minimal. In the last mode of operation both + precision as well as perfomance metrics are equal to same metrics + when using route reflection as described in [RFC4456] without ORR + extension. The ability to run fine-grained computations depends on + the platform/hardware deployed, the number of clients, the number of + BGP routes and the size of the IGP topology. In essence, sizing + considerations are similar to the deployments of BGP Route Reflector. 5. Security Considerations This extension provides a new metric value using additional - information for computing routes for BGP router reflectors. While - any improperly used metric value could impact the resiliency of the + information for computing routes for BGP route reflectors. While any + improperly used metric value could impact the resiliency of the network, this extension does not change the underlying security issues inherent in the existing IBGP per [RFC4456]. This document does not introduce requirements for any new protection measures. 6. IANA Considerations This document does not request any IANA allocations. 7. Acknowledgments Authors would like to thank Keyur Patel, Eric Rosen, Clarence Filsfils, Uli Bornhauser, Russ White, Jakob Heitz, Mike Shand, Jon Mitchell, John Scudder, Jeff Haas, Martin Djernaes, Daniele - Ceccarelli, Kieran Milne, Job Snijders, Randy Bush, Alvaro Retana and - Lars Eggert for their valuable input. + Ceccarelli, Kieran Milne, Job Snijders, Randy Bush, Alvaro Retana, + Francesca Palombini, Benjamin Kaduk, Zaheduzzaman Sarker and Lars + Eggert for their valuable input. 8. Contributors Following persons substantially contributed to the current format of the document: Stephane Litkowski Cisco System slitkows.ietf@gmail.com @@ -399,20 +408,25 @@ [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, . [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, . + [RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder, + "Advertisement of Multiple Paths in BGP", RFC 7911, + DOI 10.17487/RFC7911, July 2016, + . + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 9.2. Informative References [ISO10589] International Organization for Standardization, "Intermediate system to Intermediate system intra-domain routeing information exchange protocol for use in @@ -431,24 +445,24 @@ [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and S. Ray, "North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP", RFC 7752, DOI 10.17487/RFC7752, March 2016, . - [RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder, - "Advertisement of Multiple Paths in BGP", RFC 7911, - DOI 10.17487/RFC7911, July 2016, - . + [RFC7947] Jasinska, E., Hilliard, N., Raszuk, R., and N. Bakker, + "Internet Exchange BGP Route Server", RFC 7947, + DOI 10.17487/RFC7947, September 2016, + . Authors' Addresses Robert Raszuk (editor) NTT Network Innovations Email: robert@raszuk.net Bruno Decraene (editor) Orange