Re: [Webtransport] Http3Transport: Connection-basd Functionality

Luke Curley <kixelated@gmail.com> Fri, 19 February 2021 21:56 UTC

Return-Path: <kixelated@gmail.com>
X-Original-To: webtransport@ietfa.amsl.com
Delivered-To: webtransport@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E86BA3A0B12 for <webtransport@ietfa.amsl.com>; Fri, 19 Feb 2021 13:56:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X0jdE3LbAa5S for <webtransport@ietfa.amsl.com>; Fri, 19 Feb 2021 13:56:18 -0800 (PST)
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE9DD3A0ADE for <webtransport@ietf.org>; Fri, 19 Feb 2021 13:56:17 -0800 (PST)
Received: by mail-wr1-x42f.google.com with SMTP id v1so10510499wrd.6 for <webtransport@ietf.org>; Fri, 19 Feb 2021 13:56:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nlqj6QxivBC8pUId2KLhrJRNgXlG45KGjFRj86gPV/I=; b=q10daiR6tKRuyKo9C3iV6b/B+70y50GFX12maJXfks98LU5BqDsZwSgTPgg2Qfp3C7 evpH3epeJGWZDhffPcIdSImChGYoem/Lto6eG1R5xZzBFCTyxVdOHRFuo68jRCDDuIgW 03RJ5BmZIcwrckgShtitUyF++HV2Nt3ORx0r9W4ezTHhd9dz6WF7f3cqJwhDAfMXGkAt Vr9+kEFYTQjITyRW5oGs+Hzntxyiv3+gOrkr8Jy3cOMPi/7Xfx+jRjkIMr5x7wG4md17 70TcK7iQe0a3sL7bInAr5WtcLBSxOnZVBXI4PFS5sHDQHJHiH/g/fHG3CrbrxcPER04v IFIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nlqj6QxivBC8pUId2KLhrJRNgXlG45KGjFRj86gPV/I=; b=cba2RYuuoUmGBonDZcVOtxrofuZ1ml8PUm3OqKO2mZWhPqUcW4c8pZlGOMx5jjHse4 RRKSP1nRCgWsHEYiH5/ur5StmhAR8Cc2xtTDsv7+PW3t5UnTXwBf1z3rjC7euPbAd/pv isPIDK5okm1LFjuH5VS+WwJC9+dW5PGIBlYk7r3m0iUyZHKNqkpddiqilQ0n5l0PSREu mtwd+70hYWH6hJQYli6tUtcejPQyN+gYRofl4w8JN8bvgcuj30OfSRZX1WmklnbwLrZp 3m7+nknBdWjR2Qbp3Tbwc200R0za+Crj2+0stIDrsECy1OL3WP+utApvCBBCdqJbEYKz wmmg==
X-Gm-Message-State: AOAM530edSoWXLq3zEQcAkOdJp3cLmfZ6kctotm9Cepu8SAMqw8rjnRr mdmQj/roU/O3pXu/EaFzHcHhXRupKRCa/avZ5Oo=
X-Google-Smtp-Source: ABdhPJx2Mjl6E4bsKpNEgBopqBuiHQCQfF2MO+KJTQjz0JBUMe7/2dAhbzvxNVql7zDs9QrOoGogyjJT2xlxZVL1HQ8=
X-Received: by 2002:adf:a31b:: with SMTP id c27mr10631856wrb.188.1613771776103; Fri, 19 Feb 2021 13:56:16 -0800 (PST)
MIME-Version: 1.0
References: <CAHVo=ZmRketpx02KeYPSHSB2gQNvYi6RSs3HrXA1isYTgYorLg@mail.gmail.com> <CAOW+2duU6Xg98Tpec6NbEL5pyxAShp76rPMyZV07Wpmx3pJX2Q@mail.gmail.com>
In-Reply-To: <CAOW+2duU6Xg98Tpec6NbEL5pyxAShp76rPMyZV07Wpmx3pJX2Q@mail.gmail.com>
From: Luke Curley <kixelated@gmail.com>
Date: Fri, 19 Feb 2021 13:56:05 -0800
Message-ID: <CAHVo=Z=o-oMfWaOUMxjtgaTNVvo28ot5EhinE+uio19-c2S0Gg@mail.gmail.com>
To: Bernard Aboba <bernard.aboba@gmail.com>
Cc: WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000076c13e05bbb78507"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/7T4t_UgYUcNibItTrcMzqNbvlnU>
Subject: Re: [Webtransport] Http3Transport: Connection-basd Functionality
X-BeenThere: webtransport@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <webtransport.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webtransport>, <mailto:webtransport-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webtransport/>
List-Post: <mailto:webtransport@ietf.org>
List-Help: <mailto:webtransport-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webtransport>, <mailto:webtransport-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Feb 2021 21:56:26 -0000

