draft-ietf-idr-bgp-optimal-route-reflection-23.txt | draft-ietf-idr-bgp-optimal-route-reflection-24.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 C. Cassar | |||
Expires: November 13, 2021 Tesla | Expires: December 2, 2021 | |||
E. Aman | E. Aman | |||
B. Decraene, Ed. | B. Decraene, Ed. | |||
Orange | Orange | |||
K. Wang | K. Wang | |||
Juniper Networks | Juniper Networks | |||
May 12, 2021 | May 31, 2021 | |||
BGP Optimal Route Reflection (BGP-ORR) | BGP Optimal Route Reflection (BGP-ORR) | |||
draft-ietf-idr-bgp-optimal-route-reflection-23 | draft-ietf-idr-bgp-optimal-route-reflection-24 | |||
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 November 13, 2021. | This Internet-Draft will expire on December 2, 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 2, line 37 ¶ | skipping to change at page 2, line 37 ¶ | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Modifications to BGP Route Selection . . . . . . . . . . . . 4 | 3. Modifications to BGP Route Selection . . . . . . . . . . . . 4 | |||
3.1. Route Selection from a different IGP location . . . . . . 5 | 3.1. Route Selection from a different IGP location . . . . . . 5 | |||
3.1.1. Restriction when BGP next hop is a BGP prefix . . . . 6 | 3.1.1. Restriction when BGP next hop is a BGP prefix . . . . 6 | |||
3.2. Multiple Route Selections . . . . . . . . . . . . . . . . 6 | 3.2. Multiple Route Selections . . . . . . . . . . . . . . . . 6 | |||
4. Deployment Considerations . . . . . . . . . . . . . . . . . . 6 | 4. Deployment Considerations . . . . . . . . . . . . . . . . . . 6 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 9 | 9.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
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 | today: full mesh, confederations and route reflection. BGP route | |||
reflection [RFC4456] is the most popular way to distribute BGP routes | reflection [RFC4456] is the most popular way to distribute BGP routes | |||
between BGP speakers belonging to the same Autonomous System. | between BGP speakers belonging to the same Autonomous System. | |||
However, in some situations, this method suffers from non-optimal | However, in some situations, this method suffers from non-optimal | |||
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 and may be configured on a per route reflector basis, | IGP topology, it is identified by an IP address of this node (e.g. a | |||
per set of clients, or per client basis. This ability enables the | loopback address), and may be configured on a per route reflector | |||
route reflector to send to a given set of clients routes with | 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 | 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. | |||
skipping to change at page 5, line 45 ¶ | skipping to change at page 5, line 45 ¶ | |||
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 at | |||
the selected IGP location. | 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 BGP-LS [RFC7752]. | |||
One or more backup IGP locations SHOULD be allowed to be specified | ||||
The way the IGP location is configured is outside the scope of this | for redundancy. | |||
document. The operator may configure it manually, an implementation | ||||
may automate it based on heuristics, or it can be computed centrally | ||||
and configured by an external system. One or more backup locations | ||||
SHOULD be allowed to be specified 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 can not inform | |||
BGP of the final IGP metric to a recursive next hop MUST treat such | BGP of the final IGP metric to a recursive next hop MUST treat such | |||
paths as least preferred during next hop metric comparison. However | paths as least preferred during next hop metric comparison. However | |||
such paths MUST still be considered valid for BGP Phase 2 Route | such paths MUST still be considered valid for BGP Phase 2 Route | |||
Selection. | Selection. | |||
skipping to change at page 7, line 21 ¶ | skipping to change at page 7, line 21 ¶ | |||
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 enabled in a | |||
consistent way on all route reflectors. Otherwise, clients may | consistent way on all route reflectors. Otherwise, clients may | |||
receive an inconsistent view of the network, in turn leading to | receive an inconsistent view of the network, in turn leading to | |||
intra-domain forwarding loops. | intra-domain 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. After selecting suitable IGP locations, an | optimal route reflectors. If a backup location is provided, it is | |||
operator may let one or multiple route reflectors handle route | used when the primary IGP location disappears from the IGP (i.e. | |||
selection for all of them. The operator may alternatively deploy one | fails). Just like the failure of a RR [RFC4456], it may result in | |||
or multiple route reflector for each IGP location or create any | changing the paths selected and advertised to the clients and in | |||
design in between. This choice may depend on operational model | general the post-failure paths are expected to be less optimal. This | |||
(centralized vs per region), acceptable blast radius in case of | is dependent on the IGP topologies and the IGP distance between the | |||
failure, acceptable number of IBGP sessions for the mesh between the | primary and the backup IGP locations: the smaller the distance the | |||
route reflectors, performance and configuration granularity of the | smaller the potential impact. | |||
equipment. | ||||
After selecting suitable IGP locations, an operator may let one or | ||||
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 | 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 switching has been replaced by end-to-end MPLS or IP | and hop-by-hop switching 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 ORR reduces the amount of state which needs to be pushed | 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. | 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. The ability to run fine grained | cost of more computing power. Selecting to configure an IGP location | |||
computations depends on the platform/hardware deployed, the number of | per client has the highest precision as each client can be associated | |||
clients, the number of BGP routes and the size of the IGP topology. | with their ideal (own) IGP location. However, doing so may have an | |||
In essence, sizing considerations are similar to the deployments of | impact on the performance (as explained above). Using an IGP | |||
BGP Route Reflector. | 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. | ||||
5. Security Considerations | 5. Security Considerations | |||
Similarly to [RFC4456], this extension to BGP does not change the | Similarly to [RFC4456], this extension to BGP does not change the | |||
underlying security issues inherent in the existing IBGP. | underlying security issues inherent in the existing IBGP. | |||
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 and Randy Bush for their | Ceccarelli, Kieran Milne, Job Snijders, Randy Bush and Alvaro Retana | |||
valuable input. | 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 13 ¶ | skipping to change at page 10, line 32 ¶ | |||
<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 | |||
Christian Cassar | Christian Cassar | |||
Tesla | ||||
43 Avro Way | ||||
Weybridge KT13 0XY | ||||
UK | ||||
Email: ccassar@tesla.com | Email: cassar.christian@gmail.com | |||
Erik Aman | Erik Aman | |||
Email: erik.aman@aman.se | Email: erik.aman@aman.se | |||
Bruno Decraene (editor) | Bruno Decraene (editor) | |||
Orange | Orange | |||
Email: bruno.decraene@orange.com | 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. 13 change blocks. | ||||
37 lines changed or deleted | 45 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/ |