From: Greg White <g.white@CableLabs.com>
To: Sebastian Moeller <moeller0@gmx.de>,
Jerry Jongerius <jerryj@duckware.com>
Cc: "bloat@lists.bufferbloat.net" <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] The Dark Problem with AQM in the Internet?
Date: Mon, 25 Aug 2014 17:13:51 +0000 [thread overview]
Message-ID: <D020C902.3BF0A%g.white@cablelabs.com> (raw)
In-Reply-To: <D542A271-BFFF-4494-8EE9-CBC9BFEB09EE@gmx.de>
[-- Attachment #1: Type: text/plain, Size: 5628 bytes --]
As far as I know there are no deployments of AQM in DOCSIS networks yet.
So, the effect you are seeing is unlikely to be due to AQM.
As Sebastian indicated, it looks like an interaction between power boost,
a drop tail buffer and the tcp congestion window getting reset to
slow-start.
I ran a quick simulation of a simple network with power boost and basic
(bloated) drop tail buffer (no AQM) this morning in an attempt to
understand what is going on here. You didn't give me a lot to go on in the
text of your blog post, but nonetheless after playing around with
parameters a bit, I was able to get a result that was close to what you
are seeing (attached). Let me know if you disagree.
I'm a bit concerned with the tone of your article, making AQM out to be
the bad guy here ("weapon against end users", etc.). The folks on this
list and those who participate in the IETF AQM WG are working on AQM and
packet scheduling algorithms in an attempt to "fix the Internet". At this
point AQM/PS is the best known solution, let's not create negative
perceptions unnecessarily.
-Greg
On 8/23/14, 2:01 PM, "Sebastian Moeller" <moeller0@gmx.de> wrote:
>Hi Jerry,
>
>On Aug 23, 2014, at 20:16 , Jerry Jongerius <jerryj@duckware.com> wrote:
>
>> Request for comments on: www.duckware.com/darkaqm
>>
>> The bottom line: How do you know which AQM device in a network
>>intentionally
>> drops a packet, without cooperation from AQM?
>>
>> Or is this in AQM somewhere and I just missed it?
>
>
>I am sure you will get more expert responses later, but let me try to
>comment.
>
>Paragraph 1:
>
>I think you hit the nail on the head with your observation:
>
>The average user can not figure out what AQM device intentionally dropped
>packets
>
>Only, I might add, this does not depend on AQM, the user can not figure
>out where packets where dropped in the case that not all involved network
>hops are under said user¹s control ;) So move on, nothing to see here ;)
>
>Paragraph 2:
>
>There is no guarantee that any network equipment responds to ICMP
>requests at all (for example my DSLAM does not). What about pinging a
>host further away and look at that hosts RTT development over time?
>(Minor clarification: its the load dependent increase of ping RTT to the
>CMTS that would be diagnostic of a queue, not the RTT per se). No
>increase of ICMP RTT could also mean there is no AQM involved ;)
>
> I used to think along similar lines, but reading
>https://www.nanog.org/meetings/nanog47/presentations/Sunday/RAS_Traceroute
>_N47_Sun.pdf made me realize that my assumptions about ping and trace
>route were not really backed up by reality. Notably traceroute will not
>necessarily show the real data's path and latencies or drop probability.
>
>Paragraph 3
>
>What is the advertised bandwidth of your link? To my naive eye this looks
>a bit like power boosting (the cable company allowing you higher than
>advertised bandwidth for a short time that is later reduced to the
>advertised speed). Your plot needs a better legend, BTW, what is the blue
>line showing? When you say that neither ping nor trace route showed
>anything, I assumed that you measured concurrently to your download. It
>would be really great if you could netperf-wrapper to get comparable data
>(see the link on
>http://www.bufferbloat.net/projects/cerowrt/wiki/Quick_Test_for_Bufferbloa
>t ) There the latency is not only assessed by ICMP echo requests but also
>by UDP packets, and it is very unlikely that your ISP can special case
>these in any tricky way, short of giving priority to sparse flows (which
>is pretty much what you would like your ISP to do in the first place ;) )
>
> Here is where I reveal that I am just a layman, but you complain about
>the loss of one packet, but how do you assume does a (TCP) settle on its
>transfer speed? Exactly it keeps increasing until it looses a packet,
>then reduces its speed to 50% or so and slowly ramps up again until the
>next packet loss. So unless your test data is not TCP I see no way to
>avoid packet loss (and no reason why it is harmful). Now if my power
>boost intuition should prove right I can explain the massive drop quite
>well, TCP had ramped up to above the long-term stable and suffers several
>packet losses in a short time, basically resetting it to 0 or so,
>therefore the new ramping to 40Mbps looks pretty similar to the initial
>ramping to 110Mbps...
>
>Paragraph 4:
>
>I guess, ECN, explicit congestion notification is the best you can
>expect, or routers will initially set a mark on a packet to notify the
>TCP endpoints that they need to throttle the speed unless that want to
>risk packet loss. But not all routers are configured to use it (plus you
>need to configure your endpoints correctly, see:
>http://www.bufferbloat.net/projects/cerowrt/wiki/Enable_ECN ). But this
>will not tell you where along the path congestion occurred, only that it
>occurred (and if push comes to shove your packets still get dropped.)
> Also, I believe, a congested router is going to drop packets to be able
>to ³survive² the current load, it is not going to send additional packets
>to inform you that it is overloaded...
>
>
>Best Regards
> Sebastian
>
>
>>
>>
>> _______________________________________________
>> Bloat mailing list
>> Bloat@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/bloat
>
>_______________________________________________
>Bloat mailing list
>Bloat@lists.bufferbloat.net
>https://lists.bufferbloat.net/listinfo/bloat
[-- Attachment #2: thruput.pdf --]
[-- Type: application/pdf, Size: 25625 bytes --]
next prev parent reply other threads:[~2014-08-25 17:14 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-23 18:16 Jerry Jongerius
2014-08-23 19:30 ` Jonathan Morton
2014-08-23 20:01 ` Sebastian Moeller
2014-08-25 17:13 ` Greg White [this message]
2014-08-25 18:09 ` Jim Gettys
2014-08-25 19:12 ` Sebastian Moeller
2014-08-25 21:17 ` Bill Ver Steeg (versteb)
2014-08-25 21:20 ` Bill Ver Steeg (versteb)
2014-08-28 13:19 ` Jerry Jongerius
2014-08-28 14:07 ` Jonathan Morton
2014-08-28 17:20 ` Jerry Jongerius
2014-08-28 17:41 ` Dave Taht
2014-08-28 18:15 ` Jonathan Morton
2014-08-29 14:21 ` Jerry Jongerius
2014-08-29 16:31 ` Jonathan Morton
2014-08-29 16:54 ` Jerry Jongerius
2014-08-28 18:59 ` Sebastian Moeller
2014-08-29 11:33 ` Jerry Jongerius
2014-08-29 12:18 ` Sebastian Moeller
2014-08-29 14:42 ` Dave Taht
2014-08-29 1:59 ` David Lang
2014-08-29 14:37 ` Jerry Jongerius
2014-08-30 6:05 ` Jonathan Morton
2014-08-30 6:28 ` Stephen Hemminger
2014-08-30 6:45 ` Jonathan Morton
2014-09-01 17:30 ` Jerry Jongerius
2014-09-01 17:40 ` Dave Taht
2014-08-28 14:39 ` Rich Brown
2014-08-28 16:20 ` Jerry Jongerius
2014-08-28 16:35 ` Fred Baker (fred)
2014-08-28 18:00 ` Jan Ceuleers
2014-08-28 18:13 ` Dave Taht
2014-08-29 1:57 ` David Lang
2014-08-28 18:41 ` Kenyon Ralph
2014-08-28 19:04 ` Dave Taht
2014-08-28 16:36 ` Greg White
2014-08-28 16:52 ` Bill Ver Steeg (versteb)
2014-09-01 11:47 ` Richard Scheffenegger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D020C902.3BF0A%g.white@cablelabs.com \
--to=g.white@cablelabs.com \
--cc=bloat@lists.bufferbloat.net \
--cc=jerryj@duckware.com \
--cc=moeller0@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox