rfc9816xml2.original.xml | rfc9816.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='UTF-8'?> | |||
<?rfc toc="yes"?> | ||||
<?rfc tocompact="yes"?> | <!DOCTYPE rfc [ | |||
<?rfc tocdepth="3"?> | <!ENTITY nbsp " "> | |||
<?rfc tocindent="yes"?> | <!ENTITY zwsp "​"> | |||
<?rfc symrefs="yes"?> | <!ENTITY nbhy "‑"> | |||
<?rfc sortrefs="yes"?> | <!ENTITY wj "⁠"> | |||
<?rfc comments="yes"?> | ]> | |||
<?rfc inline="yes"?> | ||||
<?rfc compact="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" docName="draft-i | |||
<?rfc subcompact="no"?> | etf-lsvr-applicability-22" number="9816" ipr="trust200902" submissionType="IETF" | |||
<rfc category="info" docName="draft-ietf-lsvr-applicability-22" | tocDepth="3" version="3" tocInclude="true" symRefs="true" sortRefs="true" updat | |||
ipr="trust200902" submissionType="IETF" tocDepth="5" version="2"> | es="" obsoletes="" consensus="true" xml:lang="en"> | |||
<front> | <front> | |||
<!--[rfced] BGP-LS and SPF | ||||
a) Would you like to update the title of the document as shown below | ||||
or otherwise, to more closely match how "BGP-LS" and "SPF" | ||||
are handled in the title of RFC-to-be 9815? | ||||
Original: | ||||
Usage and Applicability of BGP Link-State Shortest Path | ||||
Routing (BGP-SPF) in Data Centers | ||||
Option A: | ||||
Usage and Applicability of BGP Link-State | ||||
Shortest Path First (SPF) Routing in Data Centers | ||||
Option B: | ||||
Usage and Applicability of BGP - Link State (BGP-LS) | ||||
Shortest Path First (SPF) Routing in Data Centers | ||||
b) To match how the companion document expands "BGP-LS" and | ||||
"SPF", may we update the Abstract and Introduction as shown | ||||
below for consistency? | ||||
Original (Abstract): | ||||
This document discusses the usage and applicability of BGP Link-State | ||||
Shortest Path First (BGP-SPF) extensions in data center networks | ||||
utilizing Clos or Fat-Tree topologies. | ||||
Perhaps: | ||||
This document discusses the usage and applicability of BGP - Link State | ||||
(BGP-LS) Shortest Path First (SPF) extensions in data center networks | ||||
utilizing Clos or Fat Tree topologies. | ||||
... | ||||
Original (Introduction): | ||||
This document complements [I-D.ietf-lsvr-bgp-spf] by discussing the | ||||
applicability of the BGP-SPF technology in a simple and fairly common | ||||
deployment scenario, which is described in Section 3. | ||||
Perhaps: | ||||
This document complements [RFC9815] by discussing the applicability of | ||||
the BGP - Link State (BGP-LS) Shortest Path First (SPF) technology in | ||||
a simple and fairly common deployment scenario, which is described in | ||||
Section 3. | ||||
c) Throughout the text, we note "BGP-SPF" vs. "BGP SPF". "BGP SPF" is | ||||
used both in the companion document and the IANA registry at | ||||
<https://www.iana.org/assignments/bgp-spf/>. Would you like to update | ||||
each instance of "BGP-SPF" to "BGP SPF" for consistency? See one | ||||
example below: | ||||
Original: | ||||
The document is intended to provide simplified guidance | ||||
for the deployment of BGP-SPF extensions. | ||||
Perhaps: | ||||
The document is intended to provide simplified guidance | ||||
for the deployment of BGP SPF extensions. | ||||
--> | ||||
<title abbrev="BGP-SPF Applicability">Usage and Applicability of BGP | <title abbrev="BGP-SPF Applicability">Usage and Applicability of BGP | |||
Link-State Shortest Path Routing (BGP-SPF) in Data Centers</title> | Link-State Shortest Path Routing (BGP-SPF) in Data Centers</title> | |||
<seriesInfo name="RFC" value="9816"/> | ||||
<author fullname="Keyur Patel" initials="K" surname="Patel"> | <author fullname="Keyur Patel" initials="K" surname="Patel"> | |||
<organization>Arrcus, Inc.</organization> | <organization>Arrcus, Inc.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>2077 Gateway Pl</street> | <street>2077 Gateway Pl</street> | |||
<city>San Jose</city><region>CA</region> | ||||
<city>San Jose, CA</city> | <country>United States of America</country> | |||
<country>USA</country> | ||||
<code>95110</code> | <code>95110</code> | |||
</postal> | </postal> | |||
<phone/> | ||||
<email>keyur@arrcus.com</email> | <email>keyur@arrcus.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Acee Lindem" initials="A" surname="Lindem"> | <author fullname="Acee Lindem" initials="A" surname="Lindem"> | |||
<organization>LabN Consulting, L.L.C.</organization> | <organization>LabN Consulting, L.L.C.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>301 Midenhall Way</street> | <street>301 Midenhall Way</street> | |||
<city>Cary</city><region>NC</region> | ||||
<city>Cary, NC</city> | <country>United States of America</country> | |||
<country>USA</country> | ||||
<code>95110</code> | <code>95110</code> | |||
</postal> | </postal> | |||
<phone/> | ||||
<email>acee.ietf@gmail.com</email> | <email>acee.ietf@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Shawn Zandi" initials="S" surname="Zandi"> | <author fullname="Shawn Zandi" initials="S" surname="Zandi"> | |||
<organization>Linkedin</organization> | <organization>LinkedIn</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>222 2nd Street</street> | <street>222 2nd Street</street> | |||
<city>San Francisco</city> | <city>San Francisco</city> | |||
<region>CA</region> | <region>CA</region> | |||
<code>94105</code> | <code>94105</code> | |||
<country>United States of America</country> | ||||
<country>USA</country> | ||||
</postal> | </postal> | |||
<email>szandi@linkedin.com</email> | <email>szandi@linkedin.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Gaurav Dawra" initials="G" surname="Dawra"> | <author fullname="Gaurav Dawra" initials="G" surname="Dawra"> | |||
<organization>Linkedin</organization> | <organization>Linkedin</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>222 2nd Street</street> | <street>222 2nd Street</street> | |||
<city>San Francisco</city> | <city>San Francisco</city> | |||
<region>CA</region> | <region>CA</region> | |||
<code>94105</code> | <code>94105</code> | |||
<country>United States of America</country> | ||||
<country>USA</country> | ||||
</postal> | </postal> | |||
<email>gdawra@linkedin.com</email> | <email>gdawra@linkedin.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Jie Dong" initials="J." surname="Dong"> | <author fullname="Jie Dong" initials="J." surname="Dong"> | |||
<organization>Huawei Technologies</organization> | <organization>Huawei Technologies</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>No. 156 Beiqing Road</street> | <street>No. 156 Beiqing Road</street> | |||
<city>Beijing</city> | <city>Beijing</city> | |||
<region/> | ||||
<code/> | ||||
<country>China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<email>jie.dong@huawei.com</email> | <email>jie.dong@huawei.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date month="July" year="2025"/> | ||||
<area>RTG</area> | ||||
<workgroup>lsvr</workgroup> | ||||
<date/> | <!-- [rfced] Please insert any keywords (beyond those that appear in | |||
the title) for use on https://www.rfc-editor.org/search. --> | ||||
<abstract> | <abstract> | |||
<t>This document discusses the usage and applicability of BGP Link-State | <t>This document discusses the usage and applicability of BGP Link-State | |||
Shortest Path First (BGP-SPF) extensions in data center networks | Shortest Path First (BGP-SPF) extensions in data center networks | |||
utilizing Clos or Fat-Tree topologies. The document is intended to | utilizing Clos or Fat Tree topologies. The document is intended to | |||
provide simplified guidance for the deployment of BGP-SPF | provide simplified guidance for the deployment of BGP-SPF | |||
extensions.</t> | extensions.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section title="Introduction"> | <section> | |||
<t>This document complements <xref format="default" | <name>Introduction</name> | |||
target="I-D.ietf-lsvr-bgp-spf"/> by discussing the applicability of the | <t>This document complements <xref format="default" target="RFC9815"/> by | |||
BGP-SPF technology in a simple and fairly common deployment scenario, | discussing the applicability of the | |||
which is described in <xref format="default" target="usecases"/>.</t> | BGP-SPF technology in a simple and fairly common deployment scenario, whic | |||
h is described in | ||||
<xref format="default" target="usecases"/>.</t> | ||||
<t><xref format="default" target="motivation"/> describes the reasons | <t><xref format="default" target="motivation"/> describes the reasons | |||
for BGP modifications for such deployments.</t> | for BGP modifications for such deployments.</t> | |||
<t><xref format="default" target="bgpspf"/> covers the BGP Link-State | <t><xref format="default" target="bgpspf"/> covers the BGP-SPF protocol en | |||
Shortest Path First (IGP-SPF) protocol enhancements to BGP to meet these | hancements to BGP to meet these | |||
requirements and their applicability to data center <xref | requirements and their applicability to data center <xref format="default" | |||
format="default" target="Clos"/> networks.</t> | target="Clos"/> networks.</t> | |||
</section> | </section> | |||
<section anchor="reco"> | ||||
<name>Recommended Reading</name> | ||||
<section anchor="reco" title="Recommended Reading"> | <!-- [rfced] We updated "RFC 5580" to "RFC 5880" in the following | |||
sentence, and elsewhere in the document where "BFD" is | ||||
referenced, as "BFD" is defined in RFC 5880 and not mentioned | ||||
in RFC 5580. If this is not correct, please let us know. | ||||
Original: | ||||
This document also assumes knowledge of data center routing | ||||
protocols such as BGP [RFC4271], BGP-SPF [I-D.ietf-lsvr-bgp-spf], OSPF | ||||
[RFC2328] [RFC5340], as well as data center Operations, | ||||
Administration, and Maintenance (OAM) protocols like Link Layer | ||||
Discovery Protocol (LLDP) [RFC4957] and Bi- Directional Forwarding | ||||
Detection (BFD) [RFC5580]. | ||||
Current: | ||||
This document also assumes knowledge of data center routing | ||||
protocols such as BGP [RFC4271], BGP-SPF [RFC9815], and OSPF | ||||
[RFC2328] [RFC5340] as well as data center Operations, | ||||
Administration, and Maintenance (OAM) protocols like the Link Layer | ||||
Discovery Protocol (LLDP) [RFC4957] and Bidirectional Forwarding | ||||
Detection (BFD) [RFC5580]. | ||||
--> | ||||
<t>This document assumes knowledge of existing data center networks and | <t>This document assumes knowledge of existing data center networks and | |||
data center network topologies <xref format="default" target="Clos"/>. | data center network topologies <xref format="default" target="Clos"/>. | |||
This document also assumes knowledge of data center routing protocols | This document also assumes knowledge of data center routing protocols | |||
such as BGP <xref format="default" target="RFC4271"/>, BGP-SPF <xref | such as BGP <xref format="default" target="RFC4271"/>, BGP-SPF <xref forma | |||
format="default" target="I-D.ietf-lsvr-bgp-spf"/>, OSPF <xref | t="default" target="RFC9815"/>, and OSPF <xref format="default" target="RFC2328" | |||
format="default" target="RFC2328"/> <xref target="RFC5340"/>, as well as | /> <xref target="RFC5340"/> as well as | |||
data center Operations, Administration, and Maintenance (OAM) protocols | data center Operations, Administration, and Maintenance (OAM) protocols | |||
like Link Layer Discovery Protocol (LLDP) <xref format="default" | like the Link Layer Discovery Protocol (LLDP) <xref format="default" targe | |||
target="RFC4957"/> and Bi-Directional Forwarding Detection (BFD) <xref | t="RFC4957"/> and Bidirectional Forwarding Detection (BFD) <xref format="default | |||
format="default" target="RFC5580"/>.</t> | " target="RFC5880"/>.</t> | |||
</section> | </section> | |||
<section anchor="usecases"> | ||||
<section anchor="usecases" title="Common Deployment Scenario"> | <name>Common Deployment Scenario</name> | |||
<t>Within a data center, servers are commonly interconnected using the | <t>Within a data center, servers are commonly interconnected using the | |||
Clos topology <xref format="default" target="Clos"/>. The Clos topology | Clos topology <xref format="default" target="Clos"/>. The Clos topology | |||
is fully non-blocking and the topology is realized using Equal Cost | is fully non-blocking, and the topology is realized using Equal-Cost | |||
Multi-Path (ECMP). In a multi-stage Clos topology, the minimum number of | Multipath (ECMP). In a multi-stage Clos topology, the minimum number of | |||
parallel paths in each tier is determined by the width of the stage as | parallel paths in each tier is determined by the width of the stage as | |||
shown in the figure 1.</t> | shown in <xref target="fig1"/>.</t> | |||
<figure anchor="fig1"> | ||||
<t> | <name>Illustration of the Basic Clos</name> | |||
<figure anchor="fig1"> | <artwork align="left" alt="" name="" type=""><![CDATA[ | |||
<name>Illustration of the basic Clos</name> | ||||
<artwork align="left" alt="" name="" type=""><![CDATA[ | ||||
Tier 1 | Tier 1 | |||
+-----+ | +-----+ | |||
|NODE | | |NODE | | |||
+->| 1 |--+ | +->| 1 |--+ | |||
| +-----+ | | | +-----+ | | |||
Tier 2 | | Tier 2 | Tier 2 | | Tier 2 | |||
+-----+ | +-----+ | +-----+ | +-----+ | +-----+ | +-----+ | |||
+------------->|NODE |--+->|NODE |--+--|NODE |--------------+ | +------------->|NODE |--+->|NODE |--+--|NODE |--------------+ | |||
| +-----| 5 |--+ | 2 | +--| 7 |-----+ | | | +-----| 5 |--+ | 2 | +--| 7 |-----+ | | |||
| | +-----+ +-----+ +-----+ | | | | | +-----+ +-----+ +-----+ | | | |||
skipping to change at line 194 ¶ | skipping to change at line 228 ¶ | |||
| +------+---->|NODE |--+ |NODE | +--|NODE |-----+------+ | | | +------+---->|NODE |--+ |NODE | +--|NODE |-----+------+ | | |||
| | | +---| 6 |--+->| 3 |--+--| 8 |---+ | | | | | | | +---| 6 |--+->| 3 |--+--| 8 |---+ | | | | |||
| | | | +-----+ | +-----+ | +-----+ | | | | | | | | | +-----+ | +-----+ | +-----+ | | | | | |||
| |Tier 3| | | | | |Tier 3| | | | |Tier 3| | | | | |Tier 3| | | |||
+-----+ +-----+ | +-----+ | +-----+ +-----+ | +-----+ +-----+ | +-----+ | +-----+ +-----+ | |||
|NODE | |NODE | +->|NODE |--+ |NODE | |NODE | | |NODE | |NODE | +->|NODE |--+ |NODE | |NODE | | |||
| 9 | | 10 | | 4 | | 11 | | 12 | | | 9 | | 10 | | 4 | | 11 | | 12 | | |||
+-----+ +-----+ +-----+ +-----+ +-----+ | +-----+ +-----+ +-----+ +-----+ +-----+ | |||
| | | | | | | | | | | | | | | | | | | | | | | | | | |||
<- Servers -> <- Servers -> | <- Servers -> <- Servers -> | |||
]]></artwork> | ||||
</figure> | ||||
Tier 1 is comprised of Nodes 1, 2, 3, and 4 | <ul spacing="normal"> | |||
Tier 2 is comprised of Nodes 5, 6, 7, and 8 | <li>Tier 1 is comprised of Nodes 1, 2, 3, and 4</li> | |||
Tier 3 is comprised of Nodes 9, 10, 11, and 12 | <li>Tier 2 is comprised of Nodes 5, 6, 7, and 8</li> | |||
<li>Tier 3 is comprised of Nodes 9, 10, 11, and 12</li> | ||||
</ul> | ||||
]]></artwork> | ||||
</figure> | ||||
</t> | ||||
</section> | </section> | |||
<section anchor="motivation"> | ||||
<section anchor="motivation" title="Justification for BGP-SPF Extension"> | <name>Justification for the BGP-SPF Extension</name> | |||
<t>To simplify L3 routing and operations, many data centers use BGP as a | <t>To simplify Layer 3 (L3) routing and operations, many data centers use | |||
BGP as a | ||||
routing protocol to create both an underlay and an overlay network for | routing protocol to create both an underlay and an overlay network for | |||
their Clos Topologies <xref format="default" target="RFC7938"/>. | their Clos topologies <xref format="default" target="RFC7938"/>. | |||
However, BGP is a path-vector routing protocol. Since it does not create | However, BGP is a path-vector routing protocol. Since it does not create | |||
a fabric topology, it uses hop-by-hop External BGP (EBGP) peering to | a fabric topology, it uses hop-by-hop External BGP (EBGP) peering to | |||
facilitate hop-by-hop routing to create the underlay network and to | facilitate hop-by-hop routing to create the underlay network and to | |||
resolve any overlay next hops. The hop-by-hop BGP peering paradigm | resolve any overlay next hops. The hop-by-hop BGP peering paradigm | |||
imposes several restrictions within a Clos. It prohibits the deployment | imposes several restrictions within a Clos. It prohibits the deployment | |||
of Route Reflectors/Route Controllers as the EBGP sessions are congruent | of route reflectors / route controllers as the EBGP sessions are congruent | |||
with the data path. The BGP best-path algorithm is prefix-based and it | with the data path. The BGP best-path algorithm is prefix based, and it | |||
prevents announcements of prefixes to other BGP speakers until the | prevents announcements of prefixes to other BGP speakers until the | |||
best-path decision process has been performed for the prefix at each | best-path decision process has been performed for the prefix at each | |||
intermediate hop. These restrictions significantly delay the overall | intermediate hop. These restrictions significantly delay the overall | |||
convergence of the underlay network within a Clos network.</t> | convergence of the underlay network within a Clos network.</t> | |||
<!--[rfced] "SPF" is not mentioned in RFC 9552. Should a different RFC be | ||||
referenced or was "OSPF" perhaps intended? | ||||
Original: | ||||
The BGP-SPF modifications allow BGP to overcome these limitations. | ||||
Furthermore, using the BGP-LS Network Layer Reachability Information | ||||
(NLRI) format allows the BGP-SPF data to be advertised for nodes, | ||||
links, and prefixes in the BGP routing domain and used for Short- | ||||
Path-First (SPF) computations [RFC9552]. | ||||
--> | ||||
<t>The BGP-SPF modifications allow BGP to overcome these limitations. | <t>The BGP-SPF modifications allow BGP to overcome these limitations. | |||
Furthermore, using the BGP-LS Network Layer Reachability Information | Furthermore, using the BGP-LS Network Layer Reachability Information | |||
(NLRI) format allows the BGP-SPF data to be advertised for nodes, links, | (NLRI) format allows the BGP-SPF data to be advertised for nodes, links, | |||
and prefixes in the BGP routing domain and used for Short-Path-First | and prefixes in the BGP routing domain and used for SPF computations <xref | |||
(SPF) computations <xref target="RFC9552"/>.</t> | target="RFC9552"/>.</t> | |||
<t>Additional motivation for deploying BGP-SPF is included in <xref target | ||||
<t>Additional motivation for deploying BGP-SPF is included in <xref | ="RFC9815"/>.</t> | |||
target="I-D.ietf-lsvr-bgp-spf"/>.</t> | ||||
</section> | </section> | |||
<section anchor="bgpspf"> | ||||
<section anchor="bgpspf" title="BGP-SPF Applicability to Clos Networks"> | <name>BGP-SPF Applicability to Clos Networks</name> | |||
<t>With the BGP-SPF extensions <xref format="default" | <t>With the BGP-SPF extensions <xref format="default" target="RFC9815"/>, | |||
target="I-D.ietf-lsvr-bgp-spf"/>, the BGP best-path computation and | the BGP best-path computation and | |||
route computation are replaced with link-state algorithms such as those | route computation are replaced with link-state algorithms such as those | |||
used by OSPF <xref format="default" target="RFC2328"/>, both to | used by OSPF <xref format="default" target="RFC2328"/>, both to | |||
determine whether an BGP-LS-SPF NLRI has changed and needs to be | determine whether a BGP-LS-SPF NLRI has changed and needs to be | |||
re-advertised and to compute the BGP routes. These modifications will | readvertised and to compute the BGP routes. These modifications will | |||
significantly improve convergence of the underlay while affording the | significantly improve convergence of the underlay while affording the | |||
operational benefits of a single routing protocol <xref format="default" | operational benefits of a single routing protocol <xref format="default" t | |||
target="RFC7938"/>.</t> | arget="RFC7938"/>.</t> | |||
<t>Data center controllers typically require visibility to the BGP | <t>Data center controllers typically require visibility to the BGP | |||
topology to compute traffic-engineered paths. These controllers learn | topology to compute traffic-engineered paths. These controllers learn | |||
the topology and other relevant information via the BGP-LS address | the topology and other relevant information via the BGP-LS address | |||
family <xref format="default" target="RFC9552"/> which is totally | family <xref format="default" target="RFC9552"/>, which is totally | |||
independent of the underlay address families (usually IPv4/IPv6 | independent of the underlay address families (usually IPv4/IPv6 | |||
unicast). Furthermore, in traditional BGP underlays, all the BGP routers | unicast). Furthermore, in traditional BGP underlays, all the BGP routers | |||
will need to advertise their BGP-LS information independently. With the | will need to advertise their BGP-LS information independently. With the | |||
BGP-SPF extensions, controllers can learn the topology using the same | BGP-SPF extensions, controllers can learn the topology using the same | |||
BGP advertisements used to compute the underlay routes. Furthermore, | BGP advertisements used to compute the underlay routes. Furthermore, | |||
these data center controllers can avail the convergence advantages of | these data center controllers can avail the convergence advantages of | |||
the BGP-SPF extensions. The placement of controllers can be outside of | the BGP-SPF extensions. The placement of controllers can be outside of | |||
the forwarding path or within the forwarding path.</t> | the forwarding path or within the forwarding path.</t> | |||
<t>Alternatively, as each and every router in the BGP-SPF domain will | <t>Alternatively, as each and every router in the BGP-SPF domain will | |||
have a complete view of the topology, the operator can also choose to | have a complete view of the topology, the operator can also choose to | |||
configure BGP sessions in the hop-by-hop peering model described in | configure BGP sessions in the hop-by-hop peering model described in | |||
<xref format="default" target="RFC7938"/> along with BFD <xref | <xref format="default" target="RFC7938"/> along with BFD <xref format="def | |||
format="default" target="RFC5580"/>. In doing so, while the hop-by-hop | ault" target="RFC5580"/>. In doing so, while the hop-by-hop | |||
peering model lacks the inherent benefits of the controller-based model, | peering model lacks the inherent benefits of the controller-based model, | |||
BGP updates need not be serialized by the BGP best-path algorithm in | BGP updates need not be serialized by the BGP best-path algorithm in | |||
either of these models. This helps overall network convergence.</t> | either of these models. This helps overall network convergence.</t> | |||
<section anchor="lsvrsafi"> | ||||
<section anchor="lsvrsafi" title="Usage of BGP-LS SPF SAFI"> | <name>Usage of BGP-LS-SPF SAFI</name> | |||
<t>Section 5.1 of <xref format="default" | <t><xref section="5.1" sectionFormat="of" format="default" target="RFC98 | |||
target="I-D.ietf-lsvr-bgp-spf"/> defines a new BGP-LS-SPF SAFI for | 15"/> defines a new BGP-LS-SPF SAFI for | |||
announcement of the BGP-SPF link-state. The NLRI format and its | announcement of the BGP-SPF link-state. The NLRI format and its | |||
associated attributes follow the format of BGP-LS for node, link, and | associated attributes follow the format of BGP-LS for node, link, and | |||
prefix announcements. Whether the peering model within a Clos follows | prefix announcements. Whether the peering model within a Clos follows | |||
hop-by-hop peering described in <xref format="default" | hop-by-hop peering described in <xref format="default" target="RFC7938"/ | |||
target="RFC7938"/> or any controller-based or route-reflector peering, | > or any controller-based or route-reflector peering, | |||
an operator can exchange BGP-LS-SPF SAFI routes over the BGP peering | an operator can exchange BGP-LS-SPF SAFI routes over the BGP peering | |||
by simply configuring BGP-LS-SPF SAFI between the necessary BGP | by simply configuring BGP-LS-SPF SAFI between the necessary BGP | |||
speakers.</t> | speakers.</t> | |||
<t>The BGP-LS-SPF SAFI can also coexist with BGP IP Unicast SAFI | ||||
<t>The BGP-LS-SPF SAFI can also co-exist with BGP IP Unicast SAFI | <xref target="RFC4760"/>, which could exchange overlapping IP routes. | |||
<xref target="RFC4760"/> which could exchange overlapping IP routes. | ||||
One use case for this is where BGP-LS-SPF routes are used for the | One use case for this is where BGP-LS-SPF routes are used for the | |||
underlay and BGP IP Unicast routes for VPNs are advertised in the | underlay and BGP IP Unicast routes for VPNs are advertised in the | |||
overlay as described in <xref target="RFC4364"/>. The routes received | overlay as described in <xref target="RFC4364"/>. The routes received | |||
by these SAFIs are evaluated, stored, and announced independently | by these SAFIs are evaluated, stored, and announced independently | |||
according to the rules of <xref format="default" target="RFC4760"/>. | according to the rules of <xref format="default" target="RFC4760"/>. | |||
The tie-breaking of route installation is a matter of the local | The tiebreaking of route installation is a matter of the local | |||
policies and preferences of the network operator.</t> | policies and preferences of the network operator.</t> | |||
<t>Finally, as the BGP-SPF peering is done following the procedures | <t>Finally, as the BGP-SPF peering is done following the procedures | |||
described in <xref format="default" target="RFC4271"/>, all the | described in <xref format="default" target="RFC4271"/>, all the | |||
existing transport security mechanisms including <xref | existing transport security mechanisms including those in <xref format=" | |||
format="default" target="RFC5925"/> are available for the BGP-LS-SPF | default" target="RFC5925"/> are available for the BGP-LS-SPF | |||
SAFI.</t> | SAFI.</t> | |||
<section anchor="other-safi"> | ||||
<section anchor="other-safi" | <name>Relationship to Other BGP AFI/SAFI Tuples</name> | |||
title="Relationship to Other BGP AFI/SAFI Tuples"> | ||||
<t>Normally, the BGP-LS-SPF AFI/SAFI is used solely to compute the | <t>Normally, the BGP-LS-SPF AFI/SAFI is used solely to compute the | |||
underlay and is given precedence over other AFI/SAFIs in route | underlay and is given precedence over other AFI/SAFIs in route | |||
processing. Other BGP SAFIs, e.g., IPv6/IPv6 Unicast VPN would use | processing. Other BGP SAFIs, e.g., IPv6/IPv6 unicast VPN, would use | |||
the BGP-SPF computed routes for next hop resolution.</t> | the BGP-SPF computed routes for next-hop resolution.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="peering"> | ||||
<section anchor="peering" title="Peering Models"> | <name>Peering Models</name> | |||
<t>As previously stated, BGP-SPF can be deployed using the existing | <t>As previously stated, BGP-SPF can be deployed using the existing | |||
peering model where there is a single-hop BGP session on each and | peering model where there is a single-hop BGP session on each and | |||
every link in the data center fabric <xref format="default" | every link in the data center fabric <xref format="default" target="RFC7 | |||
target="RFC7938"/>. This provides for both the advertisement of routes | 938"/>. This provides for both the advertisement of routes | |||
and the determination of link and neighboring router availability. | and the determination of link and neighboring router availability. | |||
With BGP-SPF, the underlay will converge faster due to changes to the | With BGP-SPF, the underlay will converge faster due to changes to the | |||
decision process that will allow NLRI changes to be advertised faster | decision process that will allow NLRI changes to be advertised faster | |||
after detecting a change.</t> | after detecting a change.</t> | |||
<section anchor="sparse-peering"> | ||||
<section anchor="sparse-peering" title="Sparse Peering Model"> | <name>Sparse Peering Model</name> | |||
<t>Alternately, BFD <xref format="default" target="RFC5580"/> can be | <t>Alternately, BFD <xref format="default" target="RFC5580"/> can be | |||
used to swiftly determine the availability of links and the BGP | used to swiftly determine the availability of links, and the BGP | |||
peering model can be significantly sparser than the data center | peering model can be significantly sparser than the data center | |||
fabric. BGP-SPF sessions only need to be established with enough | fabric. BGP-SPF sessions only need to be established with enough | |||
peers to provide a bi-connected graph. If Internal BGP (IBGP) is | peers to provide a biconnected graph. If Internal BGP (IBGP) is | |||
used, then the BGP routers at tier N-1 will act as route-reflectors | used, then the BGP routers at tier N-1 will act as route-reflectors | |||
for the routers at tier N.</t> | for the routers at tier N.</t> | |||
<t>The obvious usage of sparse peering is to avoid parallel BGP | <t>The obvious usage of sparse peering is to avoid parallel BGP | |||
sessions on links between the same two routers in the data center | sessions on links between the same two routers in the data center | |||
fabric. However, this use case is not very useful since parallel L3 | fabric. However, this use case is not very useful since parallel L3 | |||
links between the same two BGP routers are rare in Clos or Fat-Tree | links between the same two BGP routers are rare in Clos or Fat Tree | |||
topologies. Additionally, when there are multiple links, they are | topologies. Additionally, when there are multiple links, they are | |||
often aggregated at the link layer using Link Aggregation Groups | often aggregated using Link Aggregation Groups | |||
(LAGs) <xref target="IEEE.802.1AX"/> rather than at the IP layer. | (LAGs) at the link layer <xref target="IEEE.802.1AX"/> rather than at | |||
the IP layer. | ||||
Two more interesting scenarios are described below.</t> | Two more interesting scenarios are described below.</t> | |||
<t>In current data center topologies, there is often a very dense | <t>In current data center topologies, there is often a very dense | |||
mesh of links between levels, e.g., leaf and spine, providing | mesh of links between levels, e.g., leaf and spine, providing | |||
32-way, 64-way, or more Equal-Cost Multi-Path (ECMP) paths. In these | 32-way paths, 64-way paths, or more ECMPs. In these | |||
topologies, it is desirable not to have a BGP session on every link | topologies, it is desirable not to have a BGP session on every link, | |||
and techniques such as the one described in <xref format="default" | and techniques such as the one described in <xref format="default" tar | |||
target="bi-connected"/> can be used to establish sessions on some | get="bi-connected"/> can be used to establish sessions on some | |||
subset of northbound links. For example, in a Spine-Leaf topology, | subset of northbound links. For example, in a Spine/Leaf topology, | |||
each leaf router would only peer with a subset of the spines | each leaf router would only peer with a subset of the spines | |||
dependent on the flooding redundancy required to be reasonably | dependent on the flooding redundancy required to be reasonably | |||
certain that every node within the BGP-SPF routing domain has the | certain that every node within the BGP-SPF routing domain has the | |||
complete topology.</t> | complete topology.</t> | |||
<t>Alternately, controller-based data center topologies are | <t>Alternately, controller-based data center topologies are | |||
envisioned where BGP speakers within the data center only establish | envisioned where BGP speakers within the data center only establish | |||
BGP sessions with two or more controllers. In these topologies, | BGP sessions with two or more controllers. In these topologies, | |||
fabric nodes below the first tier, as shown in Figure 1 of <xref | fabric nodes below the first tier, as shown in Figure 1 of <xref forma | |||
format="default" target="RFC7938"/>, will establish BGP multi-hop | t="default" target="RFC7938"/>, will establish BGP multi-hop | |||
sessions with the controllers. For the multi-hop sessions, | sessions with the controllers. For the multi-hop sessions, | |||
determining the route to the controllers without depending on BGP | determining the route to the controllers without depending on BGP | |||
would need to be through some other means beyond the scope of this | would need to be through some other means beyond the scope of this | |||
document. However, the BGP discovery mechanisms described in <xref | document. However, the BGP discovery mechanisms described in <xref for | |||
format="default" target="bgp-discovery"/> would be one | mat="default" target="bgp-discovery"/> would be one | |||
possibility.</t> | possibility.</t> | |||
</section> | </section> | |||
<section anchor="bi-connected"> | ||||
<section anchor="bi-connected" title="Bi-Connected Graph Heuristic"> | <name>Biconnected Graph Heuristic</name> | |||
<t>With this heuristic, discovery of BGP SPF peers is assumed, e.g., | <t>With a biconnected graph heuristic, discovery of BGP SPF peers is a | |||
ssumed, e.g., | ||||
as described in <xref format="default" target="bgp-discovery"/>. In | as described in <xref format="default" target="bgp-discovery"/>. In | |||
this context, "bi-connected" refers to the fact that there must be | this context, "biconnected" refers to the fact that there must be | |||
an adverised link NLRI for both BGP SPF peers associated with the | an advertised Link NLRI for both BGP and SPF peers associated with the | |||
link before the link can be used in the BGP SPF route calcuation. | link before the link can be used in the BGP SPF route calculation. | |||
Additionally, it assumed that the direction of the peering can be | Additionally, it is assumed that the direction of the peering can be | |||
ascertained. In the context of a data center fabric, the direction | ascertained. In the context of a data center fabric, the direction | |||
is either northbound (toward the spine), southbound (toward the | is either northbound (toward the spine), southbound (toward the | |||
Top-Of-Rack (ToR) routers) or east-west (same level in the | Top-of-Rack (ToR) routers), or east-west (same level in the | |||
hierarchy). The determination of the direction is beyond the scope | hierarchy). The determination of the direction is beyond the scope | |||
of this document. However, it would be reasonable to assume a | of this document. However, it would be reasonable to assume a | |||
technique where the ToR routers can be identified and the number of | technique where the ToR routers can be identified and the number of | |||
hops to the ToR is used to determine the direction.</t> | hops to the ToR is used to determine the direction.</t> | |||
<t>In this heuristic, BGP speakers allow passive session | <t>In this heuristic, BGP speakers allow passive session | |||
establishment for southbound BGP sessions. For northbound sessions, | establishment for southbound BGP sessions. For northbound sessions, | |||
BGP speakers will attempt to maintain two northbound BGP sessions | BGP speakers will attempt to maintain two northbound BGP sessions | |||
with different routers. For east-west sessions, passive BGP session | with different routers. For east-west sessions, passive BGP session | |||
establishment is allowed. However, a BGP speaker will never actively | establishment is allowed. However, a BGP speaker will never actively | |||
establish an east-west BGP session unless it cannot establish two | establish an east-west BGP session unless it cannot establish two | |||
northbound BGP sessions.</t> | northbound BGP sessions.</t> | |||
<t>BGP SPF sparse peering deployments not using this heuristic are | ||||
<t>BGP SPF sparse peering deployments not using this hueristic are | ||||
possible but are not described herein and are considered out of | possible but are not described herein and are considered out of | |||
scope.</t> | scope.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="bgp-policy"> | ||||
<section anchor="bgp-policy" title="BGP Spine/Leaf Topology Policy"> | <name>BGP Spine/Leaf Topology Policy</name> | |||
<t>One of the advantages of using BGP-SPF as the underlay protocol is | <t>One of the advantages of using BGP-SPF as the underlay protocol is | |||
that BGP policy can be applied at any level. For example, depending on | that BGP policy can be applied at any level. For example, depending on | |||
the topology, it may be possible to aggregate or filter prefix | the topology, it may be possible to aggregate or filter prefix | |||
advertisements using existing BGP policy. In Spine/Leaf topologies, it | advertisements using the existing BGP policy. In Spine/Leaf topologies, | |||
is not necessary to advertise BGP-LS Prefix NLRI received by leaf | it | |||
nodes from the spine back to other spine nodes. If a common AS is used | is not necessary to advertise a BGP-LS Prefix NLRI received by leaf | |||
nodes from the spine back to other spine nodes. If a common Autonomous S | ||||
ystem (AS) is used | ||||
for the spine nodes, this can easily be accomplished with EBGP and a | for the spine nodes, this can easily be accomplished with EBGP and a | |||
simple policy to filter advertisements from the leaves to the spine if | simple policy to filter advertisements from the leaves to the spine if | |||
the first AS in the AS path is the spine AS.</t> | the first AS in the AS path is the spine AS.</t> | |||
<t>In the figure below, the leaves would not advertise any NLRIs with | ||||
<t>In the figure below, the leaves would not advertise any NLRI with | ||||
AS 64512 as the first AS in the AS path.</t> | AS 64512 as the first AS in the AS path.</t> | |||
<figure anchor="fig2"> | ||||
<t> | <name>Spine/Leaf Topology Policy</name> | |||
<figure anchor="fig2"> | <artwork align="left" alt="" name="" type=""><![CDATA[ | |||
<name>Spine/Leaf Topology Policy</name> | ||||
<artwork align="left" alt="" name="" type=""><![CDATA[ | ||||
+--------+ +--------+ +--------+ | +--------+ +--------+ +--------+ | |||
AS 64512 | | | | | | | AS 64512 | | | | | | | |||
for Spine | Spine 1+----+ Spine 2+- ......... -+ Spine N| | for Spine | Spine 1+----+ Spine 2+- ......... -+ Spine N| | |||
Nodes at | | | | | | | Nodes at | | | | | | | |||
this Level +-+-+-+-++ ++-+-+-+-+ +-+-+-+-++ | this Level +-+-+-+-++ ++-+-+-+-+ +-+-+-+-++ | |||
+------+ | | | | | | | | | | | | +------+ | | | | | | | | | | | | |||
| +-----|-|-|------+ | | | | | | | | | +-----|-|-|------+ | | | | | | | | |||
| | +--|-|-|--------+-|-|-----------------+ | | | | | | +--|-|-|--------+-|-|-----------------+ | | | | |||
| | | | | | +---+ | | | | | | | | | | | | +---+ | | | | | | |||
| | | | | | | +--|-|-------------------+ | | | | | | | | | | +--|-|-------------------+ | | | |||
| | | | | | | | | | +------+ +----+ | | | | | | | | | | | +------+ +----+ | |||
| | | | | | | | | +--------------|----------+ | | | | | | | | | | | +--------------|----------+ | | |||
| | | | | | | | +-------------+ | | | | | | | | | | | | +-------------+ | | | | |||
| | | | | +----|--|----------------|--|--------+ | | | | | | | | +----|--|----------------|--|--------+ | | | |||
| | | | +------|--|--------------+ | | | | | | | | | | +------|--|--------------+ | | | | | | |||
| | | +------+ | | | | | | | | | | | | +------+ | | | | | | | | | |||
++--+--++ +-+-+--++ ++-+--+-+ ++-+--+-+ | ++--+--++ +-+-+--++ ++-+--+-+ ++-+--+-+ | |||
| Leaf 1| | Leaf 2| ........ | Leaf X| | Leaf Y| | | Leaf 1| | Leaf 2| ........ | Leaf X| | Leaf Y| | |||
+-------+ +-------+ +-------+ +-------+ | +-------+ +-------+ +-------+ +-------+ | |||
]]></artwork> | ||||
]]></artwork> | </figure> | |||
</figure> | ||||
</t> | ||||
</section> | </section> | |||
<section anchor="bgp-discovery-con"> | ||||
<section anchor="bgp-discovery-con" | <name>BGP Peer Discovery Considerations</name> | |||
title="BGP Peer Discovery Considerations"> | <t>The basic functionality of peer discovery is to discover the | |||
<t>The basic functionality of peer discovery is to be discover the | address of a single-hop peer in the case where the peer address is not | |||
address of a single-hop peer in case where the peer address is not | preconfigured. This is being accomplished today by using IPv6 Router | |||
pre-configured. This is being accomplished today by using IPv6 Router | Advertisements (RAs) <xref format="default" target="RFC4861"/> and | |||
Advertisements (RA) <xref format="default" target="RFC4861"/> and | ||||
assuming that a BGP session is desired with any discovered peer. | assuming that a BGP session is desired with any discovered peer. | |||
Beyond the basic functionality, it may be useful to have the following | Beyond the basic functionality, it may be useful to have the following | |||
information relating to the BGP session:</t> | information relating to the BGP session:</t> | |||
<ul spacing="normal"> | ||||
<list style="symbols"> | <li> | |||
<t>Autonomous System (AS) and BGP Identifier of a potential | <t>The AS and BGP Identifier of a potential | |||
peer.</t> | peer.</t> | |||
</li> | ||||
<t>Security capabilities supported and for cryptographic | <li> | |||
authentication, the security capabilities and possibly a key-chain | <t>Supported security capabilities, and for cryptographic | |||
<xref format="default" target="RFC8177"/> to be used.</t> | authentication, the security capabilities and possibly a key chain | |||
<xref format="default" target="RFC8177"/> for use.</t> | ||||
<t>Session Policy Identifier - A group number or name used to | </li> | |||
<li> | ||||
<t>A Session Policy Identifier, which is a group number or name used | ||||
to | ||||
associate common session parameters with the peer. For example, in a | associate common session parameters with the peer. For example, in a | |||
data center, BGP sessions with a ToR device could have different | data center, BGP sessions with a ToR device could have different | |||
parameters than BGP sessions between leaf and spine.</t> | parameters than BGP sessions between leaf and spine.</t> | |||
</list> | </li> | |||
</ul> | ||||
<t>In a data center fabric, it is often useful to know whether a peer | <t>In a data center fabric, it is often useful to know whether a peer | |||
is southbound (towards the servers) or northbound (towards the spine | is southbound (towards the servers) or northbound (towards the spine | |||
or super-spine), e.g., <xref format="default" target="bi-connected"/>. | or super-spine), e.g., see <xref format="default" target="bi-connected"/ >. | |||
One mechanism, without specifying all the details, might be for the | One mechanism, without specifying all the details, might be for the | |||
ToR routers to be identified when installed and for the others routers | ToR routers to be identified when installed and for the other routers | |||
in the fabric to determine their level based on the distance from the | in the fabric to determine their level based on the distance from the | |||
closest ToR router.</t> | closest ToR router.</t> | |||
<t>If there are multiple links between BGP speakers or the links | <t>If there are multiple links between BGP speakers or the links | |||
between BGP speakers are unnumbered, it is also useful to be able to | between BGP speakers are unnumbered, it is also useful to be able to | |||
establish multi-hop sessions using the loopback addresses. This will | establish multi-hop sessions using the loopback addresses. This will | |||
often require the discovery protocol to install route(s) toward the | often require the discovery protocol to install one or more routes towar d the | |||
potential peer loopback addresses prior to BGP session | potential peer loopback addresses prior to BGP session | |||
establishment.</t> | establishment.</t> | |||
<t>Finally, a simple BGP discovery protocol may be used to establish a | <t>Finally, a simple BGP discovery protocol may be used to establish a | |||
multi-hop session with one or more controllers by advertising | multi-hop session with one or more controllers by advertising | |||
connectivity to one or more controllers.</t> | connectivity to one or more controllers.</t> | |||
</section> | </section> | |||
<section anchor="bgp-discovery"> | ||||
<section anchor="bgp-discovery" title="BGP Peer Discovery"> | <name>BGP Peer Discovery</name> | |||
<section anchor="bgp-ipv6-peering" title="BGP IPv6 Simplified Peering"> | <section anchor="bgp-ipv6-peering"> | |||
<name>BGP IPv6 Simplified Peering</name> | ||||
<t>To conserve IPv4 address space and simplify operations, BGP-SPF | <t>To conserve IPv4 address space and simplify operations, BGP-SPF | |||
routers in Clos/Fat Tree deployments can use IPv6 addresses as peer | routers in Clos / Fat Tree deployments can use IPv6 addresses as the p eer | |||
address. For IPv4 address families, IPv6 peering as specified in | address. For IPv4 address families, IPv6 peering as specified in | |||
<xref format="default" target="RFC8950"/> can be deployed to avoid | <xref format="default" target="RFC8950"/> can be deployed to avoid | |||
configuring IPv4 addresses on router interfaces. When this is done, | configuring IPv4 addresses on router interfaces. When this is done, | |||
dynamic discovery mechanisms, as described in <xref format="default" | dynamic discovery mechanisms, as described in <xref format="default" t | |||
target="bgp-discovery"/>, can be used to learn the global or | arget="bgp-discovery"/>, can be used to learn the global or | |||
link-local IPv6 peer addresses and IPv4 addresses need not be | link-local IPv6 peer addresses, and IPv4 addresses need not be | |||
configured on these interfaces. If IPv6 link-local peering is used, | configured on these interfaces. If IPv6 link-local peering is used, | |||
then configuration of IPv6 global addresses is also not required | then configuration of IPv6 global addresses is also not required | |||
<xref target="RFC7404"/> . The Link Local/Remote Identifiers of the | <xref target="RFC7404"/>. | |||
peering interfaces MUST be used in the link NLRI as described in | ||||
section 5.2.2 of <xref target="I-D.ietf-lsvr-bgp-spf"/>.</t> | <!-- [rfced] We see that the approved I-D (v22) contains one instance | |||
of a keyword ("MUST" in Section 5.5.1). Is this intentional? If | ||||
so, we will add the typical paragraph from BCP 14 regarding use | ||||
of keywords after the Introduction and add RFCs 2119 and 8174 to | ||||
the Normative References section. Otherwise, we will update | ||||
"MUST" to "must". | ||||
Original: | ||||
The Link Local/Remote Identifiers of the peering interfaces MUST be | ||||
used in the link NLRI as described in section 5.2.2 of | ||||
[I-D.ietf-lsvr-bgp-spf]. | ||||
--> | ||||
The Link Local/Remote Identifiers of the | ||||
peering interfaces MUST be used in the Link NLRI as described in | ||||
<xref section="5.2.2" sectionFormat="of" target="RFC9815"/>.</t> | ||||
</section> | </section> | |||
<section anchor="config-checking"> | ||||
<section anchor="config-checking" | <!--[rfced] Is "BGP-LS SPF Topology" correct or should it perhaps be | |||
title="BGP-LS SPF Topology Visibility for Management"> | "BGP-LS-SPF Topology" for consistency? | |||
Original: | ||||
5.5.2 BGP-LS SPF Topology Visibility for Management | ||||
Perhaps: | ||||
5.5.2 BGP-LS-SPF Topology Visibility for Management | ||||
--> | ||||
<name>BGP-LS SPF Topology Visibility for Management</name> | ||||
<t>Irrespective of whether or not BGP-SPF is used for route | <t>Irrespective of whether or not BGP-SPF is used for route | |||
calculation, the BGP-LS-SPF route advertisements can be used to | calculation, the BGP-LS-SPF route advertisements can be used to | |||
periodically construct the Clos/Fat Tree topology. This is | periodically construct the Clos / Fat Tree topology. This is | |||
especially useful in deployments where an Interior Gateway Protocol | especially useful in deployments where an Interior Gateway Protocol | |||
(IGP) is not used and the base BGP-LS routes <xref format="default" | (IGP) is not used and the base BGP-LS routes <xref format="default" ta | |||
target="RFC9552"/> are not available. The resultant topology | rget="RFC9552"/> are not available. The resultant topology | |||
visibility can then be used for troubleshooting and consistency | visibility can then be used for troubleshooting and consistency | |||
checking. This would normally be done on a central controller or | checking. This would normally be done on a central controller or | |||
other management tool which could also be used for fabric data path | other management tool that could also be used for fabric data path | |||
verification. The precise algorithms and heuristics, as well as the | verification. The precise algorithms and heuristics, as well as the | |||
complete set of management applications is beyond the scope of this | complete set of management applications, is beyond the scope of this | |||
document.</t> | document.</t> | |||
</section> | </section> | |||
<section anchor="dci"> | ||||
<section anchor="dci" | <name>Data Center Interconnect (DCI) Applicability</name> | |||
title="Data Center Interconnect (DCI) Applicability"> | <t>Since BGP-SPF is to be used for the routing underlay and Data Cente | |||
<t>Since BGP-SPF is to be used for the routing underlay and DCI | r Interconnect (DCI) | |||
gateway boxes typically have direct or very simple connectivity, BGP | gateway boxes typically have direct or very simple connectivity, BGP | |||
external sessions would typically not include the BGP-LS-SPF | external sessions would typically not include the BGP-LS-SPF | |||
SAFI.</t> | SAFI.</t> | |||
</section> | </section> </section> | |||
</section> | ||||
</section> | </section> | |||
<!--[rfced] Would repeating "Non" make this section title more clear? | ||||
The meaning seems to be applicability to topologies that are | ||||
neither Clos nor Fat Tree topologies. | ||||
<section anchor="other-env" | Original: | |||
title="Non-CLOS/FAT Tree Topology Applicability"> | 6. Non-CLOS/FAT Tree Topology Applicability | |||
<t>The BGP-SPF extensions <xref format="default" | ||||
target="I-D.ietf-lsvr-bgp-spf"/> can be used in other topologies and | Current: | |||
6. Non-Clos / Fat Tree Topology Applicability | ||||
Perhaps: | ||||
6. Non-Clos / Non-Fat-Tree Topology Applicability | ||||
--> | ||||
<section anchor="other-env"> | ||||
<name>Non-Clos / Fat Tree Topology Applicability</name> | ||||
<t>The BGP-SPF extensions <xref format="default" target="RFC9815"/> can be | ||||
used in other topologies and | ||||
avail the inherent convergence improvements. Additionally, sparse | avail the inherent convergence improvements. Additionally, sparse | |||
peering techniques may be utilized <xref format="default" | peering techniques may be utilized <xref format="default" target="peering" | |||
target="peering"/>. However, determining whether to establish a BGP | />. However, determining whether to establish a BGP | |||
session is more complex and the heuristic described in <xref | session is more complex, and the heuristic described in <xref format="defa | |||
format="default" target="bi-connected"/> cannot be used. In such | ult" target="bi-connected"/> cannot be used. In such | |||
topologies, other techniques such as those described in <xref | topologies, other techniques such as those described in <xref format="defa | |||
format="default" target="RFC9667"/> may be employed. One potential | ult" target="RFC9667"/> may be employed. One potential | |||
deployment would be the underlay for a Service Provider (SP) backbone | deployment would be the underlay for a Service Provider (SP) backbone | |||
where usage of a single protocol, i.e., BGP, is desired.</t> | where usage of a single protocol, i.e., BGP, is desired.</t> | |||
</section> | </section> | |||
<section anchor="non-transit-node"> | ||||
<section anchor="non-transit-node" title="Non-Transit Node Capability"> | <name>Non-Transit Node Capability</name> | |||
<t>In certain scenarios, a BGP node wishes to participate in the BGP-SPF | <t>In certain scenarios, a BGP node wishes to participate in the BGP-SPF | |||
topology but never be used for transit traffic. These include situations | topology but never be used for transit traffic. These include situations | |||
where a server wants to make application services available to clients | where a server wants to make application services available to clients | |||
homed at subnets throughout the BGP-SPF domain but does not ever want to | homed at subnets throughout the BGP-SPF domain but does not ever want to | |||
be used as a router (i.e., carry transit traffic). Another specific | be used as a router (i.e., carry transit traffic). Another specific | |||
instance is where a controller is resident on a server and direct | instance is where a controller is resident on a server and direct | |||
connectivity to the controller is required throughout the entire domain. | connectivity to the controller is required throughout the entire domain. | |||
This can readily be accomplished using the BGP-LS Node NLRI Attribute | This can readily be accomplished using the BGP-LS-SPF Node NLRI Attribute | |||
SPF Status TLV as described in <xref format="default" | SPF Status TLV as described in <xref format="default" target="RFC9815"/>.< | |||
target="I-D.ietf-lsvr-bgp-spf"/>.</t> | /t> | |||
</section> | </section> | |||
<section anchor="policy"> | ||||
<section anchor="policy" title="BGP Policy Applicability"> | <name>BGP Policy Applicability</name> | |||
<t>Existing BGP policy such as prefix filtering may be used in | <t>Existing BGP policy such as prefix filtering may be used in | |||
conjunction with the BGP-LS-SPF SAFI. When BGP policy is used with the | conjunction with the BGP-LS-SPF SAFI. When BGP policy is used with the | |||
BGP-LS-SPF SAFI, BGP speakers in the BGP-LS-SPF routing domain will not | BGP-LS-SPF SAFI, BGP speakers in the BGP-LS-SPF routing domain will not | |||
all have the same set of NLRI and will compute a different BGP local | all have the same set of NLRIs and will compute a different BGP local | |||
routing table. Consequently, care must be taken to assure routing is | routing table. Consequently, care must be taken to assure routing is | |||
consistent and blackholes or routing loops do not ensue. However, this | consistent and blackholes or routing loops do not ensue. However, this | |||
is no different than if traditional BGP routing using the IPv4 and IPv6 | is no different than if traditional BGP routing using the IPv4 and IPv6 | |||
address families were used.</t> | address families were used.</t> | |||
</section> | </section> | |||
<section anchor="IANA"> | ||||
<section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
<t>No IANA updates are requested by this document.</t> | <t>This document has no IANA actions.</t> | |||
</section> | </section> | |||
<section anchor="Security"> | ||||
<section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
<t>This document introduces no new security considerations above and | <t>This document introduces no new security considerations above and | |||
beyond those already specified in the <xref format="default" | beyond those already specified in <xref format="default" target="RFC4271"/ | |||
target="RFC4271"/> and <xref format="default" | > and <xref format="default" target="RFC9815"/>.</t> | |||
target="I-D.ietf-lsvr-bgp-spf"/>.</t> | ||||
</section> | ||||
<section anchor="Acknowledgements" title="Acknowledgements"> | ||||
<t>The authors would like to thank Alvaro Retana, Yan Filyurin, Boris | ||||
Hassanov, Stig Venaas, Ron Bonica, Mallory Knodel, Dhruv Dhody, Erik | ||||
Kline, Eric Vyncke, and John Scudder for their review and comments.</t> | ||||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<references title="Normative References"> | <references> | |||
<?rfc include='reference.I-D.ietf-lsvr-bgp-spf.xml'?> | <name>References</name> | |||
</references> | <references> | |||
<name>Normative References</name> | ||||
<references title="Informative References"> | ||||
<?rfc include='reference.RFC.2328.xml'?> | ||||
<?rfc include='reference.RFC.4271.xml'?> | ||||
<?rfc include='reference.RFC.4364.xml'?> | ||||
<?rfc include='reference.RFC.4760.xml'?> | ||||
<?rfc include='reference.RFC.4861.xml'?> | ||||
<?rfc include='reference.RFC.4957.xml'?> | ||||
<?rfc include='reference.RFC.5340.xml'?> | ||||
<?rfc include='reference.RFC.5580.xml'?> | ||||
<?rfc include='reference.RFC.5925.xml'?> | <!--[RFC9815] draft-ietf-lsvr-bgp-spf-51 is RFC-to-be 9815. | |||
Note: will need an update to the title based on author reply --> | ||||
<?rfc include='reference.RFC.7404.xml'?> | <reference anchor="RFC9815" target="https://www.rfc-editor.org/info/rfc9 | |||
815"> | ||||
<front> | ||||
<title>BGP Link-State Shortest Path First (SPF) Routing</title> | ||||
<author initials="K." surname="Patel" fullname="Keyur Patel"> | ||||
<organization>Arrcus, Inc.</organization> | ||||
</author> | ||||
<author initials="A." surname="Lindem" fullname="Acee Lindem"> | ||||
<organization>LabN Consulting, LLC</organization> | ||||
</author> | ||||
<author initials="S." surname="Zandi" fullname="Shawn Zandi"> | ||||
<organization>LinkedIn</organization> | ||||
</author> | ||||
<author initials="W." surname="Henderickx" fullname="Wim Henderickx" | ||||
> | ||||
<organization>Nokia</organization> | ||||
</author> | ||||
<date month="July" year="2025" /> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9815"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9815"/> | ||||
</reference> | ||||
</references> | ||||
<?rfc include='reference.RFC.7938.xml'?> | <references> | |||
<name>Informative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
328.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
271.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
364.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
760.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
861.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
957.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
340.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.55 | ||||
80.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
880.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
925.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
404.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
938.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
177.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
950.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
552.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
667.xml"/> | ||||
<reference anchor="IEEE.802.1AX"> | ||||
<front> | ||||
<title>IEEE Standard for Local and Metropolitan Area Networks--Link | ||||
Aggregation</title> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date month="May" year="2020"/> | ||||
</front> | ||||
<seriesInfo name="IEEE Std" value="802.1AX-2020"/> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2020.9105034"/> | ||||
</reference> | ||||
<?rfc include='reference.RFC.8177.xml'?> | <reference anchor="Clos" target=""> | |||
<front> | ||||
<title>A Study of Non-Blocking Switching Networks</title> | ||||
<author initials="C." surname="Clos"> | ||||
<organization/> | ||||
</author> | ||||
<date month="March" year="1953"/> | ||||
</front> | ||||
<refcontent>The Bell System Technical Journal, vol. 32, no. 2, pp. 406 | ||||
-424</refcontent> | ||||
<seriesInfo name="DOI" value="10.1002/j.1538-7305.1953.tb01433.x"/> | ||||
</reference> | ||||
</references> | ||||
</references> | ||||
<?rfc include='reference.RFC.8950.xml'?> | <section anchor="Acknowledgements" numbered="false"> | |||
<name>Acknowledgements</name> | ||||
<t>The authors would like to thank <contact fullname="Alvaro Retana"/>, | ||||
<contact fullname="Yan Filyurin"/>, <contact fullname="Boris | ||||
Hassanov"/>, <contact fullname="Stig Venaas"/>, <contact fullname="Ron | ||||
Bonica"/>, <contact fullname="Mallory Knodel"/>, <contact | ||||
fullname="Dhruv Dhody"/>, <contact fullname="Erik Kline"/>, <contact | ||||
fullname="Éric Vyncke"/>, and <contact fullname="John Scudder"/> for | ||||
their reviews and comments.</t> | ||||
</section> | ||||
<?rfc include='reference.RFC.9552.xml'?> | <!-- [rfced] FYI - We updated the following terms for | |||
consistency. Please let us know of any objections. | ||||
<?rfc include='reference.RFC.9667.xml'?> | BGP-LS Node NLRI Attribute SPF Status TLV -> | |||
BGP-LS-SPF Node NLRI Attribute SPF Status TLV (per the companion doc) | ||||
BGP-LS SPF SAFI -> BGP-LS-SPF SAFI (per the companion doc) | ||||
Clos Topologies -> Clos topologies | ||||
Fat-Tree -> Fat Tree (per use in the RFC Series) | ||||
link NLRI -> Link NLRI (per RFC 9552) | ||||
Route Controllers -> route controllers (per companion document) | ||||
Route Reflectors -> route reflectors (per companion document) | ||||
Spine Nodes -> spine nodes | ||||
Unicast -> unicast | ||||
--> | ||||
<reference anchor="IEEE.802.1AX" | <!-- [rfced] FYI - We have updated the expansions for the following | |||
target="https://standards.ieee.org/standard/802_1AX-2020.html"> | abbreviations to reflect the form on the right for consistency with | |||
<front> | the companion document and/or RFC Series. | |||
<title>IEEE Standard for Local and Metropolitan Area Networks: Link | ||||
Aggregation</title> | ||||
<author> | Bi-Directional Forwarding Detection (BFD) -> | |||
<organization>IEEE</organization> | Bidirectional Forwarding Detection (BFD) | |||
</author> | ||||
<date year="2020"/> | Equal-Cost Multi-Path (ECMP) -> Equal-Cost Multipath (ECMP) | |||
</front> | ||||
<seriesInfo name="IEEE Std" value="802.1AX-2020"/> | Top-Of-Rack (ToR) -> Top-of-Rack (ToR) | |||
</reference> | --> | |||
<reference anchor="Clos" target=""> | <!-- [rfced] Please review the "Inclusive Language" portion of the online | |||
<front> | Style Guide <https://www.rfc-editor.org/styleguide/part2/#inclusive_language> | |||
<title>A Study of Non-Blocking Switching Networks</title> | and let us know if any changes are needed. Updates of this nature typically | |||
result in more precise language, which is helpful for readers. | ||||
<author initials="" surname=""> | For example, please consider whether the following should be updated: | |||
<organization/> | - blackhole | |||
</author> | ||||
<date month="March" year="1953"/> | In addition, please consider whether "traditional" should be updated | |||
</front> | for clarity. While the NIST website | |||
<https://web.archive.org/web/20250214092458/https://www.nist.gov/ | ||||
nist-research-library/nist-technical-series-publications-author-instructions#tab | ||||
le1> | ||||
indicates that this term is potentially biased, it is also ambiguous. | ||||
"Tradition" is a subjective term, as it is not the same for everyone. | ||||
--> | ||||
<seriesInfo name="" | ||||
value="The Bell System Technical Journal, Vol. 32(2), DOI 10 | ||||
.1002/j.1538-7305.1953.tb01433.x"/> | ||||
</reference> | ||||
</references> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 136 change blocks. | ||||
322 lines changed or deleted | 477 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |