I read that sentence a different way. In my reading, a WebTransport implementation that uses a new TCP connection for each session (e.g. atop HTTP/1.1) would be entirely acceptable: it supports multiple simultaneous sessions between the same client and server (on separate TCP connections).
An example of a noncompliant implementation might be something that sits inside a WebRTC session and wraps a single WebRTC Data Channel, without the ability to renegotiate the connection. --Ben ________________________________ From: Ian Swett <ianswett=40google....@dmarc.ietf.org> Sent: Friday, June 6, 2025 11:40 AM To: marco=40marcopolo...@dmarc.ietf.org <marco=40marcopolo...@dmarc.ietf.org> Cc: Lucas Pardue <lu...@lucaspardue.com>; quic@ietf.org <quic@ietf.org>; WebTransport <webtransp...@ietf.org> Subject: [Webtransport] Re: Reminder: upcoming QUIC virtual interim 2025-06-02 You make some good points and I agree with your conclusion. I like to think of WebTransport as an incarnation of QMux that's more restrictive in the ways you outline. On Thu, Jun 5, 2025 at 6: 21 PM <marco=40marcopolo. io@ dmarc. ietf. org> You make some good points and I agree with your conclusion. I like to think of WebTransport as an incarnation of QMux that's more restrictive in the ways you outline. On Thu, Jun 5, 2025 at 6:21 PM <marco=40marcopolo...@dmarc.ietf.org<mailto:40marcopolo...@dmarc.ietf.org>> wrote: Hi all, During the meeting, the comparison to WebTransport came up multiple times. The question seems to be: "WebTransport has already defined an API that works across various underlying transports, why not use that instead of QMux?". At a very high level these are doing similar things, so the question is natural. To better answer the question, I assigned myself the homework of reviewing the WebTransport overview draft[0] and outlining why it would or would not obviate the work for QMux. WebTransport at its core is designed and constrained by the Web Security Model. It imposes restrictions that make sense in the context of the Web, but make less sense for lower level applications and non-browser use cases. Take for example the following restrictions: > All WebTransport protocols MUST use TLS or a semantically equivalent security > protocol. While I think TLS + QMux will be a common combination, I do not believe the core QMux proposal should be restricted this way. As mentioned in the meeting, QMux would be useful on Unix Domain Sockets where TLS would simply be overhead. > All WebTransport protocols MUST support simultaneously establishing multiple > sessions between the same client and server. I missed this requirement and I think it's problematic in practice. I have a very widely deployed server that only supports HTTP/1 and HTTP/3 and never intends to support HTTP/2. It'd be nice to support WebTransport on that server for both HTTP/1 and HTTP/3, and I don't think it's practical to make a version of WebTransport that supports multiple sessions over HTTP/1. Adding the webtransport mailing list to see what the relevant WG's thoughts are on this MUST. This asks more of the underlying transport than what we need in QMux. Which, summarizing from the meeting, is something like a "Secure Byte Stream". > All WebTransport protocols MUST provide a way for the user agent to indicate > the origin > [RFC6454<https://urldefense.com/v3/__https://www.rfc-editor.org/rfc/rfc6454__;!!Bt8RZUm9aw!-xswDm0k2z5PC5ukjDKaByidWQ2RBg7qBSp7DCmmOdS2_9qyI-G3noiBIE8Cub6NHEzeYUoXQ5ATPiZWh5yMSCExprk$>] > of the client to the server. When building on top of TLS, I think this is included. Either way, I'm not sure it would make sense to restrict QMux in this way. > User agent/Client separation I don't think this is necessary for many of the QMux use cases. The WebTransport Protocol framework is well designed for the Web Security Model. Many use cases we discussed in the meeting live outside that model. In my mind, QMux is a lower layer in the abstraction stack. QUIC is not constrained by the Web Security Model, and neither should QMux be. I think it's reasonable to imagine a WebTransport over QMux implementation (just as I think it's reasonable to imagine a WebTransport over QUIC implementation. IIRC I think someone working with moq said they had something like this). I'm not convinced that WebTransport, even a WebTransport over TCP implementation, can fulfill all of the usecases we have in mind for QMux. To summarize, I like WebTransport. While there is overlap at a high level in the API both WebTransport and QMux provide, QMux serves a more general use case than WebTransport. We should not shoehorn WebTransport into solving these general use cases. [0]: https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-overview-09<https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-overview-09__;!!Bt8RZUm9aw!-xswDm0k2z5PC5ukjDKaByidWQ2RBg7qBSp7DCmmOdS2_9qyI-G3noiBIE8Cub6NHEzeYUoXQ5ATPiZWh5yMOx4paWg$> -- -Marco Munizaga On May 27, 2025, at 3:00 PM, Lucas Pardue <lu...@lucaspardue.com<mailto:lu...@lucaspardue.com>> wrote: Hi folks, This email is a reminder that we'll be holding a virtual interim next week on the topic of QMux: 2025-06-02 21:00-23:00 UTC. The datracker page has further inforation including the MeetEcho link that we'll be using [1]. Participation is open but a free datatracker account is required. An agenda has been posted [2]. As usual this is subject to change up to and including the meeting itself. This meeting will run slightly different from past meetings focused on adopted documents and issues. Time will be dedicated to sufficient discussion of the QMux topic, with the focus being to iterate on the scope of work to do and proposed charter text to permit that in the QUIC WG. As usual, any meeting outcomes will be brought back to the list for confirmation. Cheers Lucas & Matt QUIC WG Co-chairs [1] - https://datatracker.ietf.org/meeting/interim-2025-quic-01/session/quic<https://urldefense.com/v3/__https://datatracker.ietf.org/meeting/interim-2025-quic-01/session/quic__;!!Bt8RZUm9aw!-xswDm0k2z5PC5ukjDKaByidWQ2RBg7qBSp7DCmmOdS2_9qyI-G3noiBIE8Cub6NHEzeYUoXQ5ATPiZWh5yMPBgLMCs$> [2] - https://github.com/quicwg/wg-materials/blob/main/interim-25-06/agenda.md