Re: ALPN and QUIC versions
Lucas Pardue <lucaspardue.24.7@gmail.com> Thu, 20 May 2021 00:09 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 3CD223A24CE for <quic@ietfa.amsl.com>; Wed, 19 May 2021 17:09:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.837
X-Spam-Level:
X-Spam-Status: No, score=-1.837 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, T_SPF_TEMPERROR=0.01] 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 etFJ1XBEc5-x for <quic@ietfa.amsl.com>; Wed, 19 May 2021 17:08:59 -0700 (PDT)
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) (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 2819C3A24D0 for <quic@ietf.org>; Wed, 19 May 2021 17:08:59 -0700 (PDT)
Received: by mail-ej1-x62a.google.com with SMTP id i7so4664402ejc.5 for <quic@ietf.org>; Wed, 19 May 2021 17:08:58 -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=67qn1HSc09GN5oxj5ny1MjOjrgjltarcXBqMZJ9DfVw=; b=fjWaj9NEg2tQd22lEQnz33wkMfM+Tc+ssSi315j7pupzEy4oqFC899ATNWDE+6ylWw 6DhJjCVyUrJyx/hAljG04uu16tmMoY/1fhsOoPTyugeb8MY+HFRuLzrz0spKzCo3PVeu jA5zT1ejgx4qhl/TFnNMzOSc+AVKskN3B55u2KmQLUrQdllMr9PHngqNCNelbVQQBRMH iRSDvQGIBay7FBNUwjmh+MXKmq2YQNRXrI1/3UrbOvcems16UhU0kQoLMHS2K4NtD5Rw dAC6ezIbTdj9X4dxbNq48m/REXTqs9wKe0mnWk71cpQQUkN31SqyuaDU5Jsn87WyhfPR 0j7A==
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=67qn1HSc09GN5oxj5ny1MjOjrgjltarcXBqMZJ9DfVw=; b=MVhtqmtcHStZg45tTvZgxmILic6kTDWLT+/vayEtkStpE/DBc/UY1TO0pj91J1e7HT 1fi+9ZgRongdWs24Y0WxqhpMKCKKo0GIhI9PWx8gL9WG5wr9niL85q4fmRMAYZLVGW33 zjyh2yIsqaNYrJpKvdZ7WUpzo70YB3FH1xsuIBEdPB3P55N0nnGCagW5rZt8nmZQMZU4 W+2yMTN9Bl8kNrgTh3PIOe94kqrfHOuXppgEcyhXvCVfENMZPxoJW24bc3pUJobo4AMW d4LWrqLvMJDX97xNAC+Kww9ZNOuwt1TknSuWDwYWtdsIzDi0yzXtZXuHrwW9wxWNNlU/ QMWA==
X-Gm-Message-State: AOAM5330dUy4lObVo79fbNHUnOdRAM6X2qHUpdA0+1zxBB1K+8+gPihz zgC5P9kM7tKBLCTVs83ijdVgbDQqFT7rDQHgF84=
X-Google-Smtp-Source: ABdhPJxE0qnmu8MExVFTlc4VYgjSxl2sVgcMh34IL2sn4IINwqFGel4WBP+DSagWrmgpIbK/JCQg+BL+vS9fYujWhN4=
X-Received: by 2002:a17:906:1fcb:: with SMTP id e11mr1802414ejt.46.1621469335777; Wed, 19 May 2021 17:08:55 -0700 (PDT)
MIME-Version: 1.0
References: <CAM4esxSLAMNZQ73sEk-8LnVRiv00b-PDVPmUqY3iMxCSYui0fw@mail.gmail.com>
In-Reply-To: <CAM4esxSLAMNZQ73sEk-8LnVRiv00b-PDVPmUqY3iMxCSYui0fw@mail.gmail.com>
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Thu, 20 May 2021 01:08:44 +0100
Message-ID: <CALGR9oYhPLC0cUAxt-9a7OqCL5-VLJ-2K+UihFmJ=-8w=QR=Fg@mail.gmail.com>
Subject: Re: ALPN and QUIC versions
To: Martin Duke <martin.h.duke@gmail.com>
Cc: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c5f62c05c2b7bf00"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/X6IN0nd33T42Ih543-CwQ2cDhdY>
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: Thu, 20 May 2021 00:09:04 -0000
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