Re: [tsvwg] WGLC for DPLPMTUD

Maksim Proshin <maksim.proshin@mera.com> Fri, 20 December 2019 11:38 UTC

Return-Path: <maksim.proshin@mera.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2CB1112092D for <tsvwg@ietfa.amsl.com>; Fri, 20 Dec 2019 03:38:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.628
X-Spam-Level:
X-Spam-Status: No, score=-1.628 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTML_OBFUSCATE_05_10=0.26, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iF_i8WISrIjP for <tsvwg@ietfa.amsl.com>; Fri, 20 Dec 2019 03:38:35 -0800 (PST)
Received: from mail.mera.com (mail.mera.com [188.40.162.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 58E6A1200DB for <tsvwg@ietf.org>; Fri, 20 Dec 2019 03:38:34 -0800 (PST)
Received: from mera-exch1.mera.com ([188.130.168.211] helo=mera-exch.mera.com) by mail.mera.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (envelope-from <maksim.proshin@mera.com>) id 1iiGc3-0004JC-Fp; Fri, 20 Dec 2019 11:38:31 +0000
Received: from mera-exch3.mera.com (2001:67c:2344:100::23) by mera-exch1.mera.com (2001:67c:2344:100::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Fri, 20 Dec 2019 14:38:29 +0300
Received: from mera-exch3.mera.com ([fe80::14f2:6b98:ed28:64d3]) by mera-exch3.mera.com ([fe80::14f2:6b98:ed28:64d3%6]) with mapi id 15.01.1591.017; Fri, 20 Dec 2019 14:38:29 +0300
From: Maksim Proshin <maksim.proshin@mera.com>
To: "tsvwg@ietf.org" <tsvwg@ietf.org>, "gorry@erg.abdn.ac.uk" <gorry@erg.abdn.ac.uk>
Thread-Topic: [tsvwg] WGLC for DPLPMTUD
Thread-Index: AQHVq4HKL8dWZleVz0CWMHEoKNjaTaes695NgBXx9+A=
Date: Fri, 20 Dec 2019 11:38:16 +0000
Deferred-Delivery: Fri, 20 Dec 2019 11:37:22 +0000
Message-ID: <b1bb816189c040599b02e4f0768cf336@mera.com>
References: <5b408f37-97aa-65d8-9a55-348aaddb2440@mti-systems.com> <2FD1B21B-E91F-4B92-8745-4FB6168EBDF8@erg.abdn.ac.uk>
In-Reply-To: <2FD1B21B-E91F-4B92-8745-4FB6168EBDF8@erg.abdn.ac.uk>
Accept-Language: en-GB, ru-RU, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.201.113]
x-inside-org: True
Content-Type: multipart/alternative; boundary="_000_b1bb816189c040599b02e4f0768cf336meracom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/saJluohZm6C_5aNsXysX6916WwA>
Subject: Re: [tsvwg] WGLC for DPLPMTUD
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Dec 2019 11:38:42 -0000

Hi,

I’ve reviewed this draft and below you can find my comments. I think the document is in a good shape and I have only a couple of comments to discuss while the rest are minor or suggestions.
I can also add that we support PLPMTUD in our SCTP implementation but it’s not exactly the same as in this draft. There are some minor deviations but I don’t consider them severe.

Major comments:

1.

RFC 4821 states that “an implementation SHOULD implement some form of MTU verification” and I don’t see how that aspect is addressed in DPLMTUD. Did I miss it or was it intentionally skipped?

2.

Sec 5.1.1: “This value MUST NOT be smaller than 1 second, and SHOULD be larger than 15 seconds.” and “PROBE_TIMER can be derived from the PL RTT estimate.” – I assume it means that if the RTT estimate is used, it still must not be less than 1 second. Is it true? If so, I think it would be good to understand where 1 second is taken from. Is it due to RTO.Min recommendations? If so, can it be better to say that the value must not be less than RTO.Min of that particular PL?


3.

Some PLs like SCTP can’t re-fragment data during retransmission which might lead to a problem if PMTU was decreased in run-time or the PLPMTU value was discovered wrongly. In some case the data would never be retransmitted. This aspect is not covered in the draft. I think it would be good at least to recommend to not set DF-bit for retransmitted data and to not fragment user data to pieces larger than BASE_PMTU (or even MIN_PMTU?).



4.

Sec 4.5.1: “PTB messages that have been validated MAY be utilized by the DPLPMTUD algorithm, but MUST NOT be used directly to set the PLPMTU.” – what is a purpose if this MUST NOT here? What is a risk to apply it after the validation? If it’s not applied immediately, it might cause data loss. Or did you mean something different here?

5.

Sec 3: “A method is REQUIRED to signal an appropriate MPS to the higher layer using the PL. ” – In general I don’t see how the draft addresses it. Is it up to the PL implementation or the PL specification? I assume it requires SCTP Socket API update. If so, is it out of scope of this doc?

Minor comments:

6.
Im: The default value is specified for some parameters but not for all and without clear explanation of why such values are used as default. The same is for recommended values. Shouldn’t it be consistent?
7.
Im: Sec 1.2: “This has become the recommended approach for implementing PMTU discovery.” – recommended by IETF? can it be referenced/clarified?
8.
Mi: Sec 1.2: “see Section 4.5<https://tools.ietf.org/html/draft-ietf-tsvwg-datagram-plpmtud-12#section-4.5>” - my understanding was that the section is reference here because it provides more details about “all PTB processing can be disabled and PLPMTUD can completely replace Classical PMTUD” but I failed to find it in that section. Either the reference is wrong or I misunderstood the purpose of having it there.
9.
Mi: Sec 1.3. why don’t you refer to SCTP specification RFC4960 instead of or additionally to RFC4821. Section 7.3 of RFC4960 has a statement “An endpoint SHOULD apply these techniques, and SHOULD do so on a per-destination-address basis.” so for me it’s more relelvant to refer to RFC4960.
10.
Im/Q: Sec 3: “A DPLPMTUD sender is RECOMMENDED to provide information about the maximum size of packet” – provide to whom? Propose to clarify or rephrase it.
11.
Im/Q: Sec 3: “The mechanism needs to be robust to the possibility that packets could be significantly delayed along a network path.” - Isn’t it MUST?
The local PL endpoint => The destination PL endpoint?
12.
Im: Sec 3, Req 6: I think it would be also good to mention that if data is used in a probe the sender must be able to retransmit it in a smaller packet(s) because otherwise it would be lost again and again.
13.
Im: Sec 3, Req 7: Can it be improved saying MUST NOT when data is not used in a probe? And SHOULD when “isolated” data probe is lost.
14.
Mi: Sec 4.2: “These PLs need to either rely on an application protocol to detect this loss.” – “either” should be removed.
15.
Mi: Sec 4.3: “There are two alternative mechanism:” –> “mechanisms”
16.
Mi: Something wrong with references to RFCs when 2 or more of them are used. E.g. [RFC1191<https://tools.ietf.org/html/rfc1191>][RFC8201]
17.
Im/Q: Sec 4.4: “MUST suspend” – I assume it’s valid in general even when PL is using the other PL like QUIC uses UDP. If so, it would be good to clarify.
18.
Mi/Q: Sec 4.5.2: “larger than minimum size accepted” – I assume “larger than or equal to”. If so, all further formulas should also be corrected to consider it.
19.
Im: Sec 5.1.2: “expected to work for most paths” – it’s better to say “all paths” due to “expected”.

20.

Im/Q: Sec 5.1.3: “PROBED_SIZE” – I wonder why it’s not called “PROBE_SIZE”.

21.

Im: Sec 5.1.4: I assume that Base phase confirms the connectivity for BASE_PMTU and not in general as the connectivity can be achieved by a smaller PLPMTU value.
22.

Im/Q: Sec 5.1.4: Is it assumed that Base is the first phase? If so, it would be good to clearly state it.

23.

Mi: Sec 5.2: “Note: Not all changes are not shown to simplify the diagram.” – the second “not” should be removed.

24.

Im: There are “may”, “should”, etc in a couple of places. They either should be capital or rephrased.

25.

Im: Sec 6.2 (maybe general for Sec 6): It would be good to recommend to enable fragmentation (do not set DF bit) for all packets except for probes or at least for retransmitted packets.

26.

Im/Q: Sec 6.2: Should or should not probe packets influence assoc and path error counters? I think it’s “SHOULD” when a probe is acknowledged and “SHOULD NOT” when it’s lost. In other words probes should only clear the error counters in my view.

27.

Im/Q: Sec 6.2.1.2: “The HEARTBEAT chunk carries a Heartbeat Information parameter which should include, besides the information suggested in [RFC4960], the probe size ...” – Why is it required? If the sender of HB is able to uniquely associate the HB with the HB ACK, it only needs to remember the current PROBED_SIZE value.

28.

Im: Sec 9: “A node supporting DPLPMTUD MUST therefore appropriately validate the payload of PTB messages” – in addition it must not be used to directly set PTB value as prescribed in section 4.5.1. I would add it.

29.

Im: Sec 9: A potential attack when PTB increases PLPMTU is not described here. It would be good to add it.


BR, Maxim

From: Wesley Eddy <wes@mti-systems.com<mailto:wes@mti-systems.com>>
Date: 5 December 2019 at 15:36:34 GMT
To: "tsvwg@ietf.org<mailto:tsvwg@ietf.org>" <tsvwg@ietf.org<mailto:tsvwg@ietf.org>>
Subject: [tsvwg] WGLC for DPLPMTUD
This email starts a Working Group Last Call for the Datagram Path MTU Discovery draft:

https://datatracker.ietf.org/doc/draft-ietf-tsvwg-datagram-plpmtud/

This is targeted for Proposed Standard.

Please in the next couple of weeks send any further inputs you have to the TSVWG list.