rfc9107xml2.original.xml   rfc9107.xml 
<?xml version="1.0" encoding="us-ascii"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc PUBLIC '' "http://xml2rfc.tools.ietf.org/authoring/rfc2629.dtd"[
<!ENTITY RFC2119 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/referenc
e.RFC.2119.xml">
<!ENTITY RFC2629 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/referenc
e.RFC.2629.xml">
<!ENTITY RFC3552 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/referenc
e.RFC.3552.xml">
<!ENTITY RFC3640 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/referenc
e.RFC.3640.xml">
<!ENTITY RFC4456 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/referenc
e.RFC.4456.xml">
<!ENTITY RFC8174 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/referenc
e.RFC.8174.xml">
]>
<?xml-stylesheet type='text/xsl'
href="http://greenbytes.de/tech/webdav/rfc2629xslt/rfc2629.xslt" ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std"
docName="draft-ietf-idr-bgp-optimal-route-reflection-28"
ipr="trust200902"
obsoletes=""
updates=""
submissionType="IETF"
xml:lang="en">
<!-- category values: std, bcp, info, exp, and historic
ipr values: full3667, noModification3667, noDerivatives3667
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- ***** FRONT MATTER ***** -->
<front> <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<title abbrev="bgp-optimal-route-reflection"> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-idr-bgp-opti
mal-route-reflection-28" number="9107" ipr="trust200902" obsoletes="" updates=""
submissionType="IETF" category="std" consensus="true" xml:lang="en" tocInclude=
"true" tocDepth="4" symRefs="true" sortRefs="true" version="3">
<!-- xml2rfc v2v3 conversion 3.8.0 -->
<front>
<title abbrev="BGP Optimal Route Reflection">
BGP Optimal Route Reflection (BGP ORR) BGP Optimal Route Reflection (BGP ORR)
</title> </title>
<seriesInfo name="RFC" value="9107"/>
<author fullname='Robert Raszuk' initials='R' surname='Raszuk' role="editor"> <author fullname="Robert Raszuk" initials="R" surname="Raszuk" role="editor"
<organization>NTT Network Innovations</organization> >
<address> <organization>NTT Network Innovations</organization>
<address>
<email>robert@raszuk.net</email> <email>robert@raszuk.net</email>
</address> </address>
</author> </author>
<author initials="B" surname="Decraene" fullname="Bruno Decraene" role="edit
<author initials="B" surname="Decraene" fullname="Bruno Decraene" role="editor"> or">
<organization>Orange</organization> <organization>Orange</organization>
<address> <address>
<email>bruno.decraene@orange.com</email> <email>bruno.decraene@orange.com</email>
</address> </address>
</author> </author>
<author initials="C" surname="Cassar" fullname="Christian Cassar">
<author initials="C" surname="Cassar" fullname="Christian Cassar"> <address>
<email>cassar.christian@gmail.com</email>
<address> </address>
<email>cassar.christian@gmail.com</email> </author>
</address> <author initials="E" surname="Aman" fullname="Erik Aman">
</author> <organization/>
<address>
<author initials="E" surname="Aman" fullname="Erik Aman"> <email>erik.aman@aman.se</email>
<organization></organization> </address>
<address> </author>
<email>erik.aman@aman.se</email> <author initials="K" surname="Wang" fullname="Kevin Wang">
</address> <organization>Juniper Networks</organization>
</author> <address>
<postal>
<author initials="K" surname="Wang" fullname="Kevin Wang"> <street>10 Technology Park Drive</street>
<organization>Juniper Networks</organization> <city>Westford</city>
<address> <region>MA</region>
<postal> <code>01886</code>
<street>10 Technology Park Drive</street> <country>United States of America</country>
<city>Westford</city> </postal>
<region>MA</region> <email>kfwang@juniper.net</email>
<code>01886</code> </address>
<country>USA</country> </author>
</postal> <date year="2021" month="August"/>
<email>kfwang@juniper.net</email> <area>Routing</area>
</address> <workgroup>IDR Working Group</workgroup>
</author> <keyword>IDR</keyword>
<abstract>
<date year="2021" /> <t>This document defines an extension to BGP route reflectors. On route re
<area>Routing</area> flectors,
<workgroup>IDR Working Group</workgroup>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>IDR</keyword>
<abstract>
<t>This document defines an extension to BGP route reflectors. On route reflecto
rs,
BGP route selection is modified in order to choose the best route from the stand point BGP route selection is modified in order to choose the best route from the stand point
of their clients, rather than from the standpoint of the route reflectors. Depen ding of their clients, rather than from the standpoint of the route reflectors themse lves. Depending
on the scaling and precision requirements, route selection can be specific for o ne on the scaling and precision requirements, route selection can be specific for o ne
client, common for a set of clients or common for all clients of a route reflect or. client, common for a set of clients, or common for all clients of a route reflec tor.
This solution is particularly applicable in deployments using centralized route This solution is particularly applicable in deployments using centralized route
reflectors, where choosing the best route based on the route reflector's IGP loc ation reflectors, where choosing the best route based on the route reflector's IGP loc ation
is suboptimal. This facilitates, for example, best exit point policy (hot potat is suboptimal. This facilitates, for example, a "best exit point" policy ("hot
o potato
routing).</t> routing").</t>
<t>The solution relies upon all route reflectors learning all paths that
<t>The solution relies upon all route reflectors learning all paths which are eligible for consideration. BGP route selection is performed in the route
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
reflectors based on the IGP cost from configured locations in the link state IGP .</t>
.</t> </abstract>
</front>
</abstract> <middle>
<section numbered="true" toc="default">
</front> <name>Introduction</name>
<t>There are three types of BGP deployments within Autonomous Systems (ASe
<middle> s) today: full mesh,
confederations, and route reflection. BGP route reflection <xref target="RFC4456
<section title="Introduction"> " format="default"/> is
<t>There are three types of BGP deployments within Autonomous Systems today: ful
l mesh,
confederations and route reflection. BGP route reflection <xref target="RFC4456"
/> is
the most popular way to distribute BGP routes between BGP speakers belonging to the same the most popular way to distribute BGP routes between BGP speakers belonging to the same
Autonomous System. However, in some situations, this method suffers from non-opt imal AS. However, in some situations, this method suffers from non-optimal
path selection. </t> path selection. </t>
<t> <xref target="RFC4456" format="default"/> asserts that, because the IG
<t> <xref target="RFC4456" /> asserts that, because the IGP cost to a given poi P cost to a given point in
nt in the network will vary across routers,
the network will vary across routers, "the route reflection approach may not yie "the route reflection approach may not yield the
ld the same route selection result as that of the full IBGP mesh approach." ("IBGP" sta
same route selection result as that of the full Internal BGP (IBGP) mesh approac nds for "Internal BGP".) One
h." One
practical implication of this fact is that the deployment of route reflection ma y thwart practical implication of this fact is that the deployment of route reflection ma y thwart
the ability to achieve hot potato routing. Hot potato routing attempts to direct the ability to achieve "hot potato routing". Hot potato routing attempts to dire
traffic ct traffic to the closest AS exit point in cases where no higher-priority policy
to the closest Autonomous System (AS) exit point in cases where no higher priori
ty policy
dictates otherwise. As a consequence of the route reflection method, the choice of exit 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 optim al for point for a route reflector and its clients will be the exit point that is optim al for
the route reflector - not necessarily the one that is optimal for its clients. < the route reflector -- not necessarily the one that is optimal for its clients.
/t> </t>
<t><xref target="RFC4456" sectionFormat="of" section="11"/> describes a de
<t> Section 11 of <xref target="RFC4456" /> describes a deployment approach and ployment approach and a set
a set of constraints that, if satisfied, would result in the deployment of route refle
of constraints which, if satisfied, would result in the deployment of route refl ction
ection
yielding the same results as the IBGP full mesh approach. This deployment approa ch makes yielding the same results as the IBGP full mesh approach. This deployment approa ch makes
route reflection compatible with the application of hot potato routing policy. I n 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 accordance with these design rules, route reflectors have often been deployed in the
forwarding path and carefully placed on the Point of Presence (POP) to core boun forwarding path and carefully placed on the boundaries between the Point of Pres
daries.</t> ence (POP) and the network core.</t>
<t>The evolving model of intra-domain network design has enabled deploymen
<t>The evolving model of intra-domain network design has enabled deployments of ts of route
route reflectors outside the forwarding path. Initially, this model was only employed
reflectors outside the forwarding path. Initially this model was only employed f for new
or new services, e.g., IP VPNs <xref target="RFC4364" format="default"/>; however, it h
services, e.g., IP VPNs <xref target="RFC4364" />, however it has been gradually as been gradually
extended to other BGP services, including the IPv4 and IPv6 Internet. In such extended to other BGP services, including the IPv4 and IPv6 Internet. In such
environments, hot potato routing policy remains desirable.</t> environments, a hot potato routing policy remains desirable.</t>
<t>Route reflectors outside the forwarding path can be placed on the bound
<t>Route reflectors outside the forwarding path can be placed on the POP to core aries between the POP and the network core,
boundaries, but they are often placed in arbitrary locations in the core of larg but they are often placed in arbitrary locations in the core of large
e
networks.</t> networks.</t>
<t>Such deployments suffer from a critical drawback in the context of BGP
<t>Such deployments suffer from a critical drawback in the context of BGP Route route selection:
Selection: a route reflector with knowledge of multiple paths for a given route will typica
A route reflector with knowledge of multiple paths for a given route will typica lly pick
lly pick
its best path and only advertise that best path to its clients. If the best path for a 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 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 pl ace in point closest to the route reflector. However, the clients are in a different pl ace in
the network topology than the route reflector. In networks where the route refle ctors are the network topology than the route reflector. In networks where the route refle ctors are
not in the forwarding path, this difference will be even more acute.</t> not in the forwarding path, this difference will be even more acute.</t>
<t>In addition, there are deployment scenarios where service providers wan
<t>In addition, there are deployment scenarios where service providers want to h t to have more
ave more
control in choosing the exit points for clients based on other factors, such as traffic 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 li kely for type, traffic load, etc. This further complicates the issue and makes it less li kely for
the route reflector to select the best path from the client's perspective. It fo llows the route reflector to select the best path from the client's perspective. It fo llows
that the best path chosen by the route reflector is not necessarily the same as the path that the best path chosen by the route 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 of that would have been chosen by the client if the client had considered the same set of
candidate paths as the route reflector.</t> candidate paths as the route reflector.</t>
</section>
</section> <section numbered="true" toc="default">
<name>Terminology</name>
<section title="Terminology">
<t>This memo makes use of the terms defined in <xref target="RFC4271"/> and <xre f target="RFC4456"/>.</t> <t>This memo makes use of the terms defined in <xref target="RFC4271"/> and <xre f target="RFC4456"/>.</t>
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
"MAY", and "OPTIONAL" in this document are to be interpreted as "<bcp14>SHOULD NOT</bcp14>",
described in BCP 14 <xref target="RFC2119"/> "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
<xref target="RFC8174"/> when, and only when, they "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
appear in all capitals, as shown here. are to be interpreted as described in BCP&nbsp;14
</t> <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
when, they appear in all capitals, as shown here.</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Modifications to BGP Route Selection"> <name>Modifications to BGP Route Selection</name>
<t>The core of this solution is the ability for an operator to specify the
<t>The core of this solution is the ability for an operator to specify the IGP l IGP location
ocation for which the route reflector calculates interior cost to the next hop. The IGP
for which the route reflector calculates interior cost for the NEXT_HOP. The IGP
location is defined as a node in the IGP topology, it is identified by an IP add ress location is defined as a node in the IGP topology, it is identified by an IP add ress
of this node (e.g., a loopback address), and may be configured on a per route re of this node (e.g., a loopback address), and it may be configured on a
flector per-route-reflector basis, per set of clients, or on a per-client basis. Such co
basis, per set of clients, or per client basis. Such configuration will allow th nfiguration will allow the
e route reflector to select and distribute to a given set of clients routes with t
route reflector to select and distribute to a given set of clients routes with s he shortest
hortest
distance to the next hops from the position of the selected IGP location. This p rovides distance to the next hops from the position of the selected IGP location. This p rovides
for freedom of route reflector physical location, and allows transient or perman ent for freedom related to the route reflector's physical location and allows transi ent or permanent
migration of this network control plane function to an arbitrary location with n o migration of this network control plane function to an arbitrary location with n o
impact to IP transit.</t> impact on IP transit.</t>
<t>The choice of specific granularity (route reflector, set of clients, or
<t>The choice of specific granularity (route reflector, set of clients, or clien client) is
t) is
configured by the network operator. An implementation is considered compliant wi th this configured by the network operator. An implementation is considered compliant wi th this
document if it supports at least one such grouping category.</t> document if it supports at least one such grouping category.</t>
<t> For purposes of route selection, the perspective of a client can diffe
<t> For purposes of route selection, the perspective of a client can differ from r from that of
that of
a route reflector or another client in two distinct ways: a route reflector or another client in two distinct ways:
<list style="symbols"> </t>
<t> it has a different position in the IGP topology,</t> <ul spacing="normal">
<t> it can have a different routing policy.</t> <li>It has a different position in the IGP topology.</li>
</list> <li>It can have a different routing policy.</li>
</ul>
<t>
These factors correspond to the issues described earlier. </t> These factors correspond to the issues described earlier. </t>
<t>This document defines, for BGP route reflectors <xref target="RFC4456"
<t>This document defines, for BGP Route Reflectors <xref target="RFC4456" />, tw format="default"/>, two changes
o changes to the BGP route selection algorithm:</t>
to the BGP Route Selection algorithm: <ul spacing="normal">
<li>The first change, introduced in <xref target="sec_IGP_cost" format="
<list style="symbols" > default"/>, is related to the IGP
<t>The first change, introduced in <xref target="sec_IGP_cost" />, is related to cost to the BGP next hop in the BGP Decision Process. The change consists of usi
the IGP ng the IGP
cost to the BGP Next Hop in the BGP decision process. The change consists of usi cost from a different IGP location than the route reflector itself.</li>
ng the IGP <li>The second change, introduced in <xref target="sec_multiple" format=
cost from a different IGP location than the route reflector itself.</t> "default"/>, is to extend the
granularity of the BGP Decision Process, to allow for running multiple Decision
<t>The second change, introduced in <xref target="sec_multiple" />, is to extend Processes
the using different perspectives or policies.</li>
granularity of the BGP decision process, to allow for running multiple decisions </ul>
processes <t> A route reflector can implement either or both of the modifications
using different perspective or policies.</t> in order to
</list></t> allow it to choose the best path for its clients that the clients themselves wou
ld have
<t>A significant advantage of these approaches is that the route reflector clien chosen given the same set of candidate paths.</t>
ts do <t>A significant advantage of these approaches is that the route reflector
's clients do
not need to be modified.</t> not need to be modified.</t>
<section anchor="sec_IGP_cost" numbered="true" toc="default">
<section title="Route Selection from a different IGP location" anchor="sec_IGP_c <name>Route Selection from a Different IGP Location</name>
ost"> <t>In this approach, "optimal" refers to the decision where the interior
cost of a route is
<t>In this approach, optimal refers to the decision where the interior cost of a determined during step e) of Section&nbsp;<xref target="RFC4271" section="9.1.2.
route is 2"
determined during step e) of <xref target="RFC4271" /> section 9.1.2.2 "Breaking sectionFormat="bare">"Breaking Ties (Phase 2)"</xref> of <xref target="RFC4271"/
Ties >. It does not apply to path selection preference based on other policy steps
(Phase 2)". It does not apply to path selection preference based on other policy
steps
and provisions.</t> and provisions.</t>
<t>In addition to the change specified in <xref target="RFC4456" section Format="of" section="9"/>, the text in step e) in <xref target="RFC4271" section Format="of" section="9.1.2.2"/> is modified as follows.</t>
<t>In addition to the change specified in <xref target="RFC4456" /> section 9, <t>RFC 4271 reads:</t>
<xref target="RFC4271" /> section 9.1.2.2 is modified as follows.</t> <blockquote>
<dl spacing="normal" indent="4">
<t>The below text in step e) <dt>e)</dt><dd>Remove from consideration any routes with less-preferred
<list>
<t>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.</t> Routing Table.</dd>
</list></t> </dl>
</blockquote>
<t>...is replaced by this new text: <t>This document modifies this text to read:</t>
<list> <blockquote>
<t>e) Remove from consideration any routes with less-preferred <dl spacing="normal" indent="4">
<dt>e)</dt><dd>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 NEXT_HOP f or the route calculating the metric from the selected IGP location to the NEXT_HOP f or the route
using the shortest IGP path tree rooted at the selected IGP location.</ using the shortest IGP path tree rooted at the selected IGP location.</
t> dd>
</list> </t> </dl>
</blockquote>
<t>In order to be able to compute the shortest path tree rooted at the selected <t>In order to be able to compute the shortest path tree rooted at the s
IGP elected IGP
locations, knowledge of the IGP topology for the area/level that includes each o f those locations, knowledge of the IGP topology for the area/level that includes each o f those
locations is needed. This knowledge can be gained with the use of the link state locations is needed. This knowledge can be gained with the use of the link-state
IGP IGP,
such as IS-IS <xref target="ISO10589"/> or OSPF <xref target="RFC2328" /> such as IS-IS <xref target="ISO10589" format="default"/> or OSPF <xref target="R
<xref target="RFC5340" /> or via BGP-LS <xref target="RFC7752" />. When specifyi FC2328" format="default"/>
ng logical <xref target="RFC5340" format="default"/>, or via the Border Gateway P
location of a route reflector for a group of clients one or more backup IGP loca rotocol - Link State (BGP-LS) <xref target="RFC7752" format="default"/>. When sp
tions ecifying the logical
SHOULD be allowed to be specified for redundancy. Further deployment considerati location of a route reflector for a group of clients, one or more backup IGP loc
ons ations
are discussed in Section 4.</t> <bcp14>SHOULD</bcp14> be allowed to be specified for redundancy. Further deploym
ent considerations
<section title="Restriction when BGP next hop is a BGP route"> are discussed in <xref target="deployment-cons"/>.</t>
<t>In situations where the BGP next hop is a BGP route itself, the IGP metric of <section numbered="true" toc="default">
a route <name>Restriction when the BGP Next Hop Is a BGP Route</name>
used for its resolution SHOULD be the final IGP cost to reach such next hop. Imp <t>In situations where the BGP next hop is a BGP route itself, the IGP
lementations metric of a route
which cannot inform BGP of the final IGP metric to a recursive next hop MUST tre used for its resolution <bcp14>SHOULD</bcp14> be the final IGP cost to reach suc
at such h a next hop. Implementations
paths as least preferred during next hop metric comparison. However, such paths that cannot inform BGP of the final IGP metric to a recursive next hop <bcp14>MU
MUST ST</bcp14> treat such
still be considered valid for BGP Phase 2 Route Selection.</t> paths as least preferred during next-hop metric comparisons. However, such paths
</section> <bcp14>MUST</bcp14>
</section> still be considered valid for BGP Phase 2 route selection.</t>
</section>
<section title="Multiple Route Selections" anchor="sec_multiple"> </section>
<section anchor="sec_multiple" numbered="true" toc="default">
<t>BGP Route Reflector as per <xref target="RFC4456" /> runs a single BGP Decisi <name>Multiple Route Selections</name>
on <t>A BGP route reflector as per <xref target="RFC4456" format="default"/
Process. Optimal route reflection may require multiple BGP Decision Processes or > runs a single BGP Decision
Process. BGP Optimal Route Reflection (BGP ORR) may require multiple BGP Decisio
n Processes or
subsets of the Decision Process in order to consider different IGP locations 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 defi ned BGP policies for different sets of clients. This is very similar to what is defi ned
in <xref target="RFC7947" /> section 2.3.2.1.</t> in <xref target="RFC7947" sectionFormat="comma" section="2.3.2.1"/>.</t>
<t> If the required routing optimization is limited to the IGP cost to t
<t> If the required routing optimization is limited to the IGP cost to the BGP he BGP
Next-Hop, only step e) and subsequent steps as defined in <xref target="RFC4271" next hop, only step e) and subsequent steps as defined in
/> <xref target="RFC4271" sectionFormat="comma" section="9.1.2.2"/> need to be run
section 9.1.2.2, needs to be run multiple times.</t> multiple times.</t>
<t> If the routing optimization requires the use of different BGP polici
<t> If the routing optimization requires the use of different BGP policies for es for
different sets of clients, a larger part of the decision process needs to be run 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 section 9.1 of multiple times, up to the whole Decision Process as defined in <xref target="RFC
<xref target="RFC4271" />. This is for example the case when there is a need to 4271" sectionFormat="of" section="9.1"/>. This is, for example, the case when th
use different policies to compute different degree of preference during Phase 1. ere 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 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 ap ply exit points for certain clients. In the latter case, the user may specify and ap ply
a general policy on the route reflector for a set of clients. Regular path selec tion, a general policy on the route reflector for a set of clients. Regular path selec tion,
including IGP perspective for a set of clients as per <xref target="sec_IGP_cost " />, including IGP perspectives for a set of clients as per <xref target="sec_IGP_cos t" format="default"/>,
is then applied to the candidate paths to select the final paths to advertise to the is then applied to the candidate paths to select the final paths to advertise to the
clients. </t> clients. </t>
</section>
<t> A route reflector can implement either or both of the modifications in order </section>
to <section anchor="deployment-cons" numbered="true" toc="default">
allow it to choose the best path for its clients that the clients themselves wou <name>Deployment Considerations</name>
ld have <t>BGP ORR provides a model for integrating the client's
chosen given the same set of candidate paths.</t> perspective into the BGP route selection Decision Process for route reflectors.
</section>
</section>
<section title="Deployment Considerations">
<t>BGP Optimal Route Reflection provides a model for integrating the client
perspective into the BGP Route Selection decision function for route reflectors.
More specifically, the choice of BGP path takes into account either the IGP 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 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.</t> route reflector to the next hop) or other user-configured policies.</t>
<t>The achievement of optimal routing between clients of different cluster
<t>The achievement of optimal routing between clients of different clusters s
relies upon all route reflectors learning all paths that are eligible for relies upon all route reflectors learning all paths that are eligible for
consideration. In order to satisfy this requirement, BGP add-path consideration. In order to satisfy this requirement, BGP ADD-PATH
<xref target="RFC7911" /> needs to be deployed between route reflectors. </t> <xref target="RFC7911" format="default"/> needs to be deployed between route ref
lectors. </t>
<t>This solution can be deployed in traditional hop-by-hop forwarding <t>This solution can be deployed in hop-by-hop forwarding
networks as well as in end-to-end tunneled environments. To avoid routing 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 loops in networks with multiple route reflectors and hop-by-hop forwarding
without encapsulation, it is essential that the network topology be carefully without encapsulation, it is essential that the network topology be carefully
considered in designing a route reflection topology (see also Section 11 of considered in designing a route reflection topology (see also <xref target="RFC4
<xref target="RFC4456" />).</t> 456" sectionFormat="of" section="11"/>).</t>
<t>As discussed in <xref target="RFC4456" sectionFormat="of" section="11"/
<t>As discussed in section 11 of <xref target="RFC4456" />, the IGP locations >, the IGP locations
of BGP route reflectors is important and has routing implications. This of BGP route reflectors are important and have routing implications. This
equally applies to the choice of the IGP locations configured on optimal route 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 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 RR location disappears from the IGP (i.e., fails). Just like the failure of a route
<xref target="RFC4456" />, it may result in changing the paths selected and reflector <xref target="RFC4456" format="default"/>, it may result in changing
advertised to the clients and in general the post-failure paths are expected to the paths selected and
advertised to the clients, and in general, the post-failure paths are expected t
o
be less optimal. This is dependent on the IGP topologies and the IGP distance be less optimal. This is dependent on the IGP topologies and the IGP distance
between the primary and the backup IGP locations: the smaller the distance the between the primary and backup IGP locations: the smaller the distance, the
smaller the potential impact.</t> smaller the potential impact.</t>
<t>
<t>After selecting suitable IGP locations, an operator may let one or multiple After selecting N suitable IGP locations, an operator can choose to enable route
route reflectors handle route selection for all of them. The operator may selection for all of them on all or on a subset of their route reflectors. The
alternatively deploy one or multiple route reflector for each IGP location or operator may alternatively deploy single or multiple (backup case) route
create any design in between. This choice may depend on operational model reflectors for each IGP location or create any design in between. This
(centralized vs per region), acceptable blast radius in case of failure, choice may depend on the operational model (centralized vs. per region), an acce
acceptable number of IBGP sessions for the mesh between the route reflectors, ptable
performance and configuration granularity of the equipment.</t> blast radius in the case of failure, an acceptable number of IBGP sessions for t
he mesh between the route reflectors, performance, and configuration granularity
<t>With this approach, an ISP can effect a hot potato routing policy of the equipment.</t>
even if route reflection has been moved out of the forwarding plane, and <t>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 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 encapsulation. Compared with a deployment of ADD-PATH on all routers, BGP ORR
Optimal Route Reflection (ORR) reduces the amount of state which needs to reduces the amount of state that needs to
be pushed to the edge of the network in order to perform hot potato routing.</t> be pushed to the edge of the network in order to perform hot potato routing.</t>
<t>Modifying the IGP location of BGP ORR does not interfere with policies
<t>Modifying the IGP location of BGP ORR does not interfere with policies enforced before IGP tie-breaking (step e) of
enforced before IGP tie-breaking (step e) of <xref target="RFC4271" /> section <xref target="RFC4271" sectionFormat="comma" section="9.1.2.2"/>) in the BGP Dec
9.1.2.2 in the BGP Decision Process.</t> ision Process.</t>
<t>Calculating routes for different IGP locations requires multiple Shorte
<t>Calculating routes for different IGP locations requires multiple Shortest st
Path First (SPF) calculations and multiple (subsets of) BGP Decision Processes, Path First (SPF) calculations and multiple (subsets of) BGP Decision Processes.
which requires more computing resources. This document allows for different This scenario calls for more computing resources. This document allows for diffe
granularity such as one Decision Process per route reflector, per set of clients rent
granularity, such as one Decision Process per route reflector, per set of client
s,
or per client. A more fine-grained granularity may translate into more optimal or per client. A more fine-grained granularity may translate into more optimal
hot potato routing at the cost of more computing power. Selecting to configure 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 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 associated with their ideal (own) IGP location. However, doing so may have an
impact on the performance (as explained above). Using an IGP location per set 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 performanc of clients implies a loss of precision but reduces the impact on the performance
e
of the route reflector. Similarly, if an IGP location is selected for the whole of the route reflector. Similarly, if an IGP location is selected for the whole
routing instance, the lowest precision is achieved, but the performance impact routing instance, the lowest precision is achieved, but the impact on performanc
is minimal. In the last mode of operation both precision as well as perfomance e
metrics are equal to same metrics when using route reflection as described in is minimal. In the last mode of operation (where an IGP location is selected for
<xref target="RFC4456" /> without ORR extension. 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 <xref target="RFC4456" format="default"/>. The ability to run fine-grained compu
deployed, the number of clients, the number of BGP routes and the size of the tations 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 IGP topology. In essence, sizing considerations are similar to the deployments
of BGP Route Reflector.</t> of BGP route reflectors.</t>
</section>
</section> <section numbered="true" toc="default">
<name>Security Considerations</name>
<section title="Security Considerations"> <t>The extension specified in this document provides a new metric value us
ing additional information
<t>This extension provides a new metric value using additional information
for computing routes for BGP route reflectors. While any improperly used for computing routes for BGP route reflectors. While any improperly used
metric value could impact the resiliency of the network, this extension does metric value could impact the resiliency of the network, this extension does
not change the underlying security issues inherent in the existing IBGP per not change the underlying security issues inherent in the existing IBGP per
<xref target="RFC4456" />.</t> <xref target="RFC4456" format="default"/>.</t>
<t>This document does not introduce requirements for any new protection
<t>This document does not introduce requirements for any new protection
measures. </t> measures. </t>
</section>
<section numbered="true" toc="default">
<name>IANA Considerations</name>
<t>This document has no IANA actions.</t>
</section>
</middle>
<back>
<references>
<name>References</name>
<references>
<name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.2119.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4271.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4456.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8174.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7911.xml"/>
</references>
<references>
<name>Informative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.2328.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4364.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.5340.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7752.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7947.xml"/>
</section> <reference anchor="ISO10589">
<front>
<section title="IANA Considerations"> <title>Intermediate system to Intermediate system intra-domain
routeing information exchange protocol for use in conjunction with
<t>This document does not request any IANA allocations.</t> the protocol for providing the connectionless-mode Network Service (ISO 8473)</
title>
</section> <author>
<organization abbrev="ISO">International Organization for Standard
<section title="Acknowledgments"> ization</organization>
</author>
<t>Authors would like to thank Keyur Patel, Eric Rosen, Clarence <date month="November" year="2002"/>
Filsfils, Uli Bornhauser, Russ White, Jakob Heitz, Mike Shand, Jon </front>
Mitchell, John Scudder, Jeff Haas, Martin Djernaes, Daniele <refcontent>ISO/IEC 10589:2002, Second Edition</refcontent>
Ceccarelli, Kieran Milne, Job Snijders, Randy Bush, Alvaro Retana, </reference>
Francesca Palombini, Benjamin Kaduk, Zaheduzzaman Sarker, Lars </references>
Eggert, Murray Kucherawy, Tom Petch and Nick Hilliard for their </references>
<section numbered="false" toc="default">
<name>Acknowledgments</name>
<t>The authors would like to thank <contact fullname="Keyur Patel"/>, <con
tact fullname="Eric Rosen"/>, <contact fullname="Clarence Filsfils"/>, <contact
fullname="Uli Bornhauser"/>, <contact fullname="Russ White"/>, <contact fullname
="Jakob Heitz"/>, <contact fullname="Mike Shand"/>, <contact fullname="Jon
Mitchell"/>, <contact fullname="John Scudder"/>, <contact fullname="Jeff Haas"/>
, <contact fullname="Martin Djernæs"/>, <contact fullname="Daniele Ceccarelli"/>
, <contact fullname="Kieran Milne"/>, <contact fullname="Job Snijders"/>, <conta
ct fullname="Randy Bush"/>, <contact fullname="Alvaro Retana"/>,
<contact fullname="Francesca Palombini"/>, <contact fullname="Benjamin Kaduk"/>,
<contact fullname="Zaheduzzaman Sarker"/>, <contact fullname="Lars Eggert"/>, <
contact fullname="Murray Kucherawy"/>, <contact fullname="Tom Petch"/>, and <con
tact fullname="Nick Hilliard"/> for their
valuable input.</t> valuable input.</t>
</section>
</section> <section numbered="false" toc="default">
<name>Contributors</name>
<section title="Contributors"> <t>The following persons contributed substantially to the current
<t>Following persons substantially contributed to the current
format of the document:</t> format of the document:</t>
<t> <contact fullname="Stephane Litkowski">
<figure> <organization>Cisco Systems</organization>
<artwork> <address>
Stephane Litkowski <postal>
Cisco System <street></street>
<city></city>
slitkows.ietf@gmail.com <region></region>
</artwork> <code></code>
</figure> <country></country>
</t> </postal>
<email>slitkows.ietf@gmail.com</email>
<t> </address>
<figure> </contact>
<artwork>
Adam Chappell
GTT Communications, Inc.
Aspira Business Centre
Bucharova 2928/14a
158 00 Prague 13 Stodulky
Czech Republic
adam.chappell@gtt.net
</artwork>
</figure>
</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119"?>
<?rfc include="reference.RFC.4271"?>
<?rfc include="reference.RFC.4456"?>
<?rfc include="reference.RFC.8174"?>
<?rfc include="reference.RFC.7911"?>
</references>
<references title="Informative References">
<?rfc include="reference.RFC.2328"?>
<?rfc include="reference.RFC.4364"?>
<?rfc include="reference.RFC.5340"?>
<?rfc include="reference.RFC.7752"?>
<?rfc include="reference.RFC.7947"?>
<reference anchor="ISO10589">
<front>
<title>Intermediate system to Intermediate system intra-d
omain
routeing information exchange protocol for use in conjunc
tion with
the protocol for providing the connectionless-mode Networ
k Service
(ISO 8473)</title>
<author> <contact fullname="Adam Chappell">
<organization abbrev="ISO">International Organization for <organization>GTT Communications, Inc.</organization>
Standardization</organization> <address>
</author> <postal>
<date month="Nov" year="2002"/> <street>Aspira Business Centre</street>
</front> <street>Bucharova 2928/14a</street>
<seriesInfo name="ISO/IEC" value="10589:2002, Second Edition"/> <city>158 00 Prague 13 Stodůlky</city>
</reference> <region></region>
</references> <code></code>
</back> <country>Czech Republic</country>
</postal>
<email>adam.chappell@gtt.net</email>
</address>
</contact>
</section>
</back>
</rfc> </rfc>
 End of changes. 53 change blocks. 
458 lines changed or deleted 403 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/