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/ |