General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Justin McCann <jneilm@gmail.com>
To: "David Täht" <dave.taht@gmail.com>
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] the observed sack oddity
Date: Tue, 11 Oct 2011 11:25:58 -0400	[thread overview]
Message-ID: <CAFkTFa8avMB3RtiM3NE4b8+aSETtBskOoLXs0UtYZ=NP5X7hoQ@mail.gmail.com> (raw)
In-Reply-To: <4E943FF7.5020208@gmail.com>

On Tue, Oct 11, 2011 at 9:09 AM, David Täht <dave.taht@gmail.com> wrote:
> I have put up screenshots of tcptrace -G and xplot.org's analysis of my
> most recent capture of an ipv6 connection over freebox (wired) from a
> debloat-testing kernel here in france (pre 3.1 by a lot) to a 2.6.16
> kernel (the aformentioned netsonar box) in redwood city, ca, both
> running tcp cubic, over ipv6.
>
> at first glance, it looked a lot like a classic bufferbloat trace, with
> complete with periodic collapses and cubic increasing the window.
>
> Then I noticed the sacks.

It took me a bit to figure out what was odd about the SACKs. I see:

- At the beginning, the sender is ramping up faster than the rate the
ACKs are coming in (white vs. green). I'd expect them both to have
near the same slope (and change in slope) if slow start wasn't going
overboard. Is this difference in slope pretty common in bufferbloat
traces?

- Sender marks the first CWR shortly after the first SACKs come in.
That looks like some sort of AQM kicked in and dropped packets at the
head (or middle) instead of drop-tail, so you get the SACKs. Since the
RTT is so large (France <-> CA), the retransmissions take a while to
get to the receiver (and the ACKs returned), so the green line stays
flat. But since packets are getting through (as seen by the SACKs),
the window keeps advancing.

Now I see the problem: Why doesn't the receiver cover the whole
missing range in each SACK, while the green line isn't advancing
(green == next seqno)? It does in the right hand side of
http://www.teklibre.com/~d/sackoddity/freeboxipv6zoomtosackwindow.png
but not at the beginning. If it was a dropped ACK, any one of the
later SACKs would have advanced the acknowledged window, but they
didn't--- the receiver isn't properly tracking the entire SACK
window(s).

Does that catch it?

     Justin

  parent reply	other threads:[~2011-10-11 15:25 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-11 10:27 [Bloat] a flood of Bufferbloat-related papers David Täht
2011-10-11 11:58 ` Steinar H. Gunderson
2011-10-11 12:13   ` Eric Dumazet
2011-10-11 12:18     ` Eric Dumazet
2011-10-11 13:09       ` [Bloat] the observed sack oddity David Täht
2011-10-11 13:11         ` David Täht
2011-10-11 13:33           ` Eric Dumazet
2011-10-11 13:51             ` David Täht
2011-10-11 15:25         ` Justin McCann [this message]
2011-10-11 15:37         ` Justin McCann
2011-10-13 18:23         ` Jan Ceuleers
2011-10-13 18:27           ` Eric Dumazet
2011-10-11 12:40     ` [Bloat] a flood of Bufferbloat-related papers David Täht
2011-10-11 12:17   ` David Täht
2011-10-12  7:49 ` Lawrence Stewart
2011-10-12  8:03   ` David Täht

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='CAFkTFa8avMB3RtiM3NE4b8+aSETtBskOoLXs0UtYZ=NP5X7hoQ@mail.gmail.com' \
    --to=jneilm@gmail.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    /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