Re: [Webtransport] Measuring the friction of Http3Transport

David Schinazi <dschinazi.ietf@gmail.com> Tue, 17 November 2020 05:29 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 0C0D93A0E01 for <webtransport@ietfa.amsl.com>; Mon, 16 Nov 2020 21:29: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 5163aTPgfovZ for <webtransport@ietfa.amsl.com>; Mon, 16 Nov 2020 21:29:15 -0800 (PST)
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) (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 EA27F3A0DFE for <webtransport@ietf.org>; Mon, 16 Nov 2020 21:29:14 -0800 (PST)
Received: by mail-lj1-x236.google.com with SMTP id s9so22817645ljo.11 for <webtransport@ietf.org>; Mon, 16 Nov 2020 21:29:14 -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=pod9hmMKuik5Utq7qRxMeMIDHqXfB9Ic3tHh2MK2Zqw=; b=a8R4SkUQuoYEjX/INOzLck6mMTJ/81WjMgikOOaJtmhv2NWarQUBlkcQ5t8aO8ZDxH jNdTSJQscKa2ZGe3nx3sqxJf7P1OoyJ1ws4QVNKo3p7l6x2ZMQagadVo5dEYyitic4Z2 THQkNe+T1MmIvaEmv7vLbQE9moH+9wZ/2br1lsdvHG9UXQyb54YEOWS0ZroRHlQYu8lJ VwfXMdGDiQKqSLZ4FQxBrlDE1jY9SSoWgFB66CFOkW3vhQEX3tFsTfzfc4s6UMxyP9bH 1fzkyCiU3j3GYsGuukJqI0JXKYOtOV46ncVo8pQfQ56HmRX09dkrsrBDTni0JAW1KFMB SfGQ==
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=pod9hmMKuik5Utq7qRxMeMIDHqXfB9Ic3tHh2MK2Zqw=; b=PTNzggY2V5FaOJjR7AlY4qYzUfMCfra5YdxeidGc/6Qmm5PoxQuyPnOHxZMTqa3lHe S2JAVMRyJX7Hv3NvRiZpE+kNBuoyxKjsK3RdfZc6up3QoQxcHZHNxKL0cBU2ULQ3IvU9 Jd3DyCPlXYifS6qH44EZTQRknolGWc0+2BBwdM2L73v1e1CUUgZH8ejwlscS9zD4i/Wn 3oFG8/jkDXZMTg4K1J9vaLiu2XCzR/3cqcAil5AT2DP86bNHzktCm8CMVZTx8Albj+Qc wEbteb1qU2diOZuECiRcHOMHC3A/k9XoGJfSKFu2a32p3eNLoRD2O4geDZ3bNoRz7jDt Z+Xw==
X-Gm-Message-State: AOAM530MuFYNz1dxvG8Cpbae/u7l+wjcaXshwXOBvsKsTtC0aXE7t7xw /5Gpk5fqtU+YakUvf1De7WKC5n4E262RkMkiQvI=
X-Google-Smtp-Source: ABdhPJxvvDQfp57jFPJVJOHvuus1vk/UN3/fX2dhwTu5edc6WIeeWlgs27/ODm/hUSJIjvsMu0vDC1mz9hrWWglgoiQ=
X-Received: by 2002:a05:651c:319:: with SMTP id a25mr1177635ljp.333.1605590952796; Mon, 16 Nov 2020 21:29:12 -0800 (PST)
MIME-Version: 1.0
References: <CALGR9oZo3rPeSund3Te6NgEhfBq5yCYmvdFFtTZqkoZ_Js9AMw@mail.gmail.com> <CAHVo=Zk-1J55MMqRPGFc86k3ncHq9rdw1Qty_CtE4-ezi=C54A@mail.gmail.com> <CALGR9ob-0DNqnJA4OHQinATuzCn+mN8K7dfGHK+FQia99GGDsQ@mail.gmail.com> <CAHVo=ZnC0o8XGT-jJ6U6oMEd9AJyx00o1wu7HfG5RZTLhdn=2g@mail.gmail.com> <CAPDSy+4NRvMYUeS2qSkuDCHWic=MkrJFL8_e252z=8KvQ+C5Gw@mail.gmail.com> <CAOW+2dsd72duTsHUcimYddi_JFOWQ0k9b5E7JWDeX_AOy5Uw5A@mail.gmail.com> <CAPDSy+7-enTafBePpjLKdq-j6WVo3=bC1EXOZ1s-c4verraRFQ@mail.gmail.com> <CAOW+2dsVSTcvYsKB7XB7GJy6eo4sTr70LJcKWtoQ1KLhVKpmOA@mail.gmail.com> <CAKcm_gPUfBUVz8Kh-jbHeUDCOAfF6FsjLHYsF6aZDgbCkMUw8Q@mail.gmail.com> <CAPDSy+6TCOJwxDgS+tWyshDnMDrwGYSYVQMSw3rdgj_GtE2E5g@mail.gmail.com> <CAHVo=Zk51+BAZxY6+-iUaM9cqFApnsyAeeoJ4YmqqA-uR3ojJw@mail.gmail.com>
In-Reply-To: <CAHVo=Zk51+BAZxY6+-iUaM9cqFApnsyAeeoJ4YmqqA-uR3ojJw@mail.gmail.com>
From: David Schinazi <dschinazi.ietf@gmail.com>
Date: Mon, 16 Nov 2020 21:29:01 -0800
Message-ID: <CAPDSy+76Z9UF4Mjey-R_Kpi7vWqzJ86K9kw-Z=2aPfcz=YCgEw@mail.gmail.com>
To: Luke Curley <kixelated@gmail.com>
Cc: Ian Swett <ianswett@google.com>, Bernard Aboba <bernard.aboba@gmail.com>, WebTransport <webtransport@ietf.org>, Lucas Pardue <lucaspardue.24.7@gmail.com>
Content-Type: multipart/alternative; boundary="00000000000065649105b446c6ed"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/z6_avMVOzCLx5F8BLFzukMHhNGU>
Subject: Re: [Webtransport] Measuring the friction of Http3Transport
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: Tue, 17 Nov 2020 05:29:19 -0000

On Mon, Nov 16, 2020 at 6:02 PM Luke Curley <kixelated@gmail.com> wrote:

> I think that's a good starting summary David. Some things worth mentioning:
>
> For 1 and 4, Twitch is using QuicTransport for both native applications
> (ex. mobile, desktop, devices) and web applications. It's minor, but we
> benefit from the ability to use any QUIC library (technically we don't
> implement datagrams...) instead only those with HTTP/3 and Http3Transport
> support. I think this context was missing in the previous discussions.
>

Can you clarify which implementations you were considering that support
QUIC+DATAGRAM but not HTTP/3?


> For 3, QuicTransport can support 0-RTT if we declare the path/origin
> handshake to be idempotent
> <https://github.com/vasilvv/webtransport/issues/16>... unless the new
> connection is routed to a different host. Both pooled Http3Transport and a
> new QuicTransport connection could take the same number of round trips.
>

0-RTT state isn't saved across ALPNs, even if it's to the same host. So
Http3Transport would get inline 0-RTT but QuicTransport would not get 0-RTT
unless you've already performed a QuicTransport handshake in recent history.


> For 4 and 5, I'm worried about flow control
> <https://github.com/vasilvv/webtransport/issues/22>. tl;dr a
> Http3Transport session could easily exhaust flow control limits for the
> entire connection. This seems especially negative if pooling is performed
> transparently (ex. a Http3Transport session may silently break HTTP/3 or
> other sessions).
>

Unintentionally hitting the connection-level flow control limit is a
serious implementation bug. I wouldn't expect this to still be a problem
once implementations mature. I wouldn't want to base our protocol choices
based on a bug in non-production-ready implementations.


> On Mon, Nov 16, 2020 at 5:10 PM David Schinazi <dschinazi.ietf@gmail.com>
> wrote:
>
>> I'd like us to take a step back, I think we're conflating many different
>> topics here, and it's making it impossible to reason about this (at least
>> for someone running on not enough sleep like I am this week).
>>
>> Topic 1: the complexity of implementing Http3Transport as opposed to
>> QuicTransport on the client
>>     From my perspective, all browsers interested in WebTransport are
>> implementing HTTP/3, so I don't see much complexity there.
>>     Please reply here if you know of complexities I'm not seeing
>>
>> Topic 2: the complexity of implementing Http3Transport as opposed to
>> QuicTransport on the server
>>     As far as I know, most server-side QUIC stacks also support HTTP/3,
>> and for QuicTransport they already have DATAGRAM support so I think the
>> delta is negligible.
>>     Please reply here if you know of complexities I'm not seeing
>>
>> Topic 3: the benefits of pooling WebTransport
>>     This allows saving round trips to get WebTransport up and running
>>     This allows sharing congestion control state
>>     This allows letting the QUIC implementation prioritize DATAGRAMs vs
>> HTTP requests instead of relying on the kernel or routers which have less
>> information
>>     Overall, I think pooling is beneficial (though not an absolute
>> must-have)
>>     Please reply here if you know of benefits I'm not seeing
>>
>> Topic 4: the difficulty of pooling Http3Transport on the client
>>     It appears that all browsers that are interested in WebTransport are
>> implementing pooling in their HTTP/3 stack so additionally pooling
>> WebTransport should not introduce more complexity
>>     Please reply here if you know of complexities I'm not seeing
>>
>> Topic 5: the difficulty of pooling Http3Transport on the server
>>     This one is trickier. If you have frontends that know how to route
>> HTTP requests to backends, DATAGRAM support is going to be a whole new
>> world.
>>     However, and I think this is really important: implementing this on
>> the server is OPTIONAL.
>>     The server can easily use a different hostname (and different TLS
>> certificates) for HTTP vs WebTransport and clients will not pool the two
>> together.
>>     Once you use different domain names per WebTransport object,
>> Http3Transport has the exact same pooling properties as QuicTransport.
>>     Please reply here if you know of complexities I'm not seeing
>>
>> What am I missing?
>>
>> Thanks,
>> David
>>
>>
>> On Mon, Nov 16, 2020 at 4:45 PM Ian Swett <ianswett@google.com> wrote:
>>
>>> I'm *very* concerned about any functionality that *requires* pooling.
>>> Pooling is a client-specific optimization and pooling policy is subject to
>>> change(within reason) at any time.  If applications are saying "it'd be
>>> cool if we could share congestion control and loss recovery state between
>>> H3 and WebTransport most of the time", then I can see there being
>>> real(albeit small) benefits, just like there would be for putting
>>> DataChannels and RTP into one QUIC connection for WebRTC.  If people are
>>> intending to rely on pooling so an HTTP(hopefully H3) request can trigger a
>>> WebTransport response, I think we're in a world of pain and
>>> over-optimization.
>>>
>>> This is more obvious in light of the fact that a WebTransport
>>> endpoint is likely not a generic CDN endpoint, as has been clearly stated
>>> by Mark Nottingham.
>>>
>>> Bernard's comments above point to a tighter coupling between HTTP/3 and
>>> WebTransport than I think is practical in production, unless I
>>> misunderstood(which I may have, it's been a long day).
>>>
>>> All of this makes me think we should punt the HTTP based WebTransport
>>> options down the road a year or so and focus on QuicTransport initially.
>>> It's not to say we won't do them, but they're clearly more complex
>>> than QuicTransport and it'd be good to have real deployment experience
>>> prior to starting so we know what the requirements are and where the
>>> dragons are lurking.  Also, the W3C should design APIs that make it easy to
>>> detect failure to establish a QUIC-based WebTransport, and this ensures
>>> those are well exercised.  Maybe we DO require pooling under certain
>>> conditions and describe those, but there are likely privacy concerns under
>>> some circumstances and I'm not enough of an expert to know what would be
>>> acceptable to all clients.
>>>
>>> Some people in the WG may think we have to release a TCP based
>>> WebTransport at the same time as a QUIC based one, but I don't think that's
>>> true and even if we standardized them at the same time, it doesn't mean
>>> both will achieve wide deployment at the same time.  As I said at the mic,
>>> I don't see any reason YouTube would deploy a TCP based WebTransport given
>>> it will have to maintain an HTTP/1.1 option for basically forever and
>>> they've spent a good bit of effort to make sure that works as well as it
>>> can.  It's clear to me there are compelling use cases right now for
>>> QuicTransport, but the driving use cases for the fallback are not clear to
>>> me.  Consistency is intellectually appealing, but doesn't drive deployments.
>>>
>>> Ian
>>>
>>> On Mon, Nov 16, 2020 at 6:36 PM Bernard Aboba <bernard.aboba@gmail.com>
>>> wrote:
>>>
>>>> David said:
>>>>
>>>> "Where does this come from? A lot of QUIC servers are implementing QUIC
>>>> datagrams, and once you have those the delta with h3 datagrams is
>>>> negligible. Additionally, multiple h3 server implementers have indicated
>>>> they want to support WebTransport. It's starting to feel like the pushback
>>>> on HTTP3Transport is purely based on a perception of complexity from folks
>>>> who haven't tried to implement it? If that's the case, then we should get
>>>> some implementation experience to confirm or debunk that theory."
>>>>
>>>> [BA] The pooling use cases often involve an interaction between an
>>>> HTTP/3 request/response and WebTransport.  so the HTTP/3 Request doesn't
>>>> just elicit an HTTP/3 Response.  It also causes something else to happen,
>>>> something that isn't specified in the HTTP/3 protocol, such as eliciting a
>>>> datagram flow or bi/unidirectional stream from the server.  This is what is
>>>> contemplated in several of the "Live Event" use cases, where the HTTP/3
>>>> Request/Response would be requesting the desired Event. The major advantage
>>>> over HLS is avoiding Head-of-Line blocking, reducing video freezes and
>>>> stalls.  So developers understand the value that support for datagrams and
>>>> server-initiated streams can provide - the question is whether they'll have
>>>> all the interoperable pieces in place to deploy it.
>>>>
>>>> Just because a generic HTTP/3 server supports QUIC and WebTransport,
>>>> doesn't mean that it will support these use cases.  I've been asked whether
>>>> better interoperability and wider ecosystem support could be achieved by
>>>> extending HTTP/3 in a way more in keeping with the existing protocol design
>>>> - such as by allowing an HTTP/3 Request to specify a resource to be
>>>> returned in a flow of datagrams.
>>>>
>>>> The situation might be more tenable if the node.js framework had HTTP/3
>>>> and QUIC modules on the horizon.
>>>>
>>>> On Mon, Nov 16, 2020 at 1:00 PM David Schinazi <
>>>> dschinazi.ietf@gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Mon, Nov 16, 2020 at 12:40 PM Bernard Aboba <
>>>>> bernard.aboba@gmail.com> wrote:
>>>>>
>>>>>> Luke said:
>>>>>>
>>>>>> "My primary concern is that Http3Transport requires non-generic
>>>>>> modifications to the HTTP/3 layer mostly to support connection pooling. I'm
>>>>>> worried that this will limit support for Http3Transport and complicates any
>>>>>> HTTP/3 implementation that does support it."
>>>>>>
>>>>>> [BA] I have also heard this concern from developers. The concerns
>>>>>> primarily arise from the pooling of HTTP/3 Request/Responses with
>>>>>> WebTransport. This does enable some interesting use cases, such as a
>>>>>> Request/Response (e.g. gRPC) that can result in a server sending datagrams
>>>>>> or initiating bi-directional or uni-directional streams.  So there is
>>>>>> perceived value, but the question is whether that value will be widely
>>>>>> supported across the HTTP/3 ecosystem.
>>>>>>
>>>>>> At this point, most generic HTTP/3 servers are not expected to
>>>>>> support HTTP/3 datagrams (not part of the HTTP/3 protocol) or
>>>>>> Http3Transport (perceived as a niche protocol), so that pooling would only
>>>>>> be possible when using a framework.  node.js will not have QUIC support for
>>>>>> 12-18 months (held up by OpenSSL) so even framework support is expected to
>>>>>> be limited.
>>>>>>
>>>>>
>>>>> Where does this come from? A lot of QUIC servers are implementing QUIC
>>>>> datagrams, and once you have those the delta with h3 datagrams is
>>>>> negligible. Additionally, multiple h3 server implementers have indicated
>>>>> they want to support WebTransport. It's starting to feel like the pushback
>>>>> on HTTP3Transport is purely based on a perception of complexity from folks
>>>>> who haven't tried to implement it? If that's the case, then we should get
>>>>> some implementation experience to confirm or debunk that theory.
>>>>>
>>>>>
>>>>>> On Mon, Nov 16, 2020 at 11:37 AM David Schinazi <
>>>>>> dschinazi.ietf@gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Nov 16, 2020 at 11:34 AM Luke Curley <kixelated@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> We're on the same page that there's code in HTTP/3 that could be
>>>>>>>> leveraged for QuicTransport in the form of the header parsing. I think
>>>>>>>> there's a path to merge QuicTransport and Http3Transport by leveraging
>>>>>>>> HTTP/3 for the handshake and QUIC for stream delivery.
>>>>>>>>
>>>>>>>> My primary concern is that Http3Transport requires non-generic
>>>>>>>> modifications to the HTTP/3 layer mostly to support connection pooling. I'm
>>>>>>>> worried that this will limit support for Http3Transport and complicates any
>>>>>>>> HTTP/3 implementation that does support it.
>>>>>>>>
>>>>>>>
>>>>>>> Hi Luke,
>>>>>>>
>>>>>>> I'm curious, could you elaborate on what these "non-generic
>>>>>>> modifications to the HTTP/3 layer" are please?
>>>>>>>
>>>>>>> Thanks,
>>>>>>> David
>>>>>>>
>>>>>>>
>>>>>>>> On Mon, Nov 16, 2020 at 4:49 AM Lucas Pardue <
>>>>>>>> lucaspardue.24.7@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Luke,
>>>>>>>>>
>>>>>>>>> On Mon, 16 Nov 2020, 12:26 Luke Curley, <kixelated@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Just to clarify, when I say "QuicTransport is simpler" I really
>>>>>>>>>> mean "QuicTransport has greater interoperability". You can take any QUIC
>>>>>>>>>> implementation (+ datagram extension) and add a thin layer to support
>>>>>>>>>> QuicTransport. It's a nice layering of protocols and it's something that I
>>>>>>>>>> want to see in general as QUIC replaces TCP.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks for the clarification. I appreciate the sentiment. But
>>>>>>>>> given the development of QUIC its kind of surprising that people would find
>>>>>>>>> it easier to identify an implementation that supports QUIC and datagram but
>>>>>>>>> does not support HTTP/3.
>>>>>>>>>
>>>>>>>>> Thr situation for a more clean-room implementation is different, I
>>>>>>>>> agree. However, by the time you've done all the hard stuff with QUIC, a
>>>>>>>>> very focused HTTP/3 layer ends up quite thin too. You can ignore dynamic
>>>>>>>>> compression, server push and extensibility points.
>>>>>>>>>
>>>>>>>>> I also see the current design being the thin end of the wedge. The
>>>>>>>>> proposal I linked talks about HTTP-like header parsing. So its "just" a
>>>>>>>>> thin layer to do some parsing. Then folks will probably want some want to
>>>>>>>>> tweak parameter, acontrol channel, a way to do graceful close, a sprinkle
>>>>>>>>> of GREASE. To extrapolate forward, what would be the delta be between some
>>>>>>>>> final product QuicTransport and HTTP/3. Too small a delta and we've wasted
>>>>>>>>> years of effort.
>>>>>>>>>
>>>>>>>>> Cheers
>>>>>>>>> Lucas
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Mon, Nov 16, 2020 at 3:16 AM Lucas Pardue <
>>>>>>>>>> lucaspardue.24.7@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi folks,
>>>>>>>>>>>
>>>>>>>>>>> To follow up on one thread of discussion during IETF 109. To
>>>>>>>>>>> over simplify what we've heard a few folks say, they prefer QuicTransport
>>>>>>>>>>> because it simpler and they don't need pooling.
>>>>>>>>>>>
>>>>>>>>>>> I'd like to push more on this, what is the measurable complexity
>>>>>>>>>>> of HTTP/3 over QUIC plus a new application mapping that needs to be
>>>>>>>>>>> defined? Let's isolate pooling as a variable and ignore it.
>>>>>>>>>>>
>>>>>>>>>>> Victor mentioned his proposal for a unified header semantic
>>>>>>>>>>> across all transports, this is
>>>>>>>>>>> https://github.com/ietf-wg-webtrans/draft-ietf-webtrans-overview/pull/4/files.
>>>>>>>>>>> Taking a closer look at it, I have some concerns that I added as comments.
>>>>>>>>>>> HTTP has semantics for a reason. If QuicTransport is going to start
>>>>>>>>>>> borrowing HTTP piecemeal, I really wonder how simple people might feel it
>>>>>>>>>>> is. I think it's important to avoid something that looks like HTTP but
>>>>>>>>>>> behaves differently. Is it really much of a stretch to just do HTTP/3 but
>>>>>>>>>>> give it a different ALPN so that we avoid problems related to
>>>>>>>>>>> cross-protocol pooling?
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Lucas
>>>>>>>>>>> --
>>>>>>>>>>> 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
>>>>>>>
>>>>>> --
>>>> Webtransport mailing list
>>>> Webtransport@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/webtransport
>>>>
>>>