Re: Invariants draft

"Brian Trammell (IETF)" <ietf@trammell.ch> Mon, 04 December 2017 13:59 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 761C612741D for <quic@ietfa.amsl.com>; Mon, 4 Dec 2017 05:59:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham 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 oLEoOSog7oTx for <quic@ietfa.amsl.com>; Mon, 4 Dec 2017 05:59:53 -0800 (PST)
Received: from gozo.iway.ch (gozo.iway.ch [212.25.24.36]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B72EE127369 for <quic@ietf.org>; Mon, 4 Dec 2017 05:59:44 -0800 (PST)
Received: from gozo.iway.ch (localhost [127.0.0.1]) by localhost (Postfix) with ESMTP id 987E5340810; Mon, 4 Dec 2017 14:59:42 +0100 (CET)
Received: from localhost (localhost [127.0.0.1]) by localhost (ACF/18338.9345); Mon, 4 Dec 2017 14:59:42 +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; Mon, 4 Dec 2017 14:59:42 +0100 (CET)
Received: from nb-10604.ethz.ch (account ietf@trammell.ch [82.130.102.91] verified) by switchplus-mail.ch (CommuniGate Pro SMTP 6.1.18) with ESMTPSA id 38146791; Mon, 04 Dec 2017 14:59:40 +0100
From: "Brian Trammell (IETF)" <ietf@trammell.ch>
Message-Id: <813A9ABD-86D9-4BC2-A5F6-F862F75D6CEB@trammell.ch>
Content-Type: multipart/signed; boundary="Apple-Mail=_6C8D1953-27E2-4A9C-AAAB-D1E1D796B613"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Subject: Re: Invariants draft
Date: Mon, 04 Dec 2017 14:59:39 +0100
In-Reply-To: <CABkgnnUBYegURBTK-sH51jmfDnc8KTyaRE3EYH-V385=be-wXQ@mail.gmail.com>
Cc: Christian Huitema <huitema@huitema.net>, QUIC WG <quic@ietf.org>
To: Martin Thomson <martin.thomson@gmail.com>
References: <CABkgnnVr7jQ2=fFM+OOgk0-=Fseze8fT3xwWBOj-4CWTOtbq1Q@mail.gmail.com> <440a603c-2924-a260-c477-ecb42a84ec5c@huitema.net> <CABkgnnUBYegURBTK-sH51jmfDnc8KTyaRE3EYH-V385=be-wXQ@mail.gmail.com>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/25eY7WzsCUPtW2mSNURgCsYCdb0>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
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: Mon, 04 Dec 2017 13:59:56 -0000

hi Martin, all,

> On 4 Dec 2017, at 01:49, Martin Thomson <martin.thomson@gmail.com> wrote:

<snip>

> For QUIC, this doc attempts to define that pivotal mechanism.  That
> doesn't mean that QUIC version 2 will be substantially different.  On
> the contrary, I expect that we'll make new versions with only modest
> changes.  But those changes might *appear* to be significant.  The
> hope is that significant changes will be possible because the protocol
> won't be so ossified as to make them impossible.
> 
> You might think that this is familiar to Adam Langley's views on
> extensibility.  That is "have one joint and keep it well oiled" --
> <https://www.imperialviolet.org/2016/05/16/agility.html>.  That's not
> coincidental.  I happen to agree, see
> <https://datatracker.ietf.org/doc/html/draft-thomson-use-it-or-lose-it>.
> 
> This is part of the defense against ossification, but it's not
> complete.  As Brian will point out, the actual wire image of a
> protocol is what ossifies, not what we say that the wire image is.
> But as you observed, we're working on improving that too.

Thanks for saying this so I don't have to. :)

This document is (1) a very clear description of (2) what seem to be to be the right set of prescriptive invariants. Thanks for putting it together! On "it's the actual wire image that ossifies", I was divided on whether or not this document should attempt to discuss "descriptive" invariants, i.e. those parts of the Version 1 wire image that are less likely to be deployably changeable in Version 2. Having read it, though, I don't think they belong here, and I think we'll actually need some deployment experience with Version 2 before we'll be smart enough to say anything definitive about what's more or less ossifiable. I'm not sure that our experience with TCP will translate very well here, especially if we can turn the crank on a Version 2 by, say, late 2019.

Indeed, I'm still a bit of a pessimist that invariants and greasing will actually work as well as we (the WG) think they will. We don't really have an experiment at Internet scale to demonstrate that greasing works at the level that QUIC proposes to use it, and the threat model it supposes for middlebox deployment behavior is ad-hoc and implicit. IMO the best way to prove all this works quickly would be to define and deploy versions 1 and 2 simultaneously, but I suspect that wouldn't have the impact on the version 1 milestones that the WG and the chairs would like to see. Might I suggest, though, that defining Version 2 milestones now (I'd suggest that "whatever is shippable in late 2019", whether that includes MP, PR, both, or neither, is a good target from a preventing ossification PoV) might make sense in terms of committing the WG publicly to exercising these mechanisms in a useful way?

Cheers,

Brian