General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: "Jerry Jongerius" <jerryj@duckware.com>
To: "'Greg White'" <g.white@CableLabs.com>,
	"'Sebastian Moeller'" <moeller0@gmx.de>
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] The Dark Problem with AQM in the Internet?
Date: Thu, 28 Aug 2014 09:19:50 -0400	[thread overview]
Message-ID: <000901cfc2c2$c21ae460$4650ad20$@duckware.com> (raw)
In-Reply-To: <D020C902.3BF0A%g.white@cablelabs.com>

[-- Attachment #1: Type: text/plain, Size: 7239 bytes --]

Mr. White,

 

AQM is a great solution for bufferbloat.  End of story.  But if you want to
track down which device in the network intentionally dropped a packet (when
many devices in the network path will be running AQM), how are you going to
do that?  Or how do you propose to do that?

 

The graph presented is caused the interaction of a single dropped packet,
bufferbloat, and the Westwood+ congestion control algorithm – and not power
boost.

 

- Jerry

 

 

 

-----Original Message-----
From: Greg White [mailto:g.white@CableLabs.com] 
Sent: Monday, August 25, 2014 1:14 PM
To: Sebastian Moeller; Jerry Jongerius
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] The Dark Problem with AQM in the Internet?

 

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" < <mailto:moeller0@gmx.de>
moeller0@gmx.de> wrote:

 

>Hi Jerry,

> 

>On Aug 23, 2014, at 20:16 , Jerry Jongerius < <mailto:jerryj@duckware.com>
jerryj@duckware.com> wrote:

> 

>> Request for comments on:  <http://www.duckware.com/darkaqm>
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_Tracero>
https://www.nanog.org/meetings/nanog47/presentations/Sunday/RAS_Tracero

>ute _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_Bufferb>
http://www.bufferbloat.net/projects/cerowrt/wiki/Quick_Test_for_Bufferb

>loa 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>
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

>>  <mailto:Bloat@lists.bufferbloat.net> Bloat@lists.bufferbloat.net

>>  <https://lists.bufferbloat.net/listinfo/bloat>
https://lists.bufferbloat.net/listinfo/bloat

> 

>_______________________________________________

>Bloat mailing list

> <mailto:Bloat@lists.bufferbloat.net> Bloat@lists.bufferbloat.net

> <https://lists.bufferbloat.net/listinfo/bloat>
https://lists.bufferbloat.net/listinfo/bloat

 


[-- Attachment #2: Type: text/html, Size: 16559 bytes --]

  parent reply	other threads:[~2014-08-28 13:20 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
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 [this message]
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='000901cfc2c2$c21ae460$4650ad20$@duckware.com' \
    --to=jerryj@duckware.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=g.white@CableLabs.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