Re: QUIC ossification

Jana Iyengar <jri.ietf@gmail.com> Tue, 19 February 2019 23:10 UTC

Return-Path: <jri.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 E59DA131027 for <quic@ietfa.amsl.com>; Tue, 19 Feb 2019 15:10:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 fvww0vY-TCSY for <quic@ietfa.amsl.com>; Tue, 19 Feb 2019 15:10:10 -0800 (PST)
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) (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 4BD53131024 for <quic@ietf.org>; Tue, 19 Feb 2019 15:10:08 -0800 (PST)
Received: by mail-lj1-x233.google.com with SMTP id g11-v6so19126816ljk.3 for <quic@ietf.org>; Tue, 19 Feb 2019 15:10:08 -0800 (PST)
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=m3/aUWo1Ithg1SH2/7vTetBWRp2thtHLPU+8EnRwy2A=; b=K+jGpkOiXRpAG5gHTqiCVFryb0THV0AVHBT7WrMdDqH8IqmXFnnUE5etdNtFXb9XsJ QGjj5YRttOD+7o33dGV/vmlyuOfXdywlTeIT2T5fTDONXaNw9VcUVnFlpntVrtdNJt9h /BlOwE2s//RThA+XSPLC8XZvKRjujBrs4CrBCWvUaNzzwLEMi30mHt9Jz3LcAQ4NJCPH uKsy1gYaKOByoVtsgpXoMPsUxewSfd5+z6xQFxw3FjzfCDSTliQoXMglI5hjnhkOVEkl qdJHt6TNW2w2OzTKcrsQ9Bn3kaf5nIGRk+4MhKZQLwB3tNFe6TNXsqKlaNSWqpr2Jj3A lADw==
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=m3/aUWo1Ithg1SH2/7vTetBWRp2thtHLPU+8EnRwy2A=; b=BB9FR27XnsgcvbBRsZb9UwqL40UI9lO71wTpW37d8PI5zt9SvT/bnRyX99y+2/Cvvp UBav24BSa8fxIk/M/YjdvNhI5H0BXynaTbMAx/Ro4iC60I/QaTrWXSyg75E6rzcEydCM Bn1/YcsylKbV9ruZUv1GTO8A0aXCKpqZ8jlLd2NwLxStWIeExXv7foUKwSJSDLFIsteh H7Gh9lTPQNJbqGsj8OOx4660jsD30lYB5dGrc/IGunypNi5V+QR0DmM87W5kEd5V0QTF xTUBpQS8hiKsRussES5MiQZ+1VRqn5hG8hP4xtOvwMhh0Qy4sXIVabg0Do7md/BoHAu+ 1ktA==
X-Gm-Message-State: AHQUAuavBzJIDW+yaSc7lmdgVNys2XrGQ6esJ5iBDVgAQU46VPkk3kzp 1EgiZPcgSTZZ1TKQCXuyaBkISPLmacHaMyD5f87o1XHs
X-Google-Smtp-Source: AHgI3IalEjcYJ+muE3RQ2jh/SNQ7fsytqjCpp2QW6TBc/fBil8IT0uw/VBLZHKF1E73gI8EP6p4QxGTZ++xa5sKeHhc=
X-Received: by 2002:a2e:6801:: with SMTP id c1mr7785439lja.81.1550617806314; Tue, 19 Feb 2019 15:10:06 -0800 (PST)
MIME-Version: 1.0
References: <CAM4esxTm0GiXnow4Vyv0UX6kFW4U3zJgVrN_JzD31Sm6sxoYGg@mail.gmail.com> <1550007332.441557.1656692832.0E5412AE@webmail.messagingengine.com> <9425344B-D72F-474D-A549-AA2453E57F19@fb.com> <CAPDSy+5LikoojquLhaW58DbJ3VrGXUViaD0aHcTkxBJGzFjgQA@mail.gmail.com> <47E7A834-B6CD-4D73-BF49-8768A48CADF0@fb.com> <CAM4esxThzPJUxU7R5-CY-ZcgmqhYdPFMoM5Fg17vN-Hsk_pJ8A@mail.gmail.com> <CAKcm_gMmxeHHN3dtH9kby_En96oPwTqrfHE=wpqy5Z0YbX4png@mail.gmail.com> <CAN1APdegy8n3+8J-pkgB6f-SNxHtju9p1Hiyct2tHWQ0KyeiGg@mail.gmail.com> <CA+9kkMC95TnFatowKU6121g+1DPy1hMNbKPagveMfKCXtpFSUQ@mail.gmail.com> <5B7F7D53-546D-4E3F-A0FC-AC29B1B05742@huitema.net> <CAKKJt-cQm+D2vptcfCLywz_QmuZW8tMYgcxNLoxyfC67OvYPUw@mail.gmail.com> <271E52ED-FA3A-4B4D-978C-90CE5CE57053@fb.com> <CAKKJt-f4U15Nr316xjuPb2S0QYOO6YAi9HRZzLWaZVfyXT3s8A@mail.gmail.com> <6b503e6a-d9ed-e747-9db6-f943f92fe114@huitema.net> <CACpbDcdixBEBFnLNbN1OhiKv9iTGjCpT3LQH13Rd64x1N0sJsA@mail.gmail.com> <CAM4esxTRsj7WqOSiCKfhQu2CfEosC+1-wJcm9uS1ryjchtpxdA@mail.gmail.com> <CAM4esxSqOAHEXXgAYP3iHyb-mkScrkXg1e5Dx+zA=Bi=yAcnQg@mail.gmail.com> <1550117350.927768.1657684024.116377B8@webmail.messagingengine.com> <CACpbDceGpp2Vs1pztJB3o7CJqg2f4HbL2mOoJtEPPeL7CvbXsA@mail.gmail.com> <1550120918.954942.1657706568.2C59A22F@webmail.messagingengine.com> <DB6PR10MB1766CDECAEED8E8391F61CD4AC670@DB6PR10MB1766.EURPRD10.PROD.OUTLOOK.COM> <CAF8qwaD8TKN251Ru5Q0G+NH9osyVw8MqWY5g+7VvLkzQph6jOQ@mail.gmail.com> <MWHPR22MB09916CC98D4AB60AA6A185BEDA670@MWHPR22MB0991.namprd22.prod.outlook.com> <CAPDSy+4=+Kpx0AD-xOuGJJec2T-MoFX9GOgfKWFPOPkj8D1MBg@mail.gmail.com> <CAM4esxSem6kkcd3rE7qfHJD9A1urmssoVsnagEmtJn7MU=mo5g@mail.gmail.com> <65405c4c-9bf7-4dca-91a3-d4a650ecfeb0@www.fastmail.com> <CAPDSy+4=HzVzm2zVpyt+Fuf4NQq_qyZXy6Ga==rBMnebsSyPpA@mail.gmail.com> <1c10b7bb-380a-4ac8-a3f8-fe185efa9b6b@www.fastmail.com> <CAKcm_gM1BdWAw6xHgWTGWwpThwtDwrkZBZU19VmCR4TXMFMPxA@mail.gmail.com> <41c7ef89-88e0-41bd-a62f-eb3828a09568@www.fastmail.com> <CACpbDceKcBFCde_5ddC+Rbj6SrK7u_L3eAWdJ6XcHpjgzYE6vw@mail.gmail.com> <f76aa399-f35d-46c5-b6a7-043d8704a90e@www.fastmail.com>
In-Reply-To: <f76aa399-f35d-46c5-b6a7-043d8704a90e@www.fastmail.com>
From: Jana Iyengar <jri.ietf@gmail.com>
Date: Tue, 19 Feb 2019 15:09:55 -0800
Message-ID: <CACpbDcf_temqJ3EesvboKt280m-TEucMqa-NpYW7-UC5r0p1mQ@mail.gmail.com>
Subject: Re: QUIC ossification
To: Martin Thomson <mt@lowentropy.net>
Cc: QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000087256f05824757ca"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/qZLMjdacEu-fbHMt5UB48R1M5iE>
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, 19 Feb 2019 23:10:13 -0000

On Tue, Feb 19, 2019 at 7:52 AM Martin Thomson <mt@lowentropy.net> wrote:

> I don't think that there is much value in using two version numbers to
> refer to the same protocol.  But even if we did, as long as we didn't
> establish any pattern in doing so, that couldn't be used against us.  So I
> might tentatively agree that 0x1 == 0x2 would be inadvisable, there is no
> strong need to do anything special with the first version.  Any attempt to
> profile QUIC will be done with full knowledge of the version number we
> pick, so randomness doesn't serve any real purpose.  Subsequent versions
> might need to use a randomized value, but we can make that decision then.
>

I figured that making all version assignments random instead of
special-casing 0x1 made it simpler to reason about and uniform to code for,
but I actually don't care about the IANA assignment for v1 for the reason
you note. v1 will be one specific bit-pattern on the wire to start of with,
and that can just as well be 0x1. It still does segregate the space, but we
can't do anything about it anyways - it'll be 0x1 or some other random
number getting special treatment.

The problem of course being that as long as v1 remains, we might find
> places that no other version does.  The QUIC "magic number" will be
> whatever we pick, and we can't prevent someone from fixating on that.
> We'll convince those people in the same way they will be convinced to open
> up UDP for QUIC version 1: by making a QUIC version 2 worth enabling.
>

That was the entire point of having alternate and preferred versions to
0x1. If we have downgrade protection in place, and if there are those who
try alternate version numbers for v1, that gives us what we need at the
endpoints. I believe that there would be interest at some major vendors to
do this at some endpoints. Presumably, we can convince Google to do
something, since it has been bit by mbox ossification in the past. I am
operating on the premise that we have buy in from a few major providers.

IANA is for me a publication venue where these alternate versions are
published and other clients/servers interested in keeping the ecosystem
from ossifying can use these alternate versions as well.

I completely get the don't segregate thing.  But to - I think - Mikkel's
> point about experimentation without permission, I do think that squatting
> is a perfectly sound approach in a space this big.  TLS people do it in a
> much smaller space.  As long squatters pick random values, they do so
> infrequently, and they get IANA registrations for codepoints relatively
> soon afterwards, the risk of collision is low.  Randomness here is useful -
> but primarily as a collision-avoidance technique.  The TLS extension
> codepoint 26 is a great example of why.  Keeping the bar on registrations
> low (FCFS is a reasonable policy) would also have the effect of making the
> pool of apparent versions larger, which might be more effective than any
> other strategy we might employ.
>

I'm totally fine with experimentation without permission, and using random
to avoid collision. My point was entirely about using alternate on-wire
version numbers for v1. Nothing here about new or experimental versions.