Re: Stream0 Design Team Proposal

Eric Rescorla <ekr@rtfm.com> Wed, 23 May 2018 23:41 UTC

Return-Path: <ekr@rtfm.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 5383612E88A for <quic@ietfa.amsl.com>; Wed, 23 May 2018 16:41:23 -0700 (PDT)
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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, T_DKIMWL_WL_MED=-0.01, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.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 py9Yw-Pbfh0C for <quic@ietfa.amsl.com>; Wed, 23 May 2018 16:41:13 -0700 (PDT)
Received: from mail-oi0-x22d.google.com (mail-oi0-x22d.google.com [IPv6:2607:f8b0:4003:c06::22d]) (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 6C55A12D941 for <quic@ietf.org>; Wed, 23 May 2018 16:41:13 -0700 (PDT)
Received: by mail-oi0-x22d.google.com with SMTP id a6-v6so21106877oia.2 for <quic@ietf.org>; Wed, 23 May 2018 16:41:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=E0C2ztHaNFtqNNG5wG1SNdl018NoxiHvx6bbqGW8PBI=; b=cSIR3mG3FBGRDCmwmZb5V0avTxSwIHh9chzxYc0UsmAGRBuqKqUCn1Kj6j3rk3xqZO gwbTEzoBlRR8x8O/I+Jz1qUz9RR49u6p5Nw3z8fIGDtCb1tgFBx6Mqvmdg4vIZdmsf2w 3PTDLrj4JzRP9wSou+XNDzh283ClCDirHPgL7pXakIxy7Pp40b1SzqsPp3LSrOWTS/Tk b30/c4yWd+VFl0+OhlMTMxs0sBQGOXjIW/3jeH+FJuqY1JhVYUEC3TWnY2xJgCtdkMoP SE+8BNFgER4hc8FXdh/TRKLC9yIfVzkbNrneub1yioxPf4A2VsdizW49bfVq/aVFMYIs P4Hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=E0C2ztHaNFtqNNG5wG1SNdl018NoxiHvx6bbqGW8PBI=; b=BF0GdnsKxtqDbtbRqKElf8QkT0x7su7W3YY17YPD+lDNL5Yu8jd3na6hm3KnkhHeFn 1fMv4SR8xffOhgOenkvnU60+nF77W02wSZmfA+hzQjJyDRZCf/LEJybFjl5zWeCE9kg8 OoT6B4Rp3sxQT8VqwT6OV36GdiA9jGCm10kR1TgLW1rF8O7zPNfZBGPGVnrOBi4K6wsi 7iR4/gNlomBVUpfHcG4couiCV2KdScw649q7PwO6JWNvYh6ckGc9mBrUG6iSEEzIAJMU NBvW/A5lClHQ9gpvfw5Dsn6PaxbQ6G31BnWDfgE3EXDdpjZCFUrivlwed3sE28kNNVI0 kBzg==
X-Gm-Message-State: ALKqPwfHY4M3XLRq+31XE8RaDW+vPd6KHu95U3an9U5e7vaYONTXo+7Z yBhUrrOCsxNvitZh/t4oxpjcEn+E9vHhtN12LY36uA==
X-Google-Smtp-Source: AB8JxZofLVEfQ6GGHERKHF0g+OmatljnYDDbH+C3gCqZnsnEih9ueWeXpVeTT/crafMmIAT0Y4zfL2LMwJu+g73EbTI=
X-Received: by 2002:aca:3cc1:: with SMTP id j184-v6mr2794275oia.91.1527118871984; Wed, 23 May 2018 16:41:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:ac9:66:0:0:0:0:0 with HTTP; Wed, 23 May 2018 16:40:31 -0700 (PDT)
In-Reply-To: <SN1PR08MB1854BF85FCCA0F21CE0DA1A4DA6B0@SN1PR08MB1854.namprd08.prod.outlook.com>
References: <CAKcm_gM39_x+==WwYfb5qeiqB_qxdAt0ow69V+s_Jny3Ek_hDw@mail.gmail.com> <CABkgnnUB=jqwFzb2rjBHUFzOgu0hX0YUgaf5kW5ENNGKP+mGiA@mail.gmail.com> <SN1PR08MB1854BF85FCCA0F21CE0DA1A4DA6B0@SN1PR08MB1854.namprd08.prod.outlook.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 23 May 2018 16:40:31 -0700
Message-ID: <CABcZeBMK5mpM26vWs5+gAAnmzkNtytHGSJ8dUjRM4ihf21yZHw@mail.gmail.com>
Subject: Re: Stream0 Design Team Proposal
To: Mike Bishop <mbishop@evequefou.be>
Cc: Martin Thomson <martin.thomson@gmail.com>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>, "ekr@mozilla.com" <ekr@mozilla.com>, QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e50fa2056ce81188"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/109rn0qqZ-Su_cDbL6f4yOLVt9I>
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: Wed, 23 May 2018 23:41:31 -0000

On Wed, May 23, 2018 at 3:23 PM, Mike Bishop <mbishop@evequefou.be> wrote:

> So I think that’s roughly six PRs we should expect to see out of the
> design team’s proposal.  A few of them have dependencies on each other, but
> they seem mostly separable.  It sounds like several of them have consensus
> in the design team, but not all of them, and it would be good to be able to
> discuss them separately
>

Hi Mike,

The vast majority of the proposal had consensus in the design team. It's
true that there are a few pieces that had somewhat less support and we just
made a decision in the interest of having a coherent proposal. These points
are called out explicitly in the Overview document.

With that said, I think it would be better to resist the urge to try to
decompose the proposal into its minimal constituent pieces. In many cases,
even when a piece is in theory independent from other pieces, there are
interactions and so we made a conscious decision to present it as a whole
proposal. Obviously, if there are explicit things that people object to,
they should raise them, but I think trying to break the proposal up into
pieces and consider them individually -- while intellectually interesting
--  isn't going to be that productive.

-Ekr



>
> -----Original Message-----
> From: QUIC <quic-bounces@ietf.org> On Behalf Of Martin Thomson
> Sent: Tuesday, May 22, 2018 8:01 PM
> To: Ian Swett <ianswett=40google.com@dmarc.ietf.org>
> Cc: ekr@mozilla.com; QUIC WG <quic@ietf.org>
> Subject: Re: Stream0 Design Team Proposal
>
>
>
> First of all, thanks to the design team for the work they have done.  I
> haven't digested everything yet, but I think that I have a good sense of
> the shape of the proposal.
>
>
>
> Overall, this looks like a workable design.  It's a lot more invasive of
> the cryptographic handshake implementation than I had thought people were
> willing to stomach originally.  But it's clear that we've run into problems
> with the current, more abstract API and this is a fairly natural way to
> split TLS.  I've spent a little time thinking about how this might be
> implemented and I think that it's not going to be *too* painful.  The proof
> will be in the pudding there though.
>
>
>
> In looking at the PR, I really appreciate seeing all the changes together.
>
> BTW, the link above points to the wrong PR, so be careful (it appears to
> have the same content, but that's not guaranteed).  The actual PR is here:
>
> https://github.com/quicwg/base-drafts/pull/1377
>
>
>
> I've pushed a branch to the main repo so that you can preview the entire
> document set: https://quicwg.github.io/base-drafts/stream0/
>
>
>
> It seems like there are some core changes here and a bunch of separable or
> at least secondary changes.  I'm sure that each one has its own
> justification, but that isn't always clear. The following changes seem like
> they are separable:
>
>
>
> * The use of separate packet number spaces
>
> * The Retry packet changes (and NEW_TOKEN)
>
> * EMPTY_ACK
>
> * The TLS extension for flow control
>
>
>
> Right now, some of these appear to be entirely gratuitous.  I'd like to
> get to the bottom of each before we continue.
>
>
>
> At a minimum, the PR we land first should include just the core changes.
>
> As you say, reviewing a monster PR like this will only make GitHub weep
> unicorns, but we might be able to cut this into smaller pieces.
>
>
>
> On Wed, May 23, 2018 at 11:31 AM Ian Swett <ianswett=
> 40google.com@dmarc.ietf.org> wrote:
>
>
>
> > Dear QUIC WG,
>
>
>
>
>
> > On behalf of the Stream 0 Design Team, I am pleased to report that we
>
> have consensus on a proposed approach to share with the WG. The DT's
> proposal will make QUIC and TLS work closer together and incorporates ideas
> from DTLS, but it does not use the DTLS protocol itself.
>
>
>
>
>
> > The DT believes this solves the important open Stream 0 issues. The
>
> proposal will be a bit more invasive in TLS, but we believe it is the
> right long-term direction and several TLS stacks (BoringSSL, PicoTLS, NSS,
> and
>
> Mint) are willing and able to do the work necessary.. A number of stacks
> are currently working on implementations of this new approach, which we
> hope to have in time for the Interim meeting.
>
>
>
>
>
> > A design document describing the overall approach can be found at:
>
>
>
>
>
> https://docs.google.com/document/d/1fRsJqPinJl8N3b-bflDRV6au
> ojfJLkxddT93j6SwHY8/edit
>
>
>
>
>
> > A PR making the changes to the QUIC documents can be found at:
>
>
>
> > https://github.com/quicwg/base-drafts/pull/1377
>
>
>
>
>
> > A few design details did not have clear consensus, but it was felt it
>
> would be better to discuss those in the wider WG than delay the design
> team.  A consistent choice was made in the PR and these issues are
> mentioned in Appendix B of the design doc.
>
>
>
>
>
> > As always, comments and questions welcome. That said, this is a big PR
>
> and we recognize that some editorial work is going to be needed before
> merging. In the interest of letting people follow along, and to keep github
> from falling over, we ask people to keep discussion on the mailing list and
> refrain from making PR comments.
>
>
>
>
>
> > See you in Kista!
>
>
>
>
>
> > Ian and Eric
>
>
>