Re: QMux outcomes from IETF 125
Kazuho Oku <kazuhooku@gmail.com> Thu, 26 March 2026 07:46 UTC
Return-Path: <kazuhooku@gmail.com>
X-Original-To: quic@mail2.ietf.org
Delivered-To: quic@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id BFF27D1A33F4 for <quic@mail2.ietf.org>; Thu, 26 Mar 2026 00:46:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AG9HBLJLWX_9 for <quic@mail2.ietf.org>; Thu, 26 Mar 2026 00:46:28 -0700 (PDT)
Received: from mail-dl1-x1230.google.com (mail-dl1-x1230.google.com [IPv6:2607:f8b0:4864:20::1230]) (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 mail2.ietf.org (Postfix) with ESMTPS id 84C07D1A3378 for <quic@ietf.org>; Thu, 26 Mar 2026 00:46:26 -0700 (PDT)
Received: by mail-dl1-x1230.google.com with SMTP id a92af1059eb24-1271257ae53so735038c88.1 for <quic@ietf.org>; Thu, 26 Mar 2026 00:46:26 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1774511180; cv=none; d=google.com; s=arc-20240605; b=XCDHe8vUDR9nnqvxNUsWBSSw3554rExOTmv+zH0bvRx72PS2SNPeu/XxW6iumhS/sf 0W2DTjFOlKtKmxow+MwQLzbDVYTWYJWcsiP4lUWRnUIP9+WQUum5ifLkAy3QD54fdK0t 0TNRyEM825vn7SGnb+z1FZ0Twxs1XSqlEPXxUpQSBXIQWYwXaNaxYHK6skTp8i/FB7nV R2TzALebpqpiDunU30FInoasFKMIsG9j3JdMUtfw9QWyuYTDX1X1k3vZMdc8QqcX9Gzo iC6zAxdacDy1UcL0BhVZz8flqseep+JhnaDRZJPIEu9W2sYLGHin7QsAXbEdc+pNZf7h K4Zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=N75ugqEecd9tAXWRw6rxy25qGAaxuEQALFxVDftyKV0=; fh=Kg1Hap/RD04++P9C37jH9Tg0UJ2U0EBPEbmCjFqJ5fM=; b=CveDwqjoTtNFkiKe8QZwktPsBiG621RqLG3dzBAUWk/ecaOkdjnvQ8WY1fpCvMhmuB ORC9xMmtL8sNJeFwvbJbj14uUkJZTt+L3rRPbH176HuGJHy3KRTW1KsW1cS8vOSrreyS 5APvFLp/P56S3a79Z9hyg74iCE3oMQmPWY0ubJjhPDbbsA3kjjgb99AQvSxjF0ZKEkoD 7nLHC6tDdUm1EX7A/M66QOBRX68VyWuV6A0YqzsSoVgK6lvEJjWjTGQzPGabFkhM+fDn TKoJy0HxLCy7k9WWP0uBr9PPRR7ifOb2Gp6R4mxO38zoOcYRqCKY/ti61juUDyNSALtA KSuA==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774511180; x=1775115980; 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=N75ugqEecd9tAXWRw6rxy25qGAaxuEQALFxVDftyKV0=; b=bRbFsQRIxrD875bJjqjGaGAbd+g5HpUzClVjBNgjyXqUrgWN7VbSSpRExcXR/7ognU /St17d2kpiSOhtmUu5yoNxUGbenIHPkRG4OBfdN+YXK/Y10g1udW8cuBT96ggKRiS6LZ 1mpNxcTZbm4c0lf/kSsmTg+qW+kWqo6kbfICwoqi8+6moYG/2Nq1rI1L14OaciujEVF+ Hm2qp9V0GTqDp/k9GUkTaYlHX3MM+rE+m6LKBYGoc2LRJqvkSklwa384isfSGmwpgOev J3uP18b8LHPmBxfydfriNpHCedOnSb4mdNUm6cFPt5sSINwV/kFgFJd8JTP20y+bozu6 O72Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774511180; x=1775115980; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=N75ugqEecd9tAXWRw6rxy25qGAaxuEQALFxVDftyKV0=; b=nnN9qFcZzKFaDQHjMCa33HSeQ9fPuFk6SrgXf+ldMPiizr5UC8BrOGY8g3OqX/vwez JEMVjuA4qWRipEsZBMgeDI0I2XfmF7K9sNKDWpef01IJrBxnZwbnKFCOXIb71azEBil3 dN95hHUbeXH6jV3bnYNmSE0IfHOmFc6DhG606sQ+CHZoS3lKFn2HkxtPkw8M9PDTs0qV MMyZTm8gGQ5Fpp0S7SojdVjMhKOWgJcZrdLuCffn6QbKe7xA/vrPyEjK9OrL5zKtUDUc 8TppeiaP45c60xf2fDSV/ZrPO/f6tj3uw77cP7gfmYmMF/HiTff5NiDalv7TbYDHelUZ 2JTA==
X-Forwarded-Encrypted: i=1; AJvYcCUhEF2CTwg7iEAEhinLD0kfM9g4vh/u0zVLPP+1xZ+EXwtvzQCte1dv/EuwctzRDtmnGv7+@ietf.org
X-Gm-Message-State: AOJu0Yw9LWbOYp7pfV1VXLeoznpmF9KEp34DsNQ3Bn6t2gAY76dK8CKl XvKCbrZlj6VP96eLobd8A7zWAHYUTL5JKiw2IIaNQc36BhpgN7SrxgeJIW9x8RJDne8pA5I4BU4 e0qX37zzKXVBdh7U/K5BQXcog8KgUJKE=
X-Gm-Gg: ATEYQzyri7uakYBWrgl3DwMoBHvzH7lf21Ix8CoPUahTL93KHB8EBPYgTNIEiUFXpb1 XYmTHf8R/r4lwyN29u/gacvL1BHaj6Uiwc34aLY12YYxlcRbOB4B284k+XFxXdxe77Fm7jPAWCm h7lMEEp77pdPf1/yjdfg+9BruppG6xUhedHIFDb02x4EEtBjaTSPe3fasXUAPZGpbqtClUT5qT5 rFUKo9ohK6uNRwgdAK7EupQcdxIz/tMB8n6HZFfVtF0VN7v+uKbxnovtdOgbKT8eeAEw5NNRtO2 4xXd/p+5gGMDYEx8TUOnbHuGEV7t2b0eXDRhXZ3bWw==
X-Received: by 2002:a05:7022:47:b0:127:35af:1446 with SMTP id a92af1059eb24-12a96ef76dfmr3444620c88.36.1774511179132; Thu, 26 Mar 2026 00:46:19 -0700 (PDT)
MIME-Version: 1.0
References: <8f5c2ce6-e02e-4b72-8846-de822f3c1929@app.fastmail.com> <CAKcm_gN3zR_XxN6RF6eVv+86L5gXhZ31z2=tW4H=pZQa0-sX1w@mail.gmail.com> <df9cb59d-7af0-4d58-8eaf-8c6b2797d224@betaapp.fastmail.com> <CANatvzzX9sRorbH_NNZ+4Ywqf+y6S+o5=OvvJV=XB2BGN4ifYg@mail.gmail.com> <0b9d39aa-8619-460a-bf16-7cbeff50b57a@betaapp.fastmail.com> <CANatvzwubyeTcxmW4m4s50juwV5cGjVS95-RCu3Ec4JP3teu2Q@mail.gmail.com> <2e674bec-ef06-441e-84d2-20f11f004c4f@betaapp.fastmail.com> <CANatvzwwcu=-bmDqVJs38MVNYfsc4hSH-giJNXHKiwWy_XFj0A@mail.gmail.com> <f20d8198-b096-4a73-8948-6b496466d7cd@betaapp.fastmail.com> <CANatvzxggZDG6SRiBUdhTFHYH5+nttdSUN2kob4ZOqKppnyjDQ@mail.gmail.com> <ab1da818-1013-4e41-ba30-f6fa827ebd53@betaapp.fastmail.com>
In-Reply-To: <ab1da818-1013-4e41-ba30-f6fa827ebd53@betaapp.fastmail.com>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Thu, 26 Mar 2026 16:46:06 +0900
X-Gm-Features: AQROBzDuRYNqiCQbEdOyCCwfvjeMscqU-T_zdsoZrDhDH-A0kLG0V_ud0b3g7qo
Message-ID: <CANatvzwFA7-wWFKLmPAG1ooQN6Ui2XeoJcBSjMv6hdWA26678Q@mail.gmail.com>
Subject: Re: QMux outcomes from IETF 125
To: Martin Thomson <mt@lowentropy.net>
Content-Type: multipart/alternative; boundary="0000000000007b7588064de89460"
Message-ID-Hash: 24ERIOEAAAUQ47HDE6XGPTTIU7OLX5VL
X-Message-ID-Hash: 24ERIOEAAAUQ47HDE6XGPTTIU7OLX5VL
X-MailFrom: kazuhooku@gmail.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: Ian Swett <ianswett=40google.com@dmarc.ietf.org>, Lucas Pardue <lucas@lucaspardue.com>, quic@ietf.org
X-Mailman-Version: 3.3.9rc6
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/c-Nf96MtL20kHZ81uNU935Rm9QA>
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>
2026年3月26日(木) 15:44 Martin Thomson <mt@lowentropy.net>: > On Thu, Mar 26, 2026, at 16:26, Kazuho Oku wrote: > > Without a record layer, the equivalent constraint would be to say that > > the maximum size of a STREAM frame, including its frame header, is > > 16384 bytes. > > That seems like a reasonable implementation strategy. I wouldn't mandate > it in the protocol though. > > > That is what I am trying to point out. The record-based approach does > > not require changes to frame decoders, and it works regardless of the > > type and number of QUIC frames the sender chooses to send. > > Yes, the record layer makes it easier to implement. My point is that it > in doing so it encourages a poor implementation. > > > and provides a weaker mechanism for aligning STREAM frame boundaries > > with TLS record boundaries. > > I *think* that I understand your argument, but it wasn't obvious. Are you > saying that non-STREAM frames will be added to TLS records in ways that the > entity that generates STREAM frames might be unaware of, causing the STREAM > frame to overflow the TLS record? Can't you have a layer that tracks bytes > written so that it never lets a STREAM frame span a TLS record if you cared > about that? > > Of course, I don't think you should care about that. My view there is > that you can decode (and deliver!) the first half of a STREAM frame that is > split between TLS records. It requires incremental decoding of frames, but > I've been arguing that this is what you want anyway. > > > All that said, I think part of the difficulty here is that we do not > > have a concrete counter-proposal to QMux records. > > I thought that "don't change the draft" was the counter-proposal. That's > what I've been advocating for. (I apologize for maybe not being clear > about that.) > Thanks, I think we are on the same page regarding how QMux records work, even though we might disagree on how effective they are in keeping frames and records aligned. However, I am uncertain if "don't change the draft" is the correct position to take if the concern is to encourage incremental decoding. As -00 stands today: * the payload of a STREAM frame MUST be no larger than 16,384 bytes, unless extended by transport parameter; * if the Length field of a STREAM frame is omitted, the frame extends to the maximum size. This feels to me like the worst of both worlds: 1. The maximum frame size is small enough that implementations might choose to wait for complete frames. 2. The design naturally leads to STREAM frames being split across multiple TLS records, because the maximum size of a STREAM frame including the frame header is slightly larger than what one TLS record can contain. This induces buffering in receivers waiting for complete frames. 3. It still requires receivers to modify their frame decoding strategy from QUIC v1 to handle partially received frames gracefully. Compared to such a design, QMux records seem better to me, because they fix (3) and mitigate (2). Instead, if *your* goal is to encourage incremental decoding, I think a design like H3 frames, with no limit on the maximum frame length, might be a better fit than -00. WDYT? -- Kazuho Oku
- QMux outcomes from IETF 125 Lucas Pardue
- Re: QMux outcomes from IETF 125 Ian Swett
- Re: QMux outcomes from IETF 125 Martin Thomson
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Martin Thomson
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Martin Thomson
- Re: QMux outcomes from IETF 125 Willy Tarreau
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Martin Thomson
- Re: QMux outcomes from IETF 125 Willy Tarreau
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Martin Thomson
- Re: QMux outcomes from IETF 125 Martin Thomson
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Lucas Pardue
- Re: QMux outcomes from IETF 125 Martin Thomson
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Christian Huitema
- Re: QMux outcomes from IETF 125 Luke Curley
- Re: QMux outcomes from IETF 125 Martin Thomson
- Re: QMux outcomes from IETF 125 Lucas Pardue
- Re: QMux outcomes from IETF 125 Kazuho Oku
- Re: QMux outcomes from IETF 125 Ian Swett