From: Stephen Hemminger <shemminger@vyatta.com>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Random idea in reaction to all the discussion of TCP flavours - timestamps?
Date: Tue, 15 Mar 2011 11:13:40 -0700 [thread overview]
Message-ID: <20110315111340.798fe721@nehalam> (raw)
In-Reply-To: <86404DEF-EDFE-498D-8B82-C2BAF2D84A57@gmail.com>
On Tue, 15 Mar 2011 18:34:10 +0200
Jonathan Morton <chromatix99@gmail.com> wrote:
>
> On 15 Mar, 2011, at 12:36 pm, Jim Gettys wrote:
>
> > 0) the buffers can be filled by any traffic, not necessarily your own (in fact, often that of others), so improving your behaviour, while admirable, doesn't mean you or others sharing any piece of your won't suffer.
> > 1) the bloated buffers are already all over, and updating hosts is often a very slow process.
> > 2) suffering from this bloat is due to the lack of signalling congestion to congestion avoiding protocols.
>
> I actually agree. I was looking at the various TCPs to see how well they would respond to ECN, and ECN can only be created by some kind of AQM, even if it's a braindead version of RED.
>
> Previously, I pointed out that there is no point in buffering more than about 1-2 seconds of data, full stop - and that includes wireless and very-thin links (eg. analogue modems). In most cases the appropriate buffering level is less still. The fundamental limit is the initial-RTO at 2.5-3 seconds, which happens to correspond to a notional lunar bounce; once the delay exceeds that, you start to get symptoms of catastrophic runaway, from both automatic and human feedback sources.
>
> The main concern actually seems to be "can we turn on ECN safely" together with the related "how do we convince everyone to use ECN". Once ECN is widely deployed, we can more easily convince the routing people that using it might be a good idea, which is a gateway to AQM for people who are otherwise skeptical about AQM. It is clear that concerns still exist for ECN deployment, but that these might only be noticed and fixed by relevant people once deployment actually happens. Chicken and egg... Anecdotally, I have ECN turned on for most of my traffic, I suspect that not all servers I communicate with respond to it, but I don't see any nasty problems.
>
> The other major concern is consumer CPE. Most of this is made by a relatively small number of manufacturers, who are currently in the process of IPv6 transition. I seriously think we should make recommendations to the IPv6 testing guys. Manufacturers will realise that without a label proclaiming IPv6 support on the box, they will have a hard time selling stuff in the near future. They do seem to have a test which verifies that ECN isn't cut away by a router, but this isn't very precise about ECN behaviour under load.
>
> > So the question I have is whether there is some technique whereby monitoring the timestamps that may already be present in the traffic (and knowing what "sane" RTT's are) that we can start marking traffic in time prevent the worst effects of bloating buffers?
>
> The timestamps are not globally valid. You would need to observe each individual flow and maintain some state about them. What's more, you can't do this using stochastic flow discrimination as some AQMs do to avoid state-related starvation.
>
> Further, I don't think there is even any specification of how quickly the timestamps should advance - they are really there to disambiguate the RTT *to the hosts* in a retransmission-rich environment. One host might advance it every centisecond, another every millisecond, another might increment it using a global packet counter rather than a timer. The only thing the timestamps can't do is go backwards, so that they can serve a secondary function related to LFNs, large windows, and stale packets from previous connections.
>
> So timestamps give the host generating them a (much) better idea of RTT (which is good news for delay-based and hybrid algorithms) though it can still be fooled about minRTT if the queue starts full. They can't realistically be used by routers without making some serious and fragile assumptions.
>
> - Jonathan
Although ECN is a good idea, it really doesn't help when the majority of machines have
ECN support disabled. Looks like it is disabled by default in Windows:
http://technet.microsoft.com/en-us/library/bb878127.aspx
--
next prev parent reply other threads:[~2011-03-15 18:13 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-15 10:36 Jim Gettys
2011-03-15 14:40 ` Jim Gettys
2011-03-15 16:47 ` Jonathan Morton
2011-03-15 17:59 ` Don Marti
2011-03-15 18:14 ` Rick Jones
2011-03-15 18:31 ` John W. Linville
2011-03-15 19:40 ` Jonathan Morton
2011-03-15 19:59 ` Rick Jones
2011-03-15 20:51 ` John W. Linville
2011-03-15 21:31 ` Rick Jones
2011-03-16 0:32 ` John W. Linville
2011-03-16 1:02 ` Rick Jones
2011-03-15 22:01 ` Jonathan Morton
2011-03-15 22:19 ` Stephen Hemminger
2011-03-15 22:26 ` Jonathan Morton
2011-03-15 22:36 ` Rick Jones
2011-03-15 22:40 ` Jonathan Morton
2011-03-15 22:42 ` Stephen Hemminger
2011-03-15 22:52 ` Eric Dumazet
2011-03-15 23:02 ` Rick Jones
2011-03-15 23:12 ` Jonathan Morton
2011-03-15 23:25 ` Rick Jones
2011-03-15 23:33 ` Jonathan Morton
2011-03-15 23:46 ` Dave Täht
2011-03-16 0:49 ` Jonathan Morton
2011-03-16 1:02 ` Dave Täht
2011-03-16 1:28 ` Jonathan Morton
2011-03-16 1:59 ` Dave Täht
2011-03-16 2:23 ` Jonathan Morton
2011-03-16 22:22 ` [Bloat] Random idea in reaction to all the discussion of TCPflavours " Richard Scheffenegger
2011-03-16 23:38 ` richard
2011-03-16 23:50 ` Rick Jones
2011-03-17 12:05 ` Fred Baker
2011-03-17 12:18 ` Fred Baker
2011-03-17 17:27 ` Dave Täht
2011-03-18 18:30 ` Richard Scheffenegger
2011-03-18 18:49 ` Fred Baker
2011-03-20 11:40 ` Jonathan Morton
2011-03-20 22:18 ` david
2011-03-20 22:45 ` Jonathan Morton
2011-03-20 22:50 ` Dave Täht
2011-03-20 22:55 ` grenville armitage
2011-03-20 23:04 ` Dave Täht
2011-03-20 23:14 ` Jonathan Morton
2011-03-20 23:19 ` Dave Täht
2011-03-20 23:23 ` Dave Täht
2011-03-20 22:58 ` Jonathan Morton
2011-03-21 1:28 ` david
2011-03-21 1:56 ` Wesley Eddy
2011-03-18 18:27 ` [Bloat] Random idea in reaction to all the discussion ofTCPflavours " Richard Scheffenegger
2011-03-16 22:07 ` [Bloat] Random idea in reaction to all the discussion of TCPflavours " Richard Scheffenegger
2011-03-17 0:10 ` Jonathan Morton
2011-03-16 0:47 ` [Bloat] Random idea in reaction to all the discussion of TCP flavours " John W. Linville
2011-03-16 20:07 ` Jim Gettys
2011-03-17 2:26 ` Jonathan Morton
2011-03-17 18:22 ` Rick Jones
2011-03-17 21:50 ` Jonathan Morton
2011-03-17 22:20 ` Rick Jones
2011-03-17 22:56 ` Jonathan Morton
2011-03-18 1:36 ` Justin McCann
2011-03-18 5:51 ` Eric Dumazet
2011-03-15 16:34 ` Jonathan Morton
2011-03-15 18:13 ` Stephen Hemminger [this message]
2011-03-16 5:41 ` Fred Baker
2011-03-16 6:26 ` Jonathan Morton
2011-03-16 8:55 ` [Bloat] Random idea in reaction to all the discussion of TCPflavours " Richard Scheffenegger
2011-03-16 9:04 ` [Bloat] Random idea in reaction to all the discussion of TCP flavours " BeckW
2011-03-16 22:48 ` Fred Baker
2011-03-16 23:23 ` Jonathan Morton
2011-03-17 8:34 ` BeckW
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=20110315111340.798fe721@nehalam \
--to=shemminger@vyatta.com \
--cc=bloat@lists.bufferbloat.net \
--cc=chromatix99@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