Re: [Webtransport] Choosing the Transport, pt. 2

Bernard Aboba <bernard.aboba@gmail.com> Thu, 05 November 2020 01:37 UTC

Return-Path: <bernard.aboba@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 593703A124E for <webtransport@ietfa.amsl.com>; Wed, 4 Nov 2020 17:37:59 -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 TBF06Fy2i0fh for <webtransport@ietfa.amsl.com>; Wed, 4 Nov 2020 17:37:57 -0800 (PST)
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) (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 C2D2E3A124F for <webtransport@ietf.org>; Wed, 4 Nov 2020 17:37:56 -0800 (PST)
Received: by mail-lj1-x232.google.com with SMTP id y16so539435ljk.1 for <webtransport@ietf.org>; Wed, 04 Nov 2020 17:37:56 -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=izB8MStc42S2p8Qf9ZmEW0s+UhP0yrgJcqp/M2LFOCg=; b=CnEBx9eSprqu+NhkLhdeXc0Dpd2pub34ufiBR+M8B0sH5q2g99HtjIw5EV2wsBEkbv XKTv6NSXbv7l1z2iIpBY1+AwER93jtJ+MjRaVoLnyK3rCa6u/GqOF4sJ5HCTR33QvYdt tvuWfMpPBxa4OX7O1xGbHq9aHkLF0uQCVqNyhpUMtQIN2KMKXBxXTgUaeGnsoWuerStD BhkVe2xF/9uMNveXuPcB5iD6/DVhCOmTN8FXHJFcEjgG3vMMnVnsYnnsrrnRcWJq7vBC IHBK/th1vnZKKjTJ8eG8qWgHkZcwDFmDpy1foo6o02aH8TZ1c+uzbfnCrZnel3EBj/wL W+1g==
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=izB8MStc42S2p8Qf9ZmEW0s+UhP0yrgJcqp/M2LFOCg=; b=pb6Dus3xKP/hAW/9YmmnTZr2Hv8aWsw+qO6PafYu1HfOPVGeRTU6usSKhHxs2BMFL0 VxfarCjBLiLPd7CGELN8ir1HEyaTOOGlEi/5hWGFnpGb0MAjzktyNSsOA5RVveWs++b0 SfrFaMGSf1/0XTh1r2+EgjghKdDy9E4OOWvJZqJkDoWHgvmmOW6im36mJVfGMP5Vyz1I mCbLc4makgvUIdtb0YJWnmoB1IYnBohwkEN6hS3CErUi7oJjtAS7TE0FUDYOm1zMc/PN ++SE9T9bsnlO5MFj4EdjJgVwQDEIuUK7tw51OmfPHeZGJX5PZm7rH5F63Wr1bNlQbFjd ZV3A==
X-Gm-Message-State: AOAM531Pi0Kby6K2ds9r7ytWmLrhIUDT+CxrTZZYcO0wCYoHRQXQDhRO p6hlSIBOhO1k83RphwYjHaGczyzkvDt17G1g5JQ=
X-Google-Smtp-Source: ABdhPJzP040JcJS+YZO14o0iocmGTevm0JgnB4trVPFAuwi27YMZu6F8q8Db35Muv/Rh4P4g/bqwHQsHdbUSvHCuM3s=
X-Received: by 2002:a2e:9dc1:: with SMTP id x1mr6251ljj.240.1604540274756; Wed, 04 Nov 2020 17:37:54 -0800 (PST)
MIME-Version: 1.0
References: <CAAZdMafdbwusA3Ks_k=RW9FXCh+OMj90Y_7A7Pj5cBHTXgyQPA@mail.gmail.com> <CALGR9oYHka0qQYkAQAj7omX9koGsgy4VyHt-irBAZC=9ygvZ8A@mail.gmail.com> <CAHVo=ZmV99mg=bb43JrWga19tHKJQF29xCgowQVFBtUvBTDd_A@mail.gmail.com> <3ad5cc09-315b-ec3b-419d-807e5356b8a8@it.aoyama.ac.jp> <CAHVo=ZnBew3O5KPbj-34LcF0E52yTvmrMnSXPrP_txgrB1DnPQ@mail.gmail.com> <8854F1BE-31ED-4C06-9D43-D9EABE686F0B@apple.com> <CABihn6HVXVNeBYg33FqFf6hNJQ4iPt1=tPWt3s_qVF0is0C5Mg@mail.gmail.com>
In-Reply-To: <CABihn6HVXVNeBYg33FqFf6hNJQ4iPt1=tPWt3s_qVF0is0C5Mg@mail.gmail.com>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Wed, 04 Nov 2020 17:37:44 -0800
Message-ID: <CAOW+2dsjY6=7Ympov7-QUiktPMjAyQ43zW9kjDka=Wsg=gQt6w@mail.gmail.com>
To: Yutaka Hirano <yhirano=40google.com@dmarc.ietf.org>
Cc: Eric Kinnear <ekinnear=40apple.com@dmarc.ietf.org>, WebTransport <webtransport@ietf.org>, Luke Curley <kixelated@gmail.com>, Lucas Pardue <lucaspardue.24.7@gmail.com>, "Martin J. Dürst" <duerst@it.aoyama.ac.jp>, Victor Vasiliev <vasilvv=40google.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="0000000000001ad09b05b3522563"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/oV41BmsnBiL70pO0lHouB_e_gM4>
Subject: Re: [Webtransport] Choosing the Transport, pt. 2
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: Thu, 05 Nov 2020 01:37:59 -0000

Yutaka said:

"+1 to Victor. The server implementation cost is convincing to me."

[BA]  I (Chair hat off) agree with what Victor said in the paragraph below,
but perhaps not for the same reasons.

Victor said:

"So I propose that we adapt all of them. As it stands, webtransport-quic is a
simple-to-implement and proven-to-work solution that should not require much
of working group's time. There are questions regarding whether

webtransport-http is too complex; I believe that we won't know unless
we try, and since there's clearly interest in trying, I believe we
should adopt that draft and actually start working out those complex
details."


[BA] Sometimes it is easier to specify multiple (potentially competing)
protocols rather than spend a lot of resources trying to figure out which
one will eventually succeed. Once the protocols are specified the market
often makes a very clearcut decision. For example, WebSockets over HTTP/2
hasn't gotten much traction.

In this case, one of the transports (QuicTransport) is simple, so it's not
like the WG will spend a lot of time and effort getting it to the point
where implementers can get their hands on it, and decide if it is useful.
It is nearly there now (it would be nice to have more choices for a
QuicTransport server, but aioquic is usable today).  Having QuicTransport
is also convenient for testing the API, as well as gaining experience with
WebTransport deployment in general.  There may be some more work to do on
QuicTransport in order to address some of the deployment problems with
WebSockets (such as in draining and load balancing), but that's probably
not too onerous and might also carry over to other transports.

So the decision is really about going forward with HTTP/2 and HTTP/3. These
will take more time and effort to get right and so there's a higher cost to
working on them. But there still seems to be enough enthusiasm among the
authors and implementers, and there are use cases that these transports
seem uniquely able to address. They also have quite a bit in common.

What use cases will be compelling enough to follow all the way through to
implementation and deployment of the various transports is always a
guessing game.  I wonder whether QuicTransport will overcome the
deficiencies of WebSockets and also whether the complexity of
Http3Transport will eventually lead to simpler solutions being preferred.
But those are engineering challenges that the WG can presumably recognize
and work on solving, assuming we can get started and focus on them.

One particular challenge that I see relates to the mixed HTTP/3 and
WebTransport use cases.  There seems to be quite a bit of enthusiasm about
those, because they enable things that are not possible today while reusing
HTTP infrastructure. But I suspect that most HTTP/3 servers will not be
able to easily support the mixed HTTP/3 and WebTransport over HTTP/3
scenarios, and those that do (e.g. node.js) could take 18+ months at least.
So Http3Transport could be a "late bloomer".


On Thu, Oct 29, 2020 at 4:17 AM Yutaka Hirano <yhirano=
40google.com@dmarc.ietf.org> wrote:

> +1 to Victor. The server implementation cost is convincing to me.
>
> On Thu, Oct 29, 2020 at 3:43 AM Eric Kinnear <ekinnear=
> 40apple.com@dmarc.ietf.org> wrote:
>
>>
>>
>> On Oct 28, 2020, at 2:03 AM, Luke Curley <kixelated@gmail.com> wrote:
>>
>> Sorry, I was trying to be too terse and should explain.
>>
>> The QuicTransport indication involves an origin and a path using a custom
>> encoding. Like Victor mentioned, these are very similar to existing HTTP
>> headers and could be encoded as such. This would reduce the differences
>> between QuicTransport and Http3Transport.
>>
>> Http3Transport establishes the connection with HTTP headers but then
>> ditches the HTTP semantics. It instead exposes the underlying QUIC
>> connection and offers the same API as QUIC and QuicTransport.
>>
>> I was trying to express that QuicTransport and Http3Transport are
>> converging. You can look at this in one of two ways: Either there's not
>> enough differences to justify two protocols, or there are so few
>> differences that they can share everything but the wire protocol.
>>
>>
>> Just curious: if they share everything but the wire protocol, then are
>> there significant use cases where we’d expect someone to need or only
>> support one wire protocol over another? In other words, if they share
>> everything but a wire protocol, why do we need two wire protocols?
>> (There may be completely sensible reasons for this, just thought I’d ask
>> since I thought we’d previously been discussing choosing one or the other
>> as a layering decision, rather than maintaining both.)
>>
>> Thanks,
>> Eric
>>
>>
>> On Tue, Oct 27, 2020 at 10:40 PM Martin J. Dürst <duerst@it.aoyama.ac.jp>
>> wrote:
>>
>>> On 28/10/2020 09:34, Luke Curley wrote:
>>> > Yeah, I definitely agree that there's a grey area between
>>> QuicTransport and
>>> > Http3Transport. The QuicTransport indication is similar to HTTP, while
>>> > HttpTransport behaves like QUIC.
>>>
>>> I'm confused by the last sentence. Reformatting it, it reads:
>>>
>>> The   QuicTransport indication is similar to HTTP,
>>> while HttpTransport behaves       like       QUIC.
>>>
>>> Is that a typo, or does this crossover naming carry some deep
>>> philosophical meaning that I didn't get?
>>>
>>> Regards,   Martin.
>>>
>>> > But I think the decision to implement multiple protocols needs to be
>>> more
>>> > objective. Every WebTransport variant should add functionality or
>>> provide
>>> > backwards compatibility. Otherwise we'll be defining and implementing
>>> > standards that serve no purpose.
>>>
>>> --
>> 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 mailing list
> Webtransport@ietf.org
> https://www.ietf.org/mailman/listinfo/webtransport
>