Re: [quicwg/base-drafts] Simplify version negotiation (#2133)

ekr <notifications@github.com> Wed, 12 December 2018 22:46 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0B946131315 for <quic-issues@ietfa.amsl.com>; Wed, 12 Dec 2018 14:46:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Level:
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 QyEYxWNgsOnN for <quic-issues@ietfa.amsl.com>; Wed, 12 Dec 2018 14:46:21 -0800 (PST)
Received: from out-6.smtp.github.com (out-6.smtp.github.com [192.30.252.197]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 399E9131312 for <quic-issues@ietf.org>; Wed, 12 Dec 2018 14:46:21 -0800 (PST)
Date: Wed, 12 Dec 2018 14:46:19 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1544654779; bh=zA9C6c2DuerLlGOCILc0NT+IfClOWTA+UCySwnSroFo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=bmO/8fodmRkWSn1OxmRiJfWXPKSD9g4X7M1mh0JnqWFa5YqoriPjg+bM4X5txJJf5 8hHu5JGnxAqpAgJMT1CBFYOuxL9aLDGvM/4B3iJZJkxWwVuyiVabnxszNAdmP+zgiL JuTNbTez+L8qxS/tPU2LTPwBy9IwIoRlMvdo0JbU=
From: ekr <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab2821924a156d6abff84ea6f1eb8c9a56030876e292cf00000001182951bb92a169ce17450cf5@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2133/c446773113@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2133@github.com>
References: <quicwg/base-drafts/pull/2133@github.com>
Subject: Re: [quicwg/base-drafts] Simplify version negotiation (#2133)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c118fbbef876_51b23f83328d45c4198325"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ekr
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/wxF6ttj70zkNAAJ-rfyIgW5zDQE>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Dec 2018 22:46:28 -0000

On Wed, Dec 12, 2018 at 2:38 PM Mike Bishop <notifications@github.com>
wrote:

> This feels like doubling down on the previous idea of
> mutually-intelligible "compatible" versions
>
Yes.  My argument is that this is basically the situation we have had with
every TCP-using protocol forever. Nobody thinks you can send an HTTP
request to a SSH server and have that work, but we do expect SSH clients
and servers to be able to negotiate with each other despite some diversity
of versions.

-- now you're essentially saying that, while QUIC has stated invariants,
> there are walled gardens of version sets within those invariants which are
> all QUIC but are not straightforward to use together.
>
I view the invariants as primarily for the benefit of intermediaries, not
for the endpoints.


> That's trading potential implementation simplification for deployment and
> maintenance complexity, isn't it?
>
> I agree that this is a simplification by reducing an axis of movement. I
> remain unconvinced that we can guarantee all versions of QUIC used for a
> given scenario will be "compatible."
>

I have two answers to this:

1. The invariant you need to retain isn't that all versions are compatible
but that the client never has to guess whether to send an Initial of type A
or B because the server might not understand A but might understand B (or
vice versa). I've been trying to think of a non-hypothetical situation in
which this might arise that can't be easily dealt with by retaining compat
of the Initial. Do you have one?
2. If, despite the above, we run into a situation where we have that, we
can always implement something like the existing VN mechanism at that point.


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2133#issuecomment-446773113