< draft-ietf-idr-bgp-optimal-route-reflection-18.txt   draft-ietf-idr-bgp-optimal-route-reflection-19.txt >
IDR Working Group R. Raszuk, Ed. IDR Working Group R. Raszuk, Ed.
Internet-Draft Bloomberg LP Internet-Draft Bloomberg LP
Intended status: Standards Track C. Cassar Intended status: Standards Track C. Cassar
Expires: October 5, 2019 Tesla Expires: January 9, 2020 Tesla
E. Aman E. Aman
Telia Company Telia Company
B. Decraene B. Decraene
Orange Orange
K. Wang K. Wang
Juniper Networks Juniper Networks
April 3, 2019 July 8, 2019
BGP Optimal Route Reflection (BGP-ORR) BGP Optimal Route Reflection (BGP-ORR)
draft-ietf-idr-bgp-optimal-route-reflection-18 draft-ietf-idr-bgp-optimal-route-reflection-19
Abstract Abstract
This document proposes a solution for BGP route reflectors to allow This document proposes a solution for BGP route reflectors to allow
them to choose the best path for their clients that the clients them to choose the best path for their clients that the clients
themselves would have chosen under the same conditions, without themselves would have chosen under the same conditions, without
requiring further state or any new features to be placed on the requiring further state or any new features to be placed on the
clients. This facilitates, for example, best exit point policy (hot clients. This facilitates, for example, best exit point policy (hot
potato routing). This solution is primarily applicable in potato routing). This solution is primarily applicable in
deployments using centralized route reflectors. deployments using centralized route reflectors.
skipping to change at page 2, line 4 skipping to change at page 2, line 4
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 October 5, 2019. This Internet-Draft will expire on January 9, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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 28 skipping to change at page 2, line 28
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 . . . . . . . . . . . 2 1. Definitions of Terms Used in This Memo . . . . . . . . . . . 2
2. Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Problem Statement . . . . . . . . . . . . . . . . . . . . 4 3.1. Problem Statement . . . . . . . . . . . . . . . . . . . . 4
3.2. Existing/Alternative Solutions . . . . . . . . . . . . . 5 3.2. Existing/Alternative Solutions . . . . . . . . . . . . . 5
4. Proposed Solutions . . . . . . . . . . . . . . . . . . . . . 6 4. Two Proposed Solutions . . . . . . . . . . . . . . . . . . . 6
4.1. Client's Perspective IGP Based Best Path Selection . . . 7 4.1. Client's Perspective IGP Based Best Path Selection . . . 7
4.1.1. Restriction when BGP next hop is BGP prefix . . . . . 8
4.2. Client's Perspective Policy Based Best Path Selection . . 8 4.2. Client's Perspective Policy Based Best Path Selection . . 8
4.3. Solution Interactions . . . . . . . . . . . . . . . . . . 8 4.3. Solution Interactions . . . . . . . . . . . . . . . . . . 9
5. CPU and Memory Scalability . . . . . . . . . . . . . . . . . 9 4.3.1. IGP and policy based optimal route refresh . . . . . 9
4.3.2. Add-paths plus IGP and policy optimal route refresh . 9
4.3.3. Likely Deployments and need for backup . . . . . . . 9
5. CPU and Memory Scalability . . . . . . . . . . . . . . . . . 10
6. Advantages and Deployment Considerations . . . . . . . . . . 10 6. Advantages and Deployment Considerations . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
10.1. Normative References . . . . . . . . . . . . . . . . . . 11 10.1. Normative References . . . . . . . . . . . . . . . . . . 12
10.2. Informative References . . . . . . . . . . . . . . . . . 12 10.2. Informative References . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
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. RIB - Routing Information Base.
AS - Autonomous System number. 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 Networks [RFC4364]
6PE - IPv6 Provider Edge Router 6PE - IPv6 Provider Edge Router
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 [RFC 4271] section 9.1.2 and its subsections
skipping to change at page 6, line 41 skipping to change at page 6, line 42
o defer selection to end clients, but lose potential route scale o defer selection to end clients, but lose potential route scale
capacity capacity
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)
4. Proposed Solutions 4. Two Proposed Solutions
The goal of this document is to propose a solution to allow a route This document is describes two solution to allow a route reflector to
reflector to choose the best path for its clients that the clients choose the best path for its clients that the clients themselves
themselves would have chosen had they considered the same set of would have chosen had they considered the same set of candidate
candidate paths. For purposes of route selection, the perspective of paths.
a client can differ from that of a route reflector or another client
in two distinct ways: it can, and usually will, have a different For purposes of route selection, the perspective of a client can
position in the IGP topology, and it can have a different routing differ from that of a route reflector or another client in two
policy. These factors correspond to the issues described earlier. distinct ways:
Accordingly, we propose two distinct modifications to the best path
algorithm, to address these two distinct factors. A route reflector it can, and usually will, have a different position in the IGP
can implement either or both of the modifications, as needed, in topology, and
it can have a different routing policy.
These factors correspond to the issues described earlier.
Accordingly, this document specifies two distinct modifications to
the best path algorithm, to address these two distinct factors. 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 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 Both modifications rely upon all route reflectors learning all paths
that are eligible for consideration. In order to satisfy this that are eligible for consideration. In order to satisfy this
requirement, path diversity enhancing mechanisms such as add-path/ requirement, path diversity enhancing mechanisms such as add-path/
diverse paths may need to be deployed between route reflectors. diverse paths 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.
4.1. Client's Perspective IGP Based Best Path Selection 4.1. Client's Perspective IGP Based 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 per on a per route reflector basis, or per peer/update group basis, or
peer basis the virtual IGP location placement of the route reflector. per peer basis the virtual IGP location placement of the route
This enables having a given group of clients receive routes with reflector. This core ability enables the route reflector to send to
shortest distance to the next hops from the position of the a given group of clients routes with shortest distance to the next
configured virtual IGP location. This provides for freedom of route hops from the position of the configured virtual IGP location. This
reflector location, and allows transient or permanent migration of core ability provides for freedom of route reflector location, and
this network control plane function to an arbitrary location. allows transient or permanent migration of this network control plane
function to an arbitrary location.
The choice of specific granularity left as an implementation The choice of specific granularity (route reflector basis, peer/
update group basis, or peer peer basis) is left as an implementation
decision. An implementation is considered compliant with the decision. An implementation is considered compliant with the
document if it supports at least one listed grouping of virtual IGP document if it supports at least one listed grouping of virtual IGP
location. 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.
This approach does not apply to path selection preference based on This approach does not apply to path selection preference based on
other policy steps and provisions. other policy steps and provisions.
The computation of the virtual IGP location with any of the above The computation of the virtual IGP location with any of the above
described granularity is outside of the scope of this document. The described granularity is outside of the scope of this document. The
operator may configure it manually, implementation may automate it operator may configure it manually, implementation may automate it
based on heuristics, or it can be computed centrally and configured based on heuristics, or it can be computed centrally and configured
by an external system. by an external system.
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
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
paths as least preferred during next hop metric comparison. However
such paths SHOULD still be considered valid for best path selection.
This solution does not require any BGP or IGP protocol changes, as This solution does not require any BGP or IGP protocol changes, as
all required changes are contained within the route reflector all required changes are contained within the route reflector
implementation. implementation.
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.
4.1.1. Restriction when BGP next hop is BGP prefix
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
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
paths as least preferred during next hop metric comparison. However
such paths SHOULD still be considered valid for best path selection.
4.2. Client's Perspective Policy Based Best Path Selection 4.2. Client's Perspective Policy Based Best Path Selection
Optimal route reflection based on virtual IGP location could reflect Optimal route reflection based on virtual IGP location could reflect
the best path to the client from IGP cost perspective. However, the best path to the client from IGP cost perspective. However,
there are also cases where the client might want the best path based there are also cases where the client might want the best path based
on factors beyond IGP cost. Examples include, but not limited to: on factors beyond IGP cost. Examples include, but not limited to:
o Selecting the best path for the clients from a traffic engineering o Selecting the best path for the clients from a traffic engineering
perspective. perspective.
o Dedicating certain exit points for certain ingress points. o Dedicating certain exit points for certain ingress points.
The solution proposed here allows the user to apply a general policy The user MAY specify and apply a general policy on the route
on the route reflector to select a subset of exit points as the reflector to select a subset of exit points as the candidate exit
candidate exit points for its clients. For a given client, the points for its clients. For a given client, the policy SHOULD also
policy SHOULD also allow the operator to select different candidate allow the operator to select different candidate exit points for
exit points for different address families. Regular path selection, different address families. Regular path selection, including
including client's perspective IGP based best path selection stated client's perspective IGP based best path selection stated above, will
above, will be applied to the candidate paths to select the final be applied to the candidate paths to select the final paths to
paths to advertise to the clients. advertise to the clients.
Since the policy is applied on the route reflector on behalf of its Since the policy is applied on the route reflector on behalf of its
clients, the route reflector will be able to reflect only the optimal clients, the route reflector will be able to reflect only the optimal
paths to its clients. An additional advantage of this approach is paths to its clients. An additional advantage of this approach is
that configuration need only be done on a small number of route that configuration need only be done on a small number of route
reflectors, rather than on a significantly larger number of clients. reflectors, rather than on a significantly larger number of clients.
4.3. Solution Interactions 4.3. Solution Interactions
4.3.1. IGP and policy based optimal route refresh
Depending on the actual deployment scenarios, service providers may Depending on the actual deployment scenarios, service providers may
configure IGP based optimal route reflection or policy based optimal configure IGP based optimal route reflection or policy based optimal
route reflection. It is also possible to configure both approaches route reflection. It is also possible to configure both approaches
together. In cases where both are configured together, policy based together. In cases where both are configured together, policy based
optimal route reflection will be applied first to select the optimal route reflection MUST be applied first to select the
candidate paths, then IGP based optimal route reflection will be candidate paths, then IGP based optimal route reflection can be
applied on top of the candidate paths to select the final path to applied on top of the candidate paths to select the final path to
advertise to the client. advertise to the client.
The expected use case for optimal route reflection is to avoid The expected use case for optimal route reflection is to avoid
reflecting all paths to the client because the client either does not reflecting all paths to the client because the client either: does
support add-paths or does not have the capacity to process all of the not support add-paths or does not have the capacity to process all of
paths. Typically the route reflector would just reflect a single the paths. Typically the route reflector would just reflect a single
optimal route to the client. However, the solutions MUST NOT prevent optimal route to the client. However, the solutions MUST NOT prevent
reflecting more than one optimal path to the client as path diversity reflecting more than one optimal path to the client as path diversity
may be desirable for load balancing or fast restoration. In cases may be desirable for load balancing or fast restoration. In cases
where add-path and optimal route reflection are configured together, where add-path and optimal route reflection are configured together,
the route reflector MUST reflect n optimal paths to a client, where n the route reflector MUST reflect n optimal paths to a client, where n
is the add-path count. is the add-path count.
4.3.2. Add-paths plus IGP and policy optimal route refresh
The most complicated scenario is where add-path is configured The most complicated scenario is where add-path is configured
together with both IGP based and policy based optimal route together with both IGP based and policy based optimal route
reflection. In this scenario, the policy based optimal route reflection. In this scenario, the policy based optimal route
reflection will be applied first to select the candidate paths. reflection MUST be applied first to select the candidate paths (from
Subsequently, IGP based optimal route reflection will be applied on add-path). Subsequently, IGP based optimal route reflection will be
top of the candidate paths to select the best n paths to advertise to applied on top of the candidate paths to select the best n paths to
the client. advertise to the client.
4.3.3. Likely Deployments and need for backup
With IGP based optimal route reflection, even though the virtual IGP With IGP based optimal route reflection, even though the virtual IGP
location could be specified on a per route reflector basis or per location could be specified on a per route reflector basis or per
peer/update group basis or per peer basis, in reality, it's most peer/update group basis or per peer basis, in reality, it's most
likely to be specified per peer/update group basis. All clients with likely to be specified per peer/update group basis. All clients with
the same or similar IGP location can be grouped into the same peer/ the same or similar IGP location can be grouped into the same peer/
update group. A virtual IGP location is then specified for the peer/ update group. A virtual IGP location is then specified for the peer/
update group. The virtual location is usually specified as the update group. The virtual location is usually specified as the
location of one of the clients from the peer group or an ABR to the location of one of the clients from the peer group or an ABR to the
area where clients are located. Also, one or more backup virtual area where clients are located. Also, one or more backup virtual
skipping to change at page 11, line 20 skipping to change at page 11, line 43
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 the client's IGP best-path selection, it should be self
evident that this solution does not interfere with policies enforced evident that this solution does not interfere with policies enforced
above IGP tie breaking in the BGP best path algorithm. above IGP tie breaking in the BGP best path algorithm.
7. Security Considerations 7. Security Considerations
No new security issues are introduced to the BGP protocol by this This document does not introduce any new BGP functionality therefor
specification. it does not change the underlying security issues inherent in the
existing IBGP path propagation when BGP Route Reflection [RFC4456] is
used.
It however enables the deployment of base BGP Route Reflection as
described in [RFC4456] to be possible using virtual compute
environments without any negative consequence on the BGP routing path
optimality.
This document does not introduce requirements for any new protection
measures, but it also does not relax best operational practices for
keeping the IGP network stable or to pace rate of policy based IGP
cost to next hops such that it does not have any substantial effect
on BGP path changes and their propagation to route reflection
clients.
8. IANA Considerations 8. IANA Considerations
This document does not request any IANA allocations. This document does not request any IANA allocations.
9. Acknowledgments 9. 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
 End of changes. 22 change blocks. 
60 lines changed or deleted 95 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/