Re: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)

Kazuho Oku <kazuhooku@gmail.com> Sat, 17 February 2024 00:37 UTC

Return-Path: <kazuhooku@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 3F03FC151543 for <quic@ietfa.amsl.com>; Fri, 16 Feb 2024 16:37:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 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_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=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=gmail.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 pVWKjYbigTmi for <quic@ietfa.amsl.com>; Fri, 16 Feb 2024 16:37:31 -0800 (PST)
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 8D343C14CE5D for <quic@ietf.org>; Fri, 16 Feb 2024 16:37:31 -0800 (PST)
Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-a2f22bfb4e6so328439166b.0 for <quic@ietf.org>; Fri, 16 Feb 2024 16:37:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708130249; x=1708735049; 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=zB63Zmp6nJIemgeSX0D6t881LS6s/Rgk5uef8S6Pp6k=; b=LQy2Hd3hmNXYiCy5zW+d1C9FFRxhR3zy3iHLZmJ4pzgWC0Rp53DOTqmyX1mJvVFPVl HY4My57Bpe5/7u4CcmgJV0ZSNcRsN+Pp+tWkeBxWGnMsDcp3sc3VQYahLrg1Jx04aitf 1Nufg4y2LkM0RmzWjwN9UZOURHfb43R13+kXkJAl6rr45woJwGxnU8a1ym8RzghLmwRn 5TwYQBzRG6u6UR4b/IltvaYhHGhPoiqK/+eki9gR7FiOQl0AGliEvH0tKfPREe0RIizi PxKJGhBYKUcCVe+vBjtZcmmIQe1gjYPcewR7eQ0J0gc7IDhyLSVnS+AM+sbvJUXlWBCl gGBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708130249; x=1708735049; 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=zB63Zmp6nJIemgeSX0D6t881LS6s/Rgk5uef8S6Pp6k=; b=osySBQYABtXYt7qCWMc5OZKzAlnjlKIQ1n5Agbti3ozS3q6MAkeHXDY1uYBKGDQm31 Ic1w2Ylliz7ikT4OgiKuzCC4C+M0Gnnd7a9nTX0qCGzXhhtVURiudWGspKrz2m/Kz29e HRgsTbOmdO3+2Z5d2tDTbwv0mPeNwa7uiXkA0jKnlMSBK6KgElnbjFQffJ4F0eYvsfgz nnMKSDUyB4qYBOBxlML9oYho6p05izCoowv+xmgTVuxPynlY2Rk5iWuq5kwWfTRO4QvH RRC2Isr75B+hXIYo4ne/bCS3UqsqygJqMhG4z5IvxcEF4PyAlwW3pmGvxDa9vpujOhAR ghmQ==
X-Gm-Message-State: AOJu0Ywz2N01XPwhq6vcpyw8hYJLcMUxr0slv0HlRuzdFvdbJJy1HG8n nnds2Gh/VFykZ305TGC9OiHqOmtiyQzut7jM89VI7mRlCVQWMGm8npxC1m4HfTEml9DFd0eyHYk NeTocSoQLjUJ0R2jlUxv2qqWBkm6ZfA3QcDbFmQ==
X-Google-Smtp-Source: AGHT+IElkZM4nZYhE3kiK6HKTIPPrVHEoKMYyW2WJ3fiyh0kPVWq0KcWut+amDVvpadqfPx+i9JnqQxkUTQ7sMHcKHA=
X-Received: by 2002:a17:907:119c:b0:a3d:4037:73e7 with SMTP id uz28-20020a170907119c00b00a3d403773e7mr4157424ejb.48.1708130249114; Fri, 16 Feb 2024 16:37:29 -0800 (PST)
MIME-Version: 1.0
References: <170807134367.25372.9131938145722079298@ietfa.amsl.com> <CANatvzyLJnZH9UHaSoMWbv20VhEtAzY7HqRHCSWt-O65f24uwQ@mail.gmail.com> <CACsn0cmVFyLPnLr-snGy5ZWW=ndJ0bE4HriLgfrGjGRxSa16Lg@mail.gmail.com>
In-Reply-To: <CACsn0cmVFyLPnLr-snGy5ZWW=ndJ0bE4HriLgfrGjGRxSa16Lg@mail.gmail.com>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Sat, 17 Feb 2024 09:37:17 +0900
Message-ID: <CANatvzw4Miz6fESxzQaNMu7QFfz1MNhTL1mazN6truFCHk2QTQ@mail.gmail.com>
Subject: Re: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)
To: Watson Ladd <watsonbladd@gmail.com>
Cc: IETF QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>, Lucas Pardue <lucas@lucaspardue.com>
Content-Type: multipart/alternative; boundary="000000000000ba8a37061189108a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/vnwBiXAWNUoRlg7lwyUcauMeYHo>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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: Sat, 17 Feb 2024 00:37:35 -0000

2024年2月17日(土) 7:59 Watson Ladd <watsonbladd@gmail.com>:
>
> On Fri, Feb 16, 2024 at 12:29 AM Kazuho Oku <kazuhooku@gmail.com> wrote:
> >
> > Hello QUIC and HTTP enthusiasts,
> >
> > We, Lucas and I, have submitted two drafts aimed at broadening the
reach of HTTP/3 - yes, making it available over TCP as well. We are eager
to hear your thoughts on these:
>
> >
> > Some might argue that implementing a polyfill of QUIC comes with its
own set of costs. However, it is my understanding that many QUIC stacks
already have the capability to read QUIC frames other than from QUIC
packets, primarily for testing purposes. This suggests that the effort
would be more about leveraging existing code paths rather than writing new
code from scratch. Furthermore, a QUIC polyfill would extend its benefits
beyond just HTTP, by aiding other application protocols that aim to be
built on top of QUIC, providing them accessibility over TCP.
>
> I have some mild skepticism about this design. Each QUIC extension now
> has to consider TCP transport, vs. each HTTP extension considering H2
> or H3. However I think the necessary change isn't that much for QUIC
> over TCP vs. H2/H3, unless the extension does a lot of the prohibited
> things. You don't however get much improvement: H2's TCP related
> limitations remain.
>
> Is this need for a choice supposed to also apply to non-HTTP QUIC
applications?

Thank you for your comments!

Regarding the complexity of integrating QUIC on Streams support into QUIC
extensions, I concur that it's unlikely to be a significant burden.

Among QUIC extensions, there are one RFC and one WG-adopted draft related
to how data is being sent.

RFC 9297 defines how datagrams can be sent. Its port is already defined in QUIC
on Streams draft Section 8.1
<https://kazuho.github.io/draft-kazuho-quic-quic-on-streams/draft-kazuho-quic-quic-on-streams.html#name-unreliable-datagram-extensi>.
The only change there is the inference of frame length when utilizing the
length-omitting variant of the DATAGRAM frame. It is changed the same way
as the STREAM frame of QUIC v1 has been changed.

draft-ietf-quic-reliable-stream-reset defines how streams can be reset
while delivering stream data up to a specified offset. I believe no
alterations are necessary for its compatibility with QUIC on Streams.

It is definitely true that all the TCP-related limitations will persist.
The idea here is to define a polyfill of QUIC beneath application protocols
so that all of them (i.e., H3, WebTransport over H2, and new protocols
developed on top of QUIC) can operate on top of TCP without (or with
minimal) modification.

>
> Sincerely,
> Watson



-- 
Kazuho Oku