Re: QUIC ossification

"Martin Thomson" <mt@lowentropy.net> Tue, 19 February 2019 15:51 UTC

Return-Path: <mt@lowentropy.net>
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 AAA15130F0B for <quic@ietfa.amsl.com>; Tue, 19 Feb 2019 07:51:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=CBolTJCv; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Mokag0xV
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 0sis1twHEYFo for <quic@ietfa.amsl.com>; Tue, 19 Feb 2019 07:51:49 -0800 (PST)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 40BC6130F07 for <quic@ietf.org>; Tue, 19 Feb 2019 07:51:49 -0800 (PST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 9787222246 for <quic@ietf.org>; Tue, 19 Feb 2019 10:51:47 -0500 (EST)
Received: from imap2 ([10.202.2.52]) by compute1.internal (MEProxy); Tue, 19 Feb 2019 10:51:47 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=message-id:in-reply-to:references:date:from:to:subject :content-type; s=fm1; bh=Kb1etyKcy5eHqTR0WaNh45wUx2Rshce24wdlpMF 0CeM=; b=CBolTJCvGhd9K+8GwShPkt+qem19QgLhXwv2rgigB57asLb7+KvWbk4 LrXkDBKBjLpoKA3edOyFl73SjXnlRGvw6RbC0qfyt6zruPadrOpqf/+UwU78ChhK O9ANSbBKkste1FBm4y9x3jvw35N6mXNRJp6kq8Wqkjdsi2hiuSyjmx09aSSwF+Vg eLijEqkbti5rslzP2X+J5TQ9bzMmKWxhpYyOYMDPBctpTxdXlI+WrK6efhUh9R3e t8PKMBDiEFCT19Ux9hjIZPOfHIelEOZoE1zTlb1JLnqR0M7PhRIE3+XLwHeC1IEJ vTkTPk0RnhbEVZdC2SiDJMhM/7MXcCQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:references:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=Kb1etyKcy5eHqTR0W aNh45wUx2Rshce24wdlpMF0CeM=; b=Mokag0xV/wqj64Kt4nToUcB8UK0/deKUE PL/B5skhFj8i48RPsalKm9X2hhQRUB9wuQg26VffhU5BsRZRr7CDlmpY7Ck53kA/ IMuVRKOnZR5rvrD/bIVlLK92z+AAtF+ZUl1xmZw6aPnR1L3zmYGlSyHcTsJXhEqY fcQNr2tYBloc5tNE2Ix3FLe0oZK53+Hi8NUCYBD+m6TuLrkthQhfiD22KKrfD8aS HsJSDEJ9dpWKu6crBNVDStJNATXH92bzWAyqeAZDxZCgLpqqnNnGShn/YK0iZ1t5 XczGvH+Q3jmgqrffZLZnh9rVsiOtSzr4BniORcdOjfDvObu69AOEQ==
X-ME-Sender: <xms:EiZsXMDNZNRQXsWyz9FT1Qb7o6TzssxtbNUa0V-ghk1c3jbmlpQ0KQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrtdeggdejleculddtuddrgedtledrtddtmd cutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfhuthen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgfkjghffffhvffutgesthdtre dtreertdenucfhrhhomhepfdforghrthhinhcuvfhhohhmshhonhdfuceomhhtsehlohif vghnthhrohhphidrnhgvtheqnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmtheslhhofi gvnhhtrhhophihrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:EiZsXCwQ68065oDlQJZ3B4M1loVH97W-YNrq50eE-uo-pg286VrBAg> <xmx:EiZsXKlX2K9R4k-cYE27x_cznk7AeiK2_3paf-QrsPaIFTWGHVXX8g> <xmx:EiZsXHEyqqouUdtR0SQMzZrc8G6nTiRs1ihgPHOBA3u2j1wz3-qz4g> <xmx:EyZsXP64t7U_zOR5ALbRxSBKvWMB3S7SzNtA6liWXaghb_tp6oQmzA>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id A1D4D7C293; Tue, 19 Feb 2019 10:51:46 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.5-895-g0d23ba6-fmstable-20190213v1
X-Me-Personality: 92534000
Message-Id: <f76aa399-f35d-46c5-b6a7-043d8704a90e@www.fastmail.com>
In-Reply-To: <CACpbDceKcBFCde_5ddC+Rbj6SrK7u_L3eAWdJ6XcHpjgzYE6vw@mail.gmail.com>
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>
Date: Tue, 19 Feb 2019 10:51:48 -0500
From: Martin Thomson <mt@lowentropy.net>
To: quic@ietf.org
Subject: Re: QUIC ossification
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/33V_DiWfZomLsi0Yy3oroUgeaGI>
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 15:51:52 -0000

On Mon, Feb 18, 2019, at 19:36, Jana Iyengar wrote:
> Let's say we use 0x00000001 as v1. Do we allow 0x00000002 as an 
> additional version for v1? If we do, then what is the on-wire 
> representation for v2? If we don't, then we have to segregate the 
> space. To avoid this problem, I suggested that we randomize everything. 
> It's not that hard: IANA can easily assign a version to us at RFC 
> publication time much in the same way as they would to anyone 
> requesting an additional on-wire version for v1 in the future.

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.

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.

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.