rfc9816v4.txt | rfc9816.txt | |||
---|---|---|---|---|
skipping to change at line 169 ¶ | skipping to change at line 169 ¶ | |||
sessions are congruent with the data path. The BGP best-path | sessions are congruent with the data path. The BGP best-path | |||
algorithm is prefix based, and it prevents announcements of prefixes | algorithm is prefix based, and it prevents announcements of prefixes | |||
to other BGP speakers until the best-path decision process has been | to other BGP speakers until the best-path decision process has been | |||
performed for the prefix at each intermediate hop. These | performed for the prefix at each intermediate hop. These | |||
restrictions significantly delay the overall convergence of the | restrictions significantly delay the overall convergence of the | |||
underlay network within a Clos network. | underlay network within a Clos network. | |||
The BGP SPF modifications allow BGP to overcome these limitations. | 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, | (NLRI) format allows the BGP SPF data to be advertised for nodes, | |||
links, and prefixes in the BGP routing domain and used for SPF | links, and prefixes in the BGP routing domain [RFC9552] and used for | |||
computations [RFC9552]. | SPF computations [RFC9815]. | |||
Additional motivation for deploying BGP-SPF is included in [RFC9815]. | Additional motivation for deploying BGP-SPF is included in [RFC9815]. | |||
5. BGP-SPF Applicability to Clos Networks | 5. BGP-SPF Applicability to Clos Networks | |||
With the BGP-SPF extensions [RFC9815], the BGP best-path computation | With the BGP-SPF extensions [RFC9815], the BGP best-path computation | |||
and route computation are replaced with link-state algorithms such as | and route computation are replaced with link-state algorithms such as | |||
those used by OSPF [RFC2328], both to determine whether a BGP-LS-SPF | those used by OSPF [RFC2328], both to determine whether a BGP-LS-SPF | |||
NLRI has changed and needs to be readvertised and to compute the BGP | NLRI has changed and needs to be readvertised and to compute the BGP | |||
routes. These modifications will significantly improve convergence | routes. These modifications will significantly improve convergence | |||
skipping to change at line 200 ¶ | skipping to change at line 200 ¶ | |||
their BGP-LS information independently. With the BGP-SPF extensions, | their BGP-LS information independently. With the BGP-SPF extensions, | |||
controllers can learn the topology using the same BGP advertisements | controllers can learn the topology using the same BGP advertisements | |||
used to compute the underlay routes. Furthermore, these data center | used to compute the underlay routes. Furthermore, these data center | |||
controllers can avail the convergence advantages of the BGP-SPF | controllers can avail the convergence advantages of the BGP-SPF | |||
extensions. The placement of controllers can be outside of the | extensions. The placement of controllers can be outside of the | |||
forwarding path or within the forwarding path. | forwarding path or within the forwarding path. | |||
Alternatively, as each and every router in the BGP-SPF domain will | 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 | |||
[RFC7938] along with BFD [RFC5580]. In doing so, while the hop-by- | [RFC7938] along with BFD [RFC5880]. In doing so, while the hop-by- | |||
hop peering model lacks the inherent benefits of the controller-based | hop peering model lacks the inherent benefits of the controller-based | |||
model, BGP updates need not be serialized by the BGP best-path | model, BGP updates need not be serialized by the BGP best-path | |||
algorithm in either of these models. This helps overall network | algorithm in either of these models. This helps overall network | |||
convergence. | convergence. | |||
5.1. Usage of BGP-LS-SPF SAFI | 5.1. Usage of BGP-LS-SPF SAFI | |||
Section 5.1 of [RFC9815] defines a new BGP-LS-SPF SAFI for | Section 5.1 of [RFC9815] 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 | prefix announcements. Whether the peering model within a Clos | |||
follows hop-by-hop peering described in [RFC7938] or any controller- | follows hop-by-hop peering as described in [RFC7938] or any | |||
based or route-reflector peering, an operator can exchange BGP-LS-SPF | controller-based or route-reflector peering, an operator can exchange | |||
SAFI routes over the BGP peering by simply configuring BGP-LS-SPF | BGP-LS-SPF SAFI routes over the BGP peering by simply configuring | |||
SAFI between the necessary BGP speakers. | BGP-LS-SPF SAFI between the necessary BGP speakers. | |||
The BGP-LS-SPF SAFI can also coexist with BGP IP Unicast SAFI | The BGP-LS-SPF SAFI can also coexist with BGP IP Unicast SAFI | |||
[RFC4760], which could exchange overlapping IP routes. One use case | [RFC4760], which could exchange overlapping IP routes. One use case | |||
for this is where BGP-LS-SPF routes are used for the underlay and BGP | for this is where BGP-LS-SPF routes are used for the underlay and BGP | |||
IP Unicast routes for VPNs are advertised in the overlay as described | IP Unicast routes for VPNs are advertised in the overlay as described | |||
in [RFC4364]. The routes received by these SAFIs are evaluated, | in [RFC4364]. The routes received by these SAFIs are evaluated, | |||
stored, and announced independently according to the rules of | stored, and announced independently according to the rules of | |||
[RFC4760]. The tiebreaking of route installation is a matter of the | [RFC4760]. The tiebreaking of route installation is a matter of the | |||
local policies and preferences of the network operator. | local policies and preferences of the network operator. | |||
skipping to change at line 250 ¶ | skipping to change at line 250 ¶ | |||
As previously stated, BGP-SPF can be deployed using the existing | 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 [RFC7938]. This provides for | every link in the data center fabric [RFC7938]. This provides for | |||
both the advertisement of routes and the determination of link and | both the advertisement of routes and the determination of link and | |||
neighboring router availability. With BGP-SPF, the underlay will | neighboring router availability. With BGP-SPF, the underlay will | |||
converge faster due to changes to the decision process that will | converge faster due to changes to the decision process that will | |||
allow NLRI changes to be advertised faster after detecting a change. | allow NLRI changes to be advertised faster after detecting a change. | |||
5.2.1. Sparse Peering Model | 5.2.1. Sparse Peering Model | |||
Alternately, BFD [RFC5580] can be used to swiftly determine the | Alternately, BFD [RFC5880] can be used to swiftly determine the | |||
availability of links, and the BGP peering model can be significantly | availability of links, and the BGP peering model can be significantly | |||
sparser than the data center fabric. BGP-SPF sessions only need to | sparser than the data center fabric. BGP-SPF sessions only need to | |||
be established with enough peers to provide a biconnected graph. If | be established with enough peers to provide a biconnected graph. If | |||
Internal BGP (IBGP) is used, then the BGP routers at tier N-1 will | Internal BGP (IBGP) is used, then the BGP routers at tier N-1 will | |||
act as route-reflectors for the routers at tier N. | act as route-reflectors for the routers at tier N. | |||
The obvious usage of sparse peering is to avoid parallel BGP sessions | The obvious usage of sparse peering is to avoid parallel BGP sessions | |||
on links between the same two routers in the data center fabric. | on links between the same two routers in the data center fabric. | |||
However, this use case is not very useful since parallel L3 links | 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 | between the same two BGP routers are rare in Clos or Fat Tree | |||
skipping to change at line 283 ¶ | skipping to change at line 283 ¶ | |||
of the spines dependent on the flooding redundancy required to be | of the spines dependent on the flooding redundancy required to be | |||
reasonably certain that every node within the BGP-SPF routing domain | reasonably certain that every node within the BGP-SPF routing domain | |||
has the complete topology. | has the complete topology. | |||
Alternately, controller-based data center topologies are envisioned | Alternately, controller-based data center topologies are envisioned | |||
where BGP speakers within the data center only establish BGP sessions | where BGP speakers within the data center only establish BGP sessions | |||
with two or more controllers. In these topologies, fabric nodes | with two or more controllers. In these topologies, fabric nodes | |||
below the first tier, as shown in Figure 1 of [RFC7938], will | below the first tier, as shown in Figure 1 of [RFC7938], will | |||
establish BGP multi-hop sessions with the controllers. For the | establish BGP multi-hop sessions with the controllers. For the | |||
multi-hop sessions, determining the route to the controllers without | multi-hop sessions, determining the route to the controllers without | |||
depending on BGP would need to be through some other means beyond the | depending on BGP would need to be through some other means, which is | |||
scope of this document. However, the BGP discovery mechanisms | beyond the scope of this document. However, the BGP discovery | |||
described in Section 5.5 would be one possibility. | mechanisms described in Section 5.5 would be one possibility. | |||
5.2.2. Biconnected Graph Heuristic | 5.2.2. Biconnected Graph Heuristic | |||
With a biconnected graph heuristic, discovery of BGP SPF peers is | With a biconnected graph heuristic, discovery of BGP SPF peers is | |||
assumed, e.g., as described in Section 5.5. In this context, | assumed, e.g., as described in Section 5.5. In this context, | |||
"biconnected" refers to the fact that there must be an advertised | "biconnected" refers to the fact that there must be an advertised | |||
Link NLRI for both BGP and SPF peers associated with the link before | Link NLRI for both BGP SPF peers associated with the link before the | |||
the link can be used in the BGP SPF route calculation. Additionally, | link can be used in the BGP SPF route calculation. Additionally, it | |||
it is assumed that the direction of the peering can be ascertained. | is assumed that the direction of the peering can be ascertained. In | |||
In the context of a data center fabric, the direction is either | the context of a data center fabric, the direction is either | |||
northbound (toward the spine), southbound (toward the Top-of-Rack | northbound (toward the spine), southbound (toward the Top-of-Rack | |||
(ToR) routers), or east-west (same level in the hierarchy). The | (ToR) routers), or east-west (same level in the hierarchy). The | |||
determination of the direction is beyond the scope of this document. | determination of the direction is beyond the scope of this document. | |||
However, it would be reasonable to assume a technique where the ToR | However, it would be reasonable to assume a technique where the ToR | |||
routers can be identified and the number of hops to the ToR is used | routers can be identified and the number of hops to the ToR is used | |||
to determine the direction. | to determine the direction. | |||
In this heuristic, BGP speakers allow passive session establishment | In this heuristic, BGP speakers allow passive session establishment | |||
for southbound BGP sessions. For northbound sessions, BGP speakers | for southbound BGP sessions. For northbound sessions, BGP speakers | |||
will attempt to maintain two northbound BGP sessions with different | will attempt to maintain two northbound BGP sessions with different | |||
skipping to change at line 371 ¶ | skipping to change at line 371 ¶ | |||
session: | session: | |||
* The AS and BGP Identifier of a potential peer. | * The AS and BGP Identifier of a potential peer. | |||
* Supported security capabilities, and for cryptographic | * Supported security capabilities, and for cryptographic | |||
authentication, the security capabilities and possibly a key chain | authentication, the security capabilities and possibly a key chain | |||
[RFC8177] for use. | [RFC8177] for use. | |||
* A Session Policy Identifier, which is a group number or name used | * A Session Policy Identifier, which is a group number or name used | |||
to associate common session parameters with the peer. For | to associate common session parameters with the peer. For | |||
example, in a data center, BGP sessions with a ToR device could | example, in a data center, BGP sessions with a ToR router could | |||
have different parameters than BGP sessions between leaf and | have different parameters than BGP sessions between leaf and spine | |||
spine. | nodes. | |||
In a data center fabric, it is often useful to know whether a peer is | In a data center fabric, it is often useful to know whether a peer is | |||
southbound (towards the servers) or northbound (towards the spine or | southbound (towards the servers) or northbound (towards the spine or | |||
super-spine), e.g., see Section 5.2.2. One mechanism, without | super-spine), e.g., see Section 5.2.2. One mechanism, without | |||
specifying all the details, might be for the ToR routers to be | specifying all the details, might be for the ToR routers to be | |||
identified when installed and for the other routers in the fabric to | identified when installed and for the other routers in the fabric to | |||
determine their level based on the distance from the closest ToR | determine their level based on the distance from the closest ToR | |||
router. | router. | |||
If there are multiple links between BGP speakers or the links between | If there are multiple links between BGP speakers or the links between | |||
skipping to change at line 436 ¶ | skipping to change at line 436 ¶ | |||
Since BGP-SPF is to be used for the routing underlay and Data Center | Since BGP-SPF is to be used for the routing underlay and Data Center | |||
Interconnect (DCI) gateway boxes typically have direct or very simple | Interconnect (DCI) gateway boxes typically have direct or very simple | |||
connectivity, BGP external sessions would typically not include the | connectivity, BGP external sessions would typically not include the | |||
BGP-LS-SPF SAFI. | BGP-LS-SPF SAFI. | |||
6. Non-Clos / Fat Tree Topology Applicability | 6. Non-Clos / Fat Tree Topology Applicability | |||
The BGP-SPF extensions [RFC9815] can be used in other topologies and | The BGP-SPF extensions [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 Section 5.2. However, determining | peering techniques may be utilized as described in Section 5.2. | |||
whether to establish a BGP session is more complex, and the heuristic | However, determining whether to establish a BGP session is more | |||
described in Section 5.2.2 cannot be used. In such topologies, other | complex, and the heuristic described in Section 5.2.2 cannot be used. | |||
techniques such as those described in [RFC9667] may be employed. One | In such topologies, other techniques such as those described in | |||
potential deployment would be the underlay for a Service Provider | [RFC9667] may be employed. One potential deployment would be the | |||
(SP) backbone where usage of a single protocol, i.e., BGP, is | underlay for a Service Provider (SP) backbone where usage of a single | |||
desired. | protocol, i.e., BGP, is desired. | |||
7. Non-Transit Node Capability | 7. Non-Transit Node Capability | |||
In certain scenarios, a BGP node wishes to participate in the BGP-SPF | In certain scenarios, a BGP node wishes to participate in the BGP-SPF | |||
topology but never be used for transit traffic. These include | topology but never be used for transit traffic. These include | |||
situations where a server wants to make application services | situations where a server wants to make application services | |||
available to clients homed at subnets throughout the BGP-SPF domain | available to clients homed at subnets throughout the BGP-SPF domain | |||
but does not ever want to be used as a router (i.e., carry transit | but does not ever want to be used as a router (i.e., carry transit | |||
traffic). Another specific instance is where a controller is | traffic). Another specific instance is where a controller is | |||
resident on a server and direct connectivity to the controller is | resident on a server and direct connectivity to the controller is | |||
skipping to change at line 534 ¶ | skipping to change at line 534 ¶ | |||
[RFC4957] Krishnan, S., Ed., Montavont, N., Njedjou, E., Veerepalli, | [RFC4957] Krishnan, S., Ed., Montavont, N., Njedjou, E., Veerepalli, | |||
S., and A. Yegin, Ed., "Link-Layer Event Notifications for | S., and A. Yegin, Ed., "Link-Layer Event Notifications for | |||
Detecting Network Attachments", RFC 4957, | Detecting Network Attachments", RFC 4957, | |||
DOI 10.17487/RFC4957, August 2007, | DOI 10.17487/RFC4957, August 2007, | |||
<https://www.rfc-editor.org/info/rfc4957>. | <https://www.rfc-editor.org/info/rfc4957>. | |||
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF | [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF | |||
for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, | for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, | |||
<https://www.rfc-editor.org/info/rfc5340>. | <https://www.rfc-editor.org/info/rfc5340>. | |||
[RFC5580] Tschofenig, H., Ed., Adrangi, F., Jones, M., Lior, A., and | ||||
B. Aboba, "Carrying Location Objects in RADIUS and | ||||
Diameter", RFC 5580, DOI 10.17487/RFC5580, August 2009, | ||||
<https://www.rfc-editor.org/info/rfc5580>. | ||||
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | |||
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | |||
<https://www.rfc-editor.org/info/rfc5880>. | <https://www.rfc-editor.org/info/rfc5880>. | |||
[RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP | [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP | |||
Authentication Option", RFC 5925, DOI 10.17487/RFC5925, | Authentication Option", RFC 5925, DOI 10.17487/RFC5925, | |||
June 2010, <https://www.rfc-editor.org/info/rfc5925>. | June 2010, <https://www.rfc-editor.org/info/rfc5925>. | |||
[RFC7404] Behringer, M. and E. Vyncke, "Using Only Link-Local | [RFC7404] Behringer, M. and E. Vyncke, "Using Only Link-Local | |||
Addressing inside an IPv6 Network", RFC 7404, | Addressing inside an IPv6 Network", RFC 7404, | |||
End of changes. 9 change blocks. | ||||
30 lines changed or deleted | 25 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |