Re: QUIC ossification

Jana Iyengar <jri.ietf@gmail.com> Tue, 19 February 2019 23:17 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 3BAC4130DE7 for <quic@ietfa.amsl.com>; Tue, 19 Feb 2019 15:17:35 -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 iR8GYk4sn9mO for <quic@ietfa.amsl.com>; Tue, 19 Feb 2019 15:17:32 -0800 (PST)
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (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 5D6841274D0 for <quic@ietf.org>; Tue, 19 Feb 2019 15:17:32 -0800 (PST)
Received: by mail-lj1-x22a.google.com with SMTP id j13-v6so19146579ljc.2 for <quic@ietf.org>; Tue, 19 Feb 2019 15:17:32 -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=KxJYMPHTSeqqqajYcptZcxO+883thpmVhqESNgcBe+0=; b=nAvv7P68g1Coap3RTMUr74iKMdPP3hLabSEojgLWCBpBWXitstjP6UX7mfG4zJgt+S 9cMLhvYnDGvd3eC2VzM1kwcCAib4tR2Lj6MzGeF/mB3flmhiluPYhuP11NYiybdYlQjg MltNbQcCk7pzMFTsDIU1tjPrCBrir0MMIoxywrehuvg/P/e1tzdHgNwntX8uTg1E8HaA ffcznux6qFNuU43zA/vKIW2FNTavd8qE9Ujg+uuBJrLqwLqdy9mQSkQaTXUY+ggH2SEB SuMGPxfztnON5WMFWxZL3gAhe2VhJzZ7itV/28CgUl8quMAukZ+lbzsECXh+vvfc1Iss 7pcw==
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=KxJYMPHTSeqqqajYcptZcxO+883thpmVhqESNgcBe+0=; b=k3OyC39cznfpqPXcQCnDUtBhvhDGtWfjglhwA6aNUa0tPrgZoKvXne5cvA1L0DUV/G PBcuTzzgSRi2TdQ24VaW7zNVzmU+6Fj46rt7kwwlcnentnAIYq9q1Dc79AqnIYY8JW1t sR52zoEHb4yoMrGJ81u0e0m8zibR+GLT6TA8SAUXkAsRv9ClFlpyKWD0EFFoHQkUTW3X Td/jaBo77bdV+qzVkxzioYQ83yqVxd+loUKOlmrlpQ+A+NKAT2VtZj9yAxdOW7TMC93w wB/zUpZi5WDHtYSo5ndPzDoa00ox77kXW0cj/T5JOLsa1QhSEuKTavaxtBKgLy6C8p2u i9Uw==
X-Gm-Message-State: AHQUAuYTrZ7HU3TnNE3sdpU2spbp3GadRSlgtLIud8Q4n/ytAcqPu+OC XgmEShqhRh7yCHU2/5Fwc3hBsdhA0DZUKvZQ0JA=
X-Google-Smtp-Source: AHgI3IYFV4FWu/mky6UYUUBy8QtNIdLcPDk/71QIaFqSYSYamWSKjdkF4fphGcIV/iqvk8vuNh9R+BwSqi8TQYQjNIo=
X-Received: by 2002:a2e:2285:: with SMTP id i127mr10195686lji.40.1550618250404; Tue, 19 Feb 2019 15:17:30 -0800 (PST)
MIME-Version: 1.0
References: <f76aa399-f35d-46c5-b6a7-043d8704a90e@www.fastmail.com> <CACpbDcf_temqJ3EesvboKt280m-TEucMqa-NpYW7-UC5r0p1mQ@mail.gmail.com> <783327C4-3877-48F4-A41A-5987458C39B7@fb.com>
In-Reply-To: <783327C4-3877-48F4-A41A-5987458C39B7@fb.com>
From: Jana Iyengar <jri.ietf@gmail.com>
Date: Tue, 19 Feb 2019 15:17:19 -0800
Message-ID: <CACpbDccFRWeSYFGu7cjdsrWAnE_6KbhpPMZJ9kzN1KviAfEGJQ@mail.gmail.com>
Subject: Re: QUIC ossification
To: Roberto Peon <fenix@fb.com>
Cc: Martin Thomson <mt@lowentropy.net>, QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ff679905824771a0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/MPuRqTN3n-cOf8nYFr6xDEesLaM>
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:17:35 -0000

Roberto -- yes, that's basically what I'm proposing too, just one variant
of how to go about doing it dynamically over time.

On Tue, Feb 19, 2019 at 3:14 PM Roberto Peon <fenix@fb.com> wrote:

> As others have intimated in some form or another, you can also use
> multiple numbers to express “version 1”.
>
>
> For instance, pick 64 (or some similar constant) random numbers, and call
> them all version 1.
> -=R
>
>
>
> *From: *QUIC <quic-bounces@ietf.org> on behalf of Jana Iyengar <
> jri.ietf@gmail.com>
> *Date: *Tuesday, February 19, 2019 at 3:10 PM
> *To: *Martin Thomson <mt@lowentropy.net>
> *Cc: *QUIC WG <quic@ietf.org>
> *Subject: *Re: QUIC ossification
>
>
>
> 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.
>
>
>