Re: [Webtransport] Http3Transport: Connection-basd Functionality
Luke Curley <kixelated@gmail.com> Fri, 19 February 2021 22:59 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 5F4043A0D9D
for <webtransport@ietfa.amsl.com>; Fri, 19 Feb 2021 14:59:22 -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, RCVD_IN_DNSWL_NONE=-0.0001, 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 8PGJsxImJD33 for <webtransport@ietfa.amsl.com>;
Fri, 19 Feb 2021 14:59:20 -0800 (PST)
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
[IPv6:2a00:1450:4864:20::42c])
(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 AA6843A0D48
for <webtransport@ietf.org>; Fri, 19 Feb 2021 14:59:19 -0800 (PST)
Received: by mail-wr1-x42c.google.com with SMTP id h98so5889680wrh.11
for <webtransport@ietf.org>; Fri, 19 Feb 2021 14:59:19 -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=Sbbh+Qm5qvbbOD9w3zO4yFB1xKxWpfpm5LZFr2IEMPk=;
b=gI9rxdVBG4ZVyhq9KutfSpAAoaH+BL5E1dqUyiSEGrJbO6v9sH2XN/QH3c1g3pMKP2
hlVyj3m6m/7nhSpChFUy3ZZ0gZ5E1Y4zAXKjjnAuLPJs0+vqgQY3RMliy7nz4ENymwsW
mA7mlcUE/HrEUO5219B98jZYc+L2WNFNLkP65KkChPpY+i/bFRnvdJCJBvxv2XpdJMbB
n6mTv8tJkYdfDOAuUrrbNw8GiWnQ6rhXBywK1PlVMmQH+rE8k8Rsxr38TCxzupRORmf5
aoZcLwkY7Zl/dsIxHDmAAH6Nu9vlFYF8gKG1p/WZ+1fiG5iyNh6Z6EkUA8RNUHVxIAKT
iBfA==
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=Sbbh+Qm5qvbbOD9w3zO4yFB1xKxWpfpm5LZFr2IEMPk=;
b=VDUzq/LxaapWM5DwncC3C6dRuekEwyrmPc1tFR60yL4uEymmEWK3UV7962VMFvy9GJ
Zjj4zH24fMTh0AcL4/UOAae3WY/A08ZEiD582GGUW3AuVFZw3Lgjnr/mMEuNfwdsRSoL
QHgd7AMWMEdYZvdHccvUWRX/fmogykQpn+6KslQLAp+OYYKUUFmHaWQAgjuNJZS3MMuK
C74zrnaWixU41x5A2fIto880q7HfWWlbgnsJ9NhUHVPkwQgjQCJIQfeHzoOdZfRY0QdI
PT4v18bFyBfcuLQt5OfjCfWhnF3nmvRLK1zIQUB7oeAo1RcGhIcLMkXK+s/ntbqenHjM
FbUg==
X-Gm-Message-State: AOAM5320Zs0ECW0mFzyDyri4VwbDbOnildI7nr4J5/HUttlht8w70IgF
jtHp2MmuVboVwYaSo7TVyQvlEDC9lOvV0hHHOZg=
X-Google-Smtp-Source: ABdhPJxW01aXAHe94Zle7IpGWwn0cesOzDgZvGcXroYmFIqZVSyFwUMH1P+1iK7u+33OaUnb/WLmJD+yNeCBegoXFO0=
X-Received: by 2002:adf:f5ce:: with SMTP id k14mr8016942wrp.194.1613775557925;
Fri, 19 Feb 2021 14:59:17 -0800 (PST)
MIME-Version: 1.0
References: <CAHVo=ZmRketpx02KeYPSHSB2gQNvYi6RSs3HrXA1isYTgYorLg@mail.gmail.com>
<CAOW+2duU6Xg98Tpec6NbEL5pyxAShp76rPMyZV07Wpmx3pJX2Q@mail.gmail.com>
<CAHVo=Z=o-oMfWaOUMxjtgaTNVvo28ot5EhinE+uio19-c2S0Gg@mail.gmail.com>
<CAPDSy+6tWTWyL6KHZTGJ3z3L6ZGJmTrVyiPiq0zRo-SGUb39tg@mail.gmail.com>
In-Reply-To: <CAPDSy+6tWTWyL6KHZTGJ3z3L6ZGJmTrVyiPiq0zRo-SGUb39tg@mail.gmail.com>
From: Luke Curley <kixelated@gmail.com>
Date: Fri, 19 Feb 2021 14:59:07 -0800
Message-ID: <CAHVo=Z=gsLRuFFuYiXo73HwPiThgGH5n_scw7Bn8aNrAjQ2Dig@mail.gmail.com>
To: David Schinazi <dschinazi.ietf@gmail.com>
Cc: Bernard Aboba <bernard.aboba@gmail.com>,
WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e09e8705bbb866bc"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/ST2cKWGZnGbUhxX-ORm8Tr-okfc>
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 22:59:26 -0000
Good examples, because HTTP/3 is currently the only QUIC application and it doesn't utilize both of those. But QUIC doesn't prohibit an application/protocol from utilizing the connection ID or TLS extensions. It could be useful for some future purpose, like the client using a pre-arranged connection ID (encoded with routing info?) or new TLS extensions/parameters (remove a round trip for a handshake?). WebTransport does prohibit using these connection-level functionalities for the sake of pooling. None of this is critical functionality, but it might hamper future efforts which is why I wanted to bring up the one-way door. It's on my mind because I'm designing a video protocol over QUIC. It would be nice if I could use MAX_STREAMS, MAX_DATA, etc, but as it stands now, I'll need to implement my own flow control mechanisms for WebTransport (browser) support. On Fri, Feb 19, 2021 at 2:27 PM David Schinazi <dschinazi.ietf@gmail.com> wrote: > Hi Luke, > > Can you elaborate on what benefits you see in exposing > QUIC-connection-level information to a WebTransport application? > In particular, which information would benefit WebTransport applications? > Because for example I don't see how knowing the connection ID or transport > parameters would be useful, but I could just be missing something. > > David > > On Fri, Feb 19, 2021 at 1:56 PM Luke Curley <kixelated@gmail.com> wrote: > >> 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 >>>> >>> -- >> Webtransport mailing list >> Webtransport@ietf.org >> https://www.ietf.org/mailman/listinfo/webtransport >> >
- [Webtransport] Http3Transport: Connection-basd Fu… Luke Curley
- Re: [Webtransport] Http3Transport: Connection-bas… Bernard Aboba
- Re: [Webtransport] Http3Transport: Connection-bas… Luke Curley
- Re: [Webtransport] Http3Transport: Connection-bas… David Schinazi
- Re: [Webtransport] Http3Transport: Connection-bas… Luke Curley
- Re: [Webtransport] Http3Transport: Connection-bas… David Schinazi
- Re: [Webtransport] Http3Transport: Connection-bas… Ian Swett