Re: [aqm] TCP ACK Suppression

"LAUTENSCHLAEGER, Wolfram (Wolfram)" <wolfram.lautenschlaeger@alcatel-lucent.com> Wed, 07 October 2015 07:42 UTC

Return-Path: <wolfram.lautenschlaeger@alcatel-lucent.com>
X-Original-To: aqm@ietfa.amsl.com
Delivered-To: aqm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 148561A8AF4 for <aqm@ietfa.amsl.com>; Wed, 7 Oct 2015 00:42:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.91
X-Spam-Level:
X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VM5v4QBrEliw for <aqm@ietfa.amsl.com>; Wed, 7 Oct 2015 00:42:08 -0700 (PDT)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 793B31A8AF7 for <aqm@ietf.org>; Wed, 7 Oct 2015 00:42:07 -0700 (PDT)
Received: from fr712usmtp2.zeu.alcatel-lucent.com (unknown [135.239.2.42]) by Websense Email Security Gateway with ESMTPS id B1FC2FD8C0E9; Wed, 7 Oct 2015 07:42:03 +0000 (GMT)
Received: from FR712WXCHHUB03.zeu.alcatel-lucent.com (fr712wxchhub03.zeu.alcatel-lucent.com [135.239.2.74]) by fr712usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id t977fwMe004419 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 7 Oct 2015 09:42:03 +0200
Received: from FR712WXCHMBA13.zeu.alcatel-lucent.com ([169.254.5.200]) by FR712WXCHHUB03.zeu.alcatel-lucent.com ([135.239.2.74]) with mapi id 14.03.0195.001; Wed, 7 Oct 2015 09:42:01 +0200
From: "LAUTENSCHLAEGER, Wolfram (Wolfram)" <wolfram.lautenschlaeger@alcatel-lucent.com>
To: Greg White <g.white@CableLabs.com>, "aqm@ietf.org" <aqm@ietf.org>
Thread-Topic: [aqm] TCP ACK Suppression
Thread-Index: AQHRAAfbKOa8G0w6eUG9qvEUOwBBRJ5eiGYAgAEb8WA=
Date: Wed, 7 Oct 2015 07:42:01 +0000
Message-ID: <0A452E1DADEF254C9A7AC1969B8781284A7D9B66@FR712WXCHMBA13.zeu.alcatel-lucent.com>
References: <alpine.DEB.2.02.1510060748480.8750@uplift.swm.pp.se> <D2394BB6.548C5%g.white@cablelabs.com>
In-Reply-To: <D2394BB6.548C5%g.white@cablelabs.com>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [135.239.27.40]
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0016_01D100E4.6885FCD0"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/ARHl5R6MILTppKgFBWNqbILyZEk>
Subject: Re: [aqm] TCP ACK Suppression
X-BeenThere: aqm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for active queue management and flow isolation." <aqm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/aqm>, <mailto:aqm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/aqm/>
List-Post: <mailto:aqm@ietf.org>
List-Help: <mailto:aqm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/aqm>, <mailto:aqm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Oct 2015 07:42:10 -0000

Is this specialized upstream TCP ACK handling, particularly the
prioritization a general recommendation in all access technologies? 
Perhaps it should be, since otherwise up and downstream TCP flows interfere
in a crazy queue oscillation that is typically misinterpreted by AQMs.
Is this topic addressed in some RFC already?

Wolfram


> -----Urspr√ľngliche Nachricht-----
> Von: aqm [mailto:aqm-bounces@ietf.org] Im Auftrag von Greg White
> Gesendet: Dienstag, 6. Oktober 2015 18:35
> An: Mikael Abrahamsson; aqm@ietf.org
> Betreff: Re: [aqm] TCP ACK Suppression
> 
> Mikael,
> 
> Specialized upstream TCP ACK handling (which can include both
> prioritization and suppression) is a recommended feature in the DOCSIS
> specification.  The details of the implementation are left to the
> manufacturer, but I don't expect that it is actually done at dequeue
(packet
> processing at dequeue is expensive in cable modems).  Rather, I expect
that
> devices identify ACKs at enqueue, and retain (separate from the main
> service-flow queue) a single ACK for each TCP session.  Then, upon
receiving
> a grant, the ACK queue is flushed first, followed by packets from the main
> queue.
> 
> The CM is not permitted to issue bandwidth requests for more data than it
> has available to send, so bandwidth requests would need to already have
> ACK suppression taken into account.  For this reason (and the above), I
> doubt that the CM would include suppressed ACKs in its queue depth and
> queuing latency estimation.
> 
> AQM in DOCSIS also happens at enqueue.  The spec is silent on whether the
> upstream TCP ACKs are subject to AQM packet drop, but it would be
> compliant for them (i.e. the one ACK per session) to be protected.
> 
> -Greg
> 
> 
> On 10/6/15, 1:20 AM, "aqm on behalf of Mikael Abrahamsson"
> <aqm-bounces@ietf.org on behalf of swmike@swm.pp.se> wrote:
> 
> >
> >Hi,
> >
> >after noticing that some TCP ACKs on my home DOCSIS connection were
> not
> >making it to their destination, I after some interaction with cable
> >Internet people, I found this:
> >
> >http://www.cedmagazine.com/article/2006/12/docsis-sub-throughput-
> optimi
> >zat
> >ion
> >
> >"TCP ACK Suppression (TAS)"
> >
> >"TCP ACK Suppression overcomes the TRGC limitation without actually
> >affecting the DOCSIS specification or involving the CMTS. It improves
> >downstream TCP transmissions by taking advantage of TRGC and only
> >sending the last ACK it receives when its data grant becomes active.
> >Thus, the number of TCP ACKs is fewer, but the number of bytes
> >acknowledged by each TCP ACK is increased."
> >
> >So the DOCSIS modem basically looks at all the ACKs in the queue at the
> >time of transmission (DOCSIS uses a "grant" system to tell a modem when
> >it's allowed to transmit on the shared medium), and then basically
> >deletes all the redundant ACKs (the ones who are just increasing
> >linearly without indicating packet drop) and keeps the highest ACK
> >only.
> >
> >Now, this kind of mechanism, how should it be treated when it comes to
> >AQM? This mechanism is basically done at de-queue, when a number of
> >packets are emptied from the queue at one time, which is then allowed
> >to fill up again until the next transmit opportunity arises.
> >
> >Or is this a non-problem because it's likely that any AQM employed here
> >would use the buffer fill right after a transmit opportunity has
> >finished (for those that consider buffer fill as a variable), which
> >would mean that most likely the TCP ACK purging had already occured so
> >this mechanism doesn't influence the AQM in any significant manner
> >anyway?
> >
> >Just as a data point from my home connection, I have 250/50 (down/up)
> >and when downloading at 250 megabit/s, the upstream traffic is reduced
> >by approximately 20x, so instead of sending 10 megabit/s (or so) of
> >ACKs, I see approximately 500 kilobits/s of ACKs.
> >
> >--
> >Mikael Abrahamsson    email: swmike@swm.pp.se
> >
> >_______________________________________________
> >aqm mailing list
> >aqm@ietf.org
> >https://www.ietf.org/mailman/listinfo/aqm
> 
> _______________________________________________
> aqm mailing list
> aqm@ietf.org
> https://www.ietf.org/mailman/listinfo/aqm