Re: QUIC ossification

"Brian Trammell (IETF)" <ietf@trammell.ch> Sat, 16 February 2019 22:18 UTC

Return-Path: <ietf@trammell.ch>
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 6269B1286D8 for <quic@ietfa.amsl.com>; Sat, 16 Feb 2019 14:18:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
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 QcYQcktbBaoX for <quic@ietfa.amsl.com>; Sat, 16 Feb 2019 14:18:26 -0800 (PST)
Received: from gozo.iway.ch (gozo.iway.ch [IPv6:2001:8e0:40:325::36]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0099E128D52 for <quic@ietf.org>; Sat, 16 Feb 2019 14:18:23 -0800 (PST)
Received: from gozo.iway.ch (localhost [127.0.0.1]) by localhost (Postfix) with ESMTP id A4F0B340F86; Sat, 16 Feb 2019 23:18:21 +0100 (CET)
X-Iway-Path: 0
Received: from localhost (localhost [127.0.0.1]) by localhost (ACF/3959.9362); Sat, 16 Feb 2019 23:18:21 +0100 (CET)
Received: from switchplus-mail.ch (switchplus-mail.ch [212.25.8.236]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by gozo.iway.ch (Postfix) with ESMTPS; Sat, 16 Feb 2019 23:18:20 +0100 (CET)
Received: from [145.14.214.39] (account ietf@trammell.ch HELO [10.11.33.83]) by switchplus-mail.ch (CommuniGate Pro SMTP 6.2.9) with ESMTPSA id 83423675; Sat, 16 Feb 2019 23:18:20 +0100
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Subject: Re: QUIC ossification
From: "Brian Trammell (IETF)" <ietf@trammell.ch>
In-Reply-To: <CAKcm_gM1BdWAw6xHgWTGWwpThwtDwrkZBZU19VmCR4TXMFMPxA@mail.gmail.com>
Date: Sat, 16 Feb 2019 23:18:19 +0100
Cc: Martin Thomson <mt@lowentropy.net>, IETF QUIC WG <quic@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <D42F2AAB-E2F6-4A4E-AD14-5E307B566F02@trammell.ch>
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>
To: Ian Swett <ianswett=40google.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/PToXLPOlubMgWmTZM-ReWtb3Qgw>
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: Sat, 16 Feb 2019 22:18:28 -0000

hi Ian, all,

> On 15 Feb 2019, at 02:22, Ian Swett <ianswett=40google.com@dmarc.ietf.org> wrote:
> 
> I believe the concern is that a middlebox/etc will conclude that a certain range of versions are IETF standard versions and should be allowed and others are fine to block because they're experimental, thereby making the majority of versions largely undeployable.

So if I understand the proposal behind this correctly, then, there would be no segregation of the version number space (aside from "grease" and "nongrease"), the entire non-assigned version number space would be IANA-managed FCFS, and the IETF-standard versions would grab random codepoints out of that FCFS space at publication time?

That fixes the "middleboxes preferentially block experimental versions" problem, at the expense of maybe edging them toward blocking everything that isn't IETF-V1. 

This is of course assuming that middleboxes exist that have an incentive to block non-V1 versions while letting V1 versions through. I could maybe see firewalls with default-deny policies wanting to "offer" this, but I don't see why a box deployed to blocking any QUIC on purpose would need to be picky about version numbers. Given that the TCP fallback makes it connectivity-safe to block *all* QUIC while also gaining the "advantages" (from the middlebox PoV, with respect to wire-image accessibility and wire-image editability) of TCP, just turning QUIC off is easier than having to keep per-flow VN outcome state.

going back to a point Ted made on Thursday, though:

> As a personal opinion, I think we have enough semantic additions to do here that we don't need an artificial version which will have no natural driver of adoption.

+1 to this.

I think I've said this before, maybe multiple times: the only way to keep version negotiation from ossifying it is to use it for real. I'd argued for shipping v1 and v2 simultaneously, perhaps with different feature profiles (indeed, we even discussed using the spin bit as a version-differentiator to exercise VN, but this turned out to not work very well for spin-bit-and-connection-ID physics reasons). It seems we're not going to do that: we'll ship v1 and start work on v2 after that.

I observe that there's an ossification window for version negotiation that arises as a logical consequence of the process we're following: after v2 ships, if it sees wide deployment, version negotiation as a mechanism will be protected (yeah sure some lazy middleboxes might hardcode two version numbers, but see above for my skepticism about the likelihood of that). Until then, it will not (grease notwithstanding, but grease isn't real protection for VN because it's safe to ignore). 

The risk of VN breaking is a function of how long that window is, and how quickly middleboxes that understand QUIC versioning will deploy. Recent proposals (I forget the details, have been paying only cursory attention during my month off) to punt VN to version 2 in essence make a pessimistic bet about this risk: anything we can design will be broken by the time we try to use it, so let's design it later. 

I think if we care about designing VN into V1 that has a chance of working, though, being aggressive about shipping V2 is the only action under our control as a WG.

Cheers,

Brian