Re: QUIC idle timeouts and path idle timeouts

Martin Thomson <mt@lowentropy.net> Mon, 02 September 2024 00:09 UTC

Return-Path: <mt@lowentropy.net>
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 23384C14F6EF for <quic@ietfa.amsl.com>; Sun, 1 Sep 2024 17:09:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.806
X-Spam-Level:
X-Spam-Status: No, score=-2.806 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=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] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b="yHG/JTD6"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="fwKVCu4M"
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 Ga2nev9mLGT9 for <quic@ietfa.amsl.com>; Sun, 1 Sep 2024 17:09:03 -0700 (PDT)
Received: from fhigh2-smtp.messagingengine.com (fhigh2-smtp.messagingengine.com [103.168.172.153]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 60B15C14F6EC for <quic@ietf.org>; Sun, 1 Sep 2024 17:09:03 -0700 (PDT)
Received: from phl-compute-05.internal (phl-compute-05.nyi.internal [10.202.2.45]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 54A7B114012C; Sun, 1 Sep 2024 20:09:02 -0400 (EDT)
Received: from phl-imap-01 ([10.202.2.91]) by phl-compute-05.internal (MEProxy); Sun, 01 Sep 2024 20:09:02 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm2; t=1725235742; x=1725322142; bh=D2eU9YZbz56jlkZ1r+h7XQ8rvB85ATJp pceusD9wa2s=; b=yHG/JTD6pyTC8mMGF0BU2V8d5jnL3+mrgB9bucTMBuyVtqXp aopmNVgaoucjXmyvVWP+7GXUiTzpe3fgfhZCkwCML7QJYWo9huJuI0eADlRwFCxF wBvYyorB0COkzA1URyglC610olRi1Q5oo2qI3+Z4Ipl9+3kLknvLWlwk5HMsBRGI rpU2qATuyWv7tB/1NmyJ5p4xVhitP1+ThhTxfMFwoRAq8AMCUky99SY8+KAVOcLV S8AD1coezjp9w6uD41juU+1dc9gmmfQj4sQhQG2gHJnWC2TWAUiXsiK2fk9ks+Ni Zp4xqVJTuSnBo6UrHh98v6etj2MrSZ+REkPi3A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1725235742; x= 1725322142; bh=D2eU9YZbz56jlkZ1r+h7XQ8rvB85ATJppceusD9wa2s=; b=f wKVCu4MCyjnNUo43J4BoWLrfEoy9xPq6F1PLAD2iK17Spq0jrtSxbAlDOYx72ip5 MT6Nnh5kxRSvXFXwagSW8lqQrivihnsAgarSTFTj2kpCQgeOswYjWFgi4oGACSDn YoILlKeHcGzbXdw+qi7WxssNAOgid7bcm87NIf4c7A3kX5rJt1CqxiNvw6ahwNX8 LFLHry1kYfwIT4tA3g6xZ17oyDM+6kbiCdWjwXcETtvzbtIE4cg1TjqmSQW5k0f6 9nMRlVOGNv1fh1WV74OLfYXBpK1ShnOhTW6WOr+gyCAgWRA82stqbTPobdK0Gh5I NDFyGu9PHcKpRi2/Czd2Q==
X-ME-Sender: <xms:HgLVZtNHiLLq2tkCTzDv4AxJutvESVN4olPI05RqvbyxMBx3ihGLXA> <xme:HgLVZv9CCO13Ut-SfHx15XMSimaMQzCfDaI3JMl6xkVDpUhzsbPvrVkru3M5rwjPN AkUIUF91UBcJHyr2q0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudegledgfeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepofggfffhvfevkfgjfhfutgfgsehtjeertdertddt necuhfhrohhmpedfofgrrhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhhofigvnhhtrh hophihrdhnvghtqeenucggtffrrghtthgvrhhnpedtvdetjeekgeelleelteekjefhteei vdekgfeujedvveduffehvdeftdevgefftdenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehmtheslhhofigvnhhtrhhophihrdhnvghtpdhnsggp rhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehirghnshifvg htthesghhoohhglhgvrdgtohhmpdhrtghpthhtohepqhhuihgtsehivghtfhdrohhrgh
X-ME-Proxy: <xmx:HgLVZsT4KTVP6j5IxXiq6uGvK9swDiIb0MnxOOLqLHvMLnwBsj6Q1w> <xmx:HgLVZptv8ul1gjW1ACHQpwWtJt_vC5-dBY6ClCMSeG4BswRMCvsTqg> <xmx:HgLVZleLpvXugt_41L3Ly4D8jmxL7fr4lgVy78J4_AXr03YlSpZLPg> <xmx:HgLVZl0aNKDfP0tIK3iQ7ju_6PlEsf55luCk45TXqduGEztWBdEKUw> <xmx:HgLVZlGzTz1r-WAvLi4SYyRWhvhTH2Da26ssidMhiJrLXFx_2J36s-oL>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 212283360072; Sun, 1 Sep 2024 20:09:02 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
Date: Mon, 02 Sep 2024 10:08:41 +1000
From: Martin Thomson <mt@lowentropy.net>
To: Ian Swett <ianswett@google.com>
Message-Id: <c27f0ba2-1629-4350-9929-b8c365dbc72b@betaapp.fastmail.com>
In-Reply-To: <CAKcm_gPQH7vquxOUg05jePb-d70gJ7WRdpRePcL2QbZLSdu45w@mail.gmail.com>
References: <c85efbc5-fac3-4ddf-9cb0-733ef5f855fd@app.fastmail.com> <8c562e59-2f70-4a85-8ce9-6015d2e257af@app.fastmail.com> <CAKcm_gPQH7vquxOUg05jePb-d70gJ7WRdpRePcL2QbZLSdu45w@mail.gmail.com>
Subject: Re: QUIC idle timeouts and path idle timeouts
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-ID-Hash: RE2WOEBIKNQ56CVHK4KEFUUT7VNJGH5E
X-Message-ID-Hash: RE2WOEBIKNQ56CVHK4KEFUUT7VNJGH5E
X-MailFrom: mt@lowentropy.net
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/sLRpJ1ZZcyaLOquz9fjcEhgluug>
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>

On Mon, Sep 2, 2024, at 06:00, Ian Swett wrote:
> 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.

Large server operators are already in a position where they can observe NAT timeouts.  They could unilaterally act on that information if they chose (a server can send a keepalive as easily as a client, even if the server might prefer not to).

I'm more concerned about the effect that more keepalives would have on the network.  For every connection that you keep alive long enough to have that connection be usable for the next request, there would be some (potentially much larger) number of keepalive messages sent that wasted battery and other resources to no end.


> 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).  

We do similarly, though I believe that our number is based on the idle timeout rather than being purely arbitrary.  (The effect is usually the same; our default idle timeout is 30s and we scale that down by a factor of 2.)