Re: QUIC idle timeouts and path idle timeouts
Ian Swett <ianswett@google.com> Sun, 01 September 2024 20:00 UTC
Return-Path: <ianswett@google.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 48C4FC14F5E6 for <quic@ietfa.amsl.com>; Sun, 1 Sep 2024 13:00:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -22.607
X-Spam-Level:
X-Spam-Status: No, score=-22.607 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zlRrQDW6URPv for <quic@ietfa.amsl.com>; Sun, 1 Sep 2024 13:00:53 -0700 (PDT)
Received: from mail-vs1-xe35.google.com (mail-vs1-xe35.google.com [IPv6:2607:f8b0:4864:20::e35]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E667BC14F5E5 for <quic@ietf.org>; Sun, 1 Sep 2024 13:00:53 -0700 (PDT)
Received: by mail-vs1-xe35.google.com with SMTP id ada2fe7eead31-498f08339c6so1208235137.2 for <quic@ietf.org>; Sun, 01 Sep 2024 13:00:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1725220853; x=1725825653; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=h8LMoFL1sPqwGFJb6ksX44nngz9YV5arqHEXEar2ptQ=; b=YwRL/SctQ8SqV4F0Q8bp9IThyadUdQw2tLV5yEY+VjTP1QRRwKLlp+mk3S7RaCVTcR abiZwWirsMjrcILpWvfUB7rrnR9HyBO82dMwJQpI5EXU+G0bcsKVEtW3odhYqQpmfr0e xoLEkwbxliwMUdhxIbCAu1/463dIzEYgvqPkUKvG7KhCnDO5vciSD0NHU+AeDEf8Wnlz shhE9mTu0MZi3OWU+SVn+/NVyPxY5S/6sy0JGFzsM98R076dfEVl5GVlyqGlIMdDveDQ M69oCDb3uA1QwknY0s6Exkhv4jUzE4j9f7V4wr1Emuow2atz5Sho3cf9bdJ4LyLOBwrx bPmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725220853; x=1725825653; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=h8LMoFL1sPqwGFJb6ksX44nngz9YV5arqHEXEar2ptQ=; b=AlzoW4cL3HDJUdYhOZlrbmgW1t8EMd4oxMKbjlWWzYStWInfCIVAD6BMslBRb7pWia s6MMsQ6QKv5K4lysujRYdWCuJa0I5BDIS4PildopGtPLsFgety26KwVjLydfKrsmiLCn 8s/eogceMNH02rdMT8T4AvNow6lXoEjMmP083rzCV7AetVJX9V28IAPK4yU8b18SuyuU TtxeyuGeYB4lpqKfak3/ODB8EU02AASIX7zlQRReATfRBDf+WACuHMb1jV2tVY7M3jR5 +jJwCxCOUJ0I/MZSh/ryspQ9eyQP1OJSq1+QRfqc05+enUp8kVn/n8C+Lf5yuTHt/NXP BOVQ==
X-Gm-Message-State: AOJu0Yyrvq6D7CcyYghUAIvkAPYmWrKry6MIKgYQxbKYoIBiNYJ+nIo4 FbI+lf71XsabXn/B8zJs/P03MW6opULJ4FMjOy1DwUWUrteLy25veNxLbPsDUViqKbozANB0k+p CiLxJL27KxXz1ktHWJhbN5W4kmV/8QgpKco4dVVC1F1dfu5DwFA==
X-Google-Smtp-Source: AGHT+IFNGWiBlOwDvSHbjW1K5YkVvHdTtJb9fYrtlpPhwaTz0zwyOt0n/OIasRwMEwTJKDLSJO8oHDBnzuqCwsZBBck=
X-Received: by 2002:a05:6102:3712:b0:492:a11f:a87a with SMTP id ada2fe7eead31-49a5af8107bmr13323011137.25.1725220852338; Sun, 01 Sep 2024 13:00:52 -0700 (PDT)
MIME-Version: 1.0
References: <c85efbc5-fac3-4ddf-9cb0-733ef5f855fd@app.fastmail.com> <8c562e59-2f70-4a85-8ce9-6015d2e257af@app.fastmail.com>
In-Reply-To: <8c562e59-2f70-4a85-8ce9-6015d2e257af@app.fastmail.com>
From: Ian Swett <ianswett@google.com>
Date: Sun, 01 Sep 2024 16:00:38 -0400
Message-ID: <CAKcm_gPQH7vquxOUg05jePb-d70gJ7WRdpRePcL2QbZLSdu45w@mail.gmail.com>
Subject: Re: QUIC idle timeouts and path idle timeouts
To: Martin Thomson <mt@lowentropy.net>
Content-Type: multipart/alternative; boundary="00000000000010ab10062114489b"
Message-ID-Hash: JGN3YWU2IDBKRKYXXXDZZZSYKSIXSPDX
X-Message-ID-Hash: JGN3YWU2IDBKRKYXXXDZZZSYKSIXSPDX
X-MailFrom: ianswett@google.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-quic.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: quic@ietf.org
X-Mailman-Version: 3.3.9rc4
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/z7AsBu88VLEQ8GgKkfNhJiRfIJk>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Owner: <mailto:quic-owner@ietf.org>
List-Post: <mailto:quic@ietf.org>
List-Subscribe: <mailto:quic-join@ietf.org>
List-Unsubscribe: <mailto:quic-leave@ietf.org>
This is a real problem, but I'm unsure what the best way to approach it is. I think you're suggesting that a large server operator could try to infer NAT timeouts for clients of different IP prefixes and communicate that to the client as a suggested keepalive/ping timeout? I'm curious about how to infer NAT timeouts? Our servers detect a dead connection, but I'm not sure how to tell what the reason is and more specifically the NAT timeout? Sometimes devices just drop off the network. As you may know, Chrome will send a PING as a keepalive after 15 seconds of idle only if there are outstanding requests (ie: hanging GETs). The number was chosen somewhat arbitrarily and is certainly not optimal, but it did fix some use cases where hanging GETs were otherwise failing. Thanks, Ian On Wed, Jul 24, 2024 at 5:55 PM Martin Thomson <mt@lowentropy.net> wrote: > The intent of the idle timeout was to have that reflect *endpoint* > policy. That is, it is independent of path. > > It's certainly very interesting to consider what you might do about paths > and keep-alives (or not). But that's a separable problem. Having a way > for endpoints to share their information about timeouts might work, but I > worry that that will lead to wasteful keepalive traffic. How would we > ensure that keepalives are not wasteful? > > Is there a better way, such as a quick connection continuation? > > On Wed, Jul 24, 2024, at 11:24, Lucas Pardue wrote: > > Hi folks, > > > > Wearing no hats. > > > > There's been some chatter this week during IETF about selecting QUIC > > idle timeouts in the face of Internet paths that might have shorter > > timeouts, such as NAT. > > > > This isn't necessarily a new topic, there's past work that's been done > > on measurements and attempts to capture that as in IETF documents. For > > example, Lars highlighted a study of home gateway characteristics from > > 2010 [1]. Then there's RFC 4787 [2], and our very own RFC 9308 [3] > > > > There's likely other work that's happened in the meantime that has > > provided further insights. > > > > All the discussion got me wondering whether there might be room for a > > QUIC extension that could hint at the path timeout to the peer. For > > instance, as a server operator, I might have a wide view of network > > characteristics that a client doesn't. Sending keepalive pings from the > > server is possible but it might not be in the client's interest to > > force it to ACK them, especially if there are power saving > > considerations that would be hard for the server to know. Instead, a > > hint to the peer would allow it to decide what to do. That could allow > > us to maintain a large QUIC idle timeouts as befitting of the > > application use case, but adapt to the needs of the path for improved > > connection reliability. > > > > Such an extension could hint for each and every path, and therefore a > > benefit to multipath, which has some addition path idle timeout > > considerations [4]. > > > > Thoughts? > > > > [1] - https://dl.acm.org/doi/10.1145/1879141.1879174 > > [2] - https://www.rfc-editor.org/rfc/rfc4787.html > > [3] - https://www.rfc-editor.org/rfc/rfc9308.html#section-3.2 > > [4] - > > > https://www.ietf.org/archive/id/draft-ietf-quic-multipath-10.html#name-idle-timeout > >
- QUIC idle timeouts and path idle timeouts Lucas Pardue
- Re: QUIC idle timeouts and path idle timeouts Lucas Pardue
- Re: QUIC idle timeouts and path idle timeouts Dan Wing
- Re: QUIC idle timeouts and path idle timeouts Martin Thomson
- Re: QUIC idle timeouts and path idle timeouts Ian Swett
- Re: QUIC idle timeouts and path idle timeouts Martin Thomson
- Re: QUIC idle timeouts and path idle timeouts Christian Huitema