diff --git a/draft-ietf-lsvr-l3dl.xml b/draft-ietf-lsvr-l3dl.xml index 350e4a3..e801dc0 100644 --- a/draft-ietf-lsvr-l3dl.xml +++ b/draft-ietf-lsvr-l3dl.xml @@ -15,7 +15,7 @@ - Layer 3 Discovery and Liveness + Layer-3 Discovery and Liveness Arrcus & Internet Initiative Japan @@ -58,9 +58,9 @@ In Massive Data Centers, BGP-SPF and similar routing protocols are used to build topology and reachability databases. These - protocols need to discover IP Layer 3 attributes of links, such as + protocols need to discover IP Layer-3 attributes of links, such as neighbor IP addressing, logical link IP encapsulation abilities, and - link liveness. This Layer 3 Discovery and Liveness protocol + link liveness. This Layer-3 Discovery and Liveness protocol collects these data, which may then be disseminated using BGP-SPF and similar protocols. @@ -97,18 +97,18 @@ topology. They also need prompt but prudent reaction to (logical) link failure. - Layer 3 Discovery and Liveness (L3DL) provides brutally simple + Layer-3 Discovery and Liveness (L3DL) provides brutally simple mechanisms for devices to Discover each other's unique endpoint identification, - Discover mutually supported layer 3 encapsulations, e.g. + Discover mutually supported layer-3 encapsulations, e.g. IP/MPLS, - Discover Layer 3 IP and/or MPLS addressing of interfaces of the + Discover Layer-3 IP and/or MPLS addressing of interfaces of the encapsulations, Present these data, using a very restricted profile of a BGP-LS API, to BGP-SPF which computes the topology and builds routing and forwarding tables, - Enable Layer 3 link liveness such as BFD, - Provide Layer 2 keep-alive messages for session continuity, and + Enable Layer-3 link liveness such as BFD, + Provide Layer-2 keep-alive messages for session continuity, and finally Provide for authenticity verification of protocol messages. @@ -116,12 +116,12 @@ In this document, the use case for L3DL is for point to point links in a datacenter Clos in order to exchange the data needed for BGP-SPF bootstrap and - continuity. Once layer two connectivity has been leveraged to get - layer three addressability and forwarding capabilities, normal layer - three forwarding and routing can take over. + continuity. Once layer-2 connectivity has been leveraged to get + layer-3 addressability and forwarding capabilities, normal layer-3 + forwarding and routing can take over. L3DL might be found to be more widely applicable to a range of - routing and similar protocols which need layer three discovery and + routing and similar protocols which need layer-3 discovery and characterisation. @@ -135,7 +135,7 @@ Autonomous System Number , a BGP identifier for an originator of - Layer 3 routes, particularly BGP announcements. + Layer-3 routes, particularly BGP announcements. A mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. See . A hierarchic subset of a crossbar switch topology commonly used in data centers. - The L3DL content of a single Layer 2 + The L3DL content of a single Layer-2 frame, sans Ethernet framing. A full L3DL PDU may be packaged in multiple Datagrams. 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. - A Layer 2 Ethernet packet. + layer-2.5 and 3 addresses such as IPv4, IPv6, MPLS, etc. + A Layer-2 Ethernet packet. A logical connection between two logical ports on two devices. E.g. two VLANs between the same two ports are two links. Logical Link Endpoint Identifier, the unique identifier of one end of a logical link, see . - 48-bit Layer 2 addresses are assumed - since they are used by all widely deployed Layer 2 network + 48-bit Layer-2 addresses are assumed + since they are used by all widely deployed Layer-2 network technologies of interest, especially Ethernet. See . Massive Data Center, commonly composed of @@ -220,7 +220,7 @@ Devices discover each other on logical links Logical Link Endpoint Identifiers (LLEIs) are exchanged - Layer 2 Liveness checks may be started + Layer-2 Liveness checks may be started Encapsulation data are exchanged and IP-Level Liveness checks enabled A BGP-like upper layer protocol is assumed to use the @@ -257,12 +257,12 @@ There are two protocols, the inter-device (left-right in the - diagram) per-link layer 3 discovery and the API to the upper level + diagram) per-link layer-3 discovery and the API to the upper level BGP-like routing protocol (up-down in the above diagram): Inter-device PDUs are used to exchange device and logical link - identities and layer 2.5 (MPLS) and 3 identifiers (not payloads), + identities and layer-2.5 (MPLS) and 3 identifiers (not payloads), e.g. device IDs, port identities, VLAN IDs, Encapsulations, and IP addresses. @@ -275,8 +275,8 @@ The upper layer BGP family routing protocols cross all the devices, though they are not part of these L3DL protocols. - To simplify this document, Layer 2 framing is not shown. L3DL is - about layer 3. + To simplify this document, Layer-2 framing is not shown. L3DL is + about layer-3. @@ -381,7 +381,7 @@ |---------------------------->| | | | | -| L3DL KEEPALIVE | Layer 2 Liveness +| L3DL KEEPALIVE | Layer-2 Liveness |---------------------------->| Optional | L3DL KEEPALIVE | |<----------------------------| @@ -415,7 +415,7 @@ L3DL is carrying relatively small amounts of data on relatively high bandwidth links, and at a time when the link is not active with - other data as it does not yet have layer three connectivity. So + other data as it does not yet have layer-3 connectivity. So congestion is not considered a sufficiently significant risk to warrant additional complexity. @@ -643,7 +643,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n) needs, simple or complex. Examples of two extremes follow: A simplistic view of a link between two devices is two ports, - identified by unique MAC addresses, carrying a layer 3 protocol + identified by unique MAC addresses, carrying a layer-3 protocol conversation. In this case, the MAC addresses might suffice for the LLEIs. @@ -682,7 +682,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n) ifIndex is the SNMP identifier of the (sub-)interface, see . This uniquely identifies the port. - For a layer 3 tagged sub-interface or a VLAN/SVI interface, + For a layer-3 tagged sub-interface or a VLAN/SVI interface, Ifindex is that of the logical sub-interface, so no further disambiguation is needed. @@ -710,7 +710,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n) When a switch receives a frame with a multicast destination MAC it does not recognize, it forwards to - all ports. This destination MAC is to be sent when the interface + all ports. This destination MAC SHOULD BE sent when the interface is known to be connected to a switch. See . This SHOULD BE used when the link may be a multi-point link. @@ -864,8 +864,8 @@ q--> signing auth data by the sender. Once two logical link endpoints know each other, and have ACKed - each other's OPEN PDUs, Layer 2 KEEPALIVEs (see ) MAY be started to ensure Layer 2 liveness and + each other's OPEN PDUs, Layer-2 KEEPALIVEs (see ) MAY be started to ensure Layer-2 liveness and keep the session semantics alive. The timing and acceptable drop of KEEPALIVE PDUs are discussed in . @@ -963,13 +963,13 @@ q--> 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 one second), and the interface is - live at layer 2, the sender resends the PDU using exponential + live at layer-2, 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. - If the link is broken at layer 2, retransmission MAY BE retried + If the link is broken at layer-2, retransmission MAY BE retried when the link is restored. @@ -992,7 +992,7 @@ q--> The sender of an Encapsulation PDU MUST NOT assume that the peer is capable of the same Encapsulation Type. An ACK () merely acknowledges receipt. Only if both peers - have sent the same Encapsulation Type is it safe for Layer 3 + have sent the same Encapsulation Type is it safe for Layer-3 protocols to assume that they are compatible for that type. A receiver of an encapsulation might recognize an addressing @@ -1063,12 +1063,12 @@ q--> target="ack"/>. If the Sender does not receive an ACK in a configurable - interval (default one second), and the interface is live at layer - 2, they SHOULD retransmit. After a user configurable number of - failures (default three), the L3DL session should be considered + interval (default one second), and the interface is live at + layer-2, they SHOULD retransmit. After a user configurable number + of failures (default three), the L3DL session should be considered dead and the OPEN process SHOULD be restarted. - If the link is broken at layer 2, retransmission MAY BE retried + If the link is broken at layer-2, retransmission MAY BE retried if data have not changed in the interim. @@ -1348,7 +1348,7 @@ q--> -
+
- L3DL devices SHOULD beacon frequent Layer 2 KEEPALIVE PDUs to + L3DL devices SHOULD beacon frequent Layer-2 KEEPALIVE PDUs to ensure session continuity. The inter-KEEPALIVE interval is configurable, with a default of ten seconds. A receiver may choose to ignore KEEPALIVE PDUs. @@ -1377,7 +1377,7 @@ q--> and reestablishment. KEEPALIVEs SHOULD be beaconed at a configured frequency. One per - second is the default. Layer 3 liveness, such as BFD, may be more + second is the default. Layer-3 liveness, such as BFD, may be more (or less) aggressive. When a sender transmits a PDU which is not a KEEPALIVE, the @@ -1394,11 +1394,11 @@ q-->
-
+
- Layer 2 liveness may be continuously tested by KEEPALIVE PDUs, - see . As layer 2.5 or layer 3 - connectivity could still break, liveness above layer 2 MAY be + Layer-2 liveness may be continuously tested by KEEPALIVE PDUs, + see . As layer-2.5 or layer-3 + connectivity could still break, liveness above layer-2 MAY be frequently tested using BFD () or a similar technique. @@ -1470,7 +1470,7 @@ q-->
- A device with multiple Layer 2 interfaces, traditionally called + A device with multiple Layer-2 interfaces, traditionally called a switch, may be used to forward frames and therefore packets from multiple devices to one logical interface (LLEI), I, on an L3DL speaking device. Interface I could discover a peer J across the @@ -1554,7 +1554,7 @@ q--> In the case of L3DL, Authentication and Integrity as provided in is strongly recommended. - It is generally unwise to assume that on the wire Layer 2 is + It is generally unwise to assume that on the wire Layer-2 is secure. Strange/unauthorized devices may plug into a port. Mis-wiring is very common in datacenter installations. A poisoned laptop might be plugged into a device's port, form malicious @@ -1683,7 +1683,7 @@ q--> Kovuru for comments during implementation, Jeff Haas for review and comments, Jörg Ott for an early but deep transport review, Joe Clarke for a useful review, John Scudder for deeply serious review - and comments, Larry Kreeger for a lot of layer 2 clue, Martijn + and comments, Larry Kreeger for a lot of layer-2 clue, Martijn Schmidt for his contribution, Nalinaksh Pai for transport discussions, Neeraj Malhotra for review, Paul Congdon for Ethernet hints, Russ Housley for checksum discussion and sBox, and Steve