Re: Invariants draft

Christian Huitema <huitema@huitema.net> Fri, 01 December 2017 04:47 UTC

Return-Path: <huitema@huitema.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 CFD91126E7A for <quic@ietfa.amsl.com>; Thu, 30 Nov 2017 20:47:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.621
X-Spam-Level:
X-Spam-Status: No, score=-2.621 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] 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 XFiqSBoe_isN for <quic@ietfa.amsl.com>; Thu, 30 Nov 2017 20:47:00 -0800 (PST)
Received: from mx43-out1.antispamcloud.com (mx43-out1.antispamcloud.com [138.201.61.189]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AE81B120454 for <quic@ietf.org>; Thu, 30 Nov 2017 20:46:59 -0800 (PST)
Received: from xsmtp03.mail2web.com ([168.144.250.223]) by mx15.antispamcloud.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.89) (envelope-from <huitema@huitema.net>) id 1eKdDz-0003Wr-Gn for quic@ietf.org; Fri, 01 Dec 2017 05:46:57 +0100
Received: from [10.5.2.13] (helo=xmail03.myhosting.com) by xsmtp03.mail2web.com with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from <huitema@huitema.net>) id 1eKdDx-0003uf-Nc for quic@ietf.org; Thu, 30 Nov 2017 23:46:54 -0500
Received: (qmail 31047 invoked from network); 1 Dec 2017 04:46:51 -0000
Received: from unknown (HELO [192.168.1.106]) (Authenticated-user:_huitema@huitema.net@[172.56.42.119]) (envelope-sender <huitema@huitema.net>) by xmail03.myhosting.com (qmail-ldap-1.03) with ESMTPA for <quic@ietf.org>; 1 Dec 2017 04:46:51 -0000
To: quic@ietf.org
References: <CABkgnnVr7jQ2=fFM+OOgk0-=Fseze8fT3xwWBOj-4CWTOtbq1Q@mail.gmail.com>
From: Christian Huitema <huitema@huitema.net>
Message-ID: <440a603c-2924-a260-c477-ecb42a84ec5c@huitema.net>
Date: Thu, 30 Nov 2017 20:46:49 -0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0
MIME-Version: 1.0
In-Reply-To: <CABkgnnVr7jQ2=fFM+OOgk0-=Fseze8fT3xwWBOj-4CWTOtbq1Q@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US
Subject: Re: Invariants draft
X-Originating-IP: 168.144.250.223
X-AntiSpamCloud-Domain: xsmtpout.mail2web.com
X-AntiSpamCloud-Username: 168.144.250.0/24
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=168.144.250.0/24@xsmtpout.mail2web.com
X-AntiSpamCloud-Outgoing-Class: unsure
X-AntiSpamCloud-Outgoing-Evidence: Combined (0.29)
X-Recommended-Action: accept
X-Filter-ID: EX5BVjFpneJeBchSMxfU5lK5SKP/z4AU7iS9btRMgZ4Xv9krsgRhBn0ayn6qsUc7A2kcKDr1fzRm ksYYe0sWHrgNzB/4Jkrw1eDLcif59fvH7XfVd16SC7G3HBEg/bzuB98yDTitFWvbHwz9vKZpm4b3 Kv7PcFSfRyFbnU/eNYdTPSw+CekCTYoDa8nAx3W5ZsQEbaxxISMHgJxrdMdSS4B6hVJPXxgisa+g wkHvC+PVG1YjIrFRKhESMT/tU1Dx+IHaAZrg1ulFniksjLYqZxdG5bOwa1rOgT+89+/XFrGt2tce crpXRY6fm8RXptyzavERpop5LF7RavHozgbn9XzprFRbpFQTOcEGeQOY3IcDlgJpEbxunV7tCPNi PQvHQpVRoYcix47lJTuKsG8TgnDHFRDF834rtLc6Wv9Yj+vBPX9bzGJi0ycLbiOUDEySIK/1NH5T HMtlYvyHAYGOGheVSH7cGoIH3Vd41lbD31XIx4AXarfh1O38bAuuIRigptEjxjSIdK/OrMoYfnrE KKm1fqFk0+1KZZdmFFP6WgPGvVLPSj+Hlyh2mculO/W8NktFVcl6hrIDm43UklXgo0rGkb5OztVl OoF8rUUHwR1JLObs/ksVBOHvEAgSr8kAN1Mi/5oPXF0IaYXV2I96ukONoJfh+XjGSeeT90H/uIH3 cMbdqdZNuRt21KsRa0/uQG+Y0crlrpULu0k1t3AsnGbjO41FyBEqIaDudcVplPEfgkCmu0AbpCDt lYGBUhlW87eqULwgkV+w1Dqc0gmbgvfFcHV2tQAVqGdj/zM7G/FqHXIoSsvffuCdDqwWbJR15ft9 Iz0WDtXlRni5HCCJM9Qvlo9UV7vdWttsewtXKowaEO652uo+6xHVEn43gl09gN9PtOEBx/RKpFEr HkJ0VfjEzm1SsR8v3aJbN/NZfa/pGyl0Yc/hSh4fhbFqiL7w
X-Report-Abuse-To: spam@quarantine5.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/8gf97hkh8WX1ctbrm5FtP0kUis4>
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: Fri, 01 Dec 2017 04:47:02 -0000

On 11/30/2017 8:09 PM, Martin Thomson wrote:

> I've just submitted a personal draft that describes the invariants
> that I think we agreed to in Singapore.
>
> https://datatracker.ietf.org/doc/html/draft-thomson-quic-invariants
>
> This is just me for the moment (though Jana and Mike were very helpful
> in reviewing an even draftier draft).  It also assumes a few things
> about the current drafts that aren't yet true, and may not even become
> true.  Don't focus too much on the specific content of what is in or
> out, because that sort of detail is easy to fix.
Thanks for writing that, Martin. It provides a very clear description of
the "invariant" approach, and helps me understand the motivation behind
several changes that were proposed recently.

> More than content, I'd like to concentrate on the general approach and
> scope.  My hope is that we can agree that those are more or less
> correct.  And then adopt the draft.  A draft like this should help
> address questions people have been asking about what can and cannot
> change between QUIC versions.

As far as the general approach is concerned, your draft leaves me
somewhat uneasy. I understand the concern to beat ossification, and to
ensure that future developers can easily define and use extended
versions of QUIC. But at the same time, I am concerned with the tension
between "focusing on extensibility" and "ensuring interoperability". At
one end of the spectrum, we could define nothing but extensibility
mechanisms, and let application developers define an application
specific transport protocol. At an other end of the spectrum, we could
rigidly specify a protocol, its formats, and its state machine. I do
think that the working group has to strike somewhere in the middle, a
well specified protocol that can be easily extended, but maybe not
infinitely extensible.

Developers have spent a lot of time testing features, and testing
whether these features can be implemented in compatible ways between
implementations. This is valuable, and I wish that we progressively
converge on a "version 1" of QUIC that benefits from these tests. I
think of that as some kind of simulated annealing process. At some
point, part of the crystal is deemed pure enough, and we move the
annealing ring up to check the next part. That may not be the best
analogy, but the high level summary is that interoperability is
important, that is requires some stability, and that the better is the
enemy of the good.

-- Christian Huitema