Jeorg Ott reviewed

This commit is contained in:
Randy Bush 2020-05-06 15:20:53 -07:00
parent 04d3fd85b3
commit ba42d5c15e
2 changed files with 2008 additions and 20 deletions

1960
draft-ietf-lsvr-l3dl.txt Normal file

File diff suppressed because it is too large Load diff

View file

@ -11,7 +11,7 @@
<?rfc tocindent="yes"?> <?rfc tocindent="yes"?>
<?rfc tocompact="yes"?> <?rfc tocompact="yes"?>
<rfc category="std" docName="draft-ietf-lsvr-l3dl-03" ipr="trust200902"> <rfc category="std" docName="draft-ietf-lsvr-l3dl-04" ipr="trust200902">
<front> <front>
@ -113,8 +113,15 @@
<t>Provide for authenticity verification of protocol messages.</t> <t>Provide for authenticity verification of protocol messages.</t>
</list></t> </list></t>
<t>This protocol may be more widely applicable to a range of routing <t>In this document, the use case for L3DL is for point to point
and similar protocols which need layer 3 discovery and links in a datacenter Clos in order to exchange the data needed for
BGP-SPF <xref target="I-D.ietf-lsvr-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.</t>
<t>L3DL might be found to be more widely applicable to a range of
routing and similar protocols which need layer three discovery and
characterisation.</t> characterisation.</t>
</section> </section>
@ -397,6 +404,17 @@
multiple Datagrams and reassembled by the receiver a la <xref multiple Datagrams and reassembled by the receiver a la <xref
target="RFC0791"/> Section 2.3 Fragmentation.</t> target="RFC0791"/> Section 2.3 Fragmentation.</t>
<t>This is not classic 'fragmentation', but rather decomposition at
the origin to allow PDU payloads larger than the frame allows.
There are no intermediate devices capable of further fragmentation
or reassembly.</t>
<t>L3DL is carrying relatively small amounts of data on relatively
high bandwidth links, and when the link is not active with other
data as it does not yet have layer three connectivity. So
congestion is not considered a sufficiently significant risk to
warrent additional complexity.</t>
<t>Should a PDU need to be retransmitted, it MUST BE sent as the <t>Should a PDU need to be retransmitted, it MUST BE sent as the
identical Datagram set as the original transmission. The identical Datagram set as the original transmission. The
Transmission Sequence Number informs the receiver that it is the Transmission Sequence Number informs the receiver that it is the
@ -439,7 +457,7 @@
increasing unsigned integer identifying this PDU, possibly across increasing unsigned integer identifying this PDU, possibly across
retransmissions, that wraps from 2^16-1 to 0. The initial value retransmissions, that wraps from 2^16-1 to 0. The initial value
is arbitrary. See <xref target="RFC1982"/> on DNS Serial Number is arbitrary. See <xref target="RFC1982"/> on DNS Serial Number
Arithmetic for too much detail on comparison and incrementing a Arithmetic for too much detail on comparing and incrementing a
wrapping sequence number.</t> wrapping sequence number.</t>
<t hangText="Datagram Number:">A monotonically increasing 24-bit <t hangText="Datagram Number:">A monotonically increasing 24-bit
@ -480,7 +498,10 @@
<t>For the purpose of computing a checksum, the checksum field <t>For the purpose of computing a checksum, the checksum field
itself is assumed to be zero.</t> itself is assumed to be zero.</t>
<t>The following code describes the suggested algorithm.</t> <t>The following code describes a suggested algorithm. This
specification avoids mandatory to implement, algorithm agility, etc.
What matters is that the same algorithm is used consistently in any
deployment.</t>
<figure> <figure>
<preamble>Sum up 32-bit unsigned ints in a 64-bit long, then take <preamble>Sum up 32-bit unsigned ints in a 64-bit long, then take
@ -706,7 +727,9 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
<t>If the configured destination address is one that is propagated <t>If the configured destination address is one that is propagated
by switches, the HELLO SHOULD be repeated at a configured interval, by switches, the HELLO SHOULD be repeated at a configured interval,
with a default of 60 seconds. This allows discovery by new devices with a default of 60 seconds. This allows discovery by new devices
which come up on the layer-2 mesh.</t> which come up on the layer-2 mesh. In this multi-link scenario, the
operator should be aware of the trade-off between timer tuning and
network noise and adjust the inter-HELLO timer accordingly.</t>
<!-- <!--
protocol "PDU Type = 0:8,Payload Length = 0:32,Sig Type = 0:8,Signature Length = 0:16" protocol "PDU Type = 0:8,Payload Length = 0:32,Sig Type = 0:8,Signature Length = 0:16"
@ -734,6 +757,11 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
(plus VID). The two devices establish an L3DL session by exchanging (plus VID). The two devices establish an L3DL session by exchanging
OPEN PDUs.</t> OPEN PDUs.</t>
<t>To ameliorate possible load spikes during bootstrap or event
recovery, there SHOULD be a jittered delay between receipt of a
HELLO and issue of the OPEN. The default delay range SHOULD BE zero
to five seconds, and MUST be configurable.</t>
<t>If a HELLO is received from a MAC address with which there is an <t>If a HELLO is received from a MAC address with which there is an
established session, the HELLO should be dropped.</t> established session, the HELLO should be dropped.</t>
@ -838,12 +866,12 @@ q-->
<t>If a properly authenticated OPEN arrives with a new Nonce from an <t>If a properly authenticated OPEN arrives with a new Nonce from an
LLEI with which the receiving logical link endpoint believes it LLEI with which the receiving logical link endpoint believes it
already has an L3DL session (OPENs have already been exchanged), and already has an L3DL session (OPENs have already been exchanged), and
the Serial Number in the OPEN is non-zero, the receiver SHOULD the Serial Number in the OPEN PDU is non-zero, the receiver SHOULD
establish a new session by sending an OPEN with the Serial Number of establish a new session by sending an OPEN with the Serial Number
the last data it received. Each party MUST resume sending being the same as that of the last sent and ACKed PDU. Each party
encapsulations etc. subsequent to the other party's Sequence Number. MUST resume sending encapsulations etc. subsequent to the other
And each MUST retain all previously discovered encapsulation and party's Sequence Number. And each MUST retain all previously
other data.</t> discovered encapsulation and other data.</t>
<t>If a properly authenticated OPEN arrives with a new Nonce from an <t>If a properly authenticated OPEN arrives with a new Nonce from an
LLEI with which the receiving logical link endpoint believes it LLEI with which the receiving logical link endpoint believes it
@ -927,8 +955,8 @@ q-->
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 <xref target="RFC1122"/>. This cycle MAY be back-off, see <xref target="RFC1122"/>. This cycle MAY be
repeated a configurable number of times (default three) before it repeated a configurable number of times (default three) before it
is considered a failure. The session MAY BE considered closed in is considered a failure. The session MAY BE considered closed
case of this ACK failure.</t> this in case of this ACK failure.</t>
<t>If the link is broken at layer 2, retransmission MAY BE retried <t>If the link is broken at layer 2, retransmission MAY BE retried
when the link is restored.</t> when the link is restored.</t>
@ -1642,12 +1670,12 @@ q-->
<t>The authors thank Cristel Pelsser for multiple reviews, Harsha <t>The authors thank Cristel Pelsser for multiple reviews, Harsha
Kovuru for comments during implementation, Jeff Haas for review and Kovuru for comments during implementation, Jeff Haas for review and
comments, Joe Clarke for a useful review, John Scudder for deeply comments, Joerg Ott for review, Joe Clarke for a useful review, John
serious review and comments, Larry Kreeger for a lot of layer 2 Scudder for deeply serious review and comments, Larry Kreeger for a
clue, Martijn Schmidt for his contribution, Nalinaksh Pai for lot of layer 2 clue, Martijn Schmidt for his contribution, Nalinaksh
transport discussions, Neeraj Malhotra for review, Paul Congdon for Pai for transport discussions, Neeraj Malhotra for review, Paul
Ethernet hints, Russ Housley for checksum discussion and sBox, and Congdon for Ethernet hints, Russ Housley for checksum discussion and
Steve Bellovin for checksum advice.</t> sBox, and Steve Bellovin for checksum advice.</t>
</section> </section>