Re: [tsvwg] WGLC for DPLPMTUD - Response to WGLC comments (presumed resolved)

Maksim Proshin <maksim.proshin@mera.com> Mon, 23 December 2019 10:43 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 03CF512008A for <tsvwg@ietfa.amsl.com>; Mon, 23 Dec 2019 02:43:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-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 0IlMl6YgNvON for <tsvwg@ietfa.amsl.com>; Mon, 23 Dec 2019 02:43:24 -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 B948912001E for <tsvwg@ietf.org>; Mon, 23 Dec 2019 02:43:23 -0800 (PST)
Received: from mera-exch3.mera.com ([188.130.168.213] 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 1ijLBJ-0007Sj-OR; Mon, 23 Dec 2019 10:43:21 +0000
Received: from mera-exch3.mera.com (2001:67c:2344:100::23) by mera-exch3.mera.com (2001:67c:2344:100::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Mon, 23 Dec 2019 13:43:19 +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; Mon, 23 Dec 2019 13:43:19 +0300
From: Maksim Proshin <maksim.proshin@mera.com>
To: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
CC: "tsvwg@ietf.org" <tsvwg@ietf.org>
Thread-Topic: [tsvwg] WGLC for DPLPMTUD - Response to WGLC comments (presumed resolved)
Thread-Index: AQHVt0jTri9z22X5DEqgwbAuKfvqqqfHYD5A///0woCAADXqAA==
Date: Mon, 23 Dec 2019 10:42:53 +0000
Deferred-Delivery: Mon, 23 Dec 2019 10:41:53 +0000
Message-ID: <e0086719190b41a880c06af62c30f21d@mera.com>
References: <5b408f37-97aa-65d8-9a55-348aaddb2440@mti-systems.com> <2FD1B21B-E91F-4B92-8745-4FB6168EBDF8@erg.abdn.ac.uk> <b1bb816189c040599b02e4f0768cf336@mera.com> <5DFCE65C.6090205@erg.abdn.ac.uk> <5964d91b2da74c629f9cf90f46ae9a3d@mera.com> <C69DC4B0-D45B-4AE3-9117-535A9C5B275D@erg.abdn.ac.uk>
In-Reply-To: <C69DC4B0-D45B-4AE3-9117-535A9C5B275D@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: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/xLK6p2hX1k1SmF6a2_cqJxw9CRE>
Subject: Re: [tsvwg] WGLC for DPLPMTUD - Response to WGLC comments (presumed resolved)
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: Mon, 23 Dec 2019 10:43:27 -0000

Hi Gorry,

Thanks! I think we're aligned now. 
Regarding can/MAY, I think "usually improves" is the best phrasing here. It seems I misread it initially so my proposal with MAY wasn't appropriate.

BR, Maxim


-----Original Message-----
From: Gorry Fairhurst [mailto:gorry@erg.abdn.ac.uk] 
Sent: Monday, December 23, 2019 13:23
To: Maksim Proshin <maksim.proshin@mera.com>
Cc: tsvwg@ietf.org
Subject: Re: [tsvwg] WGLC for DPLPMTUD - Response to WGLC comments (presumed resolved)

Great, see below,

Sent from my iPad

> On 23 Dec 2019, at 08:19, Maksim Proshin <maksim.proshin@mera.com> wrote:
> 
> Hi Gorry,
> 
> I'm fine with your answers to these comments but I'd like to check that my understanding of the following response is correct:
> 
> 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?
>  GF: Done
> NEW:
>     PTB messages that have been validated MAY be utilized by the
>           DPLPMTUD algorithm, but MUST NOT be used directly to set the PLPMTU.
>           A method that utilizes these PTB messages can improve the speed at
>           the which the algorithm detects an appropriate PLPMTU by triggering
>           an immediate probe for the PTB_SIZE, compared to
>           one that relies solely on probing using a timer-based
>           search algorithm.
> [Maxim] So the basic idea of DPLMTUD is to switch to the BASE state and start from BASE_PMTU if PTB_SIZE < PLPMTU. Also the PLPMTU value is changed to BASE_PMTU in that case. Is my understanding correct? 
> 
To be sure: The way I would see this is...
1) you can implement and ignore PTB messages ... this is at least robust, in which case the PLPMTU needs to return to a safe value (base) and probe higher. This takes several RTTs to find a new PLPMTU that is larger than base.

2) you can (and would be encouraged to) implement and use Validated PTB messages. In this case, the usual next step after receiving an ICMP message, is to probe with the PTB size indicated in the PTB ICMP message, and see if that works - which it usually will within one RTT, resulting in an appropriate choice of the PLPMTU.
2a) If that probe did not work, then the sender will revert to the safe PMTU (base) and grow from there.

