draft-ietf-idr-bgp-optimal-route-reflection-24.txt   draft-ietf-idr-bgp-optimal-route-reflection-25.txt 
IDR Working Group R. Raszuk, Ed. IDR Working Group R. Raszuk, Ed.
Internet-Draft NTT Network Innovations Internet-Draft NTT Network Innovations
Intended status: Standards Track C. Cassar Intended status: Standards Track B. Decraene, Ed.
Expires: December 2, 2021 Expires: December 16, 2021 Orange
C. Cassar
E. Aman E. Aman
B. Decraene, Ed.
Orange
K. Wang K. Wang
Juniper Networks Juniper Networks
May 31, 2021 June 14, 2021
BGP Optimal Route Reflection (BGP-ORR) BGP Optimal Route Reflection (BGP-ORR)
draft-ietf-idr-bgp-optimal-route-reflection-24 draft-ietf-idr-bgp-optimal-route-reflection-25
Abstract Abstract
This document defines an extension to BGP route reflectors. On route This document defines an extension to BGP route reflectors. On route
reflectors, BGP route selection is modified in order to choose the reflectors, BGP route selection is modified in order to choose the
best route from the standpoint of their clients, rather than from the best route from the standpoint of their clients, rather than from the
standpoint of the route reflectors. Depending on the scaling and standpoint of the route reflectors. Depending on the scaling and
precision requirements, route selection can be specific for one precision requirements, route selection can be specific for one
client, common for a set of clients or common for all clients of a client, common for a set of clients or common for all clients of a
route reflector. This solution is particularly applicable in route reflector. This solution is particularly applicable in
skipping to change at page 2, line 7 skipping to change at page 2, line 7
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 2, 2021. This Internet-Draft will expire on December 16, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 27 skipping to change at page 3, line 27
Section 11 of [RFC4456] describes a deployment approach and a set of Section 11 of [RFC4456] describes a deployment approach and a set of
constraints which, if satisfied, would result in the deployment of constraints which, if satisfied, would result in the deployment of
route reflection yielding the same results as the IBGP full mesh route reflection yielding the same results as the IBGP full mesh
approach. This deployment approach makes route reflection compatible approach. This deployment approach makes route reflection compatible
with the application of hot potato routing policy. In accordance with the application of hot potato routing policy. In accordance
with these design rules, route reflectors have often been deployed in with these design rules, route reflectors have often been deployed in
the forwarding path and carefully placed on the POP to core the forwarding path and carefully placed on the POP to core
boundaries. boundaries.
The evolving model of intra-domain network design has enabled The evolving model of intra-domain network design has enabled
deployments of route reflectors outside of the forwarding path. deployments of route reflectors outside the forwarding path.
Initially this model was only employed for new services, e.g. IP Initially this model was only employed for new services, e.g., IP
VPNs [RFC4364], however it has been gradually extended to other BGP VPNs [RFC4364], however it has been gradually extended to other BGP
services including IPv4 and IPv6 Internet. In such environments, hot services, including the IPv4 and IPv6 Internet. In such
potato routing policy remains desirable. environments, hot potato routing policy remains desirable.
Route reflectors outside of the forwarding path can be placed on the Route reflectors outside the forwarding path can be placed on the POP
POP to core boundaries, but they are often placed in arbitrary to core boundaries, but they are often placed in arbitrary locations
locations in the core of large networks. in the core of large networks.
Such deployments suffer from a critical drawback in the context of Such deployments suffer from a critical drawback in the context of
BGP Route Selection: A route reflector with knowledge of multiple BGP Route Selection: A route reflector with knowledge of multiple
paths for a given prefix will typically pick its best path and only paths for a given prefix will typically pick its best path and only
advertise that best path to its clients. If the best path for a advertise that best path to its clients. If the best path for a
prefix is selected on the basis of an IGP tie-break, the path prefix is selected on the basis of an IGP tie-break, the path
advertised will be the exit point closest to the route reflector. advertised will be the exit point closest to the route reflector.
However, the clients are in a different place in the network topology However, the clients are in a different place in the network topology
than the route reflector. In networks where the route reflectors are than the route reflector. In networks where the route reflectors are
not in the forwarding path, this difference will be even more acute. not in the forwarding path, this difference will be even more acute.
skipping to change at page 4, line 23 skipping to change at page 4, line 23
"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 BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 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 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 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 loopback address), and may be configured on a per route reflector
basis, per set of clients, or per client basis. This ability enables 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 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 shortest distance to the next hops from the position of the selected
IGP location. This provides for freedom of route reflector physical IGP location. This provides for freedom of route reflector 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. control plane function to an arbitrary location.
The choice of specific granularity (route reflector, set of clients, The choice of specific granularity (route reflector, set of clients,
or client) is configured by the network operator. An implementation or client) is configured by the network operator. An implementation
is considered compliant with this document if it supports at least is considered compliant with this document if it supports at least
one listed grouping of IGP location. one listed grouping of IGP location.
For purposes of route selection, the perspective of a client can For purposes of route selection, the perspective of a client can
differ from that of a route reflector or another client in two differ from that of a route reflector or another client in two
distinct ways: distinct ways:
o it has a different position in the IGP topology, and o it has a different position in the IGP topology,
o it can have a different routing policy. o 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:
o The first change, introduced in Section 3.1, is related to the IGP o 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 in 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.
o The second change, introduced in Section 3.2, is to extend the o 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 decisions processes using different perspective or multiple decisions processes using different perspective or
policies. policies.
A significant advantage of these approaches is that the route A significant advantage of these approaches is that the route
reflector clients do not need to be modified. reflector clients do not need to be modified.
skipping to change at page 6, line 9 skipping to change at page 6, line 9
level that includes each of those locations is needed. This level that includes each of those locations is needed. This
knowledge can be gained with the use of the link state IGP such as 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]. IS-IS [ISO10589] or OSPF [RFC2328] [RFC5340] or via BGP-LS [RFC7752].
One or more backup IGP locations SHOULD be allowed to be specified One or more backup IGP locations SHOULD be allowed to be specified
for redundancy. for redundancy.
3.1.1. Restriction when BGP next hop is a BGP prefix 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 prefix itself, the IGP
metric of a route used for its resolution SHOULD be the final IGP metric of a route used for its resolution SHOULD be the final IGP
cost to reach such next hop. Implementations which can not inform cost to reach such next hop. Implementations which cannot inform BGP
BGP of the final IGP metric to a recursive next hop MUST treat such of the final IGP metric to a recursive next hop MUST treat such paths
paths as least preferred during next hop metric comparison. However as least preferred during next hop metric comparison. However, such
such paths MUST still be considered valid for BGP Phase 2 Route paths MUST still be considered valid for BGP Phase 2 Route Selection.
Selection.
3.2. Multiple Route Selections 3.2. Multiple Route Selections
BGP Route Reflector as per [RFC4456] runs a single BGP Decision BGP Route Reflector as per [RFC4456] runs a single BGP Decision
Process. Optimal route reflection may require multiple BGP Decision Process. Optimal route reflection may require multiple BGP Decision
Processes or subsets of the Decision Process in order to consider Processes or subsets of the Decision Process in order to consider
different IGP locations or BGP policies for different sets of different IGP locations or BGP policies for different sets of
clients. clients.
If the required routing optimization is limited to the IGP cost to If the required routing optimization is limited to the IGP cost to
skipping to change at page 7, line 13 skipping to change at page 7, line 13
user configured policies. user 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 traditional hop-by-hop forwarding This solution can be deployed in traditional hop-by-hop forwarding
networks as well as in end-to-end tunneled environments. In networks networks as well as in end-to-end tunneled environments. In networks
where there are multiple route reflectors and hop-by-hop forwarding where there are multiple route reflectors and hop-by-hop forwarding
without encapsulation, such optimizations SHOULD be enabled in a without encapsulation, such optimizations SHOULD be consistently
consistent way on all route reflectors. Otherwise, clients may enabled on all route reflectors. Otherwise, clients may receive an
receive an inconsistent view of the network, in turn leading to inconsistent view of the network, in turn leading to intra-domain
intra-domain forwarding loops. forwarding loops.
As discussed in section 11 of [RFC4456], the IGP locations of BGP As discussed in section 11 of [RFC4456], the IGP locations of BGP
route reflectors is important and has routing implications. This route reflectors is important and has routing implications. This
equally applies to the choice of the IGP locations configured on equally applies to the choice of the IGP locations configured on
optimal route reflectors. If a backup location is provided, it is optimal route reflectors. If a backup location is provided, it is
used when the primary IGP location disappears from the IGP (i.e. 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 fails). Just like the failure of a RR [RFC4456], it may result in
changing the paths selected and advertised to the clients and in changing the paths selected and advertised to the clients and in
general the post-failure paths are expected to be less optimal. This general the post-failure paths are expected to be less optimal. This
is dependent on the IGP topologies and the IGP distance between the is dependent on the IGP topologies and the IGP distance between the
skipping to change at page 8, line 5 skipping to change at page 8, line 5
to the edge of the network in order to perform hot potato routing. to the edge of the network in order to perform hot potato routing.
Modifying the IGP location of BGP ORR does not interfere with Modifying the IGP location of BGP ORR does not interfere with
policies enforced before IGP tie-breaking (step e) in the BGP policies enforced before IGP tie-breaking (step e) in the BGP
Decision Process Route. Decision Process Route.
Calculating routes for different IGP locations requires multiple SPF Calculating routes for different IGP locations requires multiple SPF
calculations and multiple (subsets of) BGP Decision Processes, which calculations and multiple (subsets of) BGP Decision Processes, which
requires more computing resources. This document allows for requires more computing resources. This document allows for
different granularity such as one Decision Process per route different granularity such as one Decision Process per route
reflector, per set of clients or per client. A more fine grained reflector, per set of clients or per client. A more fine-grained
granularity may translate into more optimal hot potato routing at the granularity may translate into more optimal hot potato routing at the
cost of more computing power. Selecting to configure an IGP location cost of more computing power. Selecting to configure an IGP location
per client has the highest precision as each client can be associated per client has the highest precision as each client can be associated
with their ideal (own) IGP location. However, doing so may have an with their ideal (own) IGP location. However, doing so may have an
impact on the performance (as explained above). Using an IGP impact on the performance (as explained above). Using an IGP
location per set of clients implies a loss of precision, but reduces location per set of clients implies a loss of precision, but reduces
the impact on the performance of the route reflector. Similarly, if the impact on the performance of the route reflector. Similarly, if
an IGP location is selected for the whole routing instance, the an IGP location is selected for the whole routing instance, the
lowest precision is achieved but the performance impact is minimal lowest precision is achieved, but the performance impact is minimal
(both should be equal to the [RFC4456] ones). The ability to run (both should be equal to the [RFC4456] ones). The ability to run
fine grained computations depends on the platform/hardware deployed, fine-grained computations depends on the platform/hardware deployed,
the number of clients, the number of BGP routes and the size of the the number of clients, the number of BGP routes and the size of the
IGP topology. In essence, sizing considerations are similar to the IGP topology. In essence, sizing considerations are similar to the
deployments of BGP Route Reflector. deployments of BGP Route Reflector.
5. Security Considerations 5. Security Considerations
Similarly to [RFC4456], this extension to BGP does not change the This extension provides a new metric value using additional
underlying security issues inherent in the existing IBGP. information for computing routes for BGP router 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 This document does not introduce requirements for any new protection
measures. measures.
6. IANA Considerations 6. IANA Considerations
This document does not request any IANA allocations. This document does not request any IANA allocations.
7. Acknowledgments 7. Acknowledgments
Authors would like to thank Keyur Patel, Eric Rosen, Clarence Authors would like to thank Keyur Patel, Eric Rosen, Clarence
Filsfils, Uli Bornhauser, Russ White, Jakob Heitz, Mike Shand, Jon Filsfils, Uli Bornhauser, Russ White, Jakob Heitz, Mike Shand, Jon
Mitchell, John Scudder, Jeff Haas, Martin Djernaes, Daniele Mitchell, John Scudder, Jeff Haas, Martin Djernaes, Daniele
Ceccarelli, Kieran Milne, Job Snijders, Randy Bush and Alvaro Retana Ceccarelli, Kieran Milne, Job Snijders, Randy Bush, Alvaro Retana and
for their valuable input. Lars Eggert for their valuable input.
8. Contributors 8. Contributors
Following persons substantially contributed to the current format of Following persons substantially contributed to the current format of
the document: the document:
Stephane Litkowski Stephane Litkowski
Cisco System Cisco System
slitkows.ietf@gmail.com slitkows.ietf@gmail.com
skipping to change at page 10, line 31 skipping to change at page 10, line 35
DOI 10.17487/RFC7911, July 2016, DOI 10.17487/RFC7911, July 2016,
<https://www.rfc-editor.org/info/rfc7911>. <https://www.rfc-editor.org/info/rfc7911>.
Authors' Addresses Authors' Addresses
Robert Raszuk (editor) Robert Raszuk (editor)
NTT Network Innovations NTT Network Innovations
Email: robert@raszuk.net Email: robert@raszuk.net
Bruno Decraene (editor)
Orange
Email: bruno.decraene@orange.com
Christian Cassar Christian Cassar
Email: cassar.christian@gmail.com Email: cassar.christian@gmail.com
Erik Aman Erik Aman
Email: erik.aman@aman.se Email: erik.aman@aman.se
Bruno Decraene (editor)
Orange
Email: bruno.decraene@orange.com
Kevin Wang Kevin Wang
Juniper Networks Juniper Networks
10 Technology Park Drive 10 Technology Park Drive
Westford, MA 01886 Westford, MA 01886
USA USA
Email: kfwang@juniper.net Email: kfwang@juniper.net
 End of changes. 20 change blocks. 
38 lines changed or deleted 40 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/