Re: [aqm] TCP ACK Suppression

David Lang <> Fri, 09 October 2015 00:42 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 3C29F1B2EA2 for <>; Thu, 8 Oct 2015 17:42:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 5Pdt_PfhSQck for <>; Thu, 8 Oct 2015 17:42:41 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 733081B2E9E for <>; Thu, 8 Oct 2015 17:42:41 -0700 (PDT)
Received: from ( []) by (8.13.4/8.13.4/Debian-3) with ESMTP id t990gX1C017012; Thu, 8 Oct 2015 17:42:33 -0700
Date: Thu, 8 Oct 2015 17:42:33 -0700 (PDT)
From: David Lang <>
To: Christian Huitema <>
In-Reply-To: <>
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <>
User-Agent: Alpine 2.02 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
Archived-At: <>
Cc: "LAUTENSCHLAEGER, Wolfram \(Wolfram\)" <>, Greg White <>, "" <>, Joe Touch <>
Subject: Re: [aqm] TCP ACK Suppression
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for active queue management and flow isolation." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 09 Oct 2015 00:42:43 -0000

On Fri, 9 Oct 2015, Christian Huitema wrote:

> All that discussion is fun, but we should be careful to stay within the 
> respective group charters.
> As far as AQM is concerned, the question is whether the group wants to 
> standardize some kind of special handling of TCP ACK as part of queue 
> management. As far as the IETF rules are concerned, the answer is clearly NO 
> -- we cannot create an IETF recommendation that breaks other IETF 
> recommendations. Besides, such rules would not be very effective if the 
> transport protocol is encrypted, as for example QUIC, or SCTP over DTLS. AQM 
> should certainly not depend on end-systems not using encryption.

AQM should not depend on end-systems not using encryption.

But that doesn't mean that AQM should not take advantage of additional data that 
it can get from non-encrypted sessions.

For example, in the fq_codel/cake development, we're finding that there are some 
transports that bundle very large numbers of packets together to send at one 
time in order to maximize the transport bandwidth. (for example, 4x4 wifi sends 
a LOT of data in one transmit timeslot). Treating that large aggregate as a 
single packet seriously hurts fairness and latency on the next hop. So 'pulling 
apart' this aggregate into the individual packets/streams and making decisions 
based on the pieces ends up being a serious win in fairness and latency.

> As for TCP and other protocols, the question is whether they should pay more 
> attention to the volume of ACK and other control packets. The deployment of 
> queue management systems like FQ-CODEL actually creates an incentive to do 
> that, because a transport protocol that creates congestion on its uplink will 
> be automatically penalized. But that discussion belongs in TCPM and other 
> transport working groups, not AQM.

I can't say where the discussion needs to take place, but people need to realize 
that it's not just hurting itself. In fact it's probably not going to hurt 
itself the most.

most AQM systems tend to (at least slightly) prioritize acks, DNS responses, and 
other small packets because letting them get delayed has such a disproportionate 
impact on the overall throughput and user experience. As a result, the overload 
of ACKs is probably going to end up impacting other uses of the link instead.

Suggesting that the queues that build up produce a special enough case to 
consider thinning out the duplicate acks is a far cry from 'making a 
recommendation that breaks other recommendations'

David Lang