> Would it better to replace "can" by MAY in the added sentence?
> 
In this case, I thought this described that improvements can happen, rather than permitting the protocol to take an action. Perhaps we ought to change it to “is expected to improve...” or usually improves?

Gorry

> BR, Maxim
> 
> -----Original Message-----
> From: G Fairhurst <gorry@erg.abdn.ac.uk> 
> Sent: Friday, December 20, 2019 6:19 PM
> To: Maksim Proshin <maksim.proshin@mera.com>
> Cc: tsvwg@ietf.org
> Subject: Re: [tsvwg] WGLC for DPLPMTUD - Response to WGLC comments (presumed resolved)
> 
> Maxim: I’ve reviewed this draft and below you can find my response to your comments, marked as GF. If you see anything more I should do, please say.
> 
> Best wishes,
> 
> Gorry
> 
> Major comments:
> 
> 
> 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?
>  GF:DONE -  Removed this. To meet the CC rules, the requirements are in terms of 1/sec.
> 
> 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?
>  GF: Done
> NEW:
>     PTB messages that have been validated MAY be utilized by the
>           DPLPMTUD algorithm, but MUST NOT be used directly to set the PLPMTU.
>           A method that utilizes these PTB messages can improve the speed at
>           the which the algorithm detects an appropriate PLPMTU by triggering
>           an immediate probe for the PTB_SIZE, compared to
>           one that relies solely on probing using a timer-based
>           search algorithm.
> 
> 
> 7.
> Im: Sec 1.2: “This has become the recommended approach for implementing PMTU discovery.” – recommended by IETF? can it be referenced/clarified?
> GF: Done - cite RFC8085.
> 
> 8.
> Mi: Sec 1.2: “see 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.
> GF: DONE - removed citation.
> 
> 
> 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.
> GF: DONE - Corrected by Magnus /provide/utilise/
> 
> 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?
> GF: DONE
> NEW:
> mechanism is REQUIRED to be robust
> 
> The local PL endpoint => The destination PL endpoint?
> GF: DONE Actually it’s covered by the first requirement, removed.
> 
> 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.
> GF: DONE, added
> NEW:
> possibly using a smaller PLPMTU.
> 
> 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.
> HG:
> GF: DONE - addressed in an update for Magnus. The method still works, even if with unfortunate side effects so MUST ius rather harsh - instead we explain why this is important./
> 
> 14.
> Mi: Sec 4.2: “These PLs need to either rely on an application protocol to detect this loss.” – “either” should be removed.
> GF: Done
> 
> 15.
> Mi: Sec 4.3: “There are two alternative mechanism:” –> “mechanisms”
> GF:  DONE (removed the sentence)
> 
> 16.
> Mi: Something wrong with references to RFCs when 2 or more of them are used. E.g. [RFC1191][RFC8201]
> GF: RFC-Ed can resolve!
> 
> 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.
> GF: DONE - changed to
> NEW:
> and at least
> 
> 19.
> Im: Sec 5.1.2: “expected to work for most paths” – it’s better to say “all paths” due to “expected”.
> GF: DONE rephrased.
> 
> 20.
> Im/Q: Sec 5.1.3: “PROBED_SIZE” – I wonder why it’s not called “PROBE_SIZE”.
> GF: DONE
> 
> 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.
> GF: DONE.
> 
> 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.
> GF: DONE No longer in latest rev.
> 
> 23.
> Mi: Sec 5.2: “Note: Not all changes are not shown to simplify the diagram.” – the second “not” should be removed.
> GF: DONE Text no longer in latest rev.
> 
> 24.
> Im: There are “may”, “should”, etc in a couple of places. They either should be capital or rephrased.
> GF: DONE - all reworded.
> 
> 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.
> GF: Is this correct:
> NEW:
>  A successful probe updates the association and path
>             counters, but an unsuccessful probe is discounted (assumed
>             to be a result of choosing too large a PLPMTU).
> 
> 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.
> GF: GF: DONE Text no longer in latest rev. This was intending to be padding to the probed size.
> 
> 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.
> GF: DONE
> NEW:
>       The successful processing of this message can trigger a probe and does not
>       directly update the PLPMTU for the path.</t>
> 
> 29.
> Im: Sec 9: A potential attack when PTB increases PLPMTU is not described here. It would be good to add it.
> GF: DONE.