Re: [quicwg/base-drafts] Ignoring ACK delay can result in wrong RTT calculations (#3350)

ianswett <> Wed, 15 January 2020 20:14 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 74A551208EA for <>; Wed, 15 Jan 2020 12:14:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.596
X-Spam-Status: No, score=-6.596 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, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id t7_cQ2s58gSm for <>; Wed, 15 Jan 2020 12:14:37 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 97FA8120972 for <>; Wed, 15 Jan 2020 12:14:37 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id D31AA8C06CE for <>; Wed, 15 Jan 2020 12:14:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1579119275; bh=5Tu1rY+8kTgiLG+ljssy85JmFq/TFghQw4Me9a8Uetw=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=lN7ffGxKZ3UpX65zowDRPhr24krPKIVZ9MEltaSlGxN0fqUHtTRhV2aweK2YyTwNS oVRLnSLxyIQIFzAMoMo2Bk7o3ykmUSuJdRHr9cB7ksMDQDC29PgErQvANZQW3PsTpv aGU7Egfh4Vugy5iINpg/FAuTs136hhEDQzFvoK5w=
Date: Wed, 15 Jan 2020 12:14:35 -0800
From: ianswett <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3350/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] Ignoring ACK delay can result in wrong RTT calculations (#3350)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e1f72abc1c48_5c8f3f823fecd96015212a"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ianswett
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 15 Jan 2020 20:14:41 -0000

I'll note that persistent delayed acks are bad for performance for a variety of reasons, but let's put that aside for now.

I believe the problematic text is:

> MUST NOT apply the adjustment if the resulting RTT sample is smaller than the min_rtt. This limits the underestimation that a misreporting peer can cause to the smoothed_rtt.

The alternative would be to allow the RTT sample to be as small as min_rtt, but no smaller, rather than ignoring the ack_delay entirely when it created a sample less than min_rtt.  The negative of this is it allows a buggy/malicious peer to always specify an overly large ack_delay, which drives smoothed to min_rtt and results in an RTTVar of 0.  This would make PTO quite aggressive, though given we're also adding max_ack_delay onto the PTO, possibly it's acceptable.

In real-world scenarios, I suspect it doesn't matter that much, which is why we went with the more conservative option.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: