Re: [Webtransport] Measuring the friction of Http3Transport

Luke Curley <kixelated@gmail.com> Mon, 16 November 2020 20:33 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 053823A13D1 for <webtransport@ietfa.amsl.com>; Mon, 16 Nov 2020 12:33:45 -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 pwSPGsbTlXpD for <webtransport@ietfa.amsl.com>; Mon, 16 Nov 2020 12:33:42 -0800 (PST)
Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0: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 6AA973A09C0 for <webtransport@ietf.org>; Mon, 16 Nov 2020 12:33:42 -0800 (PST)
Received: by mail-ot1-x335.google.com with SMTP id i18so17339158ots.0 for <webtransport@ietf.org>; Mon, 16 Nov 2020 12:33:42 -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=+o5HV/hDq2YlPBj7IaK63Of+lXSd6G6RtKjFtRokrPc=; b=EadYUn3z6JALhxKXZFOXx+qLSYUpA+Q4z2t6e1Vz6+ulZR9NJWZS1svxHn7Vk7Yk1a GKa4eer4q/QelijV08pxH7boNf/rSKKn4PGANv+Yshzf3uCuWeK5f4ea3Mc2bEC6Vb0O ACDvlRhb8oC3+lu9K4vvXCj1qBDvYHqQcG5rwwUx1AOybiTLjGoTufOz7tS2ZO+Vho7q 7sv/iW2M1/R+WtuHJt0vvhJTiE22FY0VpbTR30TxI8lgh2XOG8JK0sJPwl9DvIVmB5Bg HuaFyggnUQvbLehxgbVzRJE/f4aJYeOkko3Ps8BpXMwSRx114ebr/JAKIvXJ9JmbgZQv BcVA==
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=+o5HV/hDq2YlPBj7IaK63Of+lXSd6G6RtKjFtRokrPc=; b=mRDPr0FWdPVzSXD4mdpbqHrn4L5BSaDzD0pql1hP1631ha9FL5W1IYv9pxLGCStJyd Hc2Xdlc4MvkJl4gkewAQl3oy9HK9E/eudBEpWRZIaSymbtxsZOfRfiXuHDUu0gaqMB4K qIS0DyBBUIHN9/JonLQXVOHXbwMlP21xsbKSz2A1Kl3mIe6wJk2AvFkFOkZzDzM+TnBT VSXVfLlKDUhbPJ095pdfRpQVTfJpTtxvmkKshaBi9nbhTrnASQEdSOy7gaJyVp+KNOV7 Symr6s79giVd+vkVahE2Fafr7tty0YQ6fUC4BLYhUs99X0hFRDfc36smgg75Aw72171W ZUHQ==
X-Gm-Message-State: AOAM5318D/T8O46lk2izvP4RLVmQrzQMPMCI1Ra7MJ5uAouef1impTNy XTAoPmpOyV96tBaJOWoMegKAwTlmAamfs+zXmKE=
X-Google-Smtp-Source: ABdhPJwc59NsCfwMYdN3jxqs2zfzimBiDcV+sKI3Mw8Tj5NFZmE6vaFmVzUOPbHQhYZrtRas8jdIO+agIrqLA+R38Os=
X-Received: by 2002:a9d:6f90:: with SMTP id h16mr843360otq.35.1605558821559; Mon, 16 Nov 2020 12:33:41 -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>
In-Reply-To: <CAPDSy+4NRvMYUeS2qSkuDCHWic=MkrJFL8_e252z=8KvQ+C5Gw@mail.gmail.com>
From: Luke Curley <kixelated@gmail.com>
Date: Mon, 16 Nov 2020 12:33:32 -0800
Message-ID: <CAHVo=Z=qwyNJhGWF=ZQNcjMkSavNDSm+PCCbxy8MiCAGZ2pajg@mail.gmail.com>
To: David Schinazi <dschinazi.ietf@gmail.com>
Cc: Lucas Pardue <lucaspardue.24.7@gmail.com>, WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000039a22705b43f4ba7"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/hP9buHcQ4AaPL-bRlSsdTuKGKB8>
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: Mon, 16 Nov 2020 20:33:45 -0000

I'll concede that "non-generic" is not a fair description and what I should
have said is "web transport specific". That being said, the current
Http3Transport draft is fairly easy to implement and I don't think that it
poses a significant barrier for adoption.

I think my problem is that I'm extrapolating the Http3Transport design in
my head to deal with other issues. Let me file those issues to see if they
make sense and how they could be resolved instead of jumping to conclusions.

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
>>
>