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

Lucas Pardue <lucaspardue.24.7@gmail.com> Tue, 22 June 2021 14:59 UTC

Return-Path: <lucaspardue.24.7@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 314AD3A27E9; Tue, 22 Jun 2021 07:59:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.847
X-Spam-Level:
X-Spam-Status: No, score=-1.847 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_ENVFROM_END_DIGIT=0.25, 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 sfKki8u7jhE1; Tue, 22 Jun 2021 07:58:55 -0700 (PDT)
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) (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 EF8713A27E8; Tue, 22 Jun 2021 07:58:54 -0700 (PDT)
Received: by mail-ed1-x530.google.com with SMTP id m14so7410385edp.9; Tue, 22 Jun 2021 07:58:54 -0700 (PDT)
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=Ma/GpLzWW1EeG1HJ7r+bp07ubWNsjOcnZaWN0SfMC3k=; b=efE+XHuauHrmcl8v1Qqu/dbvWKjsUHy8zPwkyaCvSTuyJ9M8G9ApUA0Zy2EN4ubRR8 Eejt7HHathvLQEhTD5Lp7LP3qiZeyufzUCU0FcE9e6LmdxU2hAqXM3tbgsaBDBCwAWRh OqrWvjNowkZgIieNkDh0ck1c/6DAZe6tMhhBWKY9uBeXh3BLLqH74QRS7n/qXjpgyqpC c3IWBrVqxq+arPmmyVGMrgFWA1ZfayHWbRLuqY73Q3ne/wgBRp3Px6KSOmynK2sCRP52 OoSt8tOEIJKz+ExekOaNnB3goipO6dKXiyswpAiVxwJu4eJD97UjlZLI9wcdDB7J9XoJ RH2g==
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=Ma/GpLzWW1EeG1HJ7r+bp07ubWNsjOcnZaWN0SfMC3k=; b=aWIuo5kqWGdXekpjc9TE2w32i8fU6jYOJEp70NGc8EDwv96O4BILqYS9eZl4nd6MxW uGxlCQilQ0kSGMseX0pCcJvww4AufKAm4aZmwkLd+Xy9V2BY1dl8+qwVCu415KMTATh2 ZVGe/VCdZZbEc6eOULd/tlXKlqpuRNG6KzHz1rFk2MJG6BrnZIv7ZKBGnsA6rteEGrkU yBzAP/ZiDeUsIHjItNIMKW4l72CCJmwOWAlAShFTeZjWSk/rIORdQW2uQxIhb3nrqdM5 dyUElMmiQbvN1hUrvCRh37SBGAuTk7gtI+Ss4YynBF5yFqdQ/v9Q3PK8qs/sBXptgTLm rvuw==
X-Gm-Message-State: AOAM533AsfiL+zxbWCzMedOT6MYH0Hop1fEHZaQzpfjUlrhYEWc6a6Jc 2Zmlk5Rcj66sWr7nzU6flhzGTjdCkCSx+sFHrCc=
X-Google-Smtp-Source: ABdhPJxn7VMjNLi/ZwrHtREjc4Mkbqfqzf1h57Yzqn3yutHi3024xsd5LmXtV0s/EeyX5A91ngW1TjCic0mkTkwnFIc=
X-Received: by 2002:a05:6402:2813:: with SMTP id h19mr5554590ede.39.1624373932855; Tue, 22 Jun 2021 07:58:52 -0700 (PDT)
MIME-Version: 1.0
References: <CALGR9ob=3CywgYvLJpSba6xCGwDEBzdJbuco28BMk9ayMcFe6Q@mail.gmail.com> <CAKKJt-d0srxhm==cxyXuJuDiqUk0sEgOAJRY+6ejq21LQVPsgQ@mail.gmail.com>
In-Reply-To: <CAKKJt-d0srxhm==cxyXuJuDiqUk0sEgOAJRY+6ejq21LQVPsgQ@mail.gmail.com>
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Tue, 22 Jun 2021 15:58:41 +0100
Message-ID: <CALGR9oZOp5YWMWx61Etq42McOi02LOjxtRLL+xHhDpHKS94ukA@mail.gmail.com>
Subject: Prioritizing QUIC DATAGRAMs (was: Re: [Masque] Prioritizing HTTP DATAGRAMs)
To: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, QUIC WG <quic@ietf.org>
Cc: HTTP Working Group <ietf-http-wg@w3.org>, MASQUE <masque@ietf.org>, David Schinazi <dschinazi.ietf@gmail.com>, Kazuho Oku <kazuhooku@gmail.com>
Content-Type: multipart/alternative; boundary="0000000000004015d605c55c0752"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/1bXZ2xpQ8IOFr1JLYWdmgz52Rig>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Jun 2021 14:59:00 -0000

Hey Spencer,

Spinning out a new thread that I think is most suited to the QUIC WG.

On Tue, Jun 22, 2021 at 2:57 PM Spencer Dawkins at IETF <
spencerdawkins.ietf@gmail.com> wrote:

> Hi, Lucas,
>
> On Tue, Jun 22, 2021 at 8:40 AM Lucas Pardue <lucaspardue.24.7@gmail.com>
> wrote:
>
>> Hello HTTP and MASQUE,
>>
>> Over the last couple of months, the question about prioritization with
>> respect to HTTP DATAGRAMs has come up first in MASQUE issue # 46 [1] and
>> then HTTP issue #1550 [2], which was also discussed during the recent HTTP
>> interim.
>>
>> Extensible priorities is pretty far along it's journey, which has so far
>> been focused on HTTP message content (and CONNECT tunnel data, see PR #1544
>> [3]). The scheme fulfills the needs of the base HTTP/2 and HTTP/3
>> specifications, and so far hasn't considered extensions. Extensible
>> priorities acts as a replacement for HTTP/2's prioritization scheme, while
>> being the only known scheme defined for HTTP/3. However, there is nothing
>> to prevent alternate schemes being defined or used in the future (although
>> we hope the need for that can be avoided by the extensibility here).
>>
>> Endpoints that send DATAGRAM flows concurrently with other flows or
>> streams have to make scheduling decisions. Therefore, the question about
>> how to prioritize them, and to communicate that via signals, is a good one.
>> However, currently the editors of draft-ietf-masque-h3-datagram and
>> draft-ietf-httpbis-priority (disclosure: I am co-editor on both) feel that
>> linking these two drafts directly is not the best approach for either.
>>
>> On draft-ietf-masque-h3-datagram issue #46 [1], we resolved the
>> discussion by adding text to say that prioritization of HTTP/3 datagrams is
>> not defined by the document.
>>
>> For draft-ietf-masque-h3-datagram issue #1550 [2], the proposed
>> resolution is PR #1559 [4]. The PR adds a clear statement that the document
>> is focused on HTTP content and CONNECT tunnel data. It also makes clear
>> that extensions like DATAGRAM can also use the scheme but punts that to
>> their court.
>>
>> Kazuho and I are seeking some feedback for PR #1559 [4] before landing
>> it. We appreciate that this leaves a gap for DATAGRAM priorities,
>> especially since DATAGRAM says nothing. But the thought process is that
>> another Internet-Draft could fill this gap. This would create an indirect
>> relationship that would allow documents to progress independently. I'm
>> planning to start a draft soon and have it ready by IETF 111. Which WG it
>> should belong to is probably another matter for debate.
>>
>
> What follows is certainly off-topic for HTTPbis, and probably for MASQUE
> as well, but if it's worth talking about, you'd know better where we should
> talk about it.
>
> 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.

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.

Cheers,

Lucas


[1] https://datatracker.ietf.org/doc/html/draft-ietf-quic-datagram#section-5
[2] https://www.rfc-editor.org/rfc/rfc9000.html#section-2.3



>
> Best,
>
> Spencer
>
>
>> Cheers
>> Lucas
>> Wearing co-editor hat for HTTP/3 DATAGRAM and Extensible priorities
>>
>>
>> [1]
>> https://github.com/ietf-wg-masque/draft-ietf-masque-h3-datagram/issues/46
>> [2] https://github.com/httpwg/http-extensions/issues/1550
>> [3] https://github.com/httpwg/http-extensions/pull/1544
>> [4] https://github.com/httpwg/http-extensions/pull/1559
>> --
>> Masque mailing list
>> Masque@ietf.org
>> https://www.ietf.org/mailman/listinfo/masque
>>
>