From 2b8c3052739db22072cf74845ae7cb4eafa9f401 Mon Sep 17 00:00:00 2001 From: Randy Bush Date: Thu, 17 Feb 2022 11:11:14 -0800 Subject: [PATCH] spell check, -00 published --- draft-ymbk-idr-l3nd.xml | 133 +++++++++++++++++++++------------------- 1 file changed, 69 insertions(+), 64 deletions(-) diff --git a/draft-ymbk-idr-l3nd.xml b/draft-ymbk-idr-l3nd.xml index 61fc078..9457578 100644 --- a/draft-ymbk-idr-l3nd.xml +++ b/draft-ymbk-idr-l3nd.xml @@ -127,7 +127,7 @@ In this document, the use case for L3ND is for point to point - links in a datacenter Clos () in order to + links in a datacenter Clos () in order to exchange the data needed for bootstrapping BGP-based peering, EVPNs, etc. Once IP connectivity has been leveraged to get layer-3 addressability and forwarding capabilities, normal IP forwarding and @@ -149,30 +149,30 @@ target="RFC4271"/>, a BGP identifier for an originator of Layer-3 routes, particularly BGP announcements. --> A hierarchic subset of a crossbar switch - topology commonly used in data centers . + topology commonly used in data centers . The L3ND content of a single Layer-3 UDP Datagram. Address Family Indicator and Subsequent Address Family Indicator (AFI/SAFI). I.e. classes of - layer-2.5 and 3 addresses such as IPv4, IPv6, MPLS, etc. + Layer-2.5 and Layer-3 addresses such as IPv4, IPv6, MPLS. A logical connection between - two interfaces on two devices. E.g. two VLANs between the same - two ports are two links. + two interfaces on two different devices. E.g. two VLANs between + the same two ports are two links. Massive Data Center, commonly composed of thousands of Top of Rack Switches (TORs). Maximum Transmission Unit, the size in octets of the largest packet that can be sent on a medium, see 1.3.3. - Protocol Data Unit, an L3DL application layer + Protocol Data Unit, an L3ND application layer message. A PDU's content may need to be broken into multiple Datagrams to make it through MTU or other restrictions. An established, via exchange of OPEN PDUs, - session between two L3ND capable IP interfaces on a link, - Top Of Rack switch, aggregates the servers in - a rack and connects to aggregation layers of the Clos tree, AKA - the Clos spine. + session between two L3ND capable IP interfaces on a link. + Top Of Rack switch, aggregates the + servers in a rack and connects to aggregation layers of the Clos + tree, AKA the Clos spine. @@ -393,7 +393,7 @@ Flags (bit): 0 - 0 Raw TCP, 1 TLS - 1 - 0 Self-Signed Cert for TLS, CA-based + 1 - 0 Self-Signed Cert for TLS, 1 CA-based @@ -478,13 +478,13 @@ Flags (bit): very large data PDUs while obviating the need to invent complex transports. - The server, the sender of the HELLO, listens on the advertised - port for the TLS/TCP session open. The receiver of the accptable + The server, the sender of the HELLO, listens on the advertised + port for the TLS/TCP session open. The receiver of the acceptable HELLO, the TLS/TCP client, initiates a TLS or raw TCP session with the sender of the HELLO, the TLS/TCP server, preferably TLS, as - negotiated. If TLS, the client chooses either a self-signed - certificate or one configured from the operational CA trusted by - both parties, as negotiated in the HELLO exchange. + advertised. If TLS, the server has chosen and signaled either a + self-signed certificate or one configured from the operational CA + trusted by both parties, as negotiated in the HELLO exchange. Once the TLS/TCP session is established, if the link is configured as point to point, the client side SHOULD stop listening @@ -496,8 +496,13 @@ Flags (bit): Should an interface with an established TLS/TCP session be reconfigured changing the TLS/TCP parameters, the TLS/TCP session - should be torn down and the devices should restart/resume - HELLOs. + should be closed or torn down. + + Should the TLS/TCP session terminate for any reason, the devices + SHOULD restart/resume HELLOs. When the new TLS/TCP session is + started, if possible the OPEN PDU SHOULD try to resume the lost + logical session by using the same nonce and resuming from the last + Serial Number. Once the TLS/TCP session has been established, the two devices exchange L3ND PDUs, starting with OPENs. @@ -541,22 +546,24 @@ Flags (bit): The Nonce enables detection of a duplicate OPEN PDU. It SHOULD be either a random number or a high resolution timestamp. It is needed to prevent session closure due to a repeated OPEN caused by a - race or a dropped or delayed ACK. + race or a dropped or delayed ACK. It can be used to resume a + dropped logical session. AttrCount is the number of attributes in the Attribute List. A node may send zero or more attributes. Attributes are single octets the semantics of which are operator-defined, e.g.: spine, leaf, backbone, route reflector, - arabica, .... + arabica, ... Attribute syntax and semantics are local to an operator or datacenter; hence there is no global registry. Nodes exchange their attributes only in the OPEN PDU. Unlike L3DL , there are no - verifyable keys in the PDUs. If the operator wants authentication, - integrity, etc. TLS MUST be configured. + verifiable keys in the PDUs. If the operator wants authentication, + integrity, confidentiality, then TLS MUST have been requested by the + HELLO and agreed by the TLS session open. The Serial Number is a monotonically increasing 32-bit value representing the sender's state at the time of sending the last PDU. @@ -564,14 +571,14 @@ Flags (bit): Number would cause it to be zero, it should be incremented again. - On session restart (new OPEN), a receiver MAY send the last - received Serial Number to tell the sender to only send data with a - Serial Number greater (in the sense), or - send a Serial Number of zero to request all data. + On session restart (new OPEN, same Nonce), a receiver MAY send + the last received Serial Number to tell the sender to only send data + with a Serial Number greater (in the + sense), or send a Serial Number of zero to request all data. This allows a sender of an OPEN to tell the receiver that the - sender would like to resume a session and that the receiver only - needs to send data starting with the PDU with the lowest Serial + sender would like to resume a logical session and that the receiver + only needs to send data starting with the PDU with the lowest Serial Number greater (in the sense) than the one sent in the OPEN. If the sender is not trying to resume a dropped session, the Serial Number MUST be zero. @@ -583,10 +590,9 @@ Flags (bit): of zero. If a sender of OPEN does not receive an ACK of the OPEN PDU in a - configurable time (default 30 seconds), then they MUST resend the - same OPEN PDU, with the same Nonce. Resending an unacknowledged - OPEN PDU, like other ACKed PDUs, SHOULD use exponential back-off, - see . + configurable time (default 30 seconds), then they SHOULD close or + otherwise terminate the TLS/TCP session and restart from the HELLO + state. If an OPEN arrives at L3ND speaker A from B with which A believes it already has an L3ND session (i.e. OPENs have already been @@ -605,7 +611,8 @@ Flags (bit): with a new OPEN with a Serial Number of zero. TCP KeepAlives should be configured and tuned to meet local - operational needs. + operational needs. Some defaults and recommendations are needed + here. @@ -672,17 +679,10 @@ Flags (bit): If a PDU sender expects an ACK, e.g. for an OPEN, an Encapsulation, a Vendor PDU, etc., and does not receive the ACK - for a configurable time (default three seconds), and the interface - and TLS/TCP session are live, the sender resends the PDU using - exponential back-off, see . This cycle - MAY be repeated a configurable number of times (default three) - before it is considered a failure. The session MAY BE considered - closed in this case of this ACK failure, and both sides revert to + for a configurable time (default three seconds) the TLS/TCP + session should be closed or dropped, and both sides revert to HELLO state. - If the link is broken below layer-3, retransmission MAY BE - retried when the link is restored. - @@ -692,7 +692,7 @@ Flags (bit): Once the devices know each other's IP Addresses, and have established a TLS/TCP session and have successfully exchanged OPENs, the L3ND session is considered established, and the devices SHOULD - exchange L3 interface encapsulations, L3 addresses, and L2.5 + exchange Layer-3 interface encapsulations, Layer-3 addresses, and Layer-2.5 labels. Encapsulations of any AFI/SAFI may be exchanged over a TLS/TCP @@ -811,9 +811,9 @@ Flags (bit): SHOULD be 2, suggesting a session restart (see so all encapsulations will be resent. - If an LLEI has multiple addresses for an encapsulation type, - one and only one address MAY be marked as primary (Primary Flag == - 1) for that Encapsulation Type. + If an interface on a link has multiple addresses for an + encapsulation type, one and only one address MAY be marked as + primary (Primary Flag == 1) for that Encapsulation Type. An Encapsulation interface address in an Encapsulation PDU MAY be marked as a loopback, in which case the Loopback bit is set. @@ -1055,16 +1055,17 @@ Flags (bit):
- A device may send IP packets an L3 interface which transmits - data over a single Layer-2 (L2) interface or multiple L2 - interfaces. Packets sourced by one L3 IP interface over multiple - L2 should consider that an L3 interface with multiple Layer-2 - interfaces could have many devices which might come at various - times, therefore the configured HELLO PDU retransmit time SHOULD - be set to a non-zero value, and periodic HELLOs should continue. - Packets transmitted on a single L2 interface on a point-to-point - (p2p) connection, MAY set the configuration value to zero, so once - a TLS/TCP session is up, HELLOs are no longer desirable. + A device may send IP packets an Layer-3 interface which + transmits data over a single Layer-2 interface or multiple Layer-2 + interfaces. Packets sourced by one Layer-3 IP interface over + multiple Layer-2 should consider that an Layer-3 interface with + multiple Layer-2 interfaces could have many devices which might + come at various times, therefore the configured HELLO PDU + retransmit time SHOULD be set to a non-zero value, and periodic + HELLOs should continue. Packets transmitted on a single Layer-2 + interface on a point-to-point (p2p) connection, MAY set the + configuration value to zero, so once a TLS/TCP session is up, + HELLOs are no longer desirable. A device with multiple Layer-2 interfaces, traditionally called a switch, may be used to forward frames and therefore packets from @@ -1132,9 +1133,9 @@ Flags (bit): Many datacenter operators have a strange belief that physical walls and firewalls provide sufficient security. This is not credible. All DC protocols need to be examined for exposure and - attack surface. In the case of L3ND, Authentication and Integrity + attack surface. In the case of L3ND, authentication and integrity as provided by TLS validated to a configured shared CA trust anchor - is strongly recommended. + is strongly RECOMMENDED. It is generally unwise to assume that on the wire Layer-3 is secure. Strange/unauthorized devices may plug into a port. @@ -1148,13 +1149,11 @@ Flags (bit): If OPENs are not using validated TLS, an attacker could forge an OPEN for an existing session and cause the session to be reset. - For these reasons, TLS SHOULD be used. -
-
+
IANA is requested to assignment one address (TBD1) for L3DL-L3-LL from the IPv4 Multicast Address Space Registry from @@ -1170,7 +1169,7 @@ Flags (bit):
This document requests the IANA to assign a well-known TCP - Port Number (TBD3) to the L3 Neighbor Discovery Protocol for the + Port Number (TBD3) to the Layer-3 Neighbor Discovery Protocol for the following, see :
@@ -1255,7 +1254,13 @@ Flags (bit):
- The authors thank . + Many kind people helped with the Layer-2 cousin of this protocol, + L3DL. Cristel Pelsser provided multiple reviews, Harsha Kovuru + commented during implementation, Jeff Haas reviewed and commented, + Joerg Ott did an early but deep transport review, Joe Clarke + provided a useful ops review, John Scudder a deeply serious review + and comments, Martijn Schmidt contributed, and Neeraj Malhotra + reviewed.
@@ -1288,7 +1293,7 @@ Flags (bit): - + Clos Network