Re: [Webtransport] Choosing the Transport

Martin Thomson <mt@lowentropy.net> Fri, 24 July 2020 02:20 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 3B9B03A07A9 for <webtransport@ietfa.amsl.com>; Thu, 23 Jul 2020 19:20:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.119
X-Spam-Level:
X-Spam-Status: No, score=-2.119 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_DNSWL_BLOCKED=0.001, 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=SjuQdnMP; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Zn3aNGc9
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 beAamXUTkwBI for <webtransport@ietfa.amsl.com>; Thu, 23 Jul 2020 19:20:19 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F19A43A07D4 for <webtransport@ietf.org>; Thu, 23 Jul 2020 19:20:18 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 539705C0091; Thu, 23 Jul 2020 22:20:18 -0400 (EDT)
Received: from imap2 ([10.202.2.52]) by compute2.internal (MEProxy); Thu, 23 Jul 2020 22:20:18 -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 :cc:subject:content-type; s=fm2; bh=+Qd2m1eYM9TxrInyMpZyDq/1EDgE e9mhcLt/spgHsQg=; b=SjuQdnMPJD52sDICsbPH+kBvlHAJ9TMfP7kz+huKFflR LxailDQceclrkeUJh0dUNUFaPRtB2OSzIdXZ5fEcbwsjpYNyPBDJur3Z5goxUWN8 XbXAeUYBzP5U09heND9eCDAOAXjcgALdkohtKD+8Rla9cy3gVijmE+hqbyTui8ap RVmq6bp8LqIrQ4dp7bMMUedkBHu82glxTiXSZxFCExl9r0ZSTjeeE/VuwH8hlsxJ H9oZZXxZMRexKWbbPTdUfQEG0BSV9TTU0Fqt+cczLqzNTwcj0cIo0HMewaOC6OR1 Lznp9+zgy9ChMm+ATow+uKTqND7De2BVOoEZx9CmMg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=+Qd2m1 eYM9TxrInyMpZyDq/1EDgEe9mhcLt/spgHsQg=; b=Zn3aNGc9qxdC6WiC+Ra355 DzQ1QWm8n6iJicYp9vePoqvOIS9pIJFI+6YkB7hfb/gh8p0SN5b1fQL3XZTtWU2k rCvEd2cg6hnVTmKjU5EvfA+RSRSbE+L71RRGEpVQ9jkw2DAJhJIr7xKPKRFzvNEJ wYtJ/4UUXAk9L/YKzjJjnLftHtTg0vX6A+RJdurUzF8vY1UrVYmJFFgmBzzCgboY vHz8KCVG4iNmkE516laEvc8vIVzA3Lw+3BAUiHm7Zq6FLkuJGQM6yLjHaSBP//Ey Mngi1kF/9n+/uyO0afsicSg5TrNbjIEqySb/CFx6OADe6+SbiFSvuaY59LcL3kJw ==
X-ME-Sender: <xms:YUUaXyc-u4edXWZzADo_v1kimdxbyNxi_jHAhFtYyDziXrortnExqQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrhedvgdehhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtsehttdertderredtnecuhfhrohhmpedfofgrrhht ihhnucfvhhhomhhsohhnfdcuoehmtheslhhofigvnhhtrhhophihrdhnvghtqeenucggtf frrghtthgvrhhnpeeflefhgeefkeehffejheeiffefheehieetjedtvddtffelleefjeev gfffueekieenucffohhmrghinhephhhtthhpnhhtrhgrnhhsphhorhhtihifohhulhgurh gvghgrrhguthhhrghtrghsrgguvghsihhgnhgvrhhrohhrrdgsrgenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmtheslhhofigvnhhtrhhoph ihrdhnvght
X-ME-Proxy: <xmx:YUUaX8Ocemrz8e0-lyrjOdubLFO7_nOppV17D3RcGCoA9et6y4V-3g> <xmx:YUUaXzhJMBSqsntwjHJ6DvAcPyr1omYgvbE1NdAOGUiLrbqZCuPJTg> <xmx:YUUaX__o2k4LPAWreXcfeiBcqCS_4noapWhtLRzZWIfTP4oBWWiAEA> <xmx:YkUaX86msIsm12GwA73A_3j3cGuA2SK23tZIfpyM6VRQkbeqf5GzpA>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 5F915E00C9; Thu, 23 Jul 2020 22:20:17 -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: <3a7c95f9-53cf-4d19-958b-5b4a8eed16f7@www.fastmail.com>
In-Reply-To: <CAOW+2dtcJfJuWvW759P8rxRFg5fL3HKKYgEDNtGKTfgi4e27ZQ@mail.gmail.com>
References: <CAAZdMafWeaZhCVbObPgvYm5gxZu6ksV5VkSoF=8Mx9OJBDA5rA@mail.gmail.com> <CAD7QVt=VdLKwTOyknGRFQV+5Yq-b6UxQcsVTvuLi83qFyktgDg@mail.gmail.com> <55d2f1a0-1d88-4aeb-bfbb-e9d7ffc547f6@www.fastmail.com> <CAOW+2dtcJfJuWvW759P8rxRFg5fL3HKKYgEDNtGKTfgi4e27ZQ@mail.gmail.com>
Date: Fri, 24 Jul 2020 12:19:58 +1000
From: Martin Thomson <mt@lowentropy.net>
To: Bernard Aboba <bernard.aboba@gmail.com>
Cc: WebTransport <webtransport@ietf.org>
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/WTk2y1SideYg6jx-wzU-EmMSrOw>
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: Fri, 24 Jul 2020 02:20:20 -0000

On Fri, Jul 24, 2020, at 11:42, Bernard Aboba wrote:
> It only takes a url as an argument (like the WebSocket constructor).  
> So the implication is that invoking the constructor creates a distinct 
> QUIC connection.  

How do you go from URL to a single connection?  fetch takes a single URL too, but those routinely use existing connections (in all protocol versions).

I also don't see the BlahTransport as having any inherent 1-1 mapping with connections.  If that is the case for Http[N]Transport, I would regard that as a design error.

> [BA]  Note that the Http3Transport  constructor doesn't have an 
> optional QuicTransport object as an argument, so that there's no way to 
> "share" a QUIC transport between Http3 (as used by say, fetch) and 
> Http3Transport.

Again, how did you get there?  I realize that there might be reasons why you might want to avoid sharing, like the rules we have for font fetching, but it doesn't naturally follow that you need a new connection for this.

> There is a reason why this isn't supported, even though it was 
> something that seemed quite desirable. HTTP/3 is very specific on how 
> it uses Stream IDs, so it would be quite tricky to have both the 
> WebTransport and another API like fetch sharing a QUIC connection. 

Now we're getting somewhere.  I agree that getting access to a bidirectional stream in HTTP/3 is tricky (and a unidirectional stream in HTTP/2 trickier), but surely these are spelling problems, not fundamental barriers to multiplexing.