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, 07 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
- [aqm] TCP ACK Suppression Mikael Abrahamsson
- Re: [aqm] TCP ACK Suppression Greg White
- Re: [aqm] TCP ACK Suppression Mikael Abrahamsson
- Re: [aqm] TCP ACK Suppression LAUTENSCHLAEGER, Wolfram (Wolfram)
- Re: [aqm] TCP ACK Suppression Bless, Roland (TM)
- Re: [aqm] TCP ACK Suppression Mikael Abrahamsson
- Re: [aqm] TCP ACK Suppression Clark Gaylord
- Re: [aqm] TCP ACK Suppression Steve Bauer
- Re: [aqm] TCP ACK Suppression Francini, Andrea (Andrea)
- Re: [aqm] TCP ACK Suppression Richard Scheffenegger
- Re: [aqm] TCP ACK Suppression Greg White
- Re: [aqm] TCP ACK Suppression Bless, Roland (TM)
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression David Collier-Brown
- Re: [aqm] TCP ACK Suppression Jonathan Morton
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression Richard Scheffenegger
- Re: [aqm] TCP ACK Suppression Yuchung Cheng
- Re: [aqm] TCP ACK Suppression Jonathan Morton
- Re: [aqm] TCP ACK Suppression Jonathan Morton
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression Greg White
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression Yuchung Cheng
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression Christian Huitema
- Re: [aqm] TCP ACK Suppression Rick Jones
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression Christian Huitema
- Re: [aqm] TCP ACK Suppression David Collier-Brown
- Re: [aqm] TCP ACK Suppression Simon Barber
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression Yuchung Cheng
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression Greg White
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] TCP ACK Suppression Simon Barber
- Re: [aqm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Dave Taht
- Re: [aqm] [tcpm] TCP ACK Suppression Jonathan Morton
- Re: [aqm] [tcpm] TCP ACK Suppression Jonathan Morton
- Re: [aqm] [tcpm] TCP ACK Suppression Simon Barber
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Jonathan Morton
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Mikael Abrahamsson
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression Greg White
- Re: [aqm] [tcpm] TCP ACK Suppression Joe Touch
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang
- Re: [aqm] [tcpm] TCP ACK Suppression David Lang