Re: QUIC Versions and Applications

Roberto Peon <fenix@fb.com> Wed, 28 April 2021 16:13 UTC

Return-Path: <prvs=47520b15ea=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 2CD643A12AE for <quic@ietfa.amsl.com>; Wed, 28 Apr 2021 09:13:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.819
X-Spam-Level:
X-Spam-Status: No, score=-2.819 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 R1JL0d352lh9 for <quic@ietfa.amsl.com>; Wed, 28 Apr 2021 09:13:16 -0700 (PDT)
Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) (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 BE1033A12AD for <quic@ietf.org>; Wed, 28 Apr 2021 09:13:16 -0700 (PDT)
Received: from pps.filterd (m0109334.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 13SG3qUb011129; Wed, 28 Apr 2021 09:13:14 -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=HdQeFtxOnx4QtV6BxDbF1bBwRZCGORCOCsU3iOIzGj4=; b=dmewg7CvOhHf8IhQH/ldJk6W3zJnio2cOVB16ekUhuWnMOPE5DtLUyHb1y3ZK+0rbqxm 0hgR9YFNDmG70pjtyeTCErPB/2F2SQL8ZyxvgBupcZHiWAacO652EUh1iET5uVNuGSpf +UGE9JdkfNhhN9qKIzoRAuFY80M0PKx2aJQ=
Received: from mail.thefacebook.com ([163.114.132.120]) by mx0a-00082601.pphosted.com with ESMTP id 3872rdtsjk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 28 Apr 2021 09:13:13 -0700
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (100.104.98.9) by o365-in.thefacebook.com (100.104.94.230) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 28 Apr 2021 09:13:12 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oqq/3P3bPCOfzwiT2S0Kjz0U3uZN6dR9TkIZUDmQDGmZATIliEnVhFflZ4/jdZTFpOsrGEwQXWoAYK5b8xL0oKlqmt3vsBZ2ZnLNtURXbKfTykBfUaRlzU8wb1T/vFf9lVsB5rL64KYCsERbYNwRVJ+nbAiIGS9fOVN3eG/ApgiVZyp9o5BKfpsBcXi4+0z2pRItDa9PiI5vHYWz/JQ/FPuDG1/IgtLSRKy9jZl1st7eRKAXCIZrt50NGdg+/sFFKBUN4kS+T//DtA4yHhlbwgjCW852WJFxMoID5nptnSbVZq94x0RfxxOR9ZUM5rROb/Tfy1x1HdrwGVfftnxnNQ==
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=P+xS/5lqC7xpVkxIuqaoLI7+8L9zUcjAgT5NKFuwHCM=; b=gXPIew6Mz87qI1cpB/U9rZlgKnEcpBGy5+WU7/iivNRs0fiMA37xP75qWs7mVa+/KGnS+TFbFV4fIZzH5akuExvLFKn8lCQOZklV+MEmEifV8qDfGNrX7ELzj5OodJhzgxr4YxqSIRRySiW6QYFgcpecBDEW/ZXxusLsQCPRMM95rrTh/oHt5YjKCgKr3cL6Dg0aZvt/HNJVbhWk9Avhj0Dwmb+yu6W4yHFBwTP2Ch+09Kn/qFS6fbRCccfKB7Tfj2WwKQrg+TKrPFM6O7xzYMLislScO/QiACrgcD1hzUpbqSJzZqPtNNCH4ZQ/+f9i7MAPeQ7kfht3IS1VWFQVsg==
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 DM6PR15MB3975.namprd15.prod.outlook.com (2603:10b6:5:2bb::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.25; Wed, 28 Apr 2021 16:13:10 +0000
Received: from DM6PR15MB2681.namprd15.prod.outlook.com ([fe80::690b:a3e8:e167:7d50]) by DM6PR15MB2681.namprd15.prod.outlook.com ([fe80::690b:a3e8:e167:7d50%7]) with mapi id 15.20.4065.027; Wed, 28 Apr 2021 16:13:10 +0000
From: Roberto Peon <fenix@fb.com>
To: "Roy T. Fielding" <fielding@gbiv.com>, Martin Duke <martin.h.duke@gmail.com>
CC: IETF QUIC WG <quic@ietf.org>
Subject: Re: QUIC Versions and Applications
Thread-Topic: QUIC Versions and Applications
Thread-Index: AQHXPEbP5PUZEp0Ys0uDqV1CZwyX1arKF1aA//+NhYA=
Date: Wed, 28 Apr 2021 16:13:10 +0000
Message-ID: <36D520D4-30D3-483A-B91A-469BB9B30B28@fb.com>
References: <CAM4esxRiqPPWEt4HAhHinMcvF9t7QZ1rhPUqsFUwFOcRH04DQQ@mail.gmail.com> <F5CEBB86-1797-448A-8A74-075A28FD9EAA@gbiv.com>
In-Reply-To: <F5CEBB86-1797-448A-8A74-075A28FD9EAA@gbiv.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.48.21041102
authentication-results: gbiv.com; dkim=none (message not signed) header.d=none;gbiv.com; dmarc=none action=none header.from=fb.com;
x-originating-ip: [2620:10d:c090:400::5:b9d0]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b44fe340-d51b-4790-3074-08d90a60843d
x-ms-traffictypediagnostic: DM6PR15MB3975:
x-microsoft-antispam-prvs: <DM6PR15MB3975F29C4163A7EEFD178943CD409@DM6PR15MB3975.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: fpSDVsHjWvXkCBwGMCUt7ugCCggz3T3blm6u4FXsebVhuLDVJ7VymPjiEV2Bqndy9FpuNBnArtwq0WZ6rzPovoiDaex+QoDqJ7tCii7XUE3wJi2QqXL8xNlTKP0pk9PI8eJu4eOB/fjWcH3MLLIo+VZG5eK3itESwzbNYsbLFJIajmoNP2fexX+FEKkIqpfE3P12EldU7rNCToWsXWhkvuoAYV/Y2jcZyGXJKc3XfJ4XB5wdLv7gKfCyEvDGXbaqCBJMFsTaA+t3/xkQxnerdbv9fUUs/bq5Q5x7/CvZa716LF2INDR1rTOjNPjArYwsliTsnbzfPFvXG+89E1sae6vEvWJal/um8lrk23mkCDaiYo3aCgJbz/3t1Av3ME/1t5ZbdhfxIqj6AGHcsaziv7j9NC/TZB51QCsgLSTrSkcqb0cckh6z073G6wzc9KdAaMcziFrAWjwZcMvLf+Qgq9jtWfsinOyXg4/mM6K+oKrlzwaJPyK/Hg3tWtuDCyT0DpP6pouwiug07NonbBTf/hlaaXCM27bw8wa19zKRT3gvjiD2sb5tdh8jLcKeRMqZPahlv9+WCq2qb78S5yPdIgmvIRayGxpcIdPYdTKbTO0V3VP5Bb8fAJcaTPhXPSCeLfTRLF6qcH6S4W7XpckYSKgu1rShhE962lNBxLZ7CcGG4SOHVQUJ4cdTOygWKiG7aBqyeG7wyxHmA5OkhwmzBwo2xs6pfBBnTKfLB69XINI=
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)(346002)(366004)(396003)(376002)(39860400002)(33656002)(6512007)(8936002)(122000001)(36756003)(86362001)(66946007)(8676002)(38100700002)(64756008)(66446008)(5660300002)(71200400001)(91956017)(186003)(166002)(66476007)(2906002)(2616005)(66556008)(316002)(83380400001)(76116006)(6486002)(4326008)(478600001)(110136005)(6506007)(53546011)(3480700007)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: =?utf-8?B?WEYxTVluWWUzeEl5WUdRZHIvMGVrMVArMWQxcTFoZWRNeTR6NnBkcHdlSkE3?= =?utf-8?B?OXAxUGFLeXgybkFnUzEzcEV3a2VVTHdOSzdqb3NYQ2IrekxWTUVsNkE4MmZQ?= =?utf-8?B?RFlGL216OE5oZ3hvYmFCbUZqYjYwa2RZMzU4aVZLc3libHZPOUdaaEY0Wmla?= =?utf-8?B?Qjk4R05leXdaaDVIcmlIQTVDbFJkMFYveWNnNE5hY2pYOGlFQ1FPUFlWUnZR?= =?utf-8?B?dzdna0RiWjJheWJadXRoMFdRdkNaeFM4QTc4V0kwU3kxb004QTNvV2NzVzZJ?= =?utf-8?B?cXVtbVEvSmN3NlY4RHdtSFZGUS9HOGFSVFpkaEFyYkZpbU5ueGt2a09hU0Nq?= =?utf-8?B?QUhQUDQ2WGhiYlM0dm1GSnpuUmdKWUNRQkFVTGNsckF2UDA2cEgwcmtxalFh?= =?utf-8?B?aTM5QVR2L1ViMGNmeUJEQUJLRXNTOVJteDJscSsyMmtuS2xSMTN3RXl1ck05?= =?utf-8?B?Vzc1M3NUbXpURk45SjgrUjdVaEJQNHk0dEdCb1JOMERqZE8vaXZTTlVSTkxz?= =?utf-8?B?NXhtell5VDFIajFpaWJhVi9Jb2lHQ25TYzl3bWlUZHJLVkJidUVKUi9aZ3dj?= =?utf-8?B?RnpON0x2TTB5VndBZXlIamlzdE1GOXJPUjY2V0s1T00vczlYeGZuem9XcEhP?= =?utf-8?B?UStnSnZJYUNoNzRzeVpUbXBHV2pGbXJJeVltZU9KWjB1ZDdHQlU4dnQ4eVU0?= =?utf-8?B?T05WVUlxOWZ0NzZkdkJjZldJVlRBb1E2a3FnNXd5SWIvUFppT3JtTkFUUUk2?= =?utf-8?B?Rk5VbnlyV0M1ZjdWdURGOTBTV3FoSC9qS3BIeC9raTZuaXExQ0NueDc2WDU2?= =?utf-8?B?Tms1TFQrSk4zQXFDWU1TSGZQVWhCT2YvK09oeUJmOVZHaFI4U0xVYlowRUV5?= =?utf-8?B?TWt0aHdVYS8yN2JSSGhKaU1DQ1dHRDlYYUcrTGMrN2p0ZWQ4Z3E5aHNUZlRK?= =?utf-8?B?bTZXMXlpQk5VcDN6aUNpSlI5RUc4UDQvUnVUcFVIOEswVFh5UElhRFJ1NU1m?= =?utf-8?B?UitoNjV0bHNlcnZGUzlBUmxVUWFuZUVLOTdXYUw0b0RPUWxxUmJFdXNEZERj?= =?utf-8?B?ei9JUTNkTWlTdFkzdEZCMkpzOHFnS0YwSGkwY1ZoOWxLL20xeHAxeGFsVHgx?= =?utf-8?B?QTJabnlkeFFIM0duZko3Tmp5dVBERGg4a1lrendvc0dsVmtqOGFxSVpnZS94?= =?utf-8?B?SGtvZm9NUWdiYU1pYXI2cHZtZUw0Q2VWZk5TWFdjVlpiMVJCUEJCclFmOHk2?= =?utf-8?B?TkhnaVZFY0J5NkREVUZiT0JyZDA0REx0QWdRWTdxMDgxZysyaWJja0U3VytH?= =?utf-8?B?WUkrbVRyOUFYRjFEN1FXRW54a0pHbWJRSDM1aGxtai90bHhMMEMyN1U4SzNn?= =?utf-8?B?eFZIY2pxN2lkMWp6MFJHMVlMZCtIelQzK0lteG5LZVhmN0s3R3NKMDU2Vlp0?= =?utf-8?B?RWFiVEhsTzF5aGNxVEdKSnJMQUdkSE5sTWM1OVZtTTEzSEZ2ZEpKYVlJeEFq?= =?utf-8?B?UkppMlB4NWxpNE5QYTJjZzZiTmZKTEVJZHNabGIvQUtBQ1BqZVFpZ0xza2Zn?= =?utf-8?B?L0c2aCttMTB4Y2JnaVdGb2tZWXVIMDZVbUxlZWVrVHg5S25GZXpaS09ralM3?= =?utf-8?B?bWl6eGhUSEJrWjV4aHJ0cFNYc2UxLzF2bmFIV1lFUysxdzVQU3k4ZktVWEph?= =?utf-8?B?d05XZTJzV0daZ0FTeWhXUVZIT1Q4dTdqV2RpZDJhT0Y0cElJTCtVblkyVWxD?= =?utf-8?B?MCtPMm45QVErbTBKUGUxWnk0SDM1aU01YWdGTlozQzJWcEMwRW1SSFZ4bTcy?= =?utf-8?Q?Q+Giww5g99N7gVC/brruJpzQ+meXK5lv5n3yQ=3D?=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_36D520D430D3483AB91A469BB9B30B28fbcom_"
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR15MB2681.namprd15.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b44fe340-d51b-4790-3074-08d90a60843d
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2021 16:13:10.0816 (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: ed1k2GFexrIF8swAP9HHd+3m/ir+UCf0FaDHn5GQ0n46PZc8Ey578XmsMnbQvY9V
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR15MB3975
X-OriginatorOrg: fb.com
X-Proofpoint-GUID: lCAEEsyqWhFmWVC9Nde29AyUitRTL9oZ
X-Proofpoint-ORIG-GUID: lCAEEsyqWhFmWVC9Nde29AyUitRTL9oZ
X-Proofpoint-UnRewURL: 2 URL's were un-rewritten
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-04-28_10:2021-04-28, 2021-04-28 signatures=0
X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=0 lowpriorityscore=0 suspectscore=0 spamscore=0 priorityscore=1501 phishscore=0 adultscore=0 clxscore=1011 impostorscore=0 mlxlogscore=935 bulkscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104280103
X-FB-Internal: deliver
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ADXi8UrFIi62EK1_D-RDej5kuuA>
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, 28 Apr 2021 16:13:21 -0000

Yup. There is a potential combinatorial problem here when mapping to one number, especially with DATAGRAMS as they exist today where the semantics of the session aren’t apparent to any intermediary machinery.

I suppose the question is.. is this bad enough to require a statement of (a minimum of) two versions?

If option #1 implies incompatible apps, then.. things won’t work very well.

-=R

From: QUIC <quic-bounces@ietf.org> on behalf of "Roy T. Fielding" <fielding@gbiv.com>
Date: Wednesday, April 28, 2021 at 9:03 AM
To: Martin Duke <martin.h.duke@gmail.com>
Cc: IETF QUIC WG <quic@ietf.org>
Subject: Re: QUIC Versions and Applications

It's almost as if application-layer protocols need two version numbers,
one to indicate wire syntax and another to implement semantic capability over
time within a compatible syntax. I wonder where I've heard that before?

....Roy


On Apr 28, 2021, at 8:54 AM, Martin Duke <martin.h.duke@gmail.com<mailto:martin.h.duke@gmail.com>> wrote:

Yesterday there was an interesting conversation on Slack, about whether h3 needed a new ALPN for QUICv2, that made me realize I had a very lazy mental model where applications needn't worry about QUIC versions and QUIC versions could be oblivious to what the app is doing. This isn't true at all.

The basic dilemma here is that either

(1) applications need explicit updates when new QUIC versions roll out, if for no other reason than to say that they are fully compatible. This would make it hard to get rid of old QUIC versions, and slow deployment of new ones, as some apps never change. Or

(2) Each QUIC version has to enumerate which applications work with it and which don't, which seems... not scalable. Or

(3) There is a compatibility matrix with quic versions as rows and applications and columns, and any time a spec adds a row or column it should fill that row or column out completely. Or

(4) There are strict limits on future versions so that they don't take away existing functionality (e.g. there MUST be an ability to get reliable streams). or

(5) Applications MUST have application-layer fallbacks if some QUIC features aren't available (the way MASQUE can use QUIC STREAM frames if DATAGRAM isn't supported) - or maybe it can throw an application error

Maybe there's an alternative I can't see. The applicability draft<https://www.ietf.org/archive/id/draft-ietf-quic-applicability-11.html#name-port-selection-and-applicat> (currently in WGLC) says that each ALPN unambiguously defines the QUIC version, which I guess is option (1).

There are second-order questions like: is this mediated through ALPN or something else? But the first-order question is which layer has to manage all this.