rfc9107.original | rfc9107.txt | |||
---|---|---|---|---|
IDR Working Group R. Raszuk, Ed. | Internet Engineering Task Force (IETF) R. Raszuk, Ed. | |||
Internet-Draft NTT Network Innovations | Request for Comments: 9107 NTT Network Innovations | |||
Intended status: Standards Track B. Decraene, Ed. | Category: Standards Track B. Decraene, Ed. | |||
Expires: December 19, 2021 Orange | ISSN: 2070-1721 Orange | |||
C. Cassar | C. Cassar | |||
E. Aman | E. Aman | |||
K. Wang | K. Wang | |||
Juniper Networks | Juniper Networks | |||
June 17, 2021 | August 2021 | |||
BGP Optimal Route Reflection (BGP ORR) | BGP Optimal Route Reflection (BGP ORR) | |||
draft-ietf-idr-bgp-optimal-route-reflection-28 | ||||
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 themselves. Depending on the | |||
precision requirements, route selection can be specific for one | scaling and precision requirements, route selection can be specific | |||
client, common for a set of clients or common for all clients of a | for one client, common for a set of clients, or common for all | |||
route reflector. This solution is particularly applicable in | clients of a route reflector. This solution is particularly | |||
deployments using centralized route reflectors, where choosing the | applicable in deployments using centralized route reflectors, where | |||
best route based on the route reflector's IGP location is suboptimal. | choosing the best route based on the route reflector's IGP location | |||
This facilitates, for example, best exit point policy (hot potato | is suboptimal. This facilitates, for example, a "best exit point" | |||
routing). | policy ("hot potato routing"). | |||
The solution relies upon all route reflectors learning all paths | The solution relies upon all route reflectors learning all paths that | |||
which are eligible for consideration. BGP Route Selection is | are eligible for consideration. BGP route selection is performed in | |||
performed in the route reflectors based on the IGP cost from | the route reflectors based on the IGP cost from configured locations | |||
configured locations in the link state IGP. | in the link-state IGP. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on December 19, 2021. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9107. | ||||
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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology | |||
3. Modifications to BGP Route Selection . . . . . . . . . . . . 4 | 3. Modifications to BGP Route Selection | |||
3.1. Route Selection from a different IGP location . . . . . . 5 | 3.1. Route Selection from a Different IGP Location | |||
3.1.1. Restriction when BGP next hop is a BGP route . . . . 6 | 3.1.1. Restriction when the BGP Next Hop Is a BGP Route | |||
3.2. Multiple Route Selections . . . . . . . . . . . . . . . . 6 | 3.2. Multiple Route Selections | |||
4. Deployment Considerations . . . . . . . . . . . . . . . . . . 6 | 4. Deployment Considerations | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 5. Security Considerations | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 6. IANA Considerations | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 | 7. References | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9 | 7.1. Normative References | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 7.2. Informative References | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | Acknowledgments | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 10 | Contributors | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
There are three types of BGP deployments within Autonomous Systems | There are three types of BGP deployments within Autonomous Systems | |||
today: full mesh, confederations and route reflection. BGP route | (ASes) today: full mesh, confederations, and route reflection. BGP | |||
reflection [RFC4456] is the most popular way to distribute BGP routes | route reflection [RFC4456] is the most popular way to distribute BGP | |||
between BGP speakers belonging to the same Autonomous System. | routes between BGP speakers belonging to the same AS. However, in | |||
However, in some situations, this method suffers from non-optimal | some situations, this method suffers from non-optimal path selection. | |||
path selection. | ||||
[RFC4456] asserts that, because the IGP cost to a given point in the | [RFC4456] asserts that, because the IGP cost to a given point in the | |||
network will vary across routers, "the route reflection approach may | network will vary across routers, "the route reflection approach may | |||
not yield the same route selection result as that of the full | not yield the same route selection result as that of the full IBGP | |||
Internal BGP (IBGP) mesh approach." One practical implication of | mesh approach." ("IBGP" stands for "Internal BGP".) One practical | |||
this fact is that the deployment of route reflection may thwart the | implication of this fact is that the deployment of route reflection | |||
ability to achieve hot potato routing. Hot potato routing attempts | may thwart the ability to achieve "hot potato routing". Hot potato | |||
to direct traffic to the closest Autonomous System (AS) exit point in | routing attempts to direct traffic to the closest AS exit point in | |||
cases where no higher priority policy dictates otherwise. As a | cases where no higher-priority policy dictates otherwise. As a | |||
consequence of the route reflection method, the choice of exit point | 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 | 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 the route reflector -- not necessarily the one that is | |||
optimal for its clients. | optimal for its clients. | |||
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 that, 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 a 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 Point of Presence | the forwarding path and carefully placed on the boundaries between | |||
(POP) to core boundaries. | the Point of Presence (POP) and the network core. | |||
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 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 the IPv4 and IPv6 Internet. In such | services, including the IPv4 and IPv6 Internet. In such | |||
environments, hot potato routing policy remains desirable. | environments, a hot potato routing policy remains desirable. | |||
Route reflectors outside the forwarding path can be placed on the POP | Route reflectors outside the forwarding path can be placed on the | |||
to core boundaries, but they are often placed in arbitrary locations | boundaries between the POP and the network core, but they are often | |||
in the core of large networks. | placed in arbitrary locations 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 route will typically pick its best path and only | paths for a given route 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 | |||
route is selected on the basis of an IGP tie-break, the path | route 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. | |||
In addition, there are deployment scenarios where service providers | In addition, there are deployment scenarios where service providers | |||
want to have more control in choosing the exit points for clients | want to have more control in choosing the exit points for clients | |||
based on other factors, such as traffic type, traffic load, etc. | based on other factors, such as traffic type, traffic load, etc. | |||
This further complicates the issue and makes it less likely for the | This further complicates the issue and makes it less likely for the | |||
route reflector to select the best path from the client's | route reflector to select the best path from the client's | |||
perspective. It follows that the best path chosen by the route | perspective. It follows that the best path chosen by the route | |||
reflector is not necessarily the same as the path which would have | reflector is not necessarily the same as the path that would have | |||
been chosen by the client if the client had considered the same set | been chosen by the client if the client had considered the same set | |||
of candidate paths as the route reflector. | of candidate paths as the route reflector. | |||
2. Terminology | 2. Terminology | |||
This memo makes use of the terms defined in [RFC4271] and [RFC4456]. | This memo makes use of the terms defined in [RFC4271] and [RFC4456]. | |||
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 BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
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 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 per client basis. Such configuration | basis, per set of clients, or on a per-client basis. Such | |||
will allow the route reflector to select and distribute to a given | configuration will allow the route reflector to select and distribute | |||
set of clients routes with shortest distance to the next hops from | to a given set of clients routes with the shortest distance to the | |||
the position of the selected IGP location. This provides for freedom | next hops from the position of the selected IGP location. This | |||
of route reflector physical location, and allows transient or | provides for freedom related to the route reflector's physical | |||
permanent migration of this network control plane function to an | location and allows transient or permanent migration of this network | |||
arbitrary location with no impact to IP transit. | control plane function to an arbitrary location with no impact on IP | |||
transit. | ||||
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 such grouping category. | one such grouping category. | |||
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, | * It has a different position in the IGP topology. | |||
o 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: | |||
o 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. | |||
o 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 decisions processes using different perspective or | multiple Decision Processes using different perspectives or | |||
policies. | policies. | |||
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. | ||||
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's clients do not need to be modified. | |||
3.1. Route Selection from a different IGP location | 3.1. Route Selection from a Different IGP Location | |||
In this approach, optimal refers to the decision where the interior | In this approach, "optimal" refers to the decision where the interior | |||
cost of a route is determined during step e) of [RFC4271] section | cost of a route is determined during step e) of Section 9.1.2.2 | |||
9.1.2.2 "Breaking Ties (Phase 2)". It does not apply to path | ("Breaking Ties (Phase 2)") of [RFC4271]. It does not apply to path | |||
selection preference based on other policy steps and provisions. | selection preference based on other policy steps and provisions. | |||
In addition to the change specified in [RFC4456] section 9, [RFC4271] | In addition to the change specified in Section 9 of [RFC4456], the | |||
section 9.1.2.2 is modified as follows. | text in step e) in Section 9.1.2.2 of [RFC4271] is modified as | |||
follows. | ||||
The below text in step e) | RFC 4271 reads: | |||
e) Remove from consideration any routes with less-preferred | | e) Remove from consideration any routes with less-preferred | |||
interior cost. The interior cost of a route is determined by | | interior cost. The interior cost of a route is determined by | |||
calculating the metric to the NEXT_HOP for the route using the | | calculating the metric to the NEXT_HOP for the route using the | |||
Routing Table. | | Routing Table. | |||
...is replaced by this new text: | This document modifies this text to read: | |||
e) Remove from consideration any routes with less-preferred | | e) Remove from consideration any routes with less-preferred | |||
interior cost. The interior cost of a route is determined by | | interior cost. The interior cost of a route is determined by | |||
calculating the metric from the selected IGP location to the | | calculating the metric from the selected IGP location to the | |||
NEXT_HOP for the route using the shortest IGP path tree rooted at | | NEXT_HOP for the route using the shortest IGP path tree rooted | |||
the selected IGP location. | | at the selected IGP location. | |||
In order to be able to compute the shortest path tree rooted at the | 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/ | selected IGP locations, knowledge of the IGP topology for the area/ | |||
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 the Border | |||
When specifying logical location of a route reflector for a group of | Gateway Protocol - Link State (BGP-LS) [RFC7752]. When specifying | |||
clients one or more backup IGP locations SHOULD be allowed to be | the logical location of a route reflector for a group of clients, one | |||
specified for redundancy. Further deployment considerations are | or more backup IGP locations SHOULD be allowed to be specified for | |||
discussed in Section 4. | redundancy. Further deployment considerations are discussed in | |||
Section 4. | ||||
3.1.1. Restriction when BGP next hop is a BGP route | 3.1.1. Restriction when the BGP Next Hop Is a BGP Route | |||
In situations where the BGP next hop is a BGP route 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 | metric of a route used for its resolution SHOULD be the final IGP | |||
cost to reach such next hop. Implementations which cannot inform BGP | cost to reach such a next hop. Implementations that cannot inform | |||
of the final IGP metric to a recursive next hop MUST treat such paths | BGP of the final IGP metric to a recursive next hop MUST treat such | |||
as least preferred during next hop metric comparison. However, such | paths as least preferred during next-hop metric comparisons. | |||
paths MUST still be considered valid for BGP Phase 2 Route Selection. | However, such paths MUST still be considered valid for BGP Phase 2 | |||
route selection. | ||||
3.2. Multiple Route Selections | 3.2. Multiple Route Selections | |||
BGP Route Reflector as per [RFC4456] runs a single BGP Decision | A BGP route reflector as per [RFC4456] runs a single BGP Decision | |||
Process. Optimal route reflection may require multiple BGP Decision | Process. BGP Optimal Route Reflection (BGP ORR) may require multiple | |||
Processes or subsets of the Decision Process in order to consider | BGP Decision Processes or subsets of the Decision Process in order to | |||
different IGP locations or BGP policies for different sets of | consider different IGP locations or BGP policies for different sets | |||
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, needs 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 example | Process as defined in Section 9.1 of [RFC4271]. This is, for | |||
the case when there is a need to use different policies to compute | example, the case when there is a need to use different policies to | |||
different degree of preference during Phase 1. This is needed for | compute different degrees of preference during Phase 1. This is | |||
use cases involving traffic engineering or dedicating certain exit | needed for use cases involving traffic engineering or dedicating | |||
points for certain clients. In the latter case, the user may specify | certain exit points for certain clients. In the latter case, the | |||
and apply a general policy on the route reflector for a set of | user may specify and apply a general policy on the route reflector | |||
clients. Regular path selection, including IGP perspective for a set | for a set of clients. Regular path selection, including IGP | |||
of clients as per Section 3.1, is then applied to the candidate paths | perspectives for a set of clients as per Section 3.1, is then applied | |||
to select the final paths to advertise to the clients. | to the candidate paths to select the final paths to advertise to the | |||
clients. | ||||
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 | 4. Deployment Considerations | |||
BGP Optimal Route Reflection provides a model for integrating the | BGP ORR provides a model for integrating the client's perspective | |||
client perspective into the BGP Route Selection decision function for | into the BGP route selection Decision Process for route reflectors. | |||
route reflectors. More specifically, the choice of BGP path takes | More specifically, the choice of BGP path takes into account either | |||
into account either the IGP cost between the client and the NEXT_HOP | the IGP cost between the client and the next hop (rather than the IGP | |||
(rather than the IGP cost from the route reflector to the NEXT_HOP) | cost from the route reflector to the next hop) or other user- | |||
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 traditional hop-by-hop forwarding | This solution can be deployed in hop-by-hop forwarding networks as | |||
networks as well as in end-to-end tunneled environments. To avoid | well as in end-to-end tunneled environments. To avoid routing loops | |||
routing loops in networks with multiple route reflectors and hop-by- | in networks with multiple route reflectors and hop-by-hop forwarding | |||
hop forwarding without encapsulation, it is essential that the | without encapsulation, it is essential that the network topology be | |||
network topology be carefully considered in designing a route | carefully considered in designing a route reflection topology (see | |||
reflection topology (see also Section 11 of [RFC4456]). | also Section 11 of [RFC4456]). | |||
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 are important and have 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 route reflector [RFC4456], it may | |||
changing the paths selected and advertised to the clients and in | result in changing the paths selected and advertised to the clients, | |||
general the post-failure paths are expected to be less optimal. This | and in general, the post-failure paths are expected to be less | |||
is dependent on the IGP topologies and the IGP distance between the | optimal. This is dependent on the IGP topologies and the IGP | |||
primary and the backup IGP locations: the smaller the distance the | distance between the primary and backup IGP locations: the smaller | |||
smaller the potential impact. | the distance, the smaller the potential impact. | |||
After selecting suitable IGP locations, an operator may let one or | After selecting N suitable IGP locations, an operator can choose to | |||
multiple route reflectors handle route selection for all of them. | enable route selection for all of them on all or on a subset of their | |||
The operator may alternatively deploy one or multiple route reflector | route reflectors. The operator may alternatively deploy single or | |||
for each IGP location or create any design in between. This choice | multiple (backup case) route reflectors for each IGP location or | |||
may depend on operational model (centralized vs per region), | create any design in between. This choice may depend on the | |||
acceptable blast radius in case of failure, acceptable number of IBGP | operational model (centralized vs. per region), an acceptable blast | |||
sessions for the mesh between the route reflectors, performance and | radius in the case of failure, an acceptable number of IBGP sessions | |||
for the mesh between the route reflectors, performance, and | ||||
configuration granularity of the equipment. | configuration granularity of the equipment. | |||
With this approach, an ISP can effect a hot potato routing policy | With this approach, an ISP can effect a hot potato routing policy | |||
even if route reflection has been moved out of the forwarding plane, | even if route reflection has been moved out of the forwarding plane | |||
and hop-by-hop forwarding 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 | encapsulation. Compared with a deployment of ADD-PATH on all | |||
routers, BGP Optimal Route Reflection (ORR) reduces the amount of | routers, BGP ORR reduces the amount of state that needs to be pushed | |||
state which needs to be pushed to the edge of the network in order to | to the edge of the network in order to perform hot potato routing. | |||
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) of [RFC4271] | policies enforced before IGP tie-breaking (step e) of [RFC4271], | |||
section 9.1.2.2 in the BGP Decision Process. | Section 9.1.2.2) in the BGP Decision Process. | |||
Calculating routes for different IGP locations requires multiple | Calculating routes for different IGP locations requires multiple | |||
Shortest Path First (SPF) calculations and multiple (subsets of) BGP | Shortest Path First (SPF) calculations and multiple (subsets of) BGP | |||
Decision Processes, which requires more computing resources. This | Decision Processes. This scenario calls for more computing | |||
document allows for different granularity such as one Decision | resources. This document allows for different granularity, such as | |||
Process per route reflector, per set of clients or per client. A | one Decision Process per route reflector, per set of clients, or per | |||
more fine-grained granularity may translate into more optimal hot | client. A more fine-grained granularity may translate into more | |||
potato routing at the cost of more computing power. Selecting to | optimal hot potato routing at the cost of more computing power. | |||
configure an IGP location per client has the highest precision as | Choosing to configure an IGP location per client has the highest | |||
each client can be associated with their ideal (own) IGP location. | precision, as each client can be associated with their ideal (own) | |||
However, doing so may have an impact on the performance (as explained | IGP location. However, doing so may have an impact on performance | |||
above). Using an IGP location per set of clients implies a loss of | (as explained above). Using an IGP location per set of clients | |||
precision, but reduces the impact on the performance of the route | implies a loss of precision but reduces the impact on the performance | |||
reflector. Similarly, if an IGP location is selected for the whole | of the route reflector. Similarly, if an IGP location is selected | |||
routing instance, the lowest precision is achieved, but the | for the whole routing instance, the lowest precision is achieved, but | |||
performance impact is minimal. In the last mode of operation both | the impact on performance is minimal. In the last mode of operation | |||
precision as well as perfomance metrics are equal to same metrics | (where an IGP location is selected for the whole routing instance), | |||
when using route reflection as described in [RFC4456] without ORR | both precision and performance metrics are equal to route reflection | |||
extension. The ability to run fine-grained computations depends on | as described in [RFC4456]. The ability to run fine-grained | |||
the platform/hardware deployed, the number of clients, the number of | computations depends on the platform/hardware deployed, the number of | |||
BGP routes and the size of the IGP topology. In essence, sizing | clients, the number of BGP routes, and the size of the IGP topology. | |||
considerations are similar to the deployments of BGP Route Reflector. | In essence, sizing considerations are similar to the deployments of | |||
BGP route reflectors. | ||||
5. Security Considerations | 5. Security Considerations | |||
This extension provides a new metric value using additional | The extension specified in this document provides a new metric value | |||
information for computing routes for BGP route reflectors. While any | using additional information for computing routes for BGP route | |||
improperly used metric value could impact the resiliency of the | reflectors. While any improperly used metric value could impact the | |||
network, this extension does not change the underlying security | resiliency of the network, this extension does not change the | |||
issues inherent in the existing IBGP per [RFC4456]. | 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 has no IANA actions. | |||
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, | ||||
Francesca Palombini, Benjamin Kaduk, Zaheduzzaman Sarker, Lars | ||||
Eggert, Murray Kucherawy, Tom Petch and Nick Hilliard 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 | ||||
Adam Chappell | ||||
GTT Communications, Inc. | ||||
Aspira Business Centre | ||||
Bucharova 2928/14a | ||||
158 00 Prague 13 Stodulky | ||||
Czech Republic | ||||
adam.chappell@gtt.net | ||||
9. References | 7. References | |||
9.1. Normative References | 7.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
DOI 10.17487/RFC4271, January 2006, | DOI 10.17487/RFC4271, January 2006, | |||
<https://www.rfc-editor.org/info/rfc4271>. | <https://www.rfc-editor.org/info/rfc4271>. | |||
skipping to change at page 10, line 5 ¶ | skipping to change at line 400 ¶ | |||
[RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder, | [RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder, | |||
"Advertisement of Multiple Paths in BGP", RFC 7911, | "Advertisement of Multiple Paths in BGP", RFC 7911, | |||
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>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
9.2. Informative References | 7.2. Informative References | |||
[ISO10589] | [ISO10589] International Organization for Standardization, | |||
International Organization for Standardization, | ||||
"Intermediate system to Intermediate system intra-domain | "Intermediate system to Intermediate system intra-domain | |||
routeing information exchange protocol for use in | routeing information exchange protocol for use in | |||
conjunction with the protocol for providing the | conjunction with the protocol for providing the | |||
connectionless-mode Network Service (ISO 8473)", ISO/ | connectionless-mode Network Service (ISO 8473)", ISO/IEC | |||
IEC 10589:2002, Second Edition, Nov 2002. | 10589:2002, Second Edition, November 2002. | |||
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | |||
DOI 10.17487/RFC2328, April 1998, | DOI 10.17487/RFC2328, April 1998, | |||
<https://www.rfc-editor.org/info/rfc2328>. | <https://www.rfc-editor.org/info/rfc2328>. | |||
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | |||
Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | |||
2006, <https://www.rfc-editor.org/info/rfc4364>. | 2006, <https://www.rfc-editor.org/info/rfc4364>. | |||
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF | [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF | |||
skipping to change at page 10, line 38 ¶ | skipping to change at line 432 ¶ | |||
S. Ray, "North-Bound Distribution of Link-State and | S. Ray, "North-Bound Distribution of Link-State and | |||
Traffic Engineering (TE) Information Using BGP", RFC 7752, | Traffic Engineering (TE) Information Using BGP", RFC 7752, | |||
DOI 10.17487/RFC7752, March 2016, | DOI 10.17487/RFC7752, March 2016, | |||
<https://www.rfc-editor.org/info/rfc7752>. | <https://www.rfc-editor.org/info/rfc7752>. | |||
[RFC7947] Jasinska, E., Hilliard, N., Raszuk, R., and N. Bakker, | [RFC7947] Jasinska, E., Hilliard, N., Raszuk, R., and N. Bakker, | |||
"Internet Exchange BGP Route Server", RFC 7947, | "Internet Exchange BGP Route Server", RFC 7947, | |||
DOI 10.17487/RFC7947, September 2016, | DOI 10.17487/RFC7947, September 2016, | |||
<https://www.rfc-editor.org/info/rfc7947>. | <https://www.rfc-editor.org/info/rfc7947>. | |||
Acknowledgments | ||||
The 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 Djernæs, Daniele | ||||
Ceccarelli, Kieran Milne, Job Snijders, Randy Bush, Alvaro Retana, | ||||
Francesca Palombini, Benjamin Kaduk, Zaheduzzaman Sarker, Lars | ||||
Eggert, Murray Kucherawy, Tom Petch, and Nick Hilliard for their | ||||
valuable input. | ||||
Contributors | ||||
The following persons contributed substantially to the current format | ||||
of the document: | ||||
Stephane Litkowski | ||||
Cisco Systems | ||||
Email: slitkows.ietf@gmail.com | ||||
Adam Chappell | ||||
GTT Communications, Inc. | ||||
Aspira Business Centre | ||||
Bucharova 2928/14a | ||||
158 00 Prague 13 Stodůlky | ||||
Czech Republic | ||||
Email: adam.chappell@gtt.net | ||||
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) | Bruno Decraene (editor) | |||
Orange | Orange | |||
skipping to change at page 11, line 15 ¶ | skipping to change at line 484 ¶ | |||
Email: cassar.christian@gmail.com | Email: cassar.christian@gmail.com | |||
Erik Aman | Erik Aman | |||
Email: erik.aman@aman.se | Email: erik.aman@aman.se | |||
Kevin Wang | Kevin Wang | |||
Juniper Networks | Juniper Networks | |||
10 Technology Park Drive | 10 Technology Park Drive | |||
Westford, MA 01886 | Westford, MA 01886 | |||
USA | United States of America | |||
Email: kfwang@juniper.net | Email: kfwang@juniper.net | |||
End of changes. 62 change blocks. | ||||
240 lines changed or deleted | 241 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/ |