Re: [Webtransport] Http3Transport: Connection-basd Functionality

David Schinazi <dschinazi.ietf@gmail.com> Fri, 19 February 2021 22:27 UTC

Return-Path: <dschinazi.ietf@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 938C43A0BEB for <webtransport@ietfa.amsl.com>; Fri, 19 Feb 2021 14:27:35 -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 M3dg8vDkCp8F for <webtransport@ietfa.amsl.com>; Fri, 19 Feb 2021 14:27:33 -0800 (PST)
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) (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 BA2983A0BE9 for <webtransport@ietf.org>; Fri, 19 Feb 2021 14:27:33 -0800 (PST)
Received: by mail-pj1-x102e.google.com with SMTP id fa16so4534965pjb.1 for <webtransport@ietf.org>; Fri, 19 Feb 2021 14:27:33 -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=Qcmvn46+OBDQoqdno7pW63PoPz0kl++/Dit1wJzPvTw=; b=Q4A2TwZ7EBvpk9t9G4P0yb4HWouad8T1UUzSogj7u4spGJxhsxdqtXdkqgL6UNXCem KIuRsdHRxXvVIgw3k0TT8PYBJzFAr/l9NAMaisFS1fYYjwXVtHguFUxhNL0S1kQ227Ts om4nZCVxluI/vAzvxvZfaHZ/CrJ6IlKLNJ/VTqjz3BjWBC178BbUKgCL6yJ0X4xaG0dI mCeZP0TDGyhvYbV9Exy0qSRzoD54/2vE56ZxKaZ6wsSIQcqeeK6w9eP1Z8X5olY+aDme +iqub9oTFEv75oulMWxWjdU85Dm4Ljvo4HRTJVYqzhqs3FeWDinzUy3pzBuY8umW+OCp zY6g==
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=Qcmvn46+OBDQoqdno7pW63PoPz0kl++/Dit1wJzPvTw=; b=hCSTa6PZTLJ8aG6IY+X7G/zjSTwdlMLmolt5N8517unnhwZTrg9mG7/uuVe20cW7YV bBSix3LFzylMFYRdRTHCO5aaV6t+vAplMwHlSQmwFEhbc13Fh42Q+rEPGP/5nz4Z/yYk FroMfy/LMyxQinb8oyM1mCriOLFQncfmvit+sAMzQ4D6Uwl3ZP+Fd2cygbSo4cimWn9W D8ecs38cMF+Znw4PYTdXL1oThnUoVHHD6rnfIAz4NcbZ9+/Pr5H2mIyCeLwnu6wjtLIR Cclqn7sQ1MNyKs578m4fAGhWQ9fQ9zhQrxYgJ0LVtRVQSpNq5EtIyS799HDhuI1NUYom w2kQ==
X-Gm-Message-State: AOAM533UQx5NEY6jKXYQ2Lso5jVkAYb0cp53JNXDrUtvIAf2DjFeMugT R9PNtvMEY7liKMRQboYZhpScVLFVwj3/HyJm45Hkt2R/
X-Google-Smtp-Source: ABdhPJxGvBNyf+QAQDA/jQkrEKC18fCvQFLA+1nsUrMg2DHzgh8px9cIo8sdbogZLAQ8iMMF/ApteONvhr7d8YanVmo=
X-Received: by 2002:a17:902:7b89:b029:e1:1b46:bcec with SMTP id w9-20020a1709027b89b02900e11b46bcecmr11083041pll.5.1613773653045; Fri, 19 Feb 2021 14:27:33 -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>
In-Reply-To: <CAHVo=Z=o-oMfWaOUMxjtgaTNVvo28ot5EhinE+uio19-c2S0Gg@mail.gmail.com>
From: David Schinazi <dschinazi.ietf@gmail.com>
Date: Fri, 19 Feb 2021 14:27:21 -0800
Message-ID: <CAPDSy+6tWTWyL6KHZTGJ3z3L6ZGJmTrVyiPiq0zRo-SGUb39tg@mail.gmail.com>
To: Luke Curley <kixelated@gmail.com>
Cc: Bernard Aboba <bernard.aboba@gmail.com>, WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000056793f05bbb7f521"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/EgFNJi5VW7L_itFAAU9Dth4sGPQ>
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:27:36 -0000

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
>