draft-ietf-idr-bgp-optimal-route-reflection-14.txt   draft-ietf-idr-bgp-optimal-route-reflection-15.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: February 12, 2018 Cisco Systems Expires: April 17, 2018 Cisco Systems
E. Aman E. Aman
Telia Company Telia Company
B. Decraene B. Decraene
Orange Orange
K. Wang K. Wang
Juniper Networks Juniper Networks
August 11, 2017 October 14, 2017
BGP Optimal Route Reflection (BGP-ORR) BGP Optimal Route Reflection (BGP-ORR)
draft-ietf-idr-bgp-optimal-route-reflection-14 draft-ietf-idr-bgp-optimal-route-reflection-15
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 their clients would have chosen under them to choose the best path for their clients that the clients
the same conditions, without requiring further state or any new themselves would have chosen under the same conditions, without
features to be placed on the clients. This facilitates, for example, requiring further state or any new features to be placed on the
best exit point policy (hot potato routing). This solution is clients. This facilitates, for example, best exit point policy (hot
primarily applicable in deployments using centralized route potato routing). This solution is primarily applicable in
reflectors. deployments using centralized route reflectors.
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 a configured virtual performed in each route reflector based on a configured virtual
location in the IGP. The location can be the same for all clients or location in the IGP. The location can be the same for all clients or
different per peer/update group or per peer. Best path selection can different per peer/update group or per peer. Best path selection can
also be performed based on user configured policies in each route also be performed based on user configured policies in each route
reflector. reflector.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 http://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 February 12, 2018. This Internet-Draft will expire on April 17, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
(http://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 . . . . . . . . . . . 2 1. Definitions of Terms Used in This Memo . . . . . . . . . . . 2
2. Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
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. Proposed Solutions . . . . . . . . . . . . . . . . . . . . . 6
4.1. Client's Perspective IGP Based Best Path Selection . . . 6 4.1. Client's Perspective IGP Based Best Path Selection . . . 6
4.2. Client's Perspective Policy Based Best Path Selection . . 7 4.2. Client's Perspective Policy Based Best Path Selection . . 7
4.3. Solution Interactions . . . . . . . . . . . . . . . . . . 8 4.3. Solution Interactions . . . . . . . . . . . . . . . . . . 8
5. CPU and Memory Scalability . . . . . . . . . . . . . . . . . 9 5. CPU and Memory Scalability . . . . . . . . . . . . . . . . . 9
6. Advantages and Deployment Considerations . . . . . . . . . . 9 6. Advantages and Deployment Considerations . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
10.1. Normative References . . . . . . . . . . . . . . . . . . 11 10.1. Normative References . . . . . . . . . . . . . . . . . . 11
10.2. Informative References . . . . . . . . . . . . . . . . . 11 10.2. Informative References . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
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
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
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119] document are to be interpreted as described in [RFC2119]
2. Authors 2. Authors
Following authors substantially contributed to the current format of Following authors substantially contributed to the current format of
the document: the document:
Stephane Litkowski Stephane Litkowski
skipping to change at page 3, line 46 skipping to change at page 3, line 50
London, E14 5LQ London, E14 5LQ
United Kingdom United Kingdom
adam.chappell@interoute.com adam.chappell@interoute.com
3. Introduction 3. 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. In between BGP speakers belonging to the same Autonomous System.
some situations, this method suffers from non-optimal path selection. However, in some situations, this method suffers from non-optimal
path selection.
3.1. Problem Statement 3.1. Problem Statement
[RFC4456] asserts that, because the Interior Gateway Protocol (IGP) [RFC4456] asserts that, because the Interior Gateway Protocol (IGP)
cost to a given point in the network will vary across routers, "the cost to a given point in the network will vary across routers, "the
route reflection approach may not yield the same route selection route reflection approach may not yield the same route selection
result as that of the full IBGP mesh approach." One practical result as that of the full IBGP mesh approach." One practical
implication of this assertion is that the deployment of route implication of this assertion is that the deployment of route
reflection may thwart the ability to achieve hot potato routing. Hot reflection may thwart the ability to achieve hot potato routing. Hot
potato routing attempts to direct traffic to the best AS exit point potato routing attempts to direct traffic to the best AS exit point
in cases where no higher priority policy dictates otherwise. As a in cases where no higher priority policy dictates otherwise. As a
consequence of the route reflection method, the choice of exit point consequence of the route reflection method, the choice of exit point
for a route reflector and its clients will be the exit point best for for a route reflector and its clients will be the exit point best for
the route reflector - not necessarily the one best for the RR the route reflector - not necessarily the one best for the route
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. This model has been gradually extended to other L3VPNs and L2VPNs, however it has been gradually extended to other
BGP address families including IPv4 and IPv6 Internet using either BGP address families including IPv4 and IPv6 Internet using either
native routing or 6PE. In such environments, hot potato routing native routing or 6PE. In such environments, hot potato routing
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.
But the clients will be 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.
Beside this, there are also deployment scenarios where service In addition, there are deployment scenarios where service providers
providers want to have more control of choosing the exit points for want to have more control in choosing the exit points for clients
clients based on other factors like traffic type, traffic load, etc. based on other factors, such as traffic type, traffic load, etc.
This further complicated 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.2. Existing/Alternative Solutions 3.2. Existing/Alternative Solutions
One possible valid solution or workaround to the best path selection One possible valid solution or workaround to the best path selection
problem requires sending all domain external paths from the RR to all problem requires sending all domain external paths from the route
its clients. This approach suffers the significant drawback of reflector to all its clients. This approach suffers the significant
pushing a large amount of BGP state to all edge routers. Many drawback of pushing a large amount of BGP state to all edge routers.
networks receive full Internet routing information in a large number Many networks receive full Internet routing information in a large
of locations. This could easily result in tens of paths for each number of locations. This could easily result in tens of paths for
prefix that would need to be distributed to clients. each prefix that would need to be distributed to clients.
Notwithstanding this drawback, there are a number of reasons for Notwithstanding this drawback, there are a number of reasons for
sending more than just the single best path to the clients. Improved sending more than just the single best path to the clients. Improved
path diversity at the edge is a requirement for fast connectivity path diversity at the edge is a requirement for fast connectivity
restoration, and a requirement for effective BGP level load restoration, and a requirement for effective BGP level load
balancing. balancing.
In practical terms, add/diverse path deployments are expected to In practical terms, add/diverse path deployments are expected to
result in the distribution of 2, 3 or n (where n is a small number) result in the distribution of 2, 3, or n (where n is a small number)
good paths rather than all domain external paths. While the route good paths rather than all domain external paths. While the route
reflector chooses one set of n paths and distributes those same n reflector chooses one set of n paths and distributes them to all its
paths to all its route reflector clients, those n paths may not be route reflector clients, those n paths may not be the right n paths
the right n paths for all clients. In the context of the problem for all clients. In the context of the problem described above,
described above, those n paths will not necessarily include the best those n paths will not necessarily include the best exit point out of
exit point out of the network for each route reflector client. The the network for each route reflector client. The mechanisms proposed
mechanisms proposed in this document are likely to be complementary in this document are likely to be complementary to mechanisms aimed
to mechanisms aimed at improving path diversity. at improving path diversity.
Another possibility to optimize exit point selection is the Another possibility to optimize exit point selection is the
implementation of distributed reflector functionality at key IGP implementation of distributed route reflector functionality at key
locations in order to ensure that these locations see their IGP locations in order to ensure that these locations see their
viewpoints respected in exit selection. Typically, however, this viewpoints respected in exit selection. Typically, however, this
requires the installation of physical nodes to implement the requires the installation of physical nodes to implement the
reflection, and if exit policy subsequently changes, the reflector reflection, and if exit policy subsequently changes, the reflector
placement and position can become inappropriate. placement and position can become inappropriate.
To counter the burden of physical installation, it's possible to To counter the burden of physical installation, it is possible to
build a logical overlay of tunnels with appropriate IGP metrics in build a logical overlay of tunnels with appropriate IGP metrics in
order to simulate closeness to key locations required to implement order to simulate closeness to key locations required to implement
exit policy. There is significant complexity overhead in this exit policy. There is significant complexity overhead in this
approach, however, to make it typically undesirable. approach, however, enough so to make it typically undesirable.
Trends in control plane decoupling are causing a shift from Trends in control plane decoupling are causing a shift from
traditional routers to compute virtualisation platforms, or even traditional routers to compute virtualization platforms, or even
third-party cloud platforms. As a result, without this proposal, third-party cloud platforms. As a result, without this proposal,
operators are left with a difficult choice for the distribution and operators are left with a difficult choice for the distribution and
reflection of address families with significant exit diversity: reflection of address families with significant exit diversity:
o centralised path selection, and tolerate the associated suboptimal o centralized path selection, and tolerate the associated suboptimal
paths, paths, or
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. Proposed Solutions
The goal of this document is to allow a route reflector to choose the The goal of this document is to propose a solution to allow a route
best path the client would have chosen had the client considered the reflector to choose the best path for its clients that the clients
same set of candidate paths the reflector has available. For themselves would have chosen had they considered the same set of
purposes of route selection, the perspective of a client can differ candidate paths. For purposes of route selection, the perspective of
from that of a route reflector or another client in two distinct a client can differ from that of a route reflector or another client
ways: it can, and usually will, have a different position in the IGP in two distinct ways: it can, and usually will, have a different
topology, and it can have a different routing policy. These position in the IGP topology, and it can have a different routing
correspond to the issues described earlier. Accordingly, we propose policy. These factors correspond to the issues described earlier.
two distinct modifications to the best path algorithm, to address Accordingly, we propose two distinct modifications to the best path
these two distinct factors. A route reflector can implement either algorithm, to address these two distinct factors. A route reflector
or both of the modifications, as needed in order to allow it to can implement either or both of the modifications, as needed, in
choose the best path the client would have chosen had the client order to allow it to choose the best path for its clients that the
considered the same set of candidate paths. clients themselves would have chosen given the same set of candidate
paths.
Both modifications rely upon all route reflectors learning all paths Both modifications rely upon all route reflectors learning all paths
which 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 RR clients do A significant advantage of these approaches is that the route
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 per
peer basis the virtual IGP location placement of the route reflector. peer basis the virtual IGP location placement of the route reflector.
This enables having a given group of clients receive routes with This enables having a given group of clients receive routes with
optimal distance to the next hops from the position of the configured optimal distance to the next hops from the position of the configured
virtual IGP location. This also provides for freedom of route virtual IGP location. This also provides for freedom of route
reflector location and allows transient or permanent migration of reflector location, and allows transient or permanent migration of
such network control plane function to optimal location. this network control plane function to an optimal location.
The choice of specific granularity is left to the implementation The choice of specific granularity is left to the 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
placement. location.
In this document we refer to optimal as 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 other This approach does not apply to path selection preference based on
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 specified heuristic or it can be computed centrally and based on specified heuristics, or it can be computed centrally and
configured by an external system. configured by an external system.
The solution does not require any BGP or IGP protocol changes as In situations where BGP next hop is a BGP prefix itself the IGP
required changes are contained within the RR implementation. 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 to be least preferred during next hop metric comparison,
however should be still considered valid for best path selection.
The solution applies to NLRIs of all address families which can be This solution does not require any BGP or IGP protocol changes, as
all required changes are contained within the route reflector
implementation.
This solution applies to NLRIs of all address families, that can be
route reflected. route reflected.
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 best path from there are also cases where the client might want the best path based
perspectives beyond IGP cost. Examples include, but not limited to: on factors beyond IGP cost. Examples include, but not limited to:
o Select 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 Dedicate certain exit points for certain ingress points. o Dedicating certain exit points for certain ingress points.
The solution proposed here is to allow the user to apply a general The solution proposed here allows the user to apply a general policy
policy to select a subset of exit points as the candidate exit points on the route reflector to select a subset of exit points as the
for its clients. For a given client, the policy should also allow candidate exit points for its clients. For a given client, the
service providers to select different candidate exit points for policy should also allow the operator to select different candidate
different address families. Regular path selection, including exit points for different address families. Regular path selection,
client's perspective IGP based best path selection stated above, will including client's perspective IGP based best path selection stated
be applied to the candidate paths to select the final paths to above, will be applied to the candidate paths to select the final
advertise to the clients. paths to advertise to the clients.
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. This way, the route reflector will be able to reflect only clients, the route reflector will be able to reflect only the optimal
the optimal paths to the clients. An additional advantage of this paths to its clients. An additional advantage of this approach is
approach is that configuration need only be done on a small number of that configuration need only be done on a small number of route
route reflectors rather than a significantly larger number of reflectors, rather than on a significantly larger number of clients.
clients.
4.3. Solution Interactions 4.3. Solution Interactions
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's also possible to configure both approaches route reflection. It is also possible to configure both approaches
together. In that case, policy based optimal route reflection will together. In cases where both are configured together, policy based
be applied first to select the candidate paths. Subsequently, IGP optimal route reflection will be applied first to select the
based optimal route reflection will be applied on top of the candidate paths, then IGP based optimal route reflection will be
candidate paths to select the final path to advertise to the client. 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 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 not
support add-paths or does not have the capacity to process all of the support add-paths or does not have the capacity to process all of the
paths. Typically the route reflector would just reflect a single 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; the client may reflecting more than one optimal path to the client as path diversity
want path diversity for load balancing or fast restoration. In case may be desirable for load balancing or fast restoration. In cases
add-path and optimal route reflection are configured together, the where add-path and optimal route reflection are configured together,
route reflector MUST reflect n optimal paths to a client, where n is the route reflector MUST reflect n optimal paths to a client, where n
the add-path count. is the add-path count.
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 will be applied first to select the candidate paths.
Subsequently, IGP based optimal route reflection will be applied on Subsequently, IGP based optimal route reflection will be applied on
top of the candidate paths to select the best n paths to advertise to top of the candidate paths to select the best n paths to advertise to
the client. the client.
In 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 group basis or per peer basis, in reality, it's most likely to peer/update group basis or per peer basis, in reality, it's most
be specified per peer group basis. All clients with the same or likely to be specified per peer/update group basis. All clients with
similar IGP location can be grouped into the same peer group. A the same or similar IGP location can be grouped into the same peer/
virtual IGP location is then specified for the peer group. The update group. A virtual IGP location is then specified for the peer/
virtual location is usually specified as the location of one of the update group. The virtual location is usually specified as the
clients from the peer group or an ABR to the area where clients are location of one of the clients from the peer group or an ABR to the
located. Also, one or more backup virtual location SHOULD be allowed area where clients are located. Also, one or more backup virtual
to be specified for redundancy. Implementations may wish to take location SHOULD be allowed to be specified for redundancy.
advantage of peer group mechanisms in order to provide for better Implementations may wish to take advantage of peer group mechanisms
scalability of optimal route reflector client groups with similar in order to provide for better scalability of optimal route reflector
properties. client groups with similar properties.
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 SPF tree generation extra cost in terms of CPU resources. However, current SPF tree
code is now implemented efficiently in a number of implementations, generation code is implemented efficiently in a number of
and therefore this is not expected to be a major drawback. The implementations, and therefore this is not expected to be a major
number of SPTs computed is expected to be of the order of the number drawback. The number of SPTs computed is expected to be of the order
of clients of an RR whenever a topology change is detected. Advanced of the number of clients of a route reflector whenever a topology
optimizations like partial and incremental SPF may also be exploited. change is detected. Advanced optimizations like partial and
The number of SPTs computed is expected to be higher but comparable incremental SPF may also be exploited. The number of SPTs computed
to some existing deployed features such as (Remote) Loop Free is expected to be higher but comparable to some existing deployed
Alternate 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 therefore overhead is comparable to existing BGP export policies 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
today, this avenue to scaling up the route reflection infrastructure today, this avenue to scaling up the route reflection infrastructure
would be available. is available.
If we consider the overall network wide cost/benefit factor, the only If we consider the overall network wide cost/benefit factor, the only
alternative to achieve the same level of optimality would require alternative to achieve the same level of optimality would require
significantly increasing state on the edges of the network. This significantly increasing state on the edges of the network. This
will consume CPU and memory resources on all BGP speakers in the will consume CPU and memory resources on all BGP speakers in the
network. Building this client perspective into the route reflectors network. Building this client perspective into the route reflectors
seems appropriate. seems appropriate.
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 RRs. More perspective into the best path computation for route reflectors.
specifically, the choice of BGP path factors in either the IGP cost More specifically, the choice of BGP path factors in either the IGP
between the client and the nexthop (rather than the distance from the cost between the client and the nexthop (rather than the IGP cost
RR to the nexthop) or other user configured policies. from the route reflector to the nexthop) or other user configured
policies.
Implementations considered compliant with this memo 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 the networks as well as in end-to-end tunneled environments. In the
networks where there are multiple route reflectors and hop-by-hop networks where there are multiple route reflectors and hop-by-hop
forwarding without encapsulation, such optimizations should be forwarding without encapsulation, such optimizations should be
enabled in a consistent way on all route reflectors. Otherwise enabled in a consistent way on all route reflectors. Otherwise,
clients may receive an inconsistent view of the network and in turn clients may receive an inconsistent view of the network, in turn
lead to intra-domain forwarding loops. leading to intra-domain forwarding loops.
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 from the forwarding plane and even if route reflection has been moved out of the forwarding plane,
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. encapsulation.
As per above, these approaches reduce the amount of state which needs As per above, these approaches reduce the amount of state which needs
to be pushed to the edge of the network in order to perform hot to be pushed to the edge of the network in order to perform hot
potato routing. The memory and CPU resource required at the edge of potato routing. The memory and CPU resources required at the edge of
the network to provide hot potato routing using these approaches is the network to provide hot potato routing using these approaches is
lower than what would be required in order to achieve the same level lower than what would be required to achieve the same level of
of optimality by pushing and retaining all available paths optimality by pushing and retaining all available paths (potentially
(potentially 10s) per each prefix at the edge. 10s) per each prefix at the edge.
The proposals allow for a fast and safe transition to a BGP control The solutions above allow for a fast and safe transition to a BGP
plane with centralized route reflection without compromising an control plane using centralized route reflection, without
operator's closest exit operational principle. This enables edge-to- compromising an operator's closest exit operational principle. This
edge LSP/IP encapsulation for traffic to IPv4 and IPv6 prefixes. enables edge-to-edge LSP/IP encapsulation for traffic to IPv4 and
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 No new security issues are introduced to the BGP protocol by this
specification. specification.
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 and Daniele Mitchell, John Scudder, Jeff Haas, Martin Djernaes, Daniele
Ceccarelli for their valuable input. Ceccarelli, Kieran Milne and Job Snijders for their valuable input.
10. References 10. References
10.1. Normative References 10.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,
<http://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,
<http://www.rfc-editor.org/info/rfc4271>. <https://www.rfc-editor.org/info/rfc4271>.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, Communities Attribute", RFC 4360, DOI 10.17487/RFC4360,
February 2006, <http://www.rfc-editor.org/info/rfc4360>. February 2006, <https://www.rfc-editor.org/info/rfc4360>.
[RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement
with BGP-4", RFC 5492, DOI 10.17487/RFC5492, February with BGP-4", RFC 5492, DOI 10.17487/RFC5492, February
2009, <http://www.rfc-editor.org/info/rfc5492>. 2009, <https://www.rfc-editor.org/info/rfc5492>.
10.2. Informative References 10.2. Informative References
[I-D.ietf-idr-add-paths] [I-D.ietf-idr-add-paths]
Walton, D., Retana, A., Chen, E., and J. Scudder, Walton, D., Retana, A., Chen, E., and J. Scudder,
"Advertisement of Multiple Paths in BGP", draft-ietf-idr- "Advertisement of Multiple Paths in BGP", draft-ietf-idr-
add-paths-15 (work in progress), May 2016. add-paths-15 (work in progress), May 2016.
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities
Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996, Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996,
<http://www.rfc-editor.org/info/rfc1997>. <https://www.rfc-editor.org/info/rfc1997>.
[RFC1998] Chen, E. and T. Bates, "An Application of the BGP [RFC1998] Chen, E. and T. Bates, "An Application of the BGP
Community Attribute in Multi-home Routing", RFC 1998, Community Attribute in Multi-home Routing", RFC 1998,
DOI 10.17487/RFC1998, August 1996, DOI 10.17487/RFC1998, August 1996,
<http://www.rfc-editor.org/info/rfc1998>. <https://www.rfc-editor.org/info/rfc1998>.
[RFC4384] Meyer, D., "BGP Communities for Data Collection", BCP 114, [RFC4384] Meyer, D., "BGP Communities for Data Collection", BCP 114,
RFC 4384, DOI 10.17487/RFC4384, February 2006, RFC 4384, DOI 10.17487/RFC4384, February 2006,
<http://www.rfc-editor.org/info/rfc4384>. <https://www.rfc-editor.org/info/rfc4384>.
[RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route
Reflection: An Alternative to Full Mesh Internal BGP Reflection: An Alternative to Full Mesh Internal BGP
(IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006,
<http://www.rfc-editor.org/info/rfc4456>. <https://www.rfc-editor.org/info/rfc4456>.
[RFC4893] Vohra, Q. and E. Chen, "BGP Support for Four-octet AS [RFC4893] Vohra, Q. and E. Chen, "BGP Support for Four-octet AS
Number Space", RFC 4893, DOI 10.17487/RFC4893, May 2007, Number Space", RFC 4893, DOI 10.17487/RFC4893, May 2007,
<http://www.rfc-editor.org/info/rfc4893>. <https://www.rfc-editor.org/info/rfc4893>.
[RFC5283] Decraene, B., Le Roux, JL., and I. Minei, "LDP Extension [RFC5283] Decraene, B., Le Roux, JL., and I. Minei, "LDP Extension
for Inter-Area Label Switched Paths (LSPs)", RFC 5283, for Inter-Area Label Switched Paths (LSPs)", RFC 5283,
DOI 10.17487/RFC5283, July 2008, DOI 10.17487/RFC5283, July 2008,
<http://www.rfc-editor.org/info/rfc5283>. <https://www.rfc-editor.org/info/rfc5283>.
[RFC5668] Rekhter, Y., Sangli, S., and D. Tappan, "4-Octet AS [RFC5668] Rekhter, Y., Sangli, S., and D. Tappan, "4-Octet AS
Specific BGP Extended Community", RFC 5668, Specific BGP Extended Community", RFC 5668,
DOI 10.17487/RFC5668, October 2009, DOI 10.17487/RFC5668, October 2009,
<http://www.rfc-editor.org/info/rfc5668>. <https://www.rfc-editor.org/info/rfc5668>.
[RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", [RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework",
RFC 5714, DOI 10.17487/RFC5714, January 2010, RFC 5714, DOI 10.17487/RFC5714, January 2010,
<http://www.rfc-editor.org/info/rfc5714>. <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,
<http://www.rfc-editor.org/info/rfc6774>. <https://www.rfc-editor.org/info/rfc6774>.
Authors' Addresses Authors' Addresses
Robert Raszuk (editor) Robert Raszuk (editor)
Bloomberg LP Bloomberg LP
731 Lexington Ave 731 Lexington Ave
New York City, NY 10022 New York City, NY 10022
USA USA
Email: robert@raszuk.net Email: robert@raszuk.net
 End of changes. 67 change blocks. 
157 lines changed or deleted 175 lines changed or added

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