[quicwg/base-drafts] Definition of ack-delay is incorrect (#3970)
Kazuho Oku <notifications@github.com> Wed, 29 July 2020 04:29 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 3ACE63A0B89 for <quic-issues@ietfa.amsl.com>; Tue, 28 Jul 2020 21:29:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.118
X-Spam-Level:
X-Spam-Status: No, score=-3.118 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_IMAGE_ONLY_32=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 X2ICdfSBB6qK for <quic-issues@ietfa.amsl.com>; Tue, 28 Jul 2020 21:29:07 -0700 (PDT)
Received: from out-28.smtp.github.com (out-28.smtp.github.com [192.30.252.211]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AE0C83A0B81 for <quic-issues@ietf.org>; Tue, 28 Jul 2020 21:29:07 -0700 (PDT)
Received: from github-lowworker-6b40fdd.va3-iad.github.net (github-lowworker-6b40fdd.va3-iad.github.net [10.48.16.64]) by smtp.github.com (Postfix) with ESMTP id 9E414900D91 for <quic-issues@ietf.org>; Tue, 28 Jul 2020 21:29:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1595996946; bh=cFYkqmnf7yjQQQWxJ1MNh5uqF/tMqWoYTUUCvZTJKSk=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=rZIIBUmVmuTs2MyzECKrR0Pl5CNMKtRdgj3A9sy3WUrkMeMvDyjBXfhtOQd7kNcmR 50AWJXUNjeLsF6JMt/bOqLgZRXrqb75Tcrr+AyawDjycw6z3+hlKXhMhAP++T7lArM y9c0y3hFrsrjUgeplp8yc2BMgY6/becQjDO+DtWM=
Date: Tue, 28 Jul 2020 21:29:06 -0700
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK2KLZQ46AASOZ2RZMF5FTOBFEVBNHHCPSOXRM@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3970@github.com>
Subject: [quicwg/base-drafts] Definition of ack-delay is incorrect (#3970)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f20fb128e0a8_626116f8584944"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
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/V_0PMpn-1qtjcqEQNl3eHXtHBD0>
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, 29 Jul 2020 04:29:09 -0000
__Problem statement:__ At the moment, the draft states that ack delay is _a variable-length integer representing the time delta in microseconds between when the ACK frame was sent and when the largest acknowledged packet was received by this peer_. ([transport draft; section 19.3](https://quicwg.org/base-drafts/draft-ietf-quic-transport.html#section-19.3-8.4)) I think that the definition is incorrect. Consider the case of a slow endpoint that needs to spend 10ms for processing one packet. When the true RTT of the network is 50ms, the RTT estimate of the peer would become 40ms, as by this definition, the slow endpoint would report an ack_delay of 10ms. IIUC, we have thought that the issue is negligible as we have a mechanism using min_rtt, for detecting and ignoring excessive ack_delay values being reported. But, as stated in https://github.com/quicwg/base-drafts/issues/3927#issuecomment-665411499, I am becoming skeptical if that defense works well when the path is being utilized, as the true RTT when the path is congested tends to be greater than when the path is not congested, and because min_rtt would normally reflect the value of the latter. In case of the example above, the defense does not work if the non-congested RTT of that path was 25ms and if min_rtt reflected that value. __Solution:__ The definition of ack delay should be changed to: _the amount of time an endpoint withheld an ack from the moment when it would have sent an immediate ack._ -- 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/3970
- [quicwg/base-drafts] Definition of ack-delay is i… Kazuho Oku
- Re: [quicwg/base-drafts] Definition of ack-delay … ianswett
- Re: [quicwg/base-drafts] Definition of ack-delay … Kazuho Oku
- Re: [quicwg/base-drafts] Definition of ack-delay … ianswett
- Re: [quicwg/base-drafts] Definition of ack-delay … ianswett