Re: [quicwg/base-drafts] Better duplicate detection (#3696)

Martin Thomson <notifications@github.com> Tue, 26 May 2020 05:23 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 637EA3A0AA9 for <quic-issues@ietfa.amsl.com>; Mon, 25 May 2020 22:23:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.101
X-Spam-Level:
X-Spam-Status: No, score=-3.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=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 ymFm_bnQhdsF for <quic-issues@ietfa.amsl.com>; Mon, 25 May 2020 22:23:31 -0700 (PDT)
Received: from out-20.smtp.github.com (out-20.smtp.github.com [192.30.252.203]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CD5773A0AA2 for <quic-issues@ietf.org>; Mon, 25 May 2020 22:23:31 -0700 (PDT)
Received: from github-lowworker-1ac52d7.ash1-iad.github.net (github-lowworker-1ac52d7.ash1-iad.github.net [10.56.25.52]) by smtp.github.com (Postfix) with ESMTP id 439DA8C0326 for <quic-issues@ietf.org>; Mon, 25 May 2020 22:23:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1590470610; bh=bbLCT1RhwoiC+yp93NfhI3aKJ9LhTJpDtOwVcKyAw6A=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=tM3MpFM8TvEMggwPH0Nmo8GjaSdqZ92eKqlpDmatbBuzAUtm0b2KCi4bSvWXtJODG LDINMTHjJb0PkF9euVGXGNMKbQJbWmjjdiqwhyTW2i9kWuo9FX2hK9l66wG7N5vt42 aPssDWgDFnIHibFc54FPBypKRLiRO/KNOTfvdUlA=
Date: Mon, 25 May 2020 22:23:30 -0700
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJKYWZINP7TH2OKIB2CV43CENFEVBNHHCKOUZLM@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3696/review/417976986@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3696@github.com>
References: <quicwg/base-drafts/pull/3696@github.com>
Subject: Re: [quicwg/base-drafts] Better duplicate detection (#3696)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ecca7d233a9b_7a353f99d9ecd96835704b"; 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
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/QouDpSdhHvqXZ6z8ISX5O_GbogM>
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: Tue, 26 May 2020 05:23:35 -0000

@martinthomson commented on this pull request.



> @@ -3204,9 +3204,15 @@ response to further packets that it receives.
 A receiver MUST discard a newly unprotected packet unless it is certain that it
 has not processed another packet with the same packet number from the same
 packet number space. Duplicate suppression MUST happen after removing packet
-protection for the reasons described in Section 9.3 of {{QUIC-TLS}}. An
-efficient algorithm for duplicate suppression can be found in Section 3.4.3 of
-{{?RFC4303}}.
+protection for the reasons described in Section 9.3 of {{QUIC-TLS}}.
+
+Endpoints that track individual packets for the purposes of detecting duplicates
+might accumulate excessive state.  The data required for detecting duplicates

I considered that, but I don't feel like a recommendation is necessary.  It's the natural implementation strategy because of how we structured ACK frames, so there is enough bias there.  But it crosses somewhat over from "here are the pitfalls" into "here is how you build a stack" too much for me.

> @@ -3204,9 +3204,15 @@ response to further packets that it receives.
 A receiver MUST discard a newly unprotected packet unless it is certain that it
 has not processed another packet with the same packet number from the same
 packet number space. Duplicate suppression MUST happen after removing packet
-protection for the reasons described in Section 9.3 of {{QUIC-TLS}}. An
-efficient algorithm for duplicate suppression can be found in Section 3.4.3 of
-{{?RFC4303}}.
+protection for the reasons described in Section 9.3 of {{QUIC-TLS}}.
+
+Endpoints that track individual packets for the purposes of detecting duplicates
+might accumulate excessive state.  The data required for detecting duplicates
+can be limited by maintaining a minimum packet number below which all packets
+are immediately dropped.  In setting a minimum packet number endpoints might
+need to account for large variations in round trip time that could significantly
+delay packets, especially if a peer migrates to or probes a different network
+path; see {{migration}}.

I see how you might pick on probing exclusively.  I'll remove migration and just identify probing.

s/have/need means the same to me.  It's 6919 language of a different form :)

-- 
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/3696#discussion_r430161554