rfc9692v5.txt | rfc9692.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) T. Przygienda, Ed. | Internet Engineering Task Force (IETF) T. Przygienda, Ed. | |||
Request for Comments: 9692 J. Head, Ed. | Request for Comments: 9692 J. Head, Ed. | |||
Category: Standards Track Juniper Networks | Category: Standards Track Juniper Networks | |||
ISSN: 2070-1721 A. Sharma | ISSN: 2070-1721 A. Sharma | |||
Hudson River Trading | Hudson River Trading | |||
P. Thubert | P. Thubert | |||
B. Rijsman | B. Rijsman | |||
Individual | Individual | |||
D. Afanasiev | ||||
Yandex | ||||
March 2025 | March 2025 | |||
RIFT: Routing in Fat Trees | RIFT: Routing in Fat Trees | |||
Abstract | Abstract | |||
This document defines a specialized, dynamic routing protocol for | This document defines a specialized, dynamic routing protocol for | |||
Clos, fat tree, and variants thereof. These topologies were | Clos, fat tree, and variants thereof. These topologies were | |||
initially used within crossbar interconnects and consequently router | initially used within crossbar interconnects and consequently router | |||
and switch backplanes, but their characteristics make them ideal for | and switch backplanes, but their characteristics make them ideal for | |||
skipping to change at line 421 ¶ | skipping to change at line 423 ¶ | |||
nodes. It should also help cement some of RIFT's core concepts in | nodes. It should also help cement some of RIFT's core concepts in | |||
the reader's mind. | the reader's mind. | |||
Last but not least, RIFT has other optional capabilities. One | Last but not least, RIFT has other optional capabilities. One | |||
example is the key-value datastore, which enables RIFT to advertise | example is the key-value datastore, which enables RIFT to advertise | |||
data post-convergence in order to bootstrap higher levels of | data post-convergence in order to bootstrap higher levels of | |||
functionality (e.g., operational telemetry). Those are covered in | functionality (e.g., operational telemetry). Those are covered in | |||
Section 6.8. | Section 6.8. | |||
More information related to RIFT can be found in the "RIFT | More information related to RIFT can be found in the "RIFT | |||
Applicability" [APPLICABILITY] document, which discusses alternate | Applicability" [RFC9696] document, which discusses alternate | |||
topologies upon which RIFT may be deployed, describes use cases where | topologies upon which RIFT may be deployed, describes use cases where | |||
it is applicable, and presents operational considerations that | it is applicable, and presents operational considerations that | |||
complement this document. "RIFT Day One" [DayOne] covers some | complement this document. "RIFT Day One" [DayOne] covers some | |||
practical details of existing RIFT implementations and deployment | practical details of existing RIFT implementations and deployment | |||
details. | details. | |||
3. Reference Frame | 3. Reference Frame | |||
3.1. Terminology | 3.1. Terminology | |||
skipping to change at line 900 ¶ | skipping to change at line 902 ¶ | |||
Set of ToFs that are aware of each other by means of south | Set of ToFs that are aware of each other by means of south | |||
reflection. Planes are designated by capital letters, e.g., plane | reflection. Planes are designated by capital letters, e.g., plane | |||
A. | A. | |||
N: | N: | |||
Denotes the number of independent ToF planes in a topology. | Denotes the number of independent ToF planes in a topology. | |||
R: | R: | |||
Denotes a redundancy factor, i.e., the number of ToP nodes in a | Denotes a redundancy factor, i.e., the number of ToP nodes in a | |||
PoD that are connected to a ToF plane. In a single-plane design, | PoD that are connected to a ToF plane. In a single-plane design, | |||
R is equal to K_LEAF | R is equal to K_LEAF. | |||
Fallen Leaf: | Fallen Leaf: | |||
A fallen leaf in a plane Z is a switch that lost all connectivity | A fallen leaf in a plane Z is a switch that lost all connectivity | |||
northbound to Z. | northbound to Z. | |||
5.2.2. Clos as Crossed, Stacked Crossbars | 5.2.2. Clos as Crossed, Stacked Crossbars | |||
The typical topology for which RIFT is defined is built of P number | The typical topology for which RIFT is defined is built of P number | |||
of PoDs and connected together by S number of ToF nodes. A PoD node | of PoDs and connected together by S number of ToF nodes. A PoD node | |||
has 2K number of ports. From here on, half of them (K=Radix/2) are | has 2K number of ports. From here on, half of them (K=Radix/2) are | |||
skipping to change at line 3260 ¶ | skipping to change at line 3262 ¶ | |||
parent P over adjacencies ADJ(N, P) and ADJ(P, G). Observe that N | parent P over adjacencies ADJ(N, P) and ADJ(P, G). Observe that N | |||
does not have enough information to check bidirectional | does not have enough information to check bidirectional | |||
reachability of ADJ(P, G); | reachability of ADJ(P, G); | |||
* let R be a redundancy constant integer; a value of 2 or higher for | * let R be a redundancy constant integer; a value of 2 or higher for | |||
R is RECOMMENDED; | R is RECOMMENDED; | |||
* let S be a similarity constant integer; a value in range 0 .. 2 | * let S be a similarity constant integer; a value in range 0 .. 2 | |||
for S is RECOMMENDED, and the value of 1 SHOULD be used. Two | for S is RECOMMENDED, and the value of 1 SHOULD be used. Two | |||
cardinalities are considered as equivalent if their absolute | cardinalities are considered as equivalent if their absolute | |||
difference is less than or equal to S, i.e., |a-b|<=S | difference is less than or equal to S, i.e., |a-b|<=S; | |||
* let RND be a 64-bit random number (for example, as described in | * let RND be a 64-bit random number (for example, as described in | |||
[RFC4086]) generated by the system once on startup. | [RFC4086]) generated by the system once on startup. | |||
The algorithm consists of the following steps: | The algorithm consists of the following steps: | |||
1. Derive a 64-bit number by XORing N's System ID with RND. | 1. Derive a 64-bit number by XORing N's System ID with RND. | |||
2. Derive a 16-bit pseudo-random unsigned integer PR(N) from the | 2. Derive a 16-bit pseudo-random unsigned integer PR(N) from the | |||
resulting 64-bit number by splitting it into 16-bit-long words | resulting 64-bit number by splitting it into 16-bit-long words | |||
skipping to change at line 3347 ¶ | skipping to change at line 3349 ¶ | |||
i. if there exists an adjacency ADJ(P, G) in |NA(P) such | i. if there exists an adjacency ADJ(P, G) in |NA(P) such | |||
that c(G) < R, then | that c(G) < R, then | |||
1. place P in FR set; | 1. place P in FR set; | |||
2. for all adjacencies ADJ(P, G') in |NA(P) increment | 2. for all adjacencies ADJ(P, G') in |NA(P) increment | |||
c(G') | c(G') | |||
8. If any c(G) is still < R, it was not possible to elect a set of | 8. If any c(G) is still < R, it was not possible to elect a set of | |||
FRs that covers all grandparents with redundancy R | FRs that covers all grandparents with redundancy R. | |||
Additional rules for flooding reduction: | Additional rules for flooding reduction: | |||
1. The algorithm MUST be re-evaluated by a node on every change of | 1. The algorithm MUST be re-evaluated by a node on every change of | |||
local adjacencies or reception of a parent South TIE with changed | local adjacencies or reception of a parent South TIE with changed | |||
adjacencies. A node MAY apply a hysteresis to prevent an | adjacencies. A node MAY apply a hysteresis to prevent an | |||
excessive amount of computation during periods of network | excessive amount of computation during periods of network | |||
instability just like in the case of reachability computation. | instability just like in the case of reachability computation. | |||
2. Upon a change of the flood repeater set, a node SHOULD send out | 2. Upon a change of the flood repeater set, a node SHOULD send out | |||
skipping to change at line 3493 ¶ | skipping to change at line 3495 ¶ | |||
with that, the computation cannot progress beyond adjacent nodes. | with that, the computation cannot progress beyond adjacent nodes. | |||
Once progressing, the computation uses the next higher level's South | Once progressing, the computation uses the next higher level's South | |||
Node TIEs to find corresponding adjacencies to verify backlink | Node TIEs to find corresponding adjacencies to verify backlink | |||
connectivity. Two unidirectional links MUST be associated to confirm | connectivity. Two unidirectional links MUST be associated to confirm | |||
bidirectional connectivity, a process often known as "backlink | bidirectional connectivity, a process often known as "backlink | |||
check". As part of the check, both Node TIEs MUST contain the | check". As part of the check, both Node TIEs MUST contain the | |||
correct System IDs *and* expected levels. | correct System IDs *and* expected levels. | |||
The default route found when crossing an E-W link SHOULD be used if | The default route found when crossing an E-W link SHOULD be used if | |||
and only if: | and only if | |||
1. the node itself does *not* have any northbound adjacencies *and* | 1. the node itself does *not* have any northbound adjacencies *and* | |||
2. the adjacent node has one or more northbound adjacencies | 2. the adjacent node has one or more northbound adjacencies. | |||
This rule forms a "one-hop default route split-horizon" and prevents | This rule forms a "one-hop default route split-horizon" and prevents | |||
looping over default routes while allowing for "one-hop protection" | looping over default routes while allowing for "one-hop protection" | |||
of nodes that lost all northbound adjacencies, except at the ToF | of nodes that lost all northbound adjacencies, except at the ToF | |||
where the links are used exclusively to flood topology information in | where the links are used exclusively to flood topology information in | |||
multi-plane designs. | multi-plane designs. | |||
Other south prefixes found when crossing E-W links MAY be used if and | Other south prefixes found when crossing E-W links MAY be used if and | |||
only if | only if | |||
skipping to change at line 5255 ¶ | skipping to change at line 5257 ¶ | |||
may require that a BFD session comes up before advertising the | may require that a BFD session comes up before advertising the | |||
adjacency. | adjacency. | |||
For the cases outlined above, RIFT has two approaches to enforce that | For the cases outlined above, RIFT has two approaches to enforce that | |||
a local port is connected to the correct port on the correct remote | a local port is connected to the correct port on the correct remote | |||
node. One approach is to piggyback on RIFT's authentication | node. One approach is to piggyback on RIFT's authentication | |||
mechanism. Assuming the provisioning model (e.g., YANG) is flexible | mechanism. Assuming the provisioning model (e.g., YANG) is flexible | |||
enough, operators can choose to provision a unique authentication key | enough, operators can choose to provision a unique authentication key | |||
for the following conceptual models: | for the following conceptual models: | |||
* each pair of ports in "port-association model" | * each pair of ports in "port-association model", | |||
* each pair of switches in "node-association model", or | * each pair of switches in "node-association model", or | |||
* the entire fabric in "fabric-association model". | * the entire fabric in "fabric-association model". | |||
The other approach is to rely on the System ID, port-id, and level | The other approach is to rely on the System ID, port-id, and level | |||
fields in the LIE message to validate an adjacency against the | fields in the LIE message to validate an adjacency against the | |||
expected cabling topology and optionally introduce some new rules in | expected cabling topology and optionally introduce some new rules in | |||
the FSM to allow the adjacency to come up if the expectations are | the FSM to allow the adjacency to come up if the expectations are | |||
met. | met. | |||
skipping to change at line 5455 ¶ | skipping to change at line 5457 ¶ | |||
deserialized to obtain the originator. | deserialized to obtain the originator. | |||
Fingerprint Length: 8 bits | Fingerprint Length: 8 bits | |||
Length in 32-bit multiples of the following fingerprint (not | Length in 32-bit multiples of the following fingerprint (not | |||
including lifetime or weak nonces). It allows the structure to be | including lifetime or weak nonces). It allows the structure to be | |||
navigated when an unknown key type is present. To clarify, a | navigated when an unknown key type is present. To clarify, a | |||
common corner case when this value is set to 0 is when it | common corner case when this value is set to 0 is when it | |||
signifies an empty (0 bytes long) security fingerprint. | signifies an empty (0 bytes long) security fingerprint. | |||
Security Fingerprint: 32 bits * Fingerprint Length. | Security Fingerprint: 32 bits * Fingerprint Length | |||
This is a signature that is computed over all data following after | This is a signature that is computed over all data following after | |||
it. If the significant bits of the fingerprint are fewer than the | it. If the significant bits of the fingerprint are fewer than the | |||
32-bit padded length, then the significant bits MUST be left | 32-bit padded length, then the significant bits MUST be left | |||
aligned and the remaining bits on the right are padded with 0s. | aligned and the remaining bits on the right are padded with 0s. | |||
When using Public Key Infrastructure (PKI), the security | When using Public Key Infrastructure (PKI), the security | |||
fingerprint originating node uses its private key to create the | fingerprint originating node uses its private key to create the | |||
signature. The original packet can then be verified, provided the | signature. The original packet can then be verified, provided the | |||
public key is shared and current. Methodology to negotiate, | public key is shared and current. Methodology to negotiate, | |||
distribute, or rollover keys is outside the scope of this | distribute, or rollover keys is outside the scope of this | |||
skipping to change at line 6535 ¶ | skipping to change at line 6537 ¶ | |||
To isolate possible attack vectors on the leaf to the largest | To isolate possible attack vectors on the leaf to the largest | |||
possible extent, a dedicated leaf-only implementation could run | possible extent, a dedicated leaf-only implementation could run | |||
without any configuration by: | without any configuration by: | |||
* hard-coding a well-known adjacency key (which can be always rolled | * hard-coding a well-known adjacency key (which can be always rolled | |||
over by means of, e.g., a well-known key-value distributed from | over by means of, e.g., a well-known key-value distributed from | |||
top of the fabric), | top of the fabric), | |||
* hard-coding a leaf level value, and | * hard-coding a leaf level value, and | |||
* always setting the overload flag | * always setting the overload flag. | |||
9.9.1. IPv4 Broadcast and IPv6 All-Routers Multicast Implementations | 9.9.1. IPv4 Broadcast and IPv6 All-Routers Multicast Implementations | |||
Section 6.2 describes an optional implementation that supports LIE | Section 6.2 describes an optional implementation that supports LIE | |||
exchange over IPv4 broadcast addresses and/or the IPv6 all-routers | exchange over IPv4 broadcast addresses and/or the IPv6 all-routers | |||
multicast address. It is important to consider that if an | multicast address. It is important to consider that if an | |||
implementation supports this, the attack surface widens as LIEs may | implementation supports this, the attack surface widens as LIEs may | |||
be propagated to devices outside of the intended RIFT topology. This | be propagated to devices outside of the intended RIFT topology. This | |||
may leave RIFT nodes more susceptible to the various attack vectors | may leave RIFT nodes more susceptible to the various attack vectors | |||
already described in this section. | already described in this section. | |||
skipping to change at line 7025 ¶ | skipping to change at line 7027 ¶ | |||
|1 | name |8.0 | |Node or | | |1 | name |8.0 | |Node or | | |||
| | | | |adjacency | | | | | | |adjacency | | |||
| | | | |name. | | | | | | |name. | | |||
+-----+-----------------------------+-------+--------+--------------+ | +-----+-----------------------------+-------+--------+--------------+ | |||
|2 | local_id |8.0 | |Local link | | |2 | local_id |8.0 | |Local link | | |||
| | | | |ID. | | | | | | |ID. | | |||
+-----+-----------------------------+-------+--------+--------------+ | +-----+-----------------------------+-------+--------+--------------+ | |||
|3 | flood_port |8.0 | |UDP port to | | |3 | flood_port |8.0 | |UDP port to | | |||
| | | | |which we can | | | | | | |which we can | | |||
| | | | |receive | | | | | | |receive | | |||
| | | | |flooded ties. | | | | | | |flooded TIEs. | | |||
+-----+-----------------------------+-------+--------+--------------+ | +-----+-----------------------------+-------+--------+--------------+ | |||
|4 | link_mtu_size |8.0 | |Layer 2 MTU, | | |4 | link_mtu_size |8.0 | |Layer 2 MTU, | | |||
| | | | |used to | | | | | | |used to | | |||
| | | | |discover | | | | | | |discover | | |||
| | | | |mismatch. | | | | | | |mismatch. | | |||
+-----+-----------------------------+-------+--------+--------------+ | +-----+-----------------------------+-------+--------+--------------+ | |||
|5 | link_bandwidth |8.0 | |Local link | | |5 | link_bandwidth |8.0 | |Local link | | |||
| | | | |bandwidth on | | | | | | |bandwidth on | | |||
| | | | |the | | | | | | |the | | |||
| | | | |interface. | | | | | | |interface. | | |||
skipping to change at line 7103 ¶ | skipping to change at line 7105 ¶ | |||
| | | | |node to | | | | | | |node to | | |||
| | | | |achieve flood | | | | | | |achieve flood | | |||
| | | | |reduction and | | | | | | |reduction and | | |||
| | | | |balancing for | | | | | | |balancing for | | |||
| | | | |northbound | | | | | | |northbound | | |||
| | | | |flooding. | | | | | | |flooding. | | |||
+-----+-----------------------------+-------+--------+--------------+ | +-----+-----------------------------+-------+--------+--------------+ | |||
|23 | you_are_sending_too_quickly |8.0 | |Indicates to | | |23 | you_are_sending_too_quickly |8.0 | |Indicates to | | |||
| | | | |the neighbor | | | | | | |the neighbor | | |||
| | | | |to flood node | | | | | | |to flood node | | |||
| | | | |ties only and | | | | | | |TIEs only and | | |||
| | | | |slow down all | | | | | | |slow down all | | |||
| | | | |other ties. | | | | | | |other TIEs. | | |||
| | | | |Ignored when | | | | | | |Ignored when | | |||
| | | | |received from | | | | | | |received from | | |||
| | | | |the | | | | | | |the | | |||
| | | | |southbound | | | | | | |southbound | | |||
| | | | |neighbor. | | | | | | |neighbor. | | |||
+-----+-----------------------------+-------+--------+--------------+ | +-----+-----------------------------+-------+--------+--------------+ | |||
|24 | instance_name |8.0 | |Instance name | | |24 | instance_name |8.0 | |Instance name | | |||
| | | | |in case | | | | | | |in case | | |||
| | | | |multiple RIFT | | | | | | |multiple RIFT | | |||
| | | | |instances are | | | | | | |instances are | | |||
skipping to change at line 7338 ¶ | skipping to change at line 7340 ¶ | |||
+-------+-----------+---------+----------+----------------------+ | +-------+-----------+---------+----------+----------------------+ | |||
| 3 | cost | 8.0 | | Cost to neighbor. | | | 3 | cost | 8.0 | | Cost to neighbor. | | |||
| | | | | Ignore anything | | | | | | | Ignore anything | | |||
| | | | | equal or larger than | | | | | | | equal or larger than | | |||
| | | | | 'infinite_distance' | | | | | | | 'infinite_distance' | | |||
| | | | | and equal to | | | | | | | and equal to | | |||
| | | | | 'invalid_distance'. | | | | | | | 'invalid_distance'. | | |||
+-------+-----------+---------+----------+----------------------+ | +-------+-----------+---------+----------+----------------------+ | |||
| 4 | link_ids | 8.0 | | Carries description | | | 4 | link_ids | 8.0 | | Carries description | | |||
| | | | | of multiple parallel | | | | | | | of multiple parallel | | |||
| | | | | links in a tie. | | | | | | | links in a TIE. | | |||
+-------+-----------+---------+----------+----------------------+ | +-------+-----------+---------+----------+----------------------+ | |||
| 5 | bandwidth | 8.0 | | Total bandwidth to | | | 5 | bandwidth | 8.0 | | Total bandwidth to | | |||
| | | | | neighbor as sum of | | | | | | | neighbor as sum of | | |||
| | | | | all parallel links. | | | | | | | all parallel links. | | |||
+-------+-----------+---------+----------+----------------------+ | +-------+-----------+---------+----------+----------------------+ | |||
Table 30: Neighbor of a Node | Table 30: Neighbor of a Node | |||
10.3.24. RIFTEncodingNodeTIEElement Registry | 10.3.24. RIFTEncodingNodeTIEElement Registry | |||
skipping to change at line 7364 ¶ | skipping to change at line 7366 ¶ | |||
| | | Version | Version | | | | | | Version | Version | | | |||
+=======+=================+=========+==========+====================+ | +=======+=================+=========+==========+====================+ | |||
| 0 | Reserved | 8.0 | All | | | | 0 | Reserved | 8.0 | All | | | |||
| | | | Versions | | | | | | | Versions | | | |||
+-------+-----------------+---------+----------+--------------------+ | +-------+-----------------+---------+----------+--------------------+ | |||
| 1 | level | 8.0 | | Level of the | | | 1 | level | 8.0 | | Level of the | | |||
| | | | | node. | | | | | | | node. | | |||
+-------+-----------------+---------+----------+--------------------+ | +-------+-----------------+---------+----------+--------------------+ | |||
| 2 | neighbors | 8.0 | | Node's neighbors. | | | 2 | neighbors | 8.0 | | Node's neighbors. | | |||
| | | | | Multiple node | | | | | | | Multiple node | | |||
| | | | | ties can carry | | | | | | | TIEs can carry | | |||
| | | | | disjoint sets of | | | | | | | disjoint sets of | | |||
| | | | | neighbors. | | | | | | | neighbors. | | |||
+-------+-----------------+---------+----------+--------------------+ | +-------+-----------------+---------+----------+--------------------+ | |||
| 3 | capabilities | 8.0 | | Capabilities of | | | 3 | capabilities | 8.0 | | Capabilities of | | |||
| | | | | the node. | | | | | | | the node. | | |||
+-------+-----------------+---------+----------+--------------------+ | +-------+-----------------+---------+----------+--------------------+ | |||
| 4 | flags | 8.0 | | Flags of the | | | 4 | flags | 8.0 | | Flags of the | | |||
| | | | | node. | | | | | | | node. | | |||
+-------+-----------------+---------+----------+--------------------+ | +-------+-----------------+---------+----------+--------------------+ | |||
| 5 | name | 8.0 | | Optional node | | | 5 | name | 8.0 | | Optional node | | |||
skipping to change at line 7394 ¶ | skipping to change at line 7396 ¶ | |||
| 10 | miscabled_links | 8.0 | | If any local | | | 10 | miscabled_links | 8.0 | | If any local | | |||
| | | | | links are | | | | | | | links are | | |||
| | | | | miscabled, this | | | | | | | miscabled, this | | |||
| | | | | indication is | | | | | | | indication is | | |||
| | | | | flooded. | | | | | | | flooded. | | |||
+-------+-----------------+---------+----------+--------------------+ | +-------+-----------------+---------+----------+--------------------+ | |||
| 12 | same_plane_tofs | 8.0 | | ToFs in the same | | | 12 | same_plane_tofs | 8.0 | | ToFs in the same | | |||
| | | | | plane. Only | | | | | | | plane. Only | | |||
| | | | | carried by ToF. | | | | | | | carried by ToF. | | |||
| | | | | Multiple node | | | | | | | Multiple node | | |||
| | | | | ties can carry | | | | | | | TIEs can carry | | |||
| | | | | disjoint sets of | | | | | | | disjoint sets of | | |||
| | | | | ToFs that must be | | | | | | | ToFs that must be | | |||
| | | | | joined to form a | | | | | | | joined to form a | | |||
| | | | | single set. | | | | | | | single set. | | |||
+-------+-----------------+---------+----------+--------------------+ | +-------+-----------------+---------+----------+--------------------+ | |||
| 20 | fabric_id | 8.0 | | It provides the | | | 20 | fabric_id | 8.0 | | It provides the | | |||
| | | | | optional ID of | | | | | | | optional ID of | | |||
| | | | | the fabric | | | | | | | the fabric | | |||
| | | | | configured. | | | | | | | configured. | | |||
+-------+-----------------+---------+----------+--------------------+ | +-------+-----------------+---------+----------+--------------------+ | |||
skipping to change at line 7449 ¶ | skipping to change at line 7451 ¶ | |||
| 0 | Reserved | 8.0 | All | | | | 0 | Reserved | 8.0 | All | | | |||
| | | | Versions | | | | | | | Versions | | | |||
+-------+---------------+---------+----------+-------------------+ | +-------+---------------+---------+----------+-------------------+ | |||
| 1 | major_version | 8.0 | | Major version of | | | 1 | major_version | 8.0 | | Major version of | | |||
| | | | | protocol. | | | | | | | protocol. | | |||
+-------+---------------+---------+----------+-------------------+ | +-------+---------------+---------+----------+-------------------+ | |||
| 2 | minor_version | 8.0 | | Minor version of | | | 2 | minor_version | 8.0 | | Minor version of | | |||
| | | | | protocol. | | | | | | | protocol. | | |||
+-------+---------------+---------+----------+-------------------+ | +-------+---------------+---------+----------+-------------------+ | |||
| 3 | sender | 8.0 | | Node sending the | | | 3 | sender | 8.0 | | Node sending the | | |||
| | | | | packet, in case | | | | | | | packet; in case | | |||
| | | | | of LIE/TIRE/TIDE | | | | | | | of LIE/TIRE/TIDE | | |||
| | | | | also the | | | | | | | also the | | |||
| | | | | originator of it. | | | | | | | originator of it. | | |||
+-------+---------------+---------+----------+-------------------+ | +-------+---------------+---------+----------+-------------------+ | |||
| 4 | level | 8.0 | | Level of the node | | | 4 | level | 8.0 | | Level of the node | | |||
| | | | | sending the | | | | | | | sending the | | |||
| | | | | packet, required | | | | | | | packet, required | | |||
| | | | | on everything | | | | | | | on everything | | |||
| | | | | except LIEs. | | | | | | | except LIEs. | | |||
| | | | | Lack of presence | | | | | | | Lack of presence | | |||
skipping to change at line 7836 ¶ | skipping to change at line 7838 ¶ | |||
[SHA-2] NIST, "Secure Hash Standard (SHS)", FIPS PUB 180-4, | [SHA-2] NIST, "Secure Hash Standard (SHS)", FIPS PUB 180-4, | |||
DOI 10.6028/NIST.FIPS.180-4, July 2015, | DOI 10.6028/NIST.FIPS.180-4, July 2015, | |||
<https://csrc.nist.gov/pubs/fips/180-4/upd1/final>. | <https://csrc.nist.gov/pubs/fips/180-4/upd1/final>. | |||
[thrift] Apache Software Foundation, "Apache Thrift Documentation", | [thrift] Apache Software Foundation, "Apache Thrift Documentation", | |||
<https://thrift.apache.org/docs/>. | <https://thrift.apache.org/docs/>. | |||
11.2. Informative References | 11.2. Informative References | |||
[APPLICABILITY] | ||||
Wei, Y., Zhang, Z., Afanasiev, D., Thubert, P., and T. | ||||
Przygienda, "RIFT Applicability and Operational | ||||
Considerations", Work in Progress, Internet-Draft, draft- | ||||
ietf-rift-applicability-17, 17 June 2024, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-rift- | ||||
applicability-17>. | ||||
[CLOS] Yuan, X., "On Nonblocking Folded-Clos Networks in Computer | [CLOS] Yuan, X., "On Nonblocking Folded-Clos Networks in Computer | |||
Communication Environments", 2011 IEEE International | Communication Environments", 2011 IEEE International | |||
Parallel & Distributed Processing Symposium, | Parallel & Distributed Processing Symposium, | |||
DOI 10.1109/IPDPS.2011.27, 2011, | DOI 10.1109/IPDPS.2011.27, May 2011, | |||
<https://ieeexplore.ieee.org/document/6012836>. | <https://ieeexplore.ieee.org/document/6012836>. | |||
[DayOne] Aelmans, M., Vandezande, O., Rijsman, B., Head, J., Graf, | [DayOne] Aelmans, M., Vandezande, O., Rijsman, B., Head, J., Graf, | |||
C., Alberro, L., Mali, H., and O. Steudler, "Day One: | C., Alberro, L., Mali, H., and O. Steudler, "Day One: | |||
Routing in Fat Trees (RIFT)", Juniper Network Books, | Routing in Fat Trees (RIFT)", Juniper Network Books, | |||
ISBN 978-1-7363160-0-9, December 2020. | ISBN 978-1-7363160-0-9, December 2020. | |||
[DIJKSTRA] Dijkstra, E. W., "A Note on Two Problems in Connexion with | [DIJKSTRA] Dijkstra, E. W., "A Note on Two Problems in Connexion with | |||
Graphs", Numerische Mathematik, vol. 1, pp. 269-271, | Graphs", Numerische Mathematik, vol. 1, pp. 269-271, | |||
DOI 10.1007/BF01386390, December 1959, | DOI 10.1007/BF01386390, December 1959, | |||
<https://link.springer.com/article/10.1007/BF01386390>. | <https://link.springer.com/article/10.1007/BF01386390>. | |||
[DYNAMO] De Candia, G., Hastorun, D., Jampani, M., Kakulpati, G., | [DYNAMO] De Candia, G., Hastorun, D., Jampani, M., Kakulpati, G., | |||
Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, | Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, | |||
P., and W. Vogels, "Dynamo: amazon's highly available key- | P., and W. Vogels, "Dynamo: amazon's highly available key- | |||
value store", ACM SIGOPS Operating Systems Review, vol. | value store", ACM SIGOPS Operating Systems Review, vol. | |||
41, no. 6, pp. 205-220, DOI 10.1145/1323293.1294281, 2007, | 41, no. 6, pp. 205-220, DOI 10.1145/1323293.1294281, | |||
October 2007, | ||||
<https://dl.acm.org/doi/10.1145/1323293.1294281>. | <https://dl.acm.org/doi/10.1145/1323293.1294281>. | |||
[EPPSTEIN] Eppstein, D., "Finding the k Shortest Paths", 1997, | [EPPSTEIN] Eppstein, D., "Finding the k Shortest Paths", March 1997, | |||
<https://ics.uci.edu/~eppstein/pubs/Epp-SJC-98.pdf>. | <https://ics.uci.edu/~eppstein/pubs/Epp-SJC-98.pdf>. | |||
[FATTREE] Leiserson, C. E., "Fat-Trees: Universal Networks for | [FATTREE] Leiserson, C. E., "Fat-Trees: Universal Networks for | |||
Hardware-Efficient Supercomputing", IEEE Transactions on | Hardware-Efficient Supercomputing", IEEE Transactions on | |||
Computers, vol. C-34, no. 10, pp. 892-901, | Computers, vol. C-34, no. 10, pp. 892-901, | |||
DOI 10.1109/TC.1985.6312192, October 1985, | DOI 10.1109/TC.1985.6312192, October 1985, | |||
<https://ieeexplore.ieee.org/document/6312192>. | <https://ieeexplore.ieee.org/document/6312192>. | |||
[IEEEstd1588] | [IEEEstd1588] | |||
IEEE, "IEEE Standard for a Precision Clock Synchronization | IEEE, "IEEE Standard for a Precision Clock Synchronization | |||
skipping to change at line 7961 ¶ | skipping to change at line 7956 ¶ | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
[RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., | [RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., | |||
Richardson, M., Jiang, S., Lemon, T., and T. Winters, | Richardson, M., Jiang, S., Lemon, T., and T. Winters, | |||
"Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | |||
RFC 8415, DOI 10.17487/RFC8415, November 2018, | RFC 8415, DOI 10.17487/RFC8415, November 2018, | |||
<https://www.rfc-editor.org/info/rfc8415>. | <https://www.rfc-editor.org/info/rfc8415>. | |||
[RFC9696] Wei, Y., Ed., Zhang, Z., Afanasiev, D., Thubert, P., and | ||||
T. Przygienda, "Routing in Fat Trees (RIFT) Applicability | ||||
and Operational Considerations", RFC 9696, | ||||
DOI 10.17487/RFC9696, March 2025, | ||||
<https://www.rfc-editor.org/info/rfc9696>. | ||||
[VAHDAT08] Al-Fares, M., Loukissas, A., and A. Vahdat, "A Scalable, | [VAHDAT08] Al-Fares, M., Loukissas, A., and A. Vahdat, "A Scalable, | |||
Commodity Data Center Network Architecture", ACM SIGCOMM | Commodity Data Center Network Architecture", ACM SIGCOMM | |||
Computer Communication Review, vol. 38, no. 4, pp. 63-74, | Computer Communication Review, vol. 38, no. 4, pp. 63-74, | |||
DOI 10.1145/1402946.1402967, August 2008, | DOI 10.1145/1402946.1402967, August 2008, | |||
<https://dl.acm.org/doi/10.1145/1402946.1402967>. | <https://dl.acm.org/doi/10.1145/1402946.1402967>. | |||
[VFR] Giotsas, V. and S. Zhou, "Valley-free violation in | [VFR] Giotsas, V. and S. Zhou, "Valley-free violation in | |||
Internet routing - Analysis based on BGP Community data", | Internet routing - Analysis based on BGP Community data", | |||
2012 IEEE International Conference on Communications | 2012 IEEE International Conference on Communications | |||
(ICC), DOI 10.1109/ICC.2012.6363987, 2012, | (ICC), DOI 10.1109/ICC.2012.6363987, June 2012, | |||
<https://ieeexplore.ieee.org/document/6363987>. | <https://ieeexplore.ieee.org/document/6363987>. | |||
Appendix A. Sequence Number Binary Arithmetic | Appendix A. Sequence Number Binary Arithmetic | |||
This section defines a variant of sequence number arithmetic related | This section defines a variant of sequence number arithmetic related | |||
to [RFC1982] explained over two complement arithmetic, which is easy | to [RFC1982] explained over two complement arithmetic, which is easy | |||
to implement. | to implement. | |||
Assuming straight two complement's subtractions on the bit width of | Assuming straight two complement's subtractions on the bit width of | |||
the sequence numbers, the corresponding >: and =: relations are | the sequence numbers, the corresponding >: and =: relations are | |||
skipping to change at line 8423 ¶ | skipping to change at line 8424 ¶ | |||
Email: as3957@gmail.com | Email: as3957@gmail.com | |||
Pascal Thubert | Pascal Thubert | |||
Individual | Individual | |||
France | France | |||
Email: pascal.thubert@gmail.com | Email: pascal.thubert@gmail.com | |||
Bruno Rijsman | Bruno Rijsman | |||
Individual | Individual | |||
Email: brunorijsman@gmail.com | Email: brunorijsman@gmail.com | |||
Dmitry Afanasiev | ||||
Yandex | ||||
Email: fl0w@yandex-team.ru | ||||
End of changes. 24 change blocks. | ||||
28 lines changed or deleted | 29 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |