Re: [Webtransport] Choosing the Transport

Martin Thomson <mt@lowentropy.net> Thu, 23 July 2020 05:57 UTC

Return-Path: <mt@lowentropy.net>
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 4FA0F3A085D for <webtransport@ietfa.amsl.com>; Wed, 22 Jul 2020 22:57:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.12
X-Spam-Level:
X-Spam-Status: No, score=-2.12 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, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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=lowentropy.net header.b=FiO8mB92; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=S9nBOpUz
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 Ho97Q9sQKZJJ for <webtransport@ietfa.amsl.com>; Wed, 22 Jul 2020 22:57:48 -0700 (PDT)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B8613A085A for <webtransport@ietf.org>; Wed, 22 Jul 2020 22:57:48 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id DBF745C00C2 for <webtransport@ietf.org>; Thu, 23 Jul 2020 01:57:47 -0400 (EDT)
Received: from imap2 ([10.202.2.52]) by compute2.internal (MEProxy); Thu, 23 Jul 2020 01:57:47 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type:content-transfer-encoding; s=fm2; bh=z+Yyn iu58nm3QFS2OOW3EQMpLUyRVRmAXVRNtmbSRkI=; b=FiO8mB92ZIlQ8dCxX1L/D 4Z1RgNw3p+r2bphubxRo0e+y+gu3TT5meFW8TN1ctx/bBZnWKZwXJkD8KhmUhNVy d8HF8jhVxGem9qyWu3qb1TdhOEjQeDpi/sI3w6EBdygOEPetNy/XzfyfhzSUQedm J3U81rlspaoakBsnF9a3PR/kOc5ObDFCxsKNSakJYylmo4usryEjjcHAvamT76Ag SoWUZ90l1OorXVqUPB8ly5Rv0uToMxRDOxoM141iaN0OEO7ev/hd/FJHgCTAfuVu Vv/aqbCeQJPPUhhDTCcuRSA6CgfFlR3yWMTvqnvFZdVRXErvVojPO+P5x5SUTL8e A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=z+Yyniu58nm3QFS2OOW3EQMpLUyRVRmAXVRNtmbSR kI=; b=S9nBOpUzqfC5WkPN/g9vbBy/74/ELjU8EerH4iS/PYt2MbcITgic9Kf8E Ve6DUUZuoPN20j/rPwuk0+s02IfJ45ewFojZC+maaMCvVbcfslcRshsQ5HuLPFoV jEFutqyNp8Ro7EAUq8W6Y5NDqX5nYwbgLPfWYaJCbWWOP4TpomAajOHfa0fB+V7v sZZv1mQqCDUj3+g8Jorx62d6AiR4niAimfwwLXCri0B6SrHIzx3/jYcJjji/iYpo K6F3RFQ5bzMDdvx+eONTM3yfLEeb3QHdkUKwQXQuawriaB5lWmAlZkz8ru7KiYTp utBbfYT3Psa+FxrZolNSnI4r5z5Tg==
X-ME-Sender: <xms:2yYZX3fC_aOD0akBxX5O8JXEzCi9kDOytEIZ-mfkhQhSsQ8tA1YiWw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrhedtgddutdegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtgfesth hqredtreerjeenucfhrhhomhepfdforghrthhinhcuvfhhohhmshhonhdfuceomhhtsehl ohifvghnthhrohhphidrnhgvtheqnecuggftrfgrthhtvghrnhepudduvdehjeetfeeuge eiudektefffeeftdffveffteefgeffhefgtdetuedvffelnecuffhomhgrihhnpehivght fhdrohhrghdphhhtthhpvddrthhonecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepmhhtsehlohifvghnthhrohhphidrnhgvth
X-ME-Proxy: <xmx:2yYZX9PSbI_Sm2v0_iU2NPEsmSGqZ5HmaknAY2oHlenU3wTRE-Plqw> <xmx:2yYZXwiuoyI5gAbw7o1P5uS8GQ0B4LFHubzGAKQuvCmenrLahhmUig> <xmx:2yYZX4-1T3JNk422DYjlvLBVXVHUDuy__TGYZtDqPgInXqnDDEIkOw> <xmx:2yYZX0PKa-St7ARzR6-bnYxJcTpAyGEm-Rj6g_HJd5F9dA9XrF8lHg>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 894ACE00A8; Thu, 23 Jul 2020 01:57:47 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.3.0-92-g11c785d-fm-20200721.004-g11c785d5
Mime-Version: 1.0
Message-Id: <3c3dd70a-a2f4-42f2-95c3-913c3afe3fb7@www.fastmail.com>
In-Reply-To: <CAAZdMafWeaZhCVbObPgvYm5gxZu6ksV5VkSoF=8Mx9OJBDA5rA@mail.gmail.com>
References: <CAAZdMafWeaZhCVbObPgvYm5gxZu6ksV5VkSoF=8Mx9OJBDA5rA@mail.gmail.com>
Date: Thu, 23 Jul 2020 15:57:26 +1000
From: Martin Thomson <mt@lowentropy.net>
To: webtransport@ietf.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/L00S7pK9eTmMztIVqUocwvUTHzc>
Subject: Re: [Webtransport] Choosing the Transport
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, 23 Jul 2020 05:57:50 -0000

Thanks for the summary Victor, that really helps frame things.

There are other differences, I think, so it would be good to make sure that we've captured all the relevant ones before making a call.  And understanding all the implications of each is important.

The one that comes to mind is the way that fallbacks work.  In HTTP, you can imagine leaning heavily on the HTTP mechanisms for QUIC upgrade (or TCP fallback), like Alt-Svc and so forth.  The questions raised regarding non-uniform support for features are relevant here, so this isn't completely free.  In another scheme, you can code the fallback directly, even to the point of having it in the API: connect(quicTransport=quic-transport://..., webSocketTransport=wss://...).  In other words, a clean slate means that you have to build the features you want, but you don't necessarily have to deal with the baggage you might not.

I haven't formed an opinion on this yet.  I have a few concerns/wrinkles to add below though.

On Thu, Jul 23, 2020, at 07:23, Victor Vasiliev wrote:
> I was previously concerned that having to 
> implement HPACK/QPACK would be a burden to the Web developers since 
> those are more complex than what you’d typically find in a WebSocket 
> implementation, but now that we have a draft to turn compression off 
> <https://tools.ietf.org/html/draft-vvv-httpbis-alps-00>, I’m less 
> worried about this.

I think that suggests some additional complexities.  You have to implement all of that stack, and trust that browsers do so as well.  As we have learned, sourcing a new capability like this isn't necessarily free.  And this seems at least on-par with ALPN in terms of operational costs for server deployments.  Maybe it is less of a concern as webtransport endpoints are the only ones that need upgrading, but I don't see this as an easy solution.

> While on the surface the question here is “which drafts should we 
> adopt?”, I would like to break this question down into two layers:

I think that there is question zero: do we need to pick one set, or do we need to build all four protocols?

We have not seen sufficient justification for building four protocols rather than two, so I'm firmly in the "do less work camp" on this.

>  1. Do we want to use the wire format in which we try to build 
> minimally on top of QUIC (QuicTransport), or do we base it on HTTP?
>  2. To what extent WebTransport connections act like HTTP connections?  
> Do they have https URLs or a dedicated schema?  Which HTTP headers do 
> and don’t work?

I think that the answer to the second depends on the first.  As much as possible I would prefer NOT to mint new URI schemes, but that is much harder if you define a completely new protocol.  I think that an important question to resolve before this (1.5?) is how these connections integrate into the origin model.