Oh man I just noticed the typo in the email subject... that's embarrassing.

I mentioned this earlier, but I think pooling is a potential future
optimization. The benefit is that pooling can avoid additional TLS
handshakes iff a client has multiple WebTransport or HTTP/3 connections to
the same host (rare?). The cost of pooling is that connection-level QUIC
functionality is no longer available, and must be avoided or worked around.

I liked how QuicTransport was connection oriented and I think something
similar could be done for Http3Transport without precluding pooling support
in the future.

On Fri, Feb 19, 2021 at 1:32 PM Bernard Aboba <bernard.aboba@gmail.com>
wrote:

> Luke --
>
> Thanks for bringing this up!
>
> At the Interim meeting, we talked about having the API provide some
> control over pooling (e.g. allowing an appiication to specify that a
> WebTransport connection not be pooled), as well as allowing a server to
> specify that it doesn't support pooling.
>
> In W3C WebTransport WG we are now in the process of developing PRs to deal
> with pooling, and are running into some of the same questions, such as:
>
> 1. Under what circumstances can WebTransport connections be pooled, and
> what kinds of pooling are allowed?
> PR: https://github.com/whatwg/fetch/pull/1171
>
> 2.  What are the differences in API behavior between Http3Transport and
> quic-transport?
> PR: https://github.com/w3c/webtransport/pull/205
>
> 3.  For Http3Transport, are there differences in API behavior between
> non-sharable connections and sharable ones (e.g. behavior of
> webtransport.close())?
> Also coming up in PR: https://github.com/w3c/webtransport/pull/205
>
> 4. For a non-sharable WebTransport connection, is it possible to obtain
> some of the stats that were supported for quic-transport, but would not be
> appropriate for a sharable transport?
> Issue: https://github.com/w3c/webtransport/issues/206
>
>
>
> On Fri, Feb 19, 2021 at 12:49 PM Luke Curley <kixelated@gmail.com> wrote:
>
>> Hey everybody, I wanted to start the discussion now that Victor's
>> document has been adopted!
>>
>> I filed some issues
>> <https://github.com/ietf-wg-webtrans/draft-ietf-webtrans-http3> earlier
>> on Github over a few small things. Overall, the draft is clean and it's
>> nice that we've converged on a single WebTransport protocol. One bigger
>> topic I wanted to discuss is the ramifications of connection pooling.
>>
>> Broadly speaking, any QUIC parameters or frames that operate on the
>> connection as a whole can no longer be exposed to the application.
>> Specifically: MAX_DATA, MAX_STREAMS, CONNECTION_CLOSE*, connection ID, and
>> any transport parameters.
>>
>> The WebTransport specification specifically mentions MAX_STREAMS, as
>> HTTP/3 servers can no longer use this to limit the number of simultaneous
>> requests. Returning an error code instead of utilizing the built-in flow
>> control is not a problem, but it's not ideal either.
>>
>> I believe this is a one-way door in general. Any protocols or
>> applications built on top of QUIC will no longer be able to use
>> connection-based QUIC features without breaking WebTransport compatibility.
>> This primarily means HTTP/3, but it also includes any new protocols that
>> utilize QUIC and desire browser support.
>>
>> What does the group think? Is this something worth caring about?
>> --
>> Webtransport mailing list
>> Webtransport@ietf.org
>> https://www.ietf.org/mailman/listinfo/webtransport
>>
>