QUIC idle timeouts and path idle timeouts

Lucas Pardue <lucas@lucaspardue.com> Wed, 24 July 2024 18:24 UTC

Return-Path: <lucas@lucaspardue.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 5A0E0C14F739 for <quic@ietfa.amsl.com>; Wed, 24 Jul 2024 11:24:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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=lucaspardue.com header.b="u6BID1e5"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="I+R6gFSD"
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 gzibPCvTj6mt for <quic@ietfa.amsl.com>; Wed, 24 Jul 2024 11:24:32 -0700 (PDT)
Received: from flow1-smtp.messagingengine.com (flow1-smtp.messagingengine.com [103.168.172.136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6BDF9C14F708 for <quic@ietf.org>; Wed, 24 Jul 2024 11:24:32 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailflow.nyi.internal (Postfix) with ESMTP id 2DC8D200208 for <quic@ietf.org>; Wed, 24 Jul 2024 14:24:31 -0400 (EDT)
Received: from wimap26 ([10.202.2.86]) by compute4.internal (MEProxy); Wed, 24 Jul 2024 14:24:31 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lucaspardue.com; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm1; t=1721845471; x=1721852671; bh=XnINzsLMVHNpjALN9FUTyZ+5Rnje4io9 aD5kLmfUfiA=; b=u6BID1e5AmMt6yK+Z06d7IfyGj45Xmr2AzXGYQ2p1XSWBqm9 hShK8auTJx3HiDTtDie53sgyuJAJeeCbzxlL9nqVEfPuXtvo/lXM1dG2ZqImvtEk 8JOhNRWudc6aKXDztaOFG1ks0WhE/nqTWmJeYXBmB53VSeUUA++zPJ+Q1bSaXY4Q V78bIxpSin05vNaVu9lPuHKwJx5/vjIcMFt9iyxFj0tfdczIbrNc9z9tEAXp5HH3 RvIueXYCI5jfAUF5afzGnv3ygAFbDt+i1VoLSp7Ogd9rwQVx6fs1Jp5110wAePXF IL0A15RKWqdhtqPW8iXhrn5L7EsogJZDlWZ7Vg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=i23b94938.fm3; t=1721845471; x=1721852671; bh=XnINzsLMVHNpjALN9FUTyZ+5Rnje4io9 aD5kLmfUfiA=; b=I+R6gFSDx+3l3Rz+udOUuj88y+HQr6HFEajj8WRewWDgh28c iJf552D10fLuJmwhr6FdCrZEvGXo0xsvT2PIzVvFenlRWojmt+xVAm9X1DaFNr91 6MsWDMeb+Z91qruThRzArIJ2+ZVqqM7ugvBFpBq4xgmofhAyxU1OViLMKTy0q0oh BLFH8JH+qqTF5xUJTQwOIJx3SUe23I00Y1Fjm14OzO6+YjlxySkjrc2c7xO/x65E 769sKle0ANPj5pL/liViJzB+Ou9VQnnUXu6mrHf20eK/FvyFmxt1g+lE6LisACfl IJg7FsvSg7mczFNADBvBw4ynHWdZKsjUCPtbuw==
X-ME-Sender: <xms:30ahZsbfC1h0fv6HUuui9mAF0loK-LbG7MWCujG6zoSvXoHxccUfJA> <xme:30ahZnZHmG7ANVrhdWGlnlUaeKBDrs1PP2e6eFzXw2W98oyGtxoSbOfjkZUG_4hHX E__7hmgURJKvn67iPU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddriedugdduvdehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfffhffvufgtsegrtderre erredtnecuhfhrohhmpedfnfhutggrshcurfgrrhguuhgvfdcuoehluhgtrghssehluhgt rghsphgrrhguuhgvrdgtohhmqeenucggtffrrghtthgvrhhnpedtiefhvedtieffjeetfe fffeetfeejjeetueefudehfefhgeegteeukeejffelieenucffohhmrghinheprggtmhdr ohhrghdprhhftgdqvgguihhtohhrrdhorhhgpdhivghtfhdrohhrghenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehluhgtrghssehluhgtrghs phgrrhguuhgvrdgtohhmpdhnsggprhgtphhtthhopedt
X-ME-Proxy: <xmx:30ahZm_JMhPN_livzYNU-AXrraWujTmIL9SGi07ATjFJKaXNtEPoPw> <xmx:30ahZmrq0AYRw_8ycaCHYjVmAgDjRl2I8OYxNOABiINmSnE1I9gT3g> <xmx:30ahZnrPittj1Ba8JSBG8uA-LvDlzHVGsiVM4AGsYpXfvGXKH5fwjg> <xmx:30ahZkSP4MGK02Qz-YdboE0SdXqbSdJkI0O-Rg6KEAGacl4M4PSZ9Q> <xmx:30ahZnqpocqD38OFg0_LXiKUp8YxX9AvTdPHaFCeB2VZBcqXkyV3t8jV>
Feedback-ID: i23b94938:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 04A9619C0069; Wed, 24 Jul 2024 14:24:31 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.11.0-alpha0-582-g5a02f8850-fm-20240719.002-g5a02f885
MIME-Version: 1.0
Message-Id: <c85efbc5-fac3-4ddf-9cb0-733ef5f855fd@app.fastmail.com>
Date: Wed, 24 Jul 2024 11:24:07 -0700
From: Lucas Pardue <lucas@lucaspardue.com>
To: quic@ietf.org
Subject: QUIC idle timeouts and path idle timeouts
Content-Type: multipart/alternative; boundary="7521297a2f634752915b0c23847354cf"
Message-ID-Hash: OGH3LDLSMZUQZBNYLI4JZHPGE3HXD26L
X-Message-ID-Hash: OGH3LDLSMZUQZBNYLI4JZHPGE3HXD26L
X-MailFrom: lucas@lucaspardue.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
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/f9iK8ZXb_CJjP5AQVoddV85BtUU>
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>

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