Re: [quicwg/base-drafts] It's unclear if persistent congestion is a per-PN-space property (#3939)

Marten Seemann <notifications@github.com> Thu, 23 July 2020 05:02 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 AC58E3A0C76 for <quic-issues@ietfa.amsl.com>; Wed, 22 Jul 2020 22:02:05 -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 90suYBAtsdyT for <quic-issues@ietfa.amsl.com>; Wed, 22 Jul 2020 22:02:04 -0700 (PDT)
Received: from out-18.smtp.github.com (out-18.smtp.github.com [192.30.252.201]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4B3213A0C74 for <quic-issues@ietf.org>; Wed, 22 Jul 2020 22:02:04 -0700 (PDT)
Received: from github-lowworker-cd7bc13.ac4-iad.github.net (github-lowworker-cd7bc13.ac4-iad.github.net [10.52.25.102]) by smtp.github.com (Postfix) with ESMTP id 7296A340E2A for <quic-issues@ietf.org>; Wed, 22 Jul 2020 22:02:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1595480523; bh=AT69g9cKBYKBldi63GVdErPrSm0ElPjCdLi0Ij062cs=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=ZOPQNerWlWEMTYck7xDFia7GzCd8GgwcjEMO69gLl6i0BgJCYQPMAEV93zNMMVbLs s9/xR91Ty0jBfnCN1tHM5rq5zbrB2k4I7kIYQEiQzXqeZXXvIhJBT9UpA8i2gNRihG FcVl5cgT9Dy/1KQuB4exqHnire9Cou4TwVIs1TOk=
Date: Wed, 22 Jul 2020 22:02:03 -0700
From: Marten Seemann <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK6FDJOZVU6HGHHEPTV5ET5MXEVBNHHCPC6CX4@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3939/662819300@github.com>
In-Reply-To: <quicwg/base-drafts/issues/3939@github.com>
References: <quicwg/base-drafts/issues/3939@github.com>
Subject: Re: [quicwg/base-drafts] It's unclear if persistent congestion is a per-PN-space property (#3939)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f1919cb632b3_4fff3fd4b1acd968622cd"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: marten-seemann
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/P-RS2PDQwizESBrxEPmWUwoLLSI>
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: Thu, 23 Jul 2020 05:02:06 -0000

> @marten-seemann I think your question has been answered in my previous comment.

There are different ways to implement packet number skipping for optimistic ACK defense, which don't involve creating fake packets in the sentmap. Those ways would make it impossible to use the "hole method" without creating additional state for already acknowledged packets.

> @janaiyengar Going back to the spec discussion, even if it is the case that some implementations might have difficulty in implementing persistent congestion detection covering multiple packet number spaces, that alone does not mean that our recommendation should deviate from what TCP does.

No matter what we do, our recommendation will deviate from what TCP does. Going back to the example you posted in https://github.com/quicwg/base-drafts/pull/3889#discussion_r458552186, the acknowledgement of the Handshake packet would already trigger an RTO in TCP. In QUIC, we can't do that, because the packets live in different packet number spaces, and an ACK can only ever declare loss in its own packet number space.

So the question cannot be if we want to deviate from what TCP does. We already do, and there's no way around it.
Instead, we need to ask how much additional complexity we want to introduce to handle this corner case. I'd argue that the benefit is extremely limited, and we should therefore pick the simplest solution: only run persistent congestion detection for packets sent after handshake confirmation.

-- 
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/3939#issuecomment-662819300