Re: Back to work

Gorry Fairhurst <gorry@erg.abdn.ac.uk> Wed, 04 November 2020 08:54 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 030483A0DBF for <quic@ietfa.amsl.com>; Wed, 4 Nov 2020 00:54:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 lJpS7r8ieTE3 for <quic@ietfa.amsl.com>; Wed, 4 Nov 2020 00:54:04 -0800 (PST)
Received: from pegasus.erg.abdn.ac.uk (pegasus.erg.abdn.ac.uk [IPv6:2001:630:42:150::2]) by ietfa.amsl.com (Postfix) with ESMTP id 816D83A0DC1 for <quic@ietf.org>; Wed, 4 Nov 2020 00:54:04 -0800 (PST)
Received: from [192.168.1.70] (fgrpf.plus.com [212.159.18.54]) by pegasus.erg.abdn.ac.uk (Postfix) with ESMTPSA id 427CD1B0014F; Wed, 4 Nov 2020 08:53:32 +0000 (GMT)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Mime-Version: 1.0 (1.0)
Subject: Re: Back to work
Date: Wed, 04 Nov 2020 08:53:31 +0000
Message-Id: <0161AA72-4DD0-465F-8C03-FAE2B1F6D941@erg.abdn.ac.uk>
References: <485d7239ad5ed428aeaf559437e374e2d0ffe18e.camel@ericsson.com>
Cc: "martin.h.duke@gmail.com" <martin.h.duke@gmail.com>, "ianswett=40google.com@dmarc.ietf.org" <ianswett=40google.com@dmarc.ietf.org>, "ekinnear@apple.com" <ekinnear@apple.com>, "quic@ietf.org" <quic@ietf.org>, "huitema@huitema.net" <huitema@huitema.net>, "mt@lowentropy.net" <mt@lowentropy.net>
In-Reply-To: <485d7239ad5ed428aeaf559437e374e2d0ffe18e.camel@ericsson.com>
To: Magnus Westerlund <magnus.westerlund=40ericsson.com@dmarc.ietf.org>
X-Mailer: iPad Mail (17E262)
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/nzWB-8OgIpwqN92Ul3x2-cqp06M>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2020 08:54:06 -0000

See below.

> On 3 Nov 2020, at 16:41, Magnus Westerlund <magnus.westerlund=40ericsson.com@dmarc.ietf.org> wrote:
> 
> Hi,
> 
> 
>>>>> 1) Normal NAT rebinding. The connection is idle for a long period. A
>>>>> good server will have reset its congestion controller due to the long
>>>>> idle period. 
>>>>> 
>>>>> The client then sends a packet (if the server does first, it'll probably
>>>>> disappear).  Whether or not that packet is small, the server is going to
>>>>> be limited by the amplification limit rather than congestion control.
>>>>> One alternative is to kill the connection after an idle period and
>>>>> restart with 0RTT, but that's only superior because the client has to
>>>>> send a bunch of bytes. The recommendation here, I think, is that clients
>>>>> SHOULD send one or more full-size datagrams when restarting after a long
>>>>> idle period, and possibly reset its PMTU assumptions. [I can't remember
>>>>> what DPDLPMTUD says about idle periods]
> 
> 
> I would think reseting the PMTU discovery for a NAT rebiding case would be a bit
> overreaction. A NAT rebinding case would change the external port of the NAT
> side, which is why the server see it as a new path. However, in most cases the
> actual path will be identical between NAT and server, and the client to NAT path
> should be unchanged. ECMP routing could possibly result in a different path
> through some AS. However, if you deploy ECMP routing you actually have to work
> with that E and ensure there are some equalness. And the DPLPMTUD should take
> care of that if it doesn't work. 
> 
> What maybe one need to be a bit more careful here is not to call it "full-size"
> datagram, but rather focus on that we need to ensure what DPLPMTUD will work is
> to probe the minimal Maximum Packet Size for QUIC to work. Which is what Section
> 14.3 makes clear when DPLPMTUD is used. For DPLPMTUD it might make sense to
> trigger a search after path validation of the BASE_PLPMTU. 
> 
> The point is that it is critical to verify the 1200 byte limit, then one like to
> verify that previous known MTU (MPS) still works, then one can search for any
> change in the MTU. And in NAT rebinding cases, both the BASE_PLPMTU and the MPS
> is most likely still the same. Thus throwing away the previous knowledge of them
> is unnecessary, instead verification of them in sequence makes more sense as it
> avoid searching from BASE to previous working MPS. 
> 
> Cheers
> 
> Magnus

This seems correct, the new path is likely the same in this case, and to me also there does not seem a large penalty for assuming a previously valid PLPMTU. In this respect The PLPMTU can be handled in a different way to CC, because for CC, it seems more likely that the path capacity might have changed over time.

A conservative approach would of course avoid black holes completely by resetting the MPS. I agree it would then be appropriate in that case to still retain the Size of the last PLPMTU as the initial target size to search for using DPLPMTUD (the spec does not prevent that).

Gorry