Re: Consensus call for Late-Stage documents, pre-IETF 108 edition

Ted Hardie <ted.ietf@gmail.com> Wed, 22 July 2020 14:48 UTC

Return-Path: <ted.ietf@gmail.com>
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 898963A0766 for <quic@ietfa.amsl.com>; Wed, 22 Jul 2020 07:48:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 Bu27DKgtOLkH for <quic@ietfa.amsl.com>; Wed, 22 Jul 2020 07:48:12 -0700 (PDT)
Received: from mail-oo1-xc31.google.com (mail-oo1-xc31.google.com [IPv6:2607:f8b0:4864:20::c31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE9DA3A05A0 for <quic@ietf.org>; Wed, 22 Jul 2020 07:48:12 -0700 (PDT)
Received: by mail-oo1-xc31.google.com with SMTP id w1so466890ooj.2 for <quic@ietf.org>; Wed, 22 Jul 2020 07:48:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=p9ORCNyieU/yRCy43F0O8tnupHGOhl7PPD9T9rkPT+k=; b=SAa9yU5hQIJlEg42AN/oYCG3j+4yavO2kFNpw9Hg6HhkVGZgSgxK0Yps++i2Ey3rGB E5YiizmqgPVXiqZet7HSr1iGV+rKb0cja5Yx0AwJrHFKn4URWMVcwIwBAZOAEJ2jDzYK awe6mZUEJ12s6K65+3+7ZlEDaBdfV+1vZbOktHMSBP1rx1m3SpZsRQ6KXcLsuWBuDB/W LHuHXSg3vhor7xATCYAWqx7/aENEC8rdfgpScEZyZoROdLHtE43MuSrVVBK6ee7kC5r2 lfTJs7x0ATOcJIy3vAyEkNvNBDJVcrBmYYAg5KFqiYIvDzZ0dr/A5aAHp+VdOsuBs0Uc Tqbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=p9ORCNyieU/yRCy43F0O8tnupHGOhl7PPD9T9rkPT+k=; b=i1yfnimm4pIdCXRDI3hrCNbCuXSPTb5eEMToNA2tHx2U61jI5wtRxUD6iRUbs42tk6 1A4aHh8ZkvjBMzqR2CIJSrs9YU/sHMNq/fauQxY1FGprUv92XAx8oO0DXbhbBGoZLARK oxSFwlVO1w8CTgsiRtwnwxQLeCCYAM8RU6Q0ulJvhZvcL/ShjIVna2ubchQdVKDUMzG5 HJ+TQutQNTQlcCQYU5POH5R/ix+QjL/znln3iz12s5IPvnVa5TPB1eMWDfKX3xGqhYBQ PsS1mviIQjWaZr4Cm84TAgLJFtZR+9WC1ZvE1fHEAVXfVBKmsN4/6FAv/j/slvwln/60 xgiw==
X-Gm-Message-State: AOAM532JSrhuZ/WbSU8frUN7fzXy6h4lzeIeixhJpFiLyQu1IugD2E6I 1Dh9x0kYkoXYxFb9UB44qeaawqFTv8IluMZGA6A=
X-Google-Smtp-Source: ABdhPJzY56ONjNEooc9Errp2khvNsroLazriFKCu4kvC5EaHsErKuhoWdjSDEdvvyUKkvX/EsRSprSgHUCUgp6zB1QQ=
X-Received: by 2002:a4a:ae07:: with SMTP id z7mr301659oom.25.1595429291925; Wed, 22 Jul 2020 07:48:11 -0700 (PDT)
MIME-Version: 1.0
References: <CALGR9obkGENj_Brk5D29Z6HB-yq9TbPLjUXSNbotAZJ0LRHgSg@mail.gmail.com> <CABcZeBMQNX_qbXT_qCmyWuXdLeL2=ar0u9yKB=c8M7=WNB4oVQ@mail.gmail.com> <1909E24B-73CC-4129-9B64-F0A3BE2D74D7@eggert.org>
In-Reply-To: <1909E24B-73CC-4129-9B64-F0A3BE2D74D7@eggert.org>
From: Ted Hardie <ted.ietf@gmail.com>
Date: Wed, 22 Jul 2020 07:47:45 -0700
Message-ID: <CA+9kkMCRfhNayN5jM5g3Ckwst4GGxR++be5p7ea1jYkE3MbzqA@mail.gmail.com>
Subject: Re: Consensus call for Late-Stage documents, pre-IETF 108 edition
To: Lars Eggert <lars@eggert.org>
Cc: Eric Rescorla <ekr@rtfm.com>, Mark Nottingham <mnot@mnot.net>, QUIC WG <quic@ietf.org>, Lucas Pardue <lucaspardue.24.7@gmail.com>
Content-Type: multipart/alternative; boundary="00000000000035a50205ab08d465"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/n5GSzN7Wf6F2U-DxL73eOE3vJ5k>
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, 22 Jul 2020 14:48:15 -0000

If ekr's objections is that this is a hint, rather than more explicit, we
can incorporate Lars' point by a minor adjustment of the text:

OLD:

On confirming a peer's ownership of its new address, an endpoint MUST
immediately reset the congestion controller and round-trip time estimator
for
the new path to initial values (see Sections A.3 and B.3 in
{{QUIC-RECOVERY}})
unless it has knowledge that a previous send rate or round-trip time
estimate is
valid for the new path. For instance, an endpoint might infer that a change
in
only the client's port number is indicative of a NAT rebinding, meaning
that the
new path is likely to have similar bandwidth and round-trip time.


NEW:

On confirming a peer's ownership of its new address, an endpoint SHOULD
reset the congestion controller and round-trip time estimator for the new
path to
initial values (see Sections A.3 and B.3 in {{QUIC-RECOVERY}}) unless the
change is only to the client's port number.  Because port-only changes
are commonly the result of NAT rebinding or other middlebox activity,
the client MAY retain its estimation of the path bandwidth and round-trip
time
in those cases.  A conservative implementation may also revert to initial
values
in this case.

That shifts it from hint territory to explicit resolution.

regards,

Ted


On Wed, Jul 22, 2020 at 12:36 AM Lars Eggert <lars@eggert.org> wrote:

> Hi,
>
> On 2020-7-22, at 6:11, Eric Rescorla <ekr@rtfm.com> wrote:
> > As I said, I don't have a strong opinion about the outcome, but we
> shouldn't just hint to people that they should ignore the port.
>
> existing protocols basically just broke when a port or IP address changed
> (e.g., a NAT rebinding happened). So how to respond to this is something
> that we don't have existing IETF practice for AFAIK.
>
> The conservative approach would be to mandate a CC reset on any change to
> the four-tuple, since it indicates a possible path change.
>
> For clients in consumer access networks behind CPE NATs, that conservative
> approach is probably too conservative, since the CC-relevant properties of
> the path are unlikely to have changed if just the source port changed.
>
> On the other hand, with client side CGNs and server-side BALBs (big-ass
> load balancers...) a port change now maybe is more indicative of a path
> change. But it's not clear that this path change is more likely to affect
> the CC-relevant path characteristics.
>
> One final thing I'll point out is that all IETF transports have been
> happily ignoring at least one path change indication since forever - there
> is no mandated reaction to any change in the received IP TTL, and I'm also
> unaware of any implementation reacting to IP TTL changes (which would
> indicate a change in path length, something that probably would lead to
> CC-relevant changes in path characteristics.)
>
> That, together with the observation that CC will react to a path change
> anyway after an RTT due to loss/marks, leads me to believe we're probably
> OK to not reset CC on a port change. It might mean that we're sending for
> about an RTT at a rate that is too high in some rare (?) cases, but in the
> vast majority of cases, we'd avoid needless performance degradations.
>
> YMMV.
>
> Lars
>