draft-ietf-idr-bgp-optimal-route-reflection-21.txt   draft-ietf-idr-bgp-optimal-route-reflection-22.txt 
IDR Working Group R. Raszuk, Ed. IDR Working Group R. Raszuk, Ed.
Internet-Draft Bloomberg LP Internet-Draft NTT Network Innovations
Intended status: Standards Track C. Cassar Intended status: Standards Track C. Cassar
Expires: December 18, 2020 Tesla Expires: July 19, 2021 Tesla
E. Aman E. Aman
Telia Company
B. Decraene, Ed. B. Decraene, Ed.
Orange Orange
K. Wang K. Wang
Juniper Networks Juniper Networks
June 16, 2020 January 15, 2021
BGP Optimal Route Reflection (BGP-ORR) BGP Optimal Route Reflection (BGP-ORR)
draft-ietf-idr-bgp-optimal-route-reflection-21 draft-ietf-idr-bgp-optimal-route-reflection-22
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 path for their clients standpoint, rather than from the route best path from the standpoint of their clients, rather than from the
reflectors standpoint. Multiple type of granularity are proposed, standpoint of the route reflectors. Multiple types of granularity
from a per client BGP route selection or to a per peer group, are proposed, from a per client BGP route selection or to a per peer
depending on the scaling and precision requirements on route group, depending on the scaling and precision requirements on route
selection. This solution is particularly applicable in deployments selection. This solution is particularly applicable in deployments
using centralized route reflectors, where choosing the best route using centralized route reflectors, where choosing the best route
based on the Route Reflector IGP location is suboptimal. This based on the route reflector IGP location is suboptimal. This
facilitates, for example, best exit point policy (hot potato facilitates, for example, best exit point policy (hot potato
routing). routing).
The solution relies upon all route reflectors learning all paths The solution relies upon all route reflectors learning all paths
which are eligible for consideration. Best path selection is which are eligible for consideration. Best path selection is
performed in each route reflector based on the IGP cost from a performed in each route reflector based on the IGP cost from a
selected location in the link state IGP. selected location in the link state IGP.
Status of This Memo Status of This Memo
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 18, 2020. This Internet-Draft will expire on July 19, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 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. Definitions of Terms Used in This Memo . . . . . . . . . . . 3 1. Definitions of Terms Used in This Memo . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Modifications to BGP Best Path selection . . . . . . . . . . 5 3. Modifications to BGP Best Path selection . . . . . . . . . . 5
3.1. IGP Based Best Path Selection from a different SPT root . 6 3.1. Best Path Selection from a different IGP location . . . . 6
3.1.1. Restriction when BGP next hop is BGP prefix . . . . . 7 3.1.1. Restriction when BGP next hop is BGP prefix . . . . . 7
3.2. Best Path Selections granularity . . . . . . . . . . . . 7 3.2. Multiple Best Path Selections . . . . . . . . . . . . . . 7
4. Solution Interactions . . . . . . . . . . . . . . . . . . . . 8 4. Implementation considerations . . . . . . . . . . . . . . . . 7
4.1. IGP and policy based optimal route refresh . . . . . . . 8 4.1. Likely Deployments and need for backup . . . . . . . . . 7
4.2. Add-paths plus IGP and policy optimal route refresh . . . 8 5. CPU and Memory Scalability . . . . . . . . . . . . . . . . . 8
4.3. Likely Deployments and need for backup . . . . . . . . . 8 6. Advantages and Deployment Considerations . . . . . . . . . . 8
5. CPU and Memory Scalability . . . . . . . . . . . . . . . . . 9 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9
6. Advantages and Deployment Considerations . . . . . . . . . . 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 11 11.1. Normative References . . . . . . . . . . . . . . . . . . 11
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 11.2. Informative References . . . . . . . . . . . . . . . . . 11
11.1. Normative References . . . . . . . . . . . . . . . . . . 12
11.2. Informative References . . . . . . . . . . . . . . . . . 12
Appendix A. Appendix: alternative solutions with limited Appendix A. Appendix: alternative solutions with limited
applicability . . . . . . . . . . . . . . . . . . . 14 applicability . . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Definitions of Terms Used in This Memo 1. Definitions of Terms Used in This Memo
NLRI - Network Layer Reachability Information. NLRI - Network Layer Reachability Information
RIB - Routing Information Base.
AS - Autonomous System number. RIB - Routing Information Base
AS - Autonomous System number
VRF - Virtual Routing and Forwarding instance. VRF - Virtual Routing and Forwarding instance
PE - Provider Edge router PE - Provider Edge router
RR - Route Reflector RR - Route Reflector
POP - Point Of Presence POP - Point Of Presence
L3VPN - Layer 3 Virtual Private Networks [RFC4364] L3VPN - Layer 3 Virtual Private Network [RFC4364]
6PE - IPv6 Provider Edge Router 6PE - IPv6 Provider Edge [RFC4798]
IGP - Interior Gateway Protocol IGP - Interior Gateway Protocol
SPT - Shortest Path Tree SPT - Shortest Path Tree
best path - the route chosen by the decision process detailed in best path - the route chosen by the decision process detailed in
[RFC 4271] section 9.1.2 and its subsections [RFC4271] section 9.1.2 and its subsections
best path computation - the decision process detailed in [RFC 4271] best path computation - the decision process detailed in [RFC4271]
section 9.1.2 and its subsections section 9.1.2 and its subsections
best path algorithm - the decision process detailed in [RFC 4271] best path algorithm - the decision process detailed in [RFC4271]
section 9.1.2 and its subsections section 9.1.2 and its subsections
best path selection - the decision process detailed in [RFC 4271] best path selection - the decision process detailed in [RFC4271]
section 9.1.2 and its subsections section 9.1.2 and its subsections
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 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.
2. Introduction 2. Introduction
skipping to change at page 4, line 4 skipping to change at page 3, line 46
"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.
2. Introduction 2. 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
path selection. path selection.
[RFC4456] asserts that, because the Interior Gateway Protocol (IGP) [RFC4456] asserts that, because the IGP cost to a given point in the
cost to a given point in the network will vary across routers, "the network will vary across routers, "the route reflection approach may
route reflection approach may not yield the same route selection not yield the same route selection result as that of the full IBGP
result as that of the full IBGP mesh approach." One practical mesh approach." One practical implication of this assertion is that
implication of this assertion is that the deployment of route the deployment of route reflection may thwart the ability to achieve
reflection may thwart the ability to achieve hot potato routing. Hot hot potato routing. Hot potato routing attempts to direct traffic to
potato routing attempts to direct traffic to the best AS exit point the closest AS exit point in cases where no higher priority policy
in cases where no higher priority policy dictates otherwise. As a dictates otherwise. As a consequence of the route reflection method,
consequence of the route reflection method, the choice of exit point the choice of exit point for a route reflector and its clients will
for a route reflector and its clients will be the exit point best for be the exit point that is optimal for the route reflector - not
the route reflector - not necessarily the one best for the route necessarily the one that is optimal for its clients.
reflector 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 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 traditionally often with these design rules, route reflectors have traditionally often
been deployed in the forwarding path and carefully placed on the POP been deployed in the forwarding path and carefully placed on the POP
to core boundaries. to core 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 of the forwarding path.
Initially this model was only employed for new address families, e.g. Initially this model was only employed for new address families, e.g.
L3VPNs and L2VPNs, however it has been gradually extended to other L3VPNs and L2VPNs, however it has been gradually extended to other
skipping to change at page 4, line 46 skipping to change at page 4, line 38
policy remains desirable. policy remains desirable.
Route reflectors outside of the forwarding path can be placed on the Route reflectors outside of the forwarding path can be placed on the
POP to core boundaries, but they are often placed in arbitrary POP to core boundaries, but they are often placed in arbitrary
locations in the core of large networks. 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
best path selection: A route reflector with knowledge of multiple best path 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.
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 which 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.
3. Modifications to BGP Best Path selection 3. Modifications to BGP Best Path 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
on a per route reflector basis, or per peer/update group basis, or the IGP location for which the route reflector should calculate
per peer basis the IGP location of the route reflector. This core routes. This can be done on a per route reflector basis, per peer/
ability enables the route reflector to send to a given group of update group basis, or per peer basis. This ability enables the
clients routes with shortest distance to the next hops from the route reflector to send to a given set of clients routes with
position of the selected IGP location. This core ability provides shortest distance to the next hops from the position of the selected
for freedom of route reflector physical location, and allows IGP location. This provides for freedom of route reflector physical
transient or permanent migration of this network control plane location, and allows transient or permanent migration of this network
function to an arbitrary location. control plane function to an arbitrary location.
The choice of specific granularity (route reflector basis, peer/ The choice of specific granularity (route reflector, peer/update
update group basis, or peer peer basis) is configured by the network group, or peer) is configured by the network operator. An
operator. An implementation is considered compliant with the implementation is considered compliant with this document if it
document if it supports at least one listed grouping of IGP location. supports at least 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:
it can, and usually will, have a different position in the IGP o it can, and usually will, have a different position in the IGP
topology, and topology, and
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, on BGP Route Reflectors [RFC4456], two changes This document defines, on BGP Route Reflectors [RFC4456], two changes
to the BGP Best Path selection algorithm: to the BGP Best Path selection algorithm:
The first change is related to the IGP cost to the BGP Next Hop, o The first change, introduced in Section 3.1, is related to the IGP
which is done in the step e) in the BGP decision process. The cost to the BGP Next Hop in the BGP decision process. The change
change consists in using the IGP cost from a different source than consists in using the IGP cost from a different IGP location than
the route reflector itself. the route reflector itself.
The second change is the granularity of the BGP decision process, o The second change, introduced in Section 3.2, is to extend the
to allow for running multiple decisions process using different granularity of the BGP decision process, to allow for running
perspective or policies. multiple decisions process using different perspective or
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
clients themselves would have chosen given the same set of candidate clients themselves would have chosen given the same set of candidate
paths. paths.
Both modifications rely upon all route reflectors learning all paths
that are eligible for consideration. In order to satisfy this
requirement, path diversity enhancing mechanisms such as add-path may
need to be deployed between route reflectors.
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 run new software or hardware. reflector clients do not need to run new software or hardware.
3.1. IGP Based Best Path Selection from a different SPT root 3.1. Best Path Selection from a different IGP location
In this approach, optimal refers to the decision made during best In this approach, optimal refers to the decision made during best
path selection at the IGP metric to BGP next hop comparison step. path selection at the IGP metric to BGP next hop comparison step. It
This approach does not apply to path selection preference based on does not apply to path selection preference based on other policy
other policy steps and provisions. steps and provisions.
In addition to the change specified in [RFC4456] section 9, the BGP In addition to the change specified in [RFC4456] section 9, the BGP
Decision Process Tie Breaking rules ([RFC4271] Sect. 9.1.2.2) are Decision Process tie-breaking rules ([RFC4271] section 9.1.2.2) are
modified as follows. modified as follows.
The below text in step e) The below text in step e)
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: ...is replaced by this new text:
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 on NEXT_HOP for the route using the shortest IGP path tree rooted at
the selected IGP location. the selected IGP location.
This extension requires the knowledge of the IGP topology in order to In order to be able to compute the shortest path tree rooted at the
be able to compute the shortest path tree rooted on any location and selected IGP locations, knowledge of the IGP topology for the area/
in particular on the selected IGP locations. This knowledge can be level that includes each of those locations is needed. This
gained with the use of the link state IGP such as IS-IS [ISO10589] or knowledge can be gained with the use of the link state IGP such as
OSPF [RFC2328] [RFC5340] or via BGP-LS [RFC7752]. If an IGP is used, IS-IS [ISO10589] or OSPF [RFC2328] [RFC5340] or via BGP-LS [RFC7752].
the selected IGP location MUST to be within the area/level of the
IGP.
The configuration of the IGP location is outside of the scope of this The configuration of the IGP location is outside of the scope of this
document. The operator may configure it manually, implementation may document. The operator may configure it manually, an implementation
automate it based on heuristics, or it can be computed centrally and may automate it based on heuristics, or it can be computed centrally
configured by an external system. and configured by an external system.
This solution does not require any change (BGP or IGP) on the This solution does not require any change (BGP or IGP) on the
clients, as all required changes are limited to the route reflector. clients, as all required changes are limited to the route reflector.
This solution applies to NLRIs of all address families, that can be This solution applies to NLRIs of all address families that can be
route reflected. route reflected.
3.1.1. Restriction when BGP next hop is BGP prefix 3.1.1. Restriction when BGP next hop is 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 SHOULD treat such BGP of the final IGP metric to a recursive next hop SHOULD treat such
paths as least preferred during next hop metric comparison. However paths as least preferred during next hop metric comparison. However
such paths SHOULD still be considered valid for best path selection. such paths SHOULD still be considered valid for best path selection.
3.2. Best Path Selections granularity 3.2. Multiple Best Path Selections
BGP Route Reflector as per [RFC4456] runs the usual single Best Path
Selection used to compute the node's routing table. This may be
suboptimal or even not usuable when the Route Reflector clients has
significantly different IGP locations or BGP policies. In some
cases, there is a need to compute the Best Path Selection with an
increased granularity, such as per peer/update group or per client
basis.
This requires running multiple best path selections or multiple
subset of the best path selection. If the required routing
optimization is limited to the IGP cost to the BGP Next-Hop, which is
typical if the goal is hot potato routing or a routing (more) similar
to the one resulting from an iBGP full mesh between clients, only the
step e) as defined [RFC4271] Sect. 9.1.2.2, needs to be duplicated
on a per granularity basis. If the routing routing optimization
requires the use of different BGP policy for each element (e.g.
peer), the a larger part of the decision process needs to be
duplicated, up to the whole decision 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 compute different degree of preference
during Pahse 1. This nedded for use cases involved traffic
engineering perspective, or dedicating certain exit points for
certain clients points.
In the latter case, the user MAY specify and apply a general policy
on the route reflector to select a subset of exit points as the
candidate exit points for its clients. For a given client, the
policy SHOULD also allow the operator to select different candidate
exit points for different address families. Regular path selection,
including client's perspective IGP based best path selection stated
above, will be applied to the candidate paths to select the final
paths to advertise to the clients.
4. Solution Interactions
4.1. IGP and policy based optimal route refresh
Depending on the actual deployment scenarios, service providers may BGP Route Reflector as per [RFC4456] runs a single best path
configure IGP based optimal route reflection or policy based optimal selection. Optimal route reflection may require calculation of
route reflection. It is also possible to configure both approaches multiple best path selections or subsets of best path selection in
together. In cases where both are configured together, policy based order to consider different IGP locations or BGP policies for
optimal route reflection MUST be applied first to select the different sets of clients.
candidate paths, then IGP based optimal route reflection can be
applied on top of the candidate paths to select the final path to
advertise to the client.
The expected use case for optimal route reflection is to avoid If the required routing optimization is limited to the IGP cost to
reflecting all paths to the client because the client either: does the BGP Next-Hop, only step e) as defined [RFC4271] section 9.1.2.2,
not support add-paths or does not have the capacity to process all of needs to be duplicated.
the paths. Typically the route reflector would just reflect a single
optimal route to the client. However, the solutions MUST NOT prevent
reflecting more than one optimal path to the client as path diversity
may be desirable for load balancing or fast restoration. In cases
where add-path and optimal route reflection are configured together,
the route reflector MUST reflect n optimal paths to a client, where n
is the add-path count.
4.2. Add-paths plus IGP and policy optimal route refresh If the routing optimization requires the use of different BGP
policies for different sets of clients, a larger part of the decision
process needs to be duplicated, up to the whole decision 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 compute different
degree of preference during Phase 1. This is needed for use cases
involving traffic engineering or dedicating certain exit points for
certain clients. In the latter case, the user MAY specify and apply
a general policy on the route reflector for a set of clients. For a
given set of clients, the policy SHOULD in that case allow the
operator to select different candidate exit points for different
address families. Regular path selection, including IGP perspective
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
clients.
The most complicated scenario is where add-path is configured 4. Implementation considerations
together with both IGP based and policy based optimal route
reflection. In this scenario, the policy based optimal route
reflection MUST be applied first to select the candidate paths (from
add-path). Subsequently, IGP based optimal route reflection will be
applied on top of the candidate paths to select the best n paths to
advertise to the client.
4.3. Likely Deployments and need for backup 4.1. Likely Deployments and need for backup
With IGP based optimal route reflection, even though the IGP location With IGP based optimal route reflection, even though the IGP location
could be specified on a per route reflector basis or per peer/update could be specified on a per route reflector basis or per peer/update
group basis or per peer basis, in reality, it's most likely to be group basis or per peer basis, in reality, it's most likely to be
specified per peer/update group basis. All clients with the same or specified per peer/update group basis. All clients with the same or
similar IGP location can be grouped into the same peer/update group. similar IGP location can be grouped into the same peer/update group.
An IGP location is then specified for the peer/update group. The An IGP location is then specified for the peer/update group. The
location is usually specified as the location of one of the clients location is usually specified as the location of one of the clients
from the peer group or an ABR to the area where clients are located. from the peer group or an ABR to the area where clients are located.
Also, one or more backup locations SHOULD be allowed to be specified Also, one or more backup locations SHOULD be allowed to be specified
skipping to change at page 9, line 24 skipping to change at page 8, line 20
5. CPU and Memory Scalability 5. CPU and Memory Scalability
For IGP based optimal route reflection, determining the shortest path For IGP based optimal route reflection, determining the shortest path
and associated cost between any two arbitrary points in a network and associated cost between any two arbitrary points in a network
based on the IGP topology learned by a router is expected to add some based on the IGP topology learned by a router is expected to add some
extra cost in terms of CPU resources. However, current SPF tree extra cost in terms of CPU resources. However, current SPF tree
generation code is implemented efficiently in a number of generation code is implemented efficiently in a number of
implementations, and therefore this is not expected to be a major implementations, and therefore this is not expected to be a major
drawback. The number of SPTs computed is expected to be of the order drawback. The number of SPTs computed is expected to be of the order
of the number of clients of a route reflector whenever a topology of the number of clients of a route reflector whenever a topology
change is detected. Advanced optimizations like partial and change is detected. It is expected to be higher but comparable to
incremental SPF may also be exploited. The number of SPTs computed some existing deployed features such as (Remote) Loop Free Alternate
is expected to be higher but comparable to some existing deployed which computes a (r)SPT per IGP neighbor.
features such as (Remote) Loop Free Alternate which computes a (r)SPT
per IGP neighbor.
For policy based optimal route reflection, there will be some For policy based optimal route reflection, there will be some
overhead to apply the policy to select the candidate paths. This overhead to apply the policy to select the candidate paths. This
overhead is comparable to existing BGP export policies and therefore overhead is comparable to existing BGP export policies and therefore
should be manageable. should be manageable.
By the nature of route reflection, the number of clients can be split By the nature of route reflection, the number of clients can be split
arbitrarily by the deployment of more route reflectors for a given arbitrarily by the deployment of more route reflectors for a given
number of clients. While this is not expected to be necessary in number of clients. While this is not expected to be necessary in
existing networks with best in class route reflectors available existing networks with best in class route reflectors available
skipping to change at page 10, line 14 skipping to change at page 9, line 5
6. Advantages and Deployment Considerations 6. Advantages and Deployment Considerations
The solutions described provide a model for integrating the client The solutions described provide a model for integrating the client
perspective into the best path computation for route reflectors. perspective into the best path computation for route reflectors.
More specifically, the choice of BGP path factors in either the IGP More specifically, the choice of BGP path factors in either the IGP
cost between the client and the nexthop (rather than the IGP cost cost between the client and the nexthop (rather than the IGP cost
from the route reflector to the nexthop) or other user configured from the route reflector to the nexthop) or other user configured
policies. policies.
The achievement of optimal routing relies upon all route reflectors
learning all paths that are eligible for consideration. In order to
satisfy this requirement, path diversity enhancing mechanisms such as
BGP add-path [RFC7911] may need to be deployed between route
reflectors.
Implementations considered compliant with this document allow the Implementations considered compliant with this document allow the
configuration of a logical location from which the best path will be configuration of a logical location from which the best path will be
computed, on the basis of either a peer, a peer group, or an entire computed, on the basis of either a peer, a peer group, or an entire
routing instance. routing instance.
These solutions can be deployed in traditional hop-by-hop forwarding These solutions 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 enabled in a
consistent way on all route reflectors. Otherwise, clients may consistent way on all route reflectors. Otherwise, clients may
skipping to change at page 10, line 46 skipping to change at page 9, line 43
lower than what would be required to achieve the same level of lower than what would be required to achieve the same level of
optimality by pushing and retaining all available paths (potentially optimality by pushing and retaining all available paths (potentially
10s) per each prefix at the edge. 10s) per each prefix at the edge.
The solutions above allow for a fast and safe transition to a BGP The solutions above allow for a fast and safe transition to a BGP
control plane using centralized route reflection, without control plane using centralized route reflection, without
compromising an operator's closest exit operational principle. This compromising an operator's closest exit operational principle. This
enables edge-to-edge LSP/IP encapsulation for traffic to IPv4 and enables edge-to-edge LSP/IP encapsulation for traffic to IPv4 and
IPv6 prefixes. IPv6 prefixes.
Regarding the client's IGP best-path selection, it should be self Regarding Best Path Selection from a different IGP location, it
evident that this solution does not interfere with policies enforced should be self evident that this solution does not interfere with
above IGP tie breaking in the BGP best path algorithm. policies enforced above IGP tie-breaking in the BGP best path
algorithm.
7. Security Considerations 7. 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 [RFC4456]. underlying security issues inherent in the existing IBGP [RFC4456].
It however enables the deployment of base BGP Route Reflection as It however enables the deployment of base BGP Route Reflection as
described in [RFC4456] to be possible using virtual compute described in [RFC4456] to be possible using virtual compute
environments without any negative consequence on the BGP routing path environments without any negative consequence on the BGP routing path
optimality. optimality.
skipping to change at page 11, line 40 skipping to change at page 10, line 35
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 and Randy Bush for their
valuable input. valuable input.
10. Contributors 10. 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
Orange Cisco System
9 rue du chene germain
Cesson Sevigne, 35512 slitkows.ietf@gmail.com
France
stephane.litkowski@orange.com
Adam Chappell Adam Chappell
Interoute Communications GTT Communications, Inc.
31st Floor Aspira Business Centre
25 Canada Square Bucharova 2928/14a
London, E14 5LQ 158 00 Prague 13 Stodulky
United Kingdom Czech Republic
adam.chappell@interoute.com adam.chappell@gtt.net
11. References 11. References
11.1. Normative References 11.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>.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route
Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, Reflection: An Alternative to Full Mesh Internal BGP
February 2006, <https://www.rfc-editor.org/info/rfc4360>. (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006,
<https://www.rfc-editor.org/info/rfc4456>.
[RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement
with BGP-4", RFC 5492, DOI 10.17487/RFC5492, February
2009, <https://www.rfc-editor.org/info/rfc5492>.
[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>.
11.2. Informative References 11.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 10589:2002, Second Edition, Nov 2002. IEC 10589:2002, Second Edition, Nov 2002.
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities
Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996,
<https://www.rfc-editor.org/info/rfc1997>.
[RFC1998] Chen, E. and T. Bates, "An Application of the BGP
Community Attribute in Multi-home Routing", RFC 1998,
DOI 10.17487/RFC1998, August 1996,
<https://www.rfc-editor.org/info/rfc1998>.
[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>.
[RFC4384] Meyer, D., "BGP Communities for Data Collection", BCP 114, [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
RFC 4384, DOI 10.17487/RFC4384, February 2006, Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
<https://www.rfc-editor.org/info/rfc4384>. 2006, <https://www.rfc-editor.org/info/rfc4364>.
[RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route
Reflection: An Alternative to Full Mesh Internal BGP
(IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006,
<https://www.rfc-editor.org/info/rfc4456>.
[RFC4893] Vohra, Q. and E. Chen, "BGP Support for Four-octet AS
Number Space", RFC 4893, DOI 10.17487/RFC4893, May 2007,
<https://www.rfc-editor.org/info/rfc4893>.
[RFC5283] Decraene, B., Le Roux, JL., and I. Minei, "LDP Extension [RFC4798] De Clercq, J., Ooms, D., Prevost, S., and F. Le Faucheur,
for Inter-Area Label Switched Paths (LSPs)", RFC 5283, "Connecting IPv6 Islands over IPv4 MPLS Using IPv6
DOI 10.17487/RFC5283, July 2008, Provider Edge Routers (6PE)", RFC 4798,
<https://www.rfc-editor.org/info/rfc5283>. DOI 10.17487/RFC4798, February 2007,
<https://www.rfc-editor.org/info/rfc4798>.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
<https://www.rfc-editor.org/info/rfc5340>. <https://www.rfc-editor.org/info/rfc5340>.
[RFC5668] Rekhter, Y., Sangli, S., and D. Tappan, "4-Octet AS
Specific BGP Extended Community", RFC 5668,
DOI 10.17487/RFC5668, October 2009,
<https://www.rfc-editor.org/info/rfc5668>.
[RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework",
RFC 5714, DOI 10.17487/RFC5714, January 2010,
<https://www.rfc-editor.org/info/rfc5714>.
[RFC6774] Raszuk, R., Ed., Fernando, R., Patel, K., McPherson, D., [RFC6774] Raszuk, R., Ed., Fernando, R., Patel, K., McPherson, D.,
and K. Kumaki, "Distribution of Diverse BGP Paths", and K. Kumaki, "Distribution of Diverse BGP Paths",
RFC 6774, DOI 10.17487/RFC6774, November 2012, RFC 6774, DOI 10.17487/RFC6774, November 2012,
<https://www.rfc-editor.org/info/rfc6774>. <https://www.rfc-editor.org/info/rfc6774>.
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and
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>.
skipping to change at page 15, line 29 skipping to change at page 13, line 40
The latter can be a viable option, but it is clearly a decision that The latter can be a viable option, but it is clearly a decision that
needs to be made on an application and address family basis, with needs to be made on an application and address family basis, with
strong consideration for the number of available paths per prefix strong consideration for the number of available paths per prefix
(which may even vary per prefix range, depending on peering policy, (which may even vary per prefix range, depending on peering policy,
e.g. consider bilateral peerings versus onward transit arrangements) e.g. consider bilateral peerings versus onward transit arrangements)
Authors' Addresses Authors' Addresses
Robert Raszuk (editor) Robert Raszuk (editor)
Bloomberg LP NTT Network Innovations
731 Lexington Ave
New York City, NY 10022
USA
Email: robert@raszuk.net Email: robert@raszuk.net
Christian Cassar Christian Cassar
Tesla Tesla
43 Avro Way 43 Avro Way
Weybridge KT13 0XY Weybridge KT13 0XY
UK UK
Email: ccassar@tesla.com Email: ccassar@tesla.com
skipping to change at page 15, line 43 skipping to change at page 14, line 4
Email: robert@raszuk.net Email: robert@raszuk.net
Christian Cassar Christian Cassar
Tesla Tesla
43 Avro Way 43 Avro Way
Weybridge KT13 0XY Weybridge KT13 0XY
UK UK
Email: ccassar@tesla.com Email: ccassar@tesla.com
Erik Aman Erik Aman
Telia Company
Solna SE-169 94
Sweden
Email: erik.aman@teliacompany.com 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
 End of changes. 63 change blocks. 
233 lines changed or deleted 151 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/