Historic archive of defunct list bloat-devel@lists.bufferbloat.net
 help / color / mirror / Atom feed
From: Juliusz Chroboczek <jch@pps.jussieu.fr>
To: "David Täht" <dave.taht@gmail.com>
Cc: netdev@vger.kernel.org, bloat-devel@lists.bufferbloat.net
Subject: Re: Asserting ECN from userspace?
Date: Thu, 13 Oct 2011 13:30:21 +0200	[thread overview]
Message-ID: <7izkh5m8mq.fsf@lanthane.pps.jussieu.fr> (raw)
In-Reply-To: <4E8BF6B2.6030101@gmail.com> ("David =?iso-8859-1?Q?T=E4ht=22?= =?iso-8859-1?Q?'s?= message of "Tue, 04 Oct 2011 23:18:26 -0700")

Dave,

I'm not sure what you are getting at.  ECN is designed for routers, not
for end-points.  Assering ECN congestion-experienced at the sender will
cause the sender to react to the congestion indication after a whole RTT
(after the ECN-echo is received).  For end-to-end flow control, it is
both simpler and more efficient to reduce the sending rate immediately,
without going over the network.

There's a good reason why we're careful to distinguish congestion
control (router-to-endpoint) and flow control (endpoint-to-endpoint).
The latter is much easier.

> 1) Applications such as bittorrent (transmission, etc) that are much
> more aware of their overall environment could assert ECN on their UDP
> streams to indicate congestion.

The sender can react to congestion by simply reducing the sending rate.
The receiver can react to congestion by pipelining fewer chunk requests
to the sender.

> 3) Web Proxies. A web proxy could note when it was experiencing
> congestion on one side of the proxied connection (or another) and signal
> the other side to slow down.

It can cause the other side to slow down by simply stopping reading,
thus causing the normal TCP flow control (not congestion control) to
kick in.

What would be useful, on the other hand, would be the ability to set the
ECN enabled codepoint on UDP packets, and have some means to reliably
check whether the Congestion-Experienced codepoint has been set by some
intermediate router.  But that's different from what you appear to be
suggesting.

-- Juliusz

      parent reply	other threads:[~2011-10-13 11:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-05  6:18 David Täht
2011-10-06 23:52 ` Andi Kleen
2011-10-07  5:23 ` Eric Dumazet
2011-10-07 17:25 ` Rick Jones
2011-10-13 11:30 ` Juliusz Chroboczek [this message]

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7izkh5m8mq.fsf@lanthane.pps.jussieu.fr \
    --to=jch@pps.jussieu.fr \
    --cc=bloat-devel@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    --cc=netdev@vger.kernel.org \
    /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