Re: [aqm] TCP ACK Suppression

"Bless, Roland (TM)" <> Wed, 07 October 2015 16:57 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id C543A1B2ED8 for <>; Wed, 7 Oct 2015 09:57:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.85
X-Spam-Status: No, score=-3.85 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id w29skNO13NiA for <>; Wed, 7 Oct 2015 09:57:53 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D94E41B2ED3 for <>; Wed, 7 Oct 2015 09:57:51 -0700 (PDT)
Received: from ([] by with esmtp port 25 iface id 1Zjs2D-0002XP-BR; Wed, 07 Oct 2015 18:57:45 +0200
Received: from [IPv6:::1] (ip6-localhost [IPv6:::1]) by (Postfix) with ESMTPS id 40EDEB00DB0; Wed, 7 Oct 2015 18:57:45 +0200 (CEST)
To: Richard Scheffenegger <>, Mikael Abrahamsson <>
References: <> <> <> <> <> <EF45C0B4E01A482ABC430D916827ED10@srichardlxp2>
From: "Bless, Roland (TM)" <>
X-Enigmail-Draft-Status: N1110
Organization: Institute of Telematics, Karlsruhe Institute of Technology
Message-ID: <>
Date: Wed, 7 Oct 2015 18:57:45 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <EF45C0B4E01A482ABC430D916827ED10@srichardlxp2>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 8bit
X-ATIS-Timestamp: 1444237065.
Archived-At: <>
Cc: "LAUTENSCHLAEGER, Wolfram \(Wolfram\)" <>, Greg White <>,
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 16:57:54 -0000


Am 07.10.2015 um 17:57 schrieb Richard Scheffenegger:
> [as individual]
> Hi Mikael,
> ACK thinning will interfere with the ACK clock of the sender; a good
> recipie to require much more buffering at the bottlneck hop of that
> session (since the sender will start bursting out TCP data packets at
> it's line rate, rather than the bottleneck link rate).

Yes, however, if I understood Mikael correctly, the 100 ACKs are waiting
to be transmitted anyway, so the cable modem link isn't able to provide
feedback at a higher rate, i.e., there is a choice of getting 100 ACKs
transmitted as burst (lets say an ACK train) or a single ACK for the
same amount of data. The effect for congestion control is probably the
same (sender sends out a burst) if the link is the only bottleneck and
the single ACK will not  get lost (i.e., you are throwing away lots of
redundancy that may help in case of packet loss affecting the ACK.

> So, if your goal is to have the sender send out TCP data segments at the
> bottleneck rate, you'd not want to ACK too many segments at once...

Since the cable modem link will lead to clumped ACKs the difference
between sending 100 ACKs vs. 1 ACK is probably not that big...
(except w.r.t. reliability).

> Of course, the drawback is your observation, that TCP (over Ethernet)
> typically requires 64 bytes of ACK per 2x 1448 bytes, or about 1:45
> uplink/downlink bandwidth).
> Others have already pointed out some relevant RFCs in this thread too...