Re: [aqm] TCP ACK Suppression

David Lang <> Wed, 07 October 2015 18:02 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id A0AE81ACDB0 for <>; Wed, 7 Oct 2015 11:02:39 -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 1KrQ1mQiX8sO for <>; Wed, 7 Oct 2015 11:02:37 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0C75D1ACDAB for <>; Wed, 7 Oct 2015 11:02:37 -0700 (PDT)
Received: from ( []) by (8.13.4/8.13.4/Debian-3) with ESMTP id t97I2YhA004204; Wed, 7 Oct 2015 11:02:34 -0700
Date: Wed, 7 Oct 2015 11:02:34 -0700 (PDT)
From: David Lang <>
To: Jonathan Morton <>
In-Reply-To: <>
Message-ID: <>
References: <> <> <> <> <> <> <> <>
User-Agent: Alpine 2.02 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="680960-331319192-1444240954=:29851"
Archived-At: <>
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: Wed, 07 Oct 2015 18:02:39 -0000

On Wed, 7 Oct 2015, Jonathan Morton wrote:

>> On 7 Oct, 2015, at 20:36, David Collier-Brown <> wrote:
>> On 07/10/15 01:19 PM, David Lang wrote:
>>> On Wed, 7 Oct 2015, Mikael Abrahamsson wrote:
>>>>> Oh, I hope that this is an exception. Such kind of optimizations may cause 
>>>>> a lot of trouble since a link layer device is interfering with transport 
>>>>> layer semantics. We all know that exactly these kinds of interference 
>>>>> eventually end up in problems with end-to-end transparency and deployment 
>>>>> of new protocol options. At least it interferes with the ACK clocking 
>>>>> expectation of some congestion control algorithms...
>>>> Personally, I think you're going to see more and more of this. There are 
>>>> mulitple shared access medium where you're allowed to send only part of the 
>>>> time, and it's someone else who tells you when you may send.
>>> it doesn't even require that someone else tells you when you may send. It 
>>> can just be waiting for an available transmit timeslot (Wifi for example)
>>> collapsing multiple ACKs that are going to be sent at once is almost always 
>>> going to be a win.
>> I quite agree, but if there is a congestion control implementation "in the 
>> wild" that assumes it will get a stream of acks, that one's going to need 
>> some work (:-))
>> Anyone know if that's the case? The comment above suggest it may be...
> It’s not “in the wild”, but this sort of thing is a headache for ELR.  It 
> essentially means that it won’t be able to use AccECN for its feedback (since 
> AccECN doesn’t allow reconstructing a complex 32-packet history of ECN 
> codepoints from a single ACK), but must introduce some other mechanism to feed 
> back the required data to the sender.

but if you are getting all 32 acks at the same time, with no other packets 
flowing, are you going to be able to do anything sane? do you mark every one of 
the acks with ECN (sending a super-strong backoff message), or only mark one of 
the acks (sending a weak backoff message)

David Lang