Re: [Webtransport] Confirming consensus calls from today's WebTransport interim

Ian Swett <ianswett@google.com> Thu, 03 June 2021 13:57 UTC

Return-Path: <ianswett@google.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 62DA93A12B9 for <webtransport@ietfa.amsl.com>; Thu, 3 Jun 2021 06:57:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 EaLNYCEJ-jod for <webtransport@ietfa.amsl.com>; Thu, 3 Jun 2021 06:57:15 -0700 (PDT)
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) (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 E38913A12AE for <webtransport@ietf.org>; Thu, 3 Jun 2021 06:57:14 -0700 (PDT)
Received: by mail-wm1-x335.google.com with SMTP id z137-20020a1c7e8f0000b02901774f2a7dc4so2857779wmc.0 for <webtransport@ietf.org>; Thu, 03 Jun 2021 06:57:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+M4vrW0Nlp3mEcPhKfvxFhZLNBaOuPy5WETPYWOhTxo=; b=WpyYya2CVOn89IIhMbcYCOrn4Lx5Rbxwchv0bB+qLPFIL2FX7B0r14x7xG4bscUdmf 8whaWEqFd+i5N5V5fdExTbbP3hBqLCvYd65dioIvgKsTaVUjwSl9uJ16acv2N4Ck4o1V QAsc6RN7rYIMr6svIxy9Y5cFgD3mEsPm7ouyofV0wbnHbbLVGIsoRzXcsN1cap0XdyAw dKyL7lYbSIBz1HTeyh6/+wtS9SyIvINjO0SvLnF/hIRCbbBsdAARuVqhh/r477VRAwQB e2sGU8yLd44axNvdnYgrrKQWGj60aHlyRqWmcZycL82atYVMoqpGbIuYI7F52I/02RMf 0+/g==
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=+M4vrW0Nlp3mEcPhKfvxFhZLNBaOuPy5WETPYWOhTxo=; b=mXCGRClqoym0nXrxNPykPJ/hMxdXq9efGfYJN/KXwlakkbXqwxowRY+tqd+SzKFu+3 gFWIB1735IT14U7IV4kWLSCsXDoszU9Gic/ZIN+vENiXBFEtqsBxp2dtRtB++ec2hlV+ dxZ/SztZsayAbuSOgWRqH8aE0+d2lsE0GiNWusf3qZM1RbuBxlK0TCuDCut+S65GHQwr qjGucgNrfNuFNDbqqUpwdKD8hbv5Z277AMDB1FeFQ6EzHYEQMazT5huRdFOuxzyXK1RH QrB+pt1MyQ0bTplV6EZjVczWYrWHAil8Dy+uGFmMdKd6mM4VwcS5fIqbzgo9WSlGYUqd +L9Q==
X-Gm-Message-State: AOAM533kTotxp1rU69dGemB3bGTEuhsOLVKSrzKF1423tnI/b4RazEuz Ek7TTbU29caIBwGBdyOnOEZMNXiwxIu9IGxMw/CP5w==
X-Google-Smtp-Source: ABdhPJwVYURBP4uzO6UU/MoNuj9mvYCOCYhTpgeKLWOo7spTF9otteDDh0oHynHROZ1bqIa5pCY6IjNdcP92NYfQCM4=
X-Received: by 2002:a1c:4e03:: with SMTP id g3mr10158859wmh.127.1622728632138; Thu, 03 Jun 2021 06:57:12 -0700 (PDT)
MIME-Version: 1.0
References: <CAPDSy+5s-D7v3jxFmWKD5N-=sVcM_v8ZmB1iVNjZ1ZuHN5n=OQ@mail.gmail.com> <cce29e58-da55-4cc1-b760-4ee1c849c035@www.fastmail.com> <CAAZdMad9hZMutYAWQOO=T+UtV9tuMreHy707JO6qN40k2SVmMQ@mail.gmail.com> <69e2d8c9-b532-4ce3-b558-9fdd11e5fb1a@www.fastmail.com> <304A9399-D211-4463-9245-C2437E318FC3@fb.com>
In-Reply-To: <304A9399-D211-4463-9245-C2437E318FC3@fb.com>
From: Ian Swett <ianswett@google.com>
Date: Thu, 03 Jun 2021 09:57:00 -0400
Message-ID: <CAKcm_gOLTXtjf_jQWZ12sKe4L-e5J3jA+Zn5zjd7UJrVYQ1f8w@mail.gmail.com>
To: Alan Frindell <afrind=40fb.com@dmarc.ietf.org>
Cc: Martin Thomson <mt@lowentropy.net>, Victor Vasiliev <vasilvv@google.com>, WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b0291705c3dcf3c1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/tjOS7S6_fTUELFzXyfFzh_8Cvy0>
Subject: Re: [Webtransport] Confirming consensus calls from today's WebTransport interim
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, 03 Jun 2021 13:57:28 -0000

I definitely agree with 1a, with the caveat that the TCP version is lower
priority than the HTTP/3 version.

I'm slightly less concerned about the stream state machine than Martin, but
I think it's definitely a real concern and I think it makes sense to have a
solution fairly well fleshed out before adopting the direction and document.

I'm slightly more concerned about creating a TCP fallback that doesn't work
over HTTP/1.  If we're building a fallback, it seems like these people
shouldn't be excluded, since that means developers will have to build and
maintain a 3rd fallback that's not WebTransport based.  If the dream is to
be able to develop apps for WebTransport and not have a non-WebTransport
fallback, I don't see how we accomplish that without an option over HTTP/1?

Possibly this is a forcing function to convince customers to upgrade their
middleboxes to ones which support HTTP/2 and HTTP/3, but if so I'd like to
call that out explicitly.

Or maybe the physical office with its corp middleboxes is dead and my
concern is an unfounded anachronism?

Ian

On Tue, May 25, 2021 at 5:36 PM Alan Frindell <afrind=
40fb.com@dmarc.ietf.org> wrote:

> I think the fundamental discussion here is about whether we want to
> modify/extend the HTTP/2 state machine to handle WebTransport streams, or
> whether we should build an entirely separate stream state machine for them,
> and leave the H2 machinery untouched.
>
> Martin may be right that there be dragons down the path of modifying the
> H2 state machine.  The alternative strikes me as an awful lot of
> duplication -- it's close to implementing H2 again over a single HTTP
> stream, minus header processing.  That said, I think either approach can be
> made to work, we just need to choose the tradeoffs we want.
>
> I am remiss in not addressing the feedback regarding unidirectional stream
> resets.  I think that it got lost during the bizarre hours of the last
> IETF.  I filed an issue in the draft repo to track it (
> https://github.com/ekinnear/draft-webtransport-http2/issues/17).  I think
> the right solution is to keep the unidirectional reset functionality, and
> implement it in the H2 draft using either new frames or messages, depending
> on the direction we take regarding the state machine.
>
> During the interim, we expressed our flexibility to adapt the design here
> as the H3 design evolves (eg: stream limits), new tools become available
> (eg: CAPSULE) and as we gather implementation experience.
>
> While I think it is important we address this design decision as soon as
> possible, I don't know that it needs to block adoption.
>
> Thanks
>
> -Alan
>
> On 5/23/21, 6:48 PM, "Webtransport on behalf of Martin Thomson" <
> webtransport-bounces@ietf.org on behalf of mt@lowentropy.net> wrote:
>
>     On Sat, May 22, 2021, at 02:06, Victor Vasiliev wrote:
>     > On Thu, May 20, 2021 at 9:37 PM Martin Thomson <mt@lowentropy.net>
> wrote:
>     > > I'm opposed to adoption of this document.  I don't believe that it
> can be made so due to some fundamental differences in how HTTP/2 and QUIC
> stream states.
>     > >
>     > > If this problem was acknowledged, then I have every confidence
> that the people listed as authors are able to find a solution.  But
> generally adoption is about the document more than the people.  Adoption
> means agreeing that the document contains approximately the right shape for
> a solution.  I can't agree with that in this case.
>     >
>     > Hi Martin,
>     >
>     > Could you elaborate on the specific differences between HTTP/2 and
> QUIC
>     > stream state machines that you are concerned about?  The only one I
> am
>     > aware of is unidirectional versus bidirectional reset, and last time
> we
>     > discussed this, the easiest solution was to make HTTP/3 behave like
>     > HTTP/2, which would mean there's nothing HTTP/2 draft would do to
>     > address that.
>
>     That's the one I'm most concerned about, but there is also the whole
> mess around inventing semantics for unidirectional streams that needs to be
> worked into the state machines.
>
>     For reset, sure, you could make the HTTP/3 draft worse to deal with
> the problem.  Why would you want that?  QUIC has a much better set of
> semantics here than HTTP/2.
>
>     There is also the stream state management disconnect for
> server-initiated streams, which currently is only used for server push.
> The draft currently doesn't say anywhere near as much as it would need to
> in order to specify that part.
>
>     And managing allocation of stream limits is a little scant on detail
> in the same way.  I thought we wanted independent limits, which means
> defining new accounting systems.  (Yes, this is a criticism of the HTTP/3
> draft also, but the additional effort required to use QUIC streams is
> entirely justified in that case, because you are getting something in
> exchange.)
>
>     Why bother with all of that when you can just import QUIC frame
> semantics and then serialize them on the same stream?
>
>     Yes, this all boils down to a fairly central question: do we build the
> same thing for HTTP/2 and HTTP/3?  I'm not sure that we want that.  We need
> to do a whole bunch of stuff to use QUIC (BTW, Roberto gets to say "told
> you so" again here), but doing that same work for HTTP/2 doesn't make sense
> unless the changes are minimal.  I'm suggesting that the changes aren't as
> minimal as the rough sketches of protocols we have might imply.
>
>     If you conclude that there are more functions needed, as I have done,
> then you might also conclude that building those same functions into two
> different protocols is not desirable, especially when there are no benefits
> to doing so for one of those protocols.
>
>     --
>     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
>