Re: Prioritizing QUIC DATAGRAMs (was: Re: [Masque] Prioritizing HTTP DATAGRAMs)

Samuel Hurst <samuelh@rd.bbc.co.uk> Wed, 23 June 2021 08:39 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3EA223A2FA1 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 23 Jun 2021 01:39:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.988
X-Spam-Level:
X-Spam-Status: No, score=-2.988 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.248, MAILING_LIST_MULTI=-1, NICE_REPLY_A=-0.338, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
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 B0aS_evwM0WM for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 23 Jun 2021 01:39:21 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C1C03A2FA0 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 23 Jun 2021 01:39:21 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1lvyOD-0001hi-1e for ietf-http-wg-dist@listhub.w3.org; Wed, 23 Jun 2021 08:37:45 +0000
Resent-Date: Wed, 23 Jun 2021 08:37:41 +0000
Resent-Message-Id: <E1lvyOD-0001hi-1e@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <samuelh@rd.bbc.co.uk>) id 1lvyNn-00012q-D0 for ietf-http-wg@listhub.w3.org; Wed, 23 Jun 2021 08:37:18 +0000
Received: from tlsmtp1.telhc.bbc.co.uk ([132.185.161.173] helo=tlsmtp.bbc.co.uk) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <samuelh@rd.bbc.co.uk>) id 1lvyNk-0006LY-Cq for ietf-http-wg@w3.org; Wed, 23 Jun 2021 08:37:14 +0000
Received: from gateh.lh.bbc.co.uk ([10.118.193.77]) by tlsmtp.bbc.co.uk (8.15.2/8.15.2) with ESMTPS id 15N8auU0017155 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 23 Jun 2021 09:36:57 +0100 (BST)
Received: from mailhub0.rd.bbc.co.uk ([172.29.120.128]) by gateh.lh.bbc.co.uk (8.14.5+Sun/8.13.6) with ESMTP id 15N8auN4019522; Wed, 23 Jun 2021 09:36:56 +0100 (BST)
Received: from [172.29.197.176] (port=33298) by mailhub0.rd.bbc.co.uk with esmtp (Exim 4.92) (envelope-from <samuelh@rd.bbc.co.uk>) id 1lvyNT-0004uX-TE; Wed, 23 Jun 2021 09:36:56 +0100
To: Lucas Pardue <lucaspardue.24.7@gmail.com>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, QUIC WG <quic@ietf.org>
Cc: David Schinazi <dschinazi.ietf@gmail.com>, Kazuho Oku <kazuhooku@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, MASQUE <masque@ietf.org>
References: <CALGR9ob=3CywgYvLJpSba6xCGwDEBzdJbuco28BMk9ayMcFe6Q@mail.gmail.com> <CAKKJt-d0srxhm==cxyXuJuDiqUk0sEgOAJRY+6ejq21LQVPsgQ@mail.gmail.com> <CALGR9oZOp5YWMWx61Etq42McOi02LOjxtRLL+xHhDpHKS94ukA@mail.gmail.com>
From: Samuel Hurst <samuelh@rd.bbc.co.uk>
Message-ID: <b9d7e589-df4a-0440-b5d4-847cca5a6908@rd.bbc.co.uk>
Date: Wed, 23 Jun 2021 09:36:55 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1
MIME-Version: 1.0
In-Reply-To: <CALGR9oZOp5YWMWx61Etq42McOi02LOjxtRLL+xHhDpHKS94ukA@mail.gmail.com>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="wjzvmepAJGmFXS1jLbIwbFxdqeXQO5kta"
Received-SPF: pass client-ip=132.185.161.173; envelope-from=samuelh@rd.bbc.co.uk; helo=tlsmtp.bbc.co.uk
X-W3C-Hub-Spam-Status: No, score=-8.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1lvyNk-0006LY-Cq 7adfc91c9eab7f14a1729b31e87ad3fb
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Prioritizing QUIC DATAGRAMs (was: Re: [Masque] Prioritizing HTTP DATAGRAMs)
Archived-At: <https://www.w3.org/mid/b9d7e589-df4a-0440-b5d4-847cca5a6908@rd.bbc.co.uk>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/38935
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On 22/06/2021 15:58, Lucas Pardue wrote:
> On Tue, Jun 22, 2021 at 2:57 PM Spencer Dawkins at IETF
> <spencerdawkins.ietf@gmail.com <mailto:spencerdawkins.ietf@gmail.com>>
> wrote:
>     I believe
>     that https://datatracker.ietf.org/doc/draft-hurst-quic-rtp-tunnelling/
>     was bumping up against the desire to use QUIC datagrams for
>     tunneling and the recognition that we don't have an agreed-upon way
>     to multiplex (and demultiplex) datagrams that are carried in the
>     same QUIC connection. 
> 
>     Do you see any connection between prioritizing datagrams and
>     multiplexing/demultiplexing datagrams?
> 
> Speaking personally. Yes there is a connection. But it only really
> matters where there is competition for resources, which typically
> manifests when things occur concurrently.
> 
> draft-ietf-quic-datagram calls these entities and says [1]
> 
> If the application protocol supports the coexistence of multiple
> entities using datagrams inside a single QUIC connection, it may need
> a mechanism to allow demultiplexing between them.
> 
> This really means the problem of defining the demultiplexing is left as
> a job to the application,
> if it needs it. And I think that is the correct choice because, as we're
> finding out in
> HTTP/3 DATAGRAM, we're evolving our understanding of demultiplexing
> requirements
> within the context and constraints of HTTP.

The primary issue that I can see with this is that it potentially leads
to the inability to use DATAGRAMs for multiple application protocols in
an interoperable way. While it's fully possible for one application to
de/multiplex it's own traffic on the DATAGRAM channel, multiple
applications sharing the same tunnel might have different (and
incompatible) ideas on how to use an identifier that multiplexes
traffic, or may use different mechanisms entirely.

It's this danger of lack of interoperability that I don't like. I don't
like the idea of having to write lots of application notes saying "you
can do A but not with B, but B and C can coexist", which leads to
applications exploding when someone does something unexpected with
option D down the line, that I didn't foresee.

Of course, I don't know exactly how much call there is for doing this.
For example, with regards to my RTP Tunnelling draft [1] that Spencer
linked to above I haven't encountered a need to run something alongside
RTP/RTCP in DATAGRAMs yet, but that's not to say that it isn't a
possibility.

> I don't know if draft-ietf-quic-datagram needs to say anything specific
> about prioritization.
> Maybe it could crib some test from RFC 9000 Section 2.3 [2], so that
> people builiding
> DATAGRAM-based applications are aware of the considerations.

I'm certainly interested in some form of prioritisation for my RTP
Tunnelling draft [1], as protocols like RTP run in real-time and other
things getting in the way can easily cause poor quality of service. This
could be by making the application use longer receive buffers than
necessarily to ensure smooth audio and video playback at the receiver,
or random pauses and glitches in the stream.

Best regards,
-Sam


[1]: https://datatracker.ietf.org/doc/draft-hurst-quic-rtp-tunnelling/