Re: [quicwg/base-drafts] Flow/congestion control and rejected 0-RTT (#390)

Martin Thomson <notifications@github.com> Tue, 14 March 2017 23:24 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.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 E3F07131651 for <quic-issues@ietfa.amsl.com>; Tue, 14 Mar 2017 16:24:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.121
X-Spam-Level:
X-Spam-Status: No, score=-0.121 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, 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 xg-BJRg1hMTv for <quic-issues@ietfa.amsl.com>; Tue, 14 Mar 2017 16:24:34 -0700 (PDT)
Received: from o10.sgmail.github.com (o10.sgmail.github.com [167.89.101.201]) (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 515BE13164B for <quic-issues@ietf.org>; Tue, 14 Mar 2017 16:24:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=H2R47JTdbJqmP3E6o8aeLFcCWAQ=; b=JfgUE09cNjCFWgVZ +F8EvuVUiJnUbBZ6RMtPRnRbTXUlrteZIdatC9qTXWoSR7/sAUg7QAoQj8Dqc1Xs uobsr61qLejGyG6TrhMMleOgT3dBNigvObwC7JyQovSNOmmeJTBJ96YtDB5Dm15i AFjUf7k4e/D9w1+uFNRswqPv1kw=
Received: by filter0942p1mdw1.sendgrid.net with SMTP id filter0942p1mdw1-27496-58C87BB0-24 2017-03-14 23:24:32.836579363 +0000 UTC
Received: from github-smtp2b-ext-cp1-prd.iad.github.net (github-smtp2b-ext-cp1-prd.iad.github.net [192.30.253.17]) by ismtpd0005p1iad1.sendgrid.net (SG) with ESMTP id cYjyDRanTkWKFgK914K4KA for <quic-issues@ietf.org>; Tue, 14 Mar 2017 23:24:32.823 +0000 (UTC)
Date: Tue, 14 Mar 2017 16:24:32 -0700
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab55302bbfe8f7b06ad57d5384901d31803ed04f1592cf0000000114e03db092a169ce0cbc0439@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/390/286593325@github.com>
In-Reply-To: <quicwg/base-drafts/issues/390@github.com>
References: <quicwg/base-drafts/issues/390@github.com>
Subject: Re: [quicwg/base-drafts] Flow/congestion control and rejected 0-RTT (#390)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_58c87bb0a97a0_7ede3fde590a5c2c1850ea"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak2GUbbMStn1rCxTfbtq73ZWEokVPrqzA+5dPu 9ocgPZK5So3tOrLISd4s1iPMcIJwjnnX/9G/8AGEbB3DmAC9fNuoEDyCzBDjnq9rV25CiQqxqsz79d iLwKIxiLfnvS57kVdUZlVfgfa4YUFOd0wAeOouNVi1Yx31QjFtL0oVyhRHgRwF07AwMnZCyG2Vzv6w s=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/UXJny8HmzryjG4pxW0oYs-pHX-c>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 14 Mar 2017 23:24:36 -0000

> One important point is that even if the 0RTT packets are 'lost' and need to be retransmitted, they should not be considered lost from a congestion control perspective.

Yes, that is why I had separate points for this.  "lost" doesn't quite cut it.

> If we could say rejected 0RTT packets don't count towards flow control, I think we would no longer have to exempt stream 1 from counting towards connection level flow control, which would be nice.

Since they *can't* count, that's academic.  I'm more concerned about flow control when 0-RTT is accepted.  Connection flow control can still kick in.

There is an alternative design, which would require rolling back a change (it's one that I don't like so I am biased a little, but I really like this alternative).

We require clients to remember transport parameters.  In particular, we require that clients remember the connection-level flow control limit.  We define a new transport parameter that only applies to 0-RTT: maximum bytes.  The same limit exists in TLS, and I was going to propose that we include this anyway (I've opened #405 to do this, since I obviously neglected to do so).

If we choose to apply that limit to STREAM payloads (my preference), then we can say that this value MUST be at least X octets less than the initial connection flow control offset (Finished is usually the hash output, so I imagine that 128 octets would be plenty of slack).  Then, you always have space for at least a Finished message.  

Note: Client authentication doesn't interfere with this because it can't be used in conjunction with 0-RTT.

-- 
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/issues/390#issuecomment-286593325