| rfc9107v3.txt | rfc9107.txt | |||
|---|---|---|---|---|
| skipping to change at line 157 ¶ | skipping to change at line 157 ¶ | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
| BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 3. Modifications to BGP Route Selection | 3. Modifications to BGP Route Selection | |||
| The core of this solution is the ability for an operator to specify | The core of this solution is the ability for an operator to specify | |||
| the IGP location for which the route reflector calculates interior | 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 | cost to 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 | IGP topology, it is identified by an IP address of this node (e.g., a | |||
| loopback address), and it may be configured on a per-route-reflector | loopback address), and it may be configured on a per-route-reflector | |||
| basis, per set of clients, or on a per-client basis. Such | basis, per set of clients, or on a per-client basis. Such | |||
| configuration will allow the route reflector to select and distribute | configuration will allow the route reflector to select and distribute | |||
| to a given set of clients routes with the shortest distance to the | to a given set of clients routes with the shortest distance to the | |||
| next hops from the position of the selected IGP location. This | next hops from the position of the selected IGP location. This | |||
| provides for freedom related to the route reflector's physical | provides for freedom related to the route reflector's physical | |||
| location and allows transient or permanent migration of this network | location and allows transient or permanent migration of this network | |||
| control plane function to an arbitrary location with no impact on IP | control plane function to an arbitrary location with no impact on IP | |||
| transit. | transit. | |||
| skipping to change at line 188 ¶ | skipping to change at line 188 ¶ | |||
| * It has a different position in the IGP topology. | * It has a different position in the IGP topology. | |||
| * It can have a different routing policy. | * It can have a different routing policy. | |||
| These factors correspond to the issues described earlier. | These factors correspond to the issues described earlier. | |||
| This document defines, for BGP route reflectors [RFC4456], two | This document defines, for BGP route reflectors [RFC4456], two | |||
| changes to the BGP route selection algorithm: | changes to the BGP route selection algorithm: | |||
| * The first change, introduced in Section 3.1, is related to the IGP | * The first change, introduced in Section 3.1, is related to the IGP | |||
| cost to the BGP Next Hop in the BGP Decision Process. The change | cost to the BGP next hop in the BGP Decision Process. The change | |||
| consists of using the IGP cost from a different IGP location than | consists of using the IGP cost from a different IGP location than | |||
| the route reflector itself. | the route reflector itself. | |||
| * The second change, introduced in Section 3.2, is to extend the | * The second change, introduced in Section 3.2, is to extend the | |||
| granularity of the BGP Decision Process, to allow for running | granularity of the BGP Decision Process, to allow for running | |||
| multiple Decision Processes using different perspectives or | multiple Decision Processes using different perspectives or | |||
| policies. | policies. | |||
| A route reflector can implement either or both of the modifications | 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 | in order to allow it to choose the best path for its clients that the | |||
| skipping to change at line 262 ¶ | skipping to change at line 262 ¶ | |||
| 3.2. Multiple Route Selections | 3.2. Multiple Route Selections | |||
| A BGP route reflector as per [RFC4456] runs a single BGP Decision | A BGP route reflector as per [RFC4456] runs a single BGP Decision | |||
| Process. BGP Optimal Route Reflection (BGP ORR) may require multiple | Process. BGP Optimal Route Reflection (BGP ORR) may require multiple | |||
| BGP Decision Processes or subsets of the Decision Process in order to | BGP Decision Processes or subsets of the Decision Process in order to | |||
| consider different IGP locations or BGP policies for different sets | consider different IGP locations or BGP policies for different sets | |||
| of clients. This is very similar to what is defined in [RFC7947], | of clients. This is very similar to what is defined in [RFC7947], | |||
| Section 2.3.2.1. | Section 2.3.2.1. | |||
| If the required routing optimization is limited to the IGP cost to | If the required routing optimization is limited to the IGP cost to | |||
| the BGP Next-Hop, only step e) and subsequent steps as defined in | the BGP next hop, only step e) and subsequent steps as defined in | |||
| [RFC4271], Section 9.1.2.2 need to be run multiple times. | [RFC4271], Section 9.1.2.2 need to be run multiple times. | |||
| If the routing optimization requires the use of different BGP | If the routing optimization requires the use of different BGP | |||
| policies for different sets of clients, a larger part of the Decision | 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 needs to be run multiple times, up to the whole Decision | |||
| Process as defined in Section 9.1 of [RFC4271]. This is, for | 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 | example, the case when there is a need to use different policies to | |||
| compute different degrees of preference during Phase 1. This is | compute different degrees of preference during Phase 1. This is | |||
| needed for use cases involving traffic engineering or dedicating | needed for use cases involving traffic engineering or dedicating | |||
| certain exit points for certain clients. In the latter case, the | certain exit points for certain clients. In the latter case, the | |||
| skipping to change at line 284 ¶ | skipping to change at line 284 ¶ | |||
| for a set of clients. Regular path selection, including IGP | for a set of clients. Regular path selection, including IGP | |||
| perspectives for a set of clients as per Section 3.1, is then applied | perspectives for a set of clients as per Section 3.1, is then applied | |||
| to the candidate paths to select the final paths to advertise to the | to the candidate paths to select the final paths to advertise to the | |||
| clients. | clients. | |||
| 4. Deployment Considerations | 4. Deployment Considerations | |||
| BGP ORR provides a model for integrating the client's perspective | BGP ORR provides a model for integrating the client's perspective | |||
| into the BGP route selection Decision Process for route reflectors. | into the BGP route selection Decision Process for route reflectors. | |||
| More specifically, the choice of BGP path takes into account either | 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 | 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- | cost from the route reflector to the next hop) or other user- | |||
| configured policies. | configured policies. | |||
| The achievement of optimal routing between clients of different | The achievement of optimal routing between clients of different | |||
| clusters relies upon all route reflectors learning all paths that are | clusters relies upon all route reflectors learning all paths that are | |||
| eligible for consideration. In order to satisfy this requirement, | eligible for consideration. In order to satisfy this requirement, | |||
| BGP ADD-PATH [RFC7911] needs to be deployed between route reflectors. | BGP ADD-PATH [RFC7911] needs to be deployed between route reflectors. | |||
| This solution can be deployed in hop-by-hop forwarding networks as | This solution can be deployed in hop-by-hop forwarding networks as | |||
| well as in end-to-end tunneled environments. To avoid routing loops | well as in end-to-end tunneled environments. To avoid routing loops | |||
| in networks with multiple route reflectors and hop-by-hop forwarding | in networks with multiple route reflectors and hop-by-hop forwarding | |||
| End of changes. 4 change blocks. | ||||
| 5 lines changed or deleted | 5 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||