Re: [quicwg/base-drafts] Changing the Default QUIC ACK Policy (#3529)

Gorry Fairhurst <> Thu, 28 May 2020 14:29 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 93E563A0F04 for <>; Thu, 28 May 2020 07:29:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.099
X-Spam-Status: No, score=-3.099 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id CZFt_dvzzA0l for <>; Thu, 28 May 2020 07:29:39 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 29B173A0FB1 for <>; Thu, 28 May 2020 07:20:06 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 4370F8C01E4 for <>; Thu, 28 May 2020 07:20:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1590675605; bh=dok+lEoGZ7aWEkx0pG4IL4EhXLTDJ7q3VnoOrClXHhw=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=LeQMIN28SQl9DMEvdMPCZg0mMCWWW4nv3yi98lnnOkAppEbsv3IHIOYOnVqS9rHoO 8sZATKFwp94ROCF4OvCrKhGa2/YAYxeQuKckzo1HyEHGYsfd5ojBedJGgp8q3yCqWB ReK9m+Qiw98e+mLJXJhCDHOtOlcmh6dwDVNjdXdk=
Date: Thu, 28 May 2020 07:20:05 -0700
From: Gorry Fairhurst <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3529/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] Changing the Default QUIC ACK Policy (#3529)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ecfc89533f0e_85b3fad988cd964319339"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: gorryfair
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: Thu, 28 May 2020 14:29:41 -0000

There are some different points of pain here, the default and the need 
to adapt to the endpoint:

An ACK Ratio (AR 1:1): is the finest granuality of feedback. A QUIC AR 
of 1:1 would consume return path capacity proportional to about 6% of 
the forward traffic (assuming no loss, etc). This is more than TCP 
(about 3%).

An ACK Ratio (AR 1:2): For a return path bottleneck, QUIC with an AR of 
1:2 will still have more impact on sharing flows than TCP would with the 
same AR 1:2 (because QUIC ACKs are larger, and because networks do not 
currently thin QUIC ACKs).

So QUIC needs to choose the default  - is it 1:2, 1:4, 1:8, 1:10?

A QUIC AR 1:10 results in an ACK traffic volume of about 1% of the 
forward traffic. To me, that's a small proportion, which is why I argued 
that 1:10 is a good recommendation. The default is important when: the 
endpoints have no knowledge of the asymetry or the impact they have on a 
link's layer 2 loading, or the endpoints need to reduce the collateral 
damage to other IP flows sharing the return path capacity.

Negotiation: The AR can be driven by the application or endpoint - 
e.g.,  a higher rate connection may well have a benefit from an AR of 
1:10, 1:20, 1:100,  etc - but such ARs are seldom chosen to reduce the 
impact on sharing a return bottleneck, more likely they are chosen to 
benefit the performance of an application or endpoint. That 
consideration is different, and likely depends on the application or 
ednpoint - which to me is where the flexibility offered by a transport 
parameter is so important. draft-iyengar-quic-delayed-ack will still 
need guidance on the "default".

I argued that the default policy impacts the congestion behaviour when 
there is appreciable asymmetry this causes at layer 2 or the collateral 
damage (congestion impact on sharing flows). Sure, the choice of 1% is 
just a number I said was reasonable, but I've seldom encountered L2 
technologies where less than 1% of forward traffic would be 
significantly better.


On 27/05/2020 10:31, Bob Briscoe wrote:
> To be clear, when I said that having a default policy is not a matter of
> interoperability, that's only strictly true if QUIC supports something
> like draft-iyengar-quic-delayed-ack for the sender to ask the receiver
> to use a certain policy.
> Bob
> -- 
> ________________________________________________________________
> Bob Briscoe
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub 
> <>, 
> or unsubscribe 
> <>.
G. Fairhurst, School of Engineering

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