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

Roberto Peon <fenix@fb.com> Wed, 23 June 2021 16:15 UTC

Return-Path: <prvs=58089d6861=fenix@fb.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 4502D3A3C93; Wed, 23 Jun 2021 09:15:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.293
X-Spam-Level:
X-Spam-Status: No, score=-2.293 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.198, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=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 (1024-bit key) header.d=fb.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 vNS07FgEvW_k; Wed, 23 Jun 2021 09:15:51 -0700 (PDT)
Received: from mx0a-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) (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 6533E3A3C92; Wed, 23 Jun 2021 09:15:51 -0700 (PDT)
Received: from pps.filterd (m0001303.ppops.net [127.0.0.1]) by m0001303.ppops.net (8.16.0.43/8.16.0.43) with SMTP id 15NGDhAQ003662; Wed, 23 Jun 2021 09:15:46 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=facebook; bh=1BJ4GTDSDcdmIwuIHZ6t2y+xQ6CfxC20/eeyiI3FrF8=; b=N4Tvj7Ma0M0fcjXLZLFlHJ0/ambb5OWFwJRuzlEAzJadQSC2DhcdVCJZpbwoKley7PQN BCichgqrBeMa04lwvIWwKbxwTN//Vu0jyC4/ZtztTFIGQ1mJm0PqCGddKDj0IqzUYqeu pv8BnVb65LwJjxJvmeGC3Le+0dJH5Bj8fuA=
Received: from maileast.thefacebook.com ([163.114.130.16]) by m0001303.ppops.net with ESMTP id 39bs7tdtb7-13 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 23 Jun 2021 09:15:46 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (100.104.31.183) by o365-in.thefacebook.com (100.104.36.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 23 Jun 2021 09:15:43 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X+jZxHz2e33Kb6Ma1yA3+tg7xi/0vvypofxaXPpcKJsFgGhJw1lbyMHOkPFGgvAm1cnkEkw8bXQGX51RoRIBovQMXb0dcnp3pd4eGFWdBpsWz7vjQPWDYolbu1G1f9wQZH8ijAGBAlzhQwp29Hry0MHVHK3tCDigfN1liJaQO0jOIOeBd3KIMXnN5iFNttK42PH78ti7ieQfCrmeWtN6KLwkotRksnBrEofC6uitCY2Yw1+6ADe85CilT3FKf3rXcKN/d35NZi28/PfTqk3FaVDc+qVtxdVqpRjwymBi+qoYFHZkr8Fx2ySUwVsZy+9042mDlD7JEZj3nd60DwqYMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1BJ4GTDSDcdmIwuIHZ6t2y+xQ6CfxC20/eeyiI3FrF8=; b=BEKwekFE4TMOZOLqfXEoSTX//cLr1sOb4qQIC4JzVS07pBW8X4x4Dtp3WkbLJ7Jr/OxKSZdhBPx5z8fcOK/38fCfxneodlvnZpMgpQ3ojMWsHYP9cDo8FtPQ9aGGPgc/Ueii8ponhC4he5J3RXbaVHDweYpfzYdFZljU34O+vx8JDtamWXZ2FaUrmPq9vZQZ4SWFEwb3jWepq3FgsQqQVYT2Ayik1tVE8HphKJsXoAt4pbAb3C9kTWhxnCY9XvEr1i+/Xj36COVfeztyXY7K1LbzQBNI7JyLFFCrgSU/lWL/Ku2lVAsus7jNtTbZ3LBUpBKkuYeu0TttGkrGfJbV6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none
Received: from DM6PR15MB2681.namprd15.prod.outlook.com (2603:10b6:5:1aa::28) by DM6PR15MB4107.namprd15.prod.outlook.com (2603:10b6:5:ce::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Wed, 23 Jun 2021 16:15:41 +0000
Received: from DM6PR15MB2681.namprd15.prod.outlook.com ([fe80::394f:309b:aafe:5f57]) by DM6PR15MB2681.namprd15.prod.outlook.com ([fe80::394f:309b:aafe:5f57%3]) with mapi id 15.20.4242.023; Wed, 23 Jun 2021 16:15:41 +0000
From: Roberto Peon <fenix@fb.com>
To: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>, Patrick Meenan <patmeenan@gmail.com>
CC: MASQUE <masque@ietf.org>, Samuel Hurst <samuelh@rd.bbc.co.uk>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, Lucas Pardue <lucaspardue.24.7@gmail.com>, David Schinazi <dschinazi.ietf@gmail.com>, QUIC WG <quic@ietf.org>, Kazuho Oku <kazuhooku@gmail.com>
Subject: Re: Prioritizing QUIC DATAGRAMs (was: Re: [Masque] Prioritizing HTTP DATAGRAMs)
Thread-Topic: Prioritizing QUIC DATAGRAMs (was: Re: [Masque] Prioritizing HTTP DATAGRAMs)
Thread-Index: AQHXZ3c3dU9eyT4/HkudPlM8RT/csKshRumAgAAmDQCAACaFAIAAFzmA//+nCQA=
Date: Wed, 23 Jun 2021 16:15:41 +0000
Message-ID: <10DAFB0C-ADDF-43DE-8313-8A45ACACBFFE@fb.com>
References: <CALGR9ob=3CywgYvLJpSba6xCGwDEBzdJbuco28BMk9ayMcFe6Q@mail.gmail.com> <CAKKJt-d0srxhm==cxyXuJuDiqUk0sEgOAJRY+6ejq21LQVPsgQ@mail.gmail.com> <CALGR9oZOp5YWMWx61Etq42McOi02LOjxtRLL+xHhDpHKS94ukA@mail.gmail.com> <b9d7e589-df4a-0440-b5d4-847cca5a6908@rd.bbc.co.uk> <CALGR9oYRE0hBap+=VEr-KPD7Qp6gZZ_gg_0bcaDoquthKikMJg@mail.gmail.com> <CAJV+MGz=sszxnUn-oSrGbd_az7QPATLB_3VeaHmC4R1Gj0ua8g@mail.gmail.com> <53BD22F8-2BAA-4F9A-9673-77AD781C2EDD@gmail.com>
In-Reply-To: <53BD22F8-2BAA-4F9A-9673-77AD781C2EDD@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.49.21050901
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=fb.com;
x-originating-ip: [2620:10d:c090:400::5:630c]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 57017607-22ad-4985-e7a4-08d9366225bf
x-ms-traffictypediagnostic: DM6PR15MB4107:
x-microsoft-antispam-prvs: <DM6PR15MB410738A19F599FA5D8F58F46CD089@DM6PR15MB4107.namprd15.prod.outlook.com>
x-fb-source: Internal
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: c+onjRQcw9EjWGFnS8ZXSOUQXsytZhFrmFdX4uM/vfsmu4kSrkLPcu+MhrxhkZLp3FvCj5txmriuzFnkQFDdio3X0VG0amWYeFlQrrjfJRdCZVMNGTV6oCFsAxIty0MsaCfZe5Knmhdx24IT/oRFOxamhxFvV6zaYiaBFIhfiLtmSAt5WhITwEOx0doR1pB2TRY0dvoK1eKcz93smH1WiVrdnXK0CV8OOwQJJ/rbihmuUPXep6J54SUYxFR9KjXL6YwJF3L/p0G/wHFQykcKiDGGp0iwAK7WujbipIcP02XjriwGwwOgs80Elyax8lof0xd2T/NIKsUnu3DrQZZqPypU2gbUPlKGIrsOSnB7rGiobPhYLPM4knvLHI4XraACF6SM0qfoq8pNW2x2PNgyNGBXbS/7ymI7jsA9mQNTfbzDJqS6YXu4EDOmiWBEiGNWXUv/MrJpxas8XXKYVYW94srQwqg93Wlt/SpM2zOO7ByA1iRAzbETItT5r+K6NmqR+rU4m9fl34Urc+rjdqGtLrl1NdfrmjIsAAGD4f//YI+grCrs7d95JvXbQy6xvzpIaEHh44z261HtbXVrpGlGZj6V6JBK/OknQbmDciXDSLd/Vr3YxQT3aBxUV8w7/DAc7QxI5oR9ZcGDIe2wABCaKg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR15MB2681.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(6486002)(83380400001)(66574015)(66946007)(186003)(86362001)(38100700002)(71200400001)(36756003)(76116006)(8676002)(91956017)(6512007)(478600001)(7416002)(122000001)(2616005)(4326008)(110136005)(33656002)(5660300002)(66446008)(64756008)(6506007)(54906003)(53546011)(316002)(8936002)(66556008)(66476007)(2906002)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: y5e7AEjWzVJyTrogGDZNJnOw7BWXS/xt8BAu+E5xsAgZs5XBn/jejQ6uheRdJJFpnV+bx5989E8r7FDiiwixAZOzHSE547Z9rY0WfIS1oKqK8WorOiQY6VUZeiSMLaP9IRYmVDbm9r4qSrkshobwck9lz/HRtE2fX/LO0qEMYSeQGUfYVnuben6W5+N/lTTzw3UP51iXMcExZoL3ZHpN4vIWzaz5rPFlR4JsGabYGy14AB98udqINyt/4icr7Tfk56DfiiJIXnxVyDcoVz8q9vxaN59HUzhcbLNmxUH2AJu+LH/nI9eeHhTOPplXrHK+H41cze/9nf2tk9FTjFnaIGFYJ2hmLllkXSHH6i8VjQCOugpIhNJqPupiFyw7e3POOXlzpu87KtKrT68OtR2hpdzIxoULMAaNDpc73HbJ7FqS6gMIEDPJHxLtwjHJw0iSjggaEiWLAnrHa0ATCiUtUiIH/bFUH5uX3EDbg44AzrpkG4KFQVnON+BBZyhjRoul8BLZSmRR8THK0zdnoAEg01gCcOPsG+oTDcDDaRw1NBc3ungGBHy93bKEDag/19i0mXCDYbVEOUtCz3BPuAMNO/nNgdPbFnFAJ7kCSeOm2ag/zckLFdBUir32zhz3fkQoUPQUndM5pU4r21eFZTQyL23EW+oyxz/eJTLFINtFNbxdkSfCMgmY7AAGkl7CirHhMfpSEul8TVUYI/COjNoc/dN7+rx6wjifdhjh0FD21KiFDJAebfWwlIWrH/qTTb6/uiNfMLW9FT7bj6+DO2cXwR3msNvtEbrkh4iOYZK+kSYhJTaVYWjekXYPQ1CxJxsSwSRfD+RALnbzi9Pqn8pXIKL47zs8zD4A8fzRb+qDPk4V+GZTyoLee/gNLxzPMew3Tp7MNppZTtFqCdZtci/odwkruZxwJKTDNXwpy9ClUpT/LjsxBYGkS0J6IVt2K9ap+Jj2FYeFSayGUaKTBLMEWU8xLDQd2OZu4/JulbqdmpntOIi48tnsn/so837yBXXhtMFZ5mpKPc7RLTXq1mlFJuk3/Q9mDMhwV6+zrSPq0jkEp/rUhBqe4yTPdLIRKZSHwHBjUyoQPaJo+AHtOq3X7sKk+luy0MKHVh0CEcjiu0dcN7hxEhc0vpFy6Nf/VW6ChjTUFBG9AhAyGcTZlWoJUGvDUPNEHj2YBbWSnnBKxpY667fQ0m7rMlkj7jZol7ZJ/Cy4KPznCsxtyRLxd7mr9h7KzWTzTTENTa7nYylpWKK8gYrRDxBncb8RZ5qOfEUBq1jkDJDmL/Q6FQs7M3EwnDHnDUuDZhbl+yfZZD5eXoOmn95wjAFRjOGdkU7zM8y9gkVLHG/TZOJjw7OehLjBQUOcXotjy9lPzb+ycESt9/M=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_10DAFB0CADDF43DE83138A45ACACBFFEfbcom_"
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR15MB2681.namprd15.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 57017607-22ad-4985-e7a4-08d9366225bf
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2021 16:15:41.6575 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: TbIBzQbULJCJqzLu5zylschtATBuSj8gF5giQufoZkAoAMoh6W/PFg2N+j98lQ7J
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR15MB4107
X-OriginatorOrg: fb.com
X-Proofpoint-GUID: 5B9EV5BvosjBkYpeS1GnTj_eWK_j6YXh
X-Proofpoint-ORIG-GUID: 5B9EV5BvosjBkYpeS1GnTj_eWK_j6YXh
X-Proofpoint-UnRewURL: 0 URL was un-rewritten
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.790 definitions=2021-06-23_12:2021-06-23, 2021-06-23 signatures=0
X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=0 priorityscore=1501 mlxlogscore=450 adultscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 mlxscore=0 clxscore=1011 bulkscore=0 phishscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106230095
X-FB-Internal: deliver
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/aJzWT2nCEWy4iMDvDBLm_VIaf_k>
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: Wed, 23 Jun 2021 16:15:56 -0000

Protocol mechanism-wise, Mux/Demux requires framing.
A normalized framing scheme leads to normalized and/or interoperable mux/demux.

Similarly, routing and prioritizing both require an address space, and having it be normalized leads to interop.

The above is probably completely obvious, but mentioning it again just in case..
This is all that is required on the protocol side to do whatever routing/muxing/prioritization.

The problem, as it was with HTTP2, is that what the protocol allows won't matter if the APIs available to applications don't expose it.
Please don’t learn the wrong lesson w.r.t. the HTTP2 priority stuff—the complexity is and was relevant, yes, but we should be far more worried about the API side.

-=R


From: QUIC <quic-bounces@ietf.org> on behalf of Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
Date: Wednesday, June 23, 2021 at 7:34 AM
To: Patrick Meenan <patmeenan@gmail.com>
Cc: MASQUE <masque@ietf.org>, Samuel Hurst <samuelh@rd.bbc.co.uk>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, Lucas Pardue <lucaspardue.24.7@gmail.com>, David Schinazi <dschinazi.ietf@gmail.com>, QUIC WG <quic@ietf.org>, Kazuho Oku <kazuhooku@gmail.com>
Subject: Re: Prioritizing QUIC DATAGRAMs (was: Re: [Masque] Prioritizing HTTP DATAGRAMs)




On 23 Jun 2021, at 15.10, Patrick Meenan <patmeenan@gmail.com<mailto:patmeenan@gmail.com>> wrote:

Using multiple connections should be strictly worse than streams sharing a connection, otherwise we probably have a gap that needs to be filled. Multiple connections kicks the can down to the congestion control algorithms for each of the separate connections to play nicely with each other and hopefully result in a decent experience. With a single connection we should have better knowledge over the overall transport and make better decisions.

For what it’s worth I me mentioned this as a potential downside when the protocol was drafted but consensus were, as I recall, that the protocol shouldn’t be designed around overlapping protocols, but that any specific application protocols were free to document how they would interoperate.

Giving up on datagram IDs simplifies a lot and provides application protocols with more freedom and less overhead than forcing a specific ID system. As Lucas pointed out, even if you have IDs there it is not trivial for multiple application protocols to co-exist. For example, an application protocol might  use all even ID’s for game audio, and all uneven IDs for active game state and controller data. Then someone decides to use that protocol to run communication with a remote controlled wheel chair protocol. But that protocol assigns even ID’s to left wheel speed, and uneven ID’s to right wheel speed. And so on and so forth.

Instead you would design an app interop header for all datagrams. For example if the high bit of the first byte in a datagram is set, the first byte codes for the sub app protocol, and the following data is then sub app specific. If the high bit is not set, the 7 following bits is a sequence number modulo 128. Just as an example. Then app protocols can refer to this meta protocol as a means to coordinate.

As Lucas also pointed out, stream IDs also do not work with multiple sub app protocols, at least not in all cases due to implicit context assigned to certain stream IDs. Note that stream IDs are not necessarily handed out in arbitrary order by the transport layer. This might be the default, but app protocols can require more precise control from the transport layer, which of course limits the number of usable stacks for that application.

Mikkel