Re: [quicwg/base-drafts] Ignore loss of undecryptable packets (#2028)

Mike Bishop <notifications@github.com> Wed, 21 November 2018 17:56 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 81AE2130F18 for <quic-issues@ietfa.amsl.com>; Wed, 21 Nov 2018 09:56:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.56
X-Spam-Level:
X-Spam-Status: No, score=-7.56 tagged_above=-999 required=5 tests=[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 TMwkTS3NXFM5 for <quic-issues@ietfa.amsl.com>; Wed, 21 Nov 2018 09:56:14 -0800 (PST)
Received: from out-3.smtp.github.com (out-3.smtp.github.com [192.30.252.194]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 305E5130F06 for <quic-issues@ietf.org>; Wed, 21 Nov 2018 09:56:14 -0800 (PST)
Date: Wed, 21 Nov 2018 09:56:13 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1542822973; bh=fHqoSWe+InqcY+WxgSi4/kc3M4+aasdHVanyJFyf1t4=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=rpeUNeygIVoPOA5UlHT4UZvCWlxIU8f1BEGpVEzwtsDikjyCx6pq9TJqUt09ZLBc2 8EM1Gqu9yqWk0FBS8VnN+4bZHcfuR4/8snVknwGl3L4SiXqSX9a0K5ypn2vCapWcKn ju21LNJmppIYf727B5MQYQzl1cGLF0h1yv1G0PlU=
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab62dfea9cbf521d90f7ef37641982e693ab6c218b92cf00000001180d5e3d92a169ce16d1c244@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2028/review/177364190@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2028@github.com>
References: <quicwg/base-drafts/pull/2028@github.com>
Subject: Re: [quicwg/base-drafts] Ignore loss of undecryptable packets (#2028)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bf59c3d6a9ac_4b8d3f959b4d45c07759"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
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/uVNTLovjYE8u5jFKbo4CqS_fOWw>
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, 21 Nov 2018 17:56:23 -0000

MikeBishop requested changes on this pull request.

Hyphens, wording, etc.  The idea looks fine.

> @@ -1000,6 +999,17 @@ The recovery period limits congestion window reduction to once per round trip.
 During recovery, the congestion window remains unchanged irrespective of new
 losses or increases in the ECN-CE counter.
 
+## Loss of protected packets during the handshake
+
+0RTT and 1RTT packets sent prior to handshake completion can arrive before

```suggestion
Handshake and 0-RTT packets sent by clients and 1-RTT packets sent by servers
prior to handshake completion can arrive before
```

> @@ -1000,6 +999,17 @@ The recovery period limits congestion window reduction to once per round trip.
 During recovery, the congestion window remains unchanged irrespective of new
 losses or increases in the ECN-CE counter.
 
+## Loss of protected packets during the handshake
+
+0RTT and 1RTT packets sent prior to handshake completion can arrive before
+the peer has keys to unprotect them.  In those cases, the peer may decide
+not to buffer the packets.  This will cause the packets to never be
+acknowledged and eventually declared lost, despite being delivered to
+the peer.  If the server rejects 0RTT, then the congestion controller

```suggestion
the peer.  If the server rejects 0-RTT, then the congestion controller
```

> @@ -1000,6 +999,17 @@ The recovery period limits congestion window reduction to once per round trip.
 During recovery, the congestion window remains unchanged irrespective of new
 losses or increases in the ECN-CE counter.
 
+## Loss of protected packets during the handshake
+
+0RTT and 1RTT packets sent prior to handshake completion can arrive before
+the peer has keys to unprotect them.  In those cases, the peer may decide
+not to buffer the packets.  This will cause the packets to never be
+acknowledged and eventually declared lost, despite being delivered to
+the peer.  If the server rejects 0RTT, then the congestion controller
+SHOULD ignore the loss of 0RTT packets.  If any 0RTT or 1RTT packets sent

```suggestion
SHOULD ignore the loss of 0-RTT packets.  If any 0-RTT or 1-RTT packets sent
```

> @@ -1000,6 +999,17 @@ The recovery period limits congestion window reduction to once per round trip.
 During recovery, the congestion window remains unchanged irrespective of new
 losses or increases in the ECN-CE counter.
 
+## Loss of protected packets during the handshake
+
+0RTT and 1RTT packets sent prior to handshake completion can arrive before
+the peer has keys to unprotect them.  In those cases, the peer may decide
+not to buffer the packets.  This will cause the packets to never be
+acknowledged and eventually declared lost, despite being delivered to
+the peer.  If the server rejects 0RTT, then the congestion controller
+SHOULD ignore the loss of 0RTT packets.  If any 0RTT or 1RTT packets sent
+prior to knowing the peer has keys to unprotect them are lost, the
+sender's congestion control MAY ignore the loss of those packets if it's
+believe they were received by the peer prior to having the correct keys.

Traffic injection seems orthogonal to saying that there's a non-congestive form of loss that might get some grace during the handshake.  Injecting enough traffic to overwhelm the link and induce loss can happen at any point in the connection, because it's real loss from real congestion.

-- 
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/2028#pullrequestreview-177364190