BGP Optimal Route Reflection (BGP ORR)
NTT Network Innovations
robert@raszuk.net
Orange
bruno.decraene@orange.com
cassar.christian@gmail.com
erik.aman@aman.se
Juniper Networks
10 Technology Park Drive
Westford
MA
01886
United States of America
kfwang@juniper.net
Routing
IDR
IDR
This document defines an extension to BGP route reflectors. On route reflectors,
BGP route selection is modified in order to choose the best route from the standpoint
of their clients, rather than from the standpoint of the route reflectors themselves. Depending
on the scaling and precision requirements, route selection can be specific for one
client, common for a set of clients, or common for all clients of a route reflector.
This solution is particularly applicable in deployments using centralized route
reflectors, where choosing the best route based on the route reflector's IGP location
is suboptimal. This facilitates, for example, a "best exit point" policy ("hot potato
routing").
The solution relies upon all route reflectors learning all paths that
are eligible for consideration. BGP route selection is performed in the route
reflectors based on the IGP cost from configured locations in the link-state IGP.
Introduction
There are three types of BGP deployments within Autonomous Systems (ASes) today: full mesh,
confederations, and route reflection. BGP route reflection is
the most popular way to distribute BGP routes between BGP speakers belonging to the same
AS. However, in some situations, this method suffers from non-optimal
path selection.
asserts that, because the IGP cost to a given point in
the network will vary across routers,
"the route reflection approach may not yield the
same route selection result as that of the full IBGP mesh approach." ("IBGP" stands for "Internal BGP".) One
practical implication of this fact is that the deployment of route reflection may thwart
the ability to achieve "hot potato routing". Hot potato routing attempts to direct traffic to the closest AS exit point in cases where no higher-priority policy
dictates otherwise. As a consequence of the route reflection method, the choice of exit
point for a route reflector and its clients will be the exit point that is optimal for
the route reflector -- not necessarily the one that is optimal for its clients.
describes a deployment approach and a set
of constraints that, if satisfied, would result in the deployment of route reflection
yielding the same results as the IBGP full mesh approach. This deployment approach makes
route reflection compatible with the application of a hot potato routing policy. In
accordance with these design rules, route reflectors have often been deployed in the
forwarding path and carefully placed on the boundaries between the Point of Presence (POP) and the network core.
The evolving model of intra-domain network design has enabled deployments of route
reflectors outside the forwarding path. Initially, this model was only employed for new
services, e.g., IP VPNs ; however, it has been gradually
extended to other BGP services, including the IPv4 and IPv6 Internet. In such
environments, a hot potato routing policy remains desirable.
Route reflectors outside the forwarding path can be placed on the boundaries between the POP and the network core,
but they are often placed in arbitrary locations in the core of large
networks.
Such deployments suffer from a critical drawback in the context of BGP route selection:
a route reflector with knowledge of multiple paths for a given route will typically pick
its best path and only advertise that best path to its clients. If the best path for a
route is selected on the basis of an IGP tie-break, the path advertised will be the exit
point closest to the route reflector. However, the clients are in a different place in
the network topology than the route reflector. In networks where the route reflectors are
not in the forwarding path, this difference will be even more acute.
In addition, there are deployment scenarios where service providers want to have more
control in choosing the exit points for clients based on other factors, such as traffic
type, traffic load, etc. This further complicates the issue and makes it less likely for
the route reflector to select the best path from the client's perspective. It follows
that the best path chosen by the route reflector is not necessarily the same as the path
that would have been chosen by the client if the client had considered the same set of
candidate paths as the route reflector.
Terminology
This memo makes use of the terms defined in and .
The key words "MUST", "MUST NOT",
"REQUIRED", "SHALL",
"SHALL NOT", "SHOULD",
"SHOULD NOT",
"RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document
are to be interpreted as described in BCP 14
when, and only
when, they appear in all capitals, as shown here.
Modifications to BGP Route Selection
The core of this solution is the ability for an operator to specify the IGP location
for which the route reflector calculates interior cost to the next hop. The IGP
location is defined as a node in the IGP topology, it is identified by an IP address
of this node (e.g., a loopback address), and it may be configured on a
per-route-reflector basis, per set of clients, or on a per-client basis. Such configuration will allow the
route reflector to select and distribute to a given set of clients routes with the shortest
distance to the next hops from the position of the selected IGP location. This provides
for freedom related to the route reflector's physical location and allows transient or permanent
migration of this network control plane function to an arbitrary location with no
impact on IP transit.
The choice of specific granularity (route reflector, set of clients, or client) is
configured by the network operator. An implementation is considered compliant with this
document if it supports at least one such grouping category.
For purposes of route selection, the perspective of a client can differ from that of
a route reflector or another client in two distinct ways:
- It has a different position in the IGP topology.
- It can have a different routing policy.
These factors correspond to the issues described earlier.
This document defines, for BGP route reflectors , two changes
to the BGP route selection algorithm:
- The first change, introduced in , is related to the IGP
cost to the BGP next hop in the BGP Decision Process. The change consists of using the IGP
cost from a different IGP location than the route reflector itself.
- The second change, introduced in , is to extend the
granularity of the BGP Decision Process, to allow for running multiple Decision Processes
using different perspectives or policies.
A route reflector can implement either or both of the modifications in order to
allow it to choose the best path for its clients that the clients themselves would have
chosen given the same set of candidate paths.
A significant advantage of these approaches is that the route reflector's clients do
not need to be modified.
Route Selection from a Different IGP Location
In this approach, "optimal" refers to the decision where the interior cost of a route is
determined during step e) of Section "Breaking Ties (Phase 2)" of . It does not apply to path selection preference based on other policy steps
and provisions.
In addition to the change specified in , the text in step e) in is modified as follows.
RFC 4271 reads:
- e)
- Remove from consideration any routes with less-preferred
interior cost. The interior cost of a route is determined by
calculating the metric to the NEXT_HOP for the route using the
Routing Table.
This document modifies this text to read:
- e)
- Remove from consideration any routes with less-preferred
interior cost. The interior cost of a route is determined by
calculating the metric from the selected IGP location to the NEXT_HOP for the route
using the shortest IGP path tree rooted at the selected IGP location.
In order to be able to compute the shortest path tree rooted at the selected IGP
locations, knowledge of the IGP topology for the area/level that includes each of those
locations is needed. This knowledge can be gained with the use of the link-state IGP,
such as IS-IS or OSPF
, or via the Border Gateway Protocol - Link State (BGP-LS) . When specifying the logical
location of a route reflector for a group of clients, one or more backup IGP locations
SHOULD be allowed to be specified for redundancy. Further deployment considerations
are discussed in .
Restriction when the BGP Next Hop Is a BGP Route
In situations where the BGP next hop is a BGP route itself, the IGP metric of a route
used for its resolution SHOULD be the final IGP cost to reach such a next hop. Implementations
that cannot inform BGP of the final IGP metric to a recursive next hop MUST treat such
paths as least preferred during next-hop metric comparisons. However, such paths MUST
still be considered valid for BGP Phase 2 route selection.
Multiple Route Selections
A BGP route reflector as per runs a single BGP Decision
Process. BGP Optimal Route Reflection (BGP ORR) may require multiple BGP Decision Processes or
subsets of the Decision Process in order to consider different IGP locations or
BGP policies for different sets of clients. This is very similar to what is defined
in .
If the required routing optimization is limited to the IGP cost to the BGP
next hop, only step e) and subsequent steps as defined in
need to be run multiple times.
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 run
multiple times, up to the whole Decision Process as defined in . This is, for example, the case when there is a need to
use different policies to compute different degrees 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. Regular path selection,
including IGP perspectives for a set of clients as per ,
is then applied to the candidate paths to select the final paths to advertise to the
clients.
Deployment Considerations
BGP ORR provides a model for integrating the client's
perspective into the BGP route selection Decision Process for route reflectors.
More specifically, the choice of BGP path takes into account either the IGP
cost between the client and the next hop (rather than the IGP cost from the
route reflector to the next hop) or other user-configured policies.
The achievement of optimal routing between clients of different clusters
relies upon all route reflectors learning all paths that are eligible for
consideration. In order to satisfy this requirement, BGP ADD-PATH
needs to be deployed between route reflectors.
This solution can be deployed in hop-by-hop forwarding
networks as well as in end-to-end tunneled environments. To avoid routing
loops in networks with multiple route reflectors and hop-by-hop forwarding
without encapsulation, it is essential that the network topology be carefully
considered in designing a route reflection topology (see also ).
As discussed in , the IGP locations
of BGP route reflectors are important and have routing implications. This
equally applies to the choice of the IGP locations configured on optimal route
reflectors. If a backup location is provided, it is used when the primary IGP
location disappears from the IGP (i.e., fails). Just like the failure of a route reflector , it may result in changing the paths selected and
advertised to the clients, and in general, the post-failure paths are expected to
be less optimal. This is dependent on the IGP topologies and the IGP distance
between the primary and backup IGP locations: the smaller the distance, the
smaller the potential impact.
After selecting N suitable IGP locations, an operator can choose to enable route
selection for all of them on all or on a subset of their route reflectors. The
operator may alternatively deploy single or multiple (backup case) route
reflectors for each IGP location or create any design in between. This
choice may depend on the operational model (centralized vs. per region), an acceptable
blast radius in the case of failure, an acceptable number of IBGP sessions for the mesh between the route reflectors, performance, and configuration granularity of the equipment.
With this approach, an ISP can effect a hot potato routing policy
even if route reflection has been moved out of the forwarding plane and
hop-by-hop forwarding has been replaced by end-to-end MPLS or IP
encapsulation. Compared with a deployment of ADD-PATH on all routers, BGP ORR
reduces the amount of state that needs to
be pushed to the edge of the network in order to perform hot potato routing.
Modifying the IGP location of BGP ORR does not interfere with policies
enforced before IGP tie-breaking (step e) of
) in the BGP Decision Process.
Calculating routes for different IGP locations requires multiple Shortest
Path First (SPF) calculations and multiple (subsets of) BGP Decision Processes.
This scenario calls for more computing resources. This document allows for different
granularity, such as one Decision Process per route reflector, per set of clients,
or per client. A more fine-grained granularity may translate into more optimal
hot potato routing at the cost of more computing power. Choosing to configure
an IGP location per client has the highest precision, as each client can be
associated with their ideal (own) IGP location. However, doing so may have an
impact on performance (as explained above). Using an IGP location per set
of clients implies a loss of precision but reduces the impact on the performance
of the route reflector. Similarly, if an IGP location is selected for the whole
routing instance, the lowest precision is achieved, but the impact on performance
is minimal. In the last mode of operation (where an IGP location is selected for the whole routing instance), both precision and performance
metrics are equal to route reflection as described in
. The ability to run fine-grained computations depends on the platform/hardware
deployed, the number of clients, the number of BGP routes, and the size of the
IGP topology. In essence, sizing considerations are similar to the deployments
of BGP route reflectors.
Security Considerations
The extension specified in this document provides a new metric value using additional information
for computing routes for BGP route reflectors. While any improperly used
metric value could impact the resiliency of the network, this extension does
not change the underlying security issues inherent in the existing IBGP per
.
This document does not introduce requirements for any new protection
measures.
IANA Considerations
This document has no IANA actions.
References
Normative References
Informative References
Intermediate system to Intermediate system intra-domain
routeing information exchange protocol for use in conjunction with
the protocol for providing the connectionless-mode Network Service (ISO 8473)
International Organization for Standardization
ISO/IEC 10589:2002, Second Edition
Acknowledgments
The authors would like to thank , , , , , , , , , , , , , , , ,
, , , , , , and for their
valuable input.
Contributors
The following persons contributed substantially to the current
format of the document:
Cisco Systems
slitkows.ietf@gmail.com
GTT Communications, Inc.
Aspira Business Centre
Bucharova 2928/14a
158 00 Prague 13 Stodůlky
Czech Republic
adam.chappell@gtt.net