Re: ALPN and QUIC versions
David Schinazi <dschinazi.ietf@gmail.com> Wed, 12 January 2022 21:31 UTC
Return-Path: <dschinazi.ietf@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 69A843A1E4F for <quic@ietfa.amsl.com>; Wed, 12 Jan 2022 13:31:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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_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 hPXYUCpMfIpR for <quic@ietfa.amsl.com>; Wed, 12 Jan 2022 13:31:33 -0800 (PST)
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) (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 388E23A1E4D for <quic@ietf.org>; Wed, 12 Jan 2022 13:31:33 -0800 (PST)
Received: by mail-pl1-x62f.google.com with SMTP id l15so6251240pls.7 for <quic@ietf.org>; Wed, 12 Jan 2022 13:31:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=A+YbE11yUZqNF7bNqb3HLVdXi7+euVAC5K5xxNkGcTI=; b=b/rFYbE4CythH7XD5DcpS5SFnqM2jML1wyBUs6KzXuBumMSE9HriVQ0xAlFFRwJvTr Ma965hEaTa2K3znmwyHsgrzPFZ/kS5LwvyyAaUPMzC3R0mRIp2gckWJNR/pKn1UXz+vV 3s6XyDLOWCzxYF+m3+k4KhV6Ok+XY+mSRyNrlUs2PQ6mMUWHO3iaz5oFVIR0wQCtXHky wXt72Dsb4lh+F6p7Q1Ik7ID9X/FAFaRz1JQcMuKvqHCsOQLaGi2iGk3XLQxV+rjGGY7t 6h2Ct3UlcqlF+PlcGa5qo1V1jzwMlg8GOchD9IOkhRueObBO+2U7RgszUBRRlS6xFlGO 3kWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=A+YbE11yUZqNF7bNqb3HLVdXi7+euVAC5K5xxNkGcTI=; b=69f2gqiJCUz+5XbJpjAqtBVFeQp1cqT0y2nL1d0GvsfGmCgr30PCXcazo/Nf8pZrzP i7V040ngPsCTzUbtGdnpm6V5FsWCegDPIKgg/uaIXtUGMIk6gfP/yAHd8HPMM68oHduw xjXWnBB0QF9WjfO8zSCERVW/Np1Vd/eBgRMhFCWmi0Xosw86F1GD1q1uwxoPioJFi7Q3 T7f0CfU2wF8gAwbMcSGMsp5lJUugWE9GRfSrE5kHBPpRB11u9NHaZGx6Srq9X2bcktNu 7Mok0jPpcu6cLxZsAZjpDAIluVzqO5KryWJ9dpnf15h+EIjT746R6ilaP84jGy9eheO+ Y31Q==
X-Gm-Message-State: AOAM530cEVUeieh7n2KPJi64rmn72pkf2+ZB7k4lJuNqC0KsLWnyO7t5 40QP/bwEfp/RTmCXPMSAv9tN/ppWDAFOJ506GgipvXWP7kQ=
X-Google-Smtp-Source: ABdhPJwdAZZeP8ho7V4241/mkFHZbLQb6cTMQBGH0c+3azlUPfbCJrYgkCvvjbKfvIeDgVsvHPWLnkPadmuGgCmpYas=
X-Received: by 2002:a63:9d86:: with SMTP id i128mr1369359pgd.526.1642023091420; Wed, 12 Jan 2022 13:31:31 -0800 (PST)
MIME-Version: 1.0
References: <CAM4esxSLAMNZQ73sEk-8LnVRiv00b-PDVPmUqY3iMxCSYui0fw@mail.gmail.com> <CALGR9oYhPLC0cUAxt-9a7OqCL5-VLJ-2K+UihFmJ=-8w=QR=Fg@mail.gmail.com> <CAKcm_gNQEqB4cymek2CoqkKEvdS14eSbS0f3wYXed7m3VFRhMA@mail.gmail.com>
In-Reply-To: <CAKcm_gNQEqB4cymek2CoqkKEvdS14eSbS0f3wYXed7m3VFRhMA@mail.gmail.com>
From: David Schinazi <dschinazi.ietf@gmail.com>
Date: Wed, 12 Jan 2022 13:31:20 -0800
Message-ID: <CAPDSy+4fYhL24YT-UNC8dpWOmWfnCwRUWhiqC+KPTqYX=wDD1Q@mail.gmail.com>
Subject: Re: ALPN and QUIC versions
To: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000013c2e605d5694b84"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/tNPXkcJ08qhyj28gWrrWoLsjvUo>
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, 12 Jan 2022 21:31:35 -0000
Hi ALPN enthusiasts, Since we've made some good progress on QUICv2, I think it's time to reopen this thread - so I've opened a GitHub issue for it: https://github.com/quicwg/quic-v2/issues/30 In a nutshell, if we don't do anything there won't be a way to deploy QUICv2 without QUICv1 support, and I think we should make that decision consciously. Please send thoughts on the issue. Thanks, David On Fri, Jun 4, 2021 at 11:49 AM Ian Swett <ianswett= 40google.com@dmarc.ietf.org> wrote: > I do think this is worth discussing(again) now that we're about to ship > the first application on top of QUICv1 as well as the applicability > drafts. We don't have a ton of time to make adjustments, but maybe enough > time. > > I think Lucas' thinking is heading in a good direction. My mental model > is that new versions could declare if they offer the featureset of another > version. So I can mint a bespoke version of QUIC and as long as it > supports the v1 featureset, it'll use the same ALPN. Could a version of > QUIC specify that it supports the features of multiple versions(ie: a > version of QUIC like v1 and one that only supports datagrams)? > > Having every application or extension specify which features it's > dependent upon sounds a bit problematic in practice to me, but maybe it's > not so bad. > > There are lots of workable ways to do this, but minting a new alpn for > every transport version does seem a bit excessive unless we're not going to > have many transport versions. > > Ian > > On Wed, May 19, 2021 at 8:09 PM Lucas Pardue <lucaspardue.24.7@gmail.com> > wrote: > >> Hi Martin >> >> Speaking as an individual. There's a lot to consider here, I don't have a >> complete response. >> >> For a start, I think there are ways to rephrase the applicability draft >> text to get over some thorniness - seems I'm on the hook to do that, >> reviews will will welcome. >> >> To respond to one of your suggestions >> >> >> On Wed, 19 May 2021, 16:27 Martin Duke, <martin.h.duke@gmail.com> wrote: >> >>> >>> 4) There is no formal trail of linkages. New version RFCs should say >>> what apps they support (possibly as generic as "all v1 applications work >>> with the new version") and applications should say if (a) the list of >>> usable versions is other than the full known set and (b) what properties it >>> needs from a QUIC version to operate. This is the path I took in a v2 PR >>> <https://github.com/martinduke/draft-duke-quic-v2/pull/6> [3], which >>> has no official standing whatsoever. This makes the forensics to obtain the >>> full list of usable versions quite a bit harder, but won't explode the ALPN >>> registry or the front page of HTTP/3. >>> >> >> I might grade incompatible breaking versions on at least two criteria. >> First, is the wire image the same? Second, are the protocol feature changes >> that break the contract with upper layers, which would cover removing >> features, changing features in ways that break dependent behaviour, adding >> features that break dependent behaviour. >> >> Such a grading exercise would appear to be a useful function of the QUIC >> WG in the long run. What I mean by this is that (hypothetically) we should >> encourage versions to state if their compatibility with other versions is >> breaking or non-breaking. The QUIC version IANA table could, for >> example, codify some of this. >> The group has the expertise to assess such claims and the desire to avoid >> version relationship explosion in breadth or depth (I.e. we would heavily >> normalize). >> >> QUIC extensions could state the known (at the time of writing) version(s) >> that they extend. To keep it simple, they'd just need to state the earliest >> registered version on each breaking version. We assume that non-breaking >> versions published by the IETF all work. A single QUIC extension document >> can define how it extends several breaking QUIC versions. We have a similar >> situation right now when defining logically equivalent behavioral >> extensions that need to work over H1, H2 and H3. >> >> Application protocols could also state known (at the time of writing) >> version(s) that they run over. Same as above. >> >> When future breaking QUIC versions are published, extension and >> application protocols can respond. Update documents could be effectively >> no-op, require major/minor surgery, or state explicitly that a version is >> not supported if they help the strong need to. >> To make this activity easier, both extensions and application protocols >> (and their extensions!) would benefit from stating the QUIC protocol >> features that they depend on. Reviewing those statements is likely a >> service the QUIC WG should provide to other groups. >> >> I think this possibly leads to a hybrid option 4, where the ALPN registry >> has a column that lists only breaking QUIC versions. And we don't mandate >> any rules on the number of versions that a token can relate to. >> >> Cheers >> Lucas >> >
- ALPN and QUIC versions Martin Duke
- Re: ALPN and QUIC versions Spencer Dawkins at IETF
- Re: ALPN and QUIC versions Martin Duke
- Re: ALPN and QUIC versions Lucas Pardue
- Re: ALPN and QUIC versions Ian Swett
- Re: ALPN and QUIC versions David Schinazi