[re-ECN] TCP's "Dynamic Range"

John Leslie <john@jlc.net> Mon, 26 October 2009 13:36 UTC

Return-Path: <john@jlc.net>
X-Original-To: re-ecn@core3.amsl.com
Delivered-To: re-ecn@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 472413A6937 for <re-ecn@core3.amsl.com>; Mon, 26 Oct 2009 06:36:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.532
X-Spam-Level:
X-Spam-Status: No, score=-6.532 tagged_above=-999 required=5 tests=[AWL=0.067, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LJPqdyz41dJB for <re-ecn@core3.amsl.com>; Mon, 26 Oct 2009 06:36:34 -0700 (PDT)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.9]) by core3.amsl.com (Postfix) with ESMTP id 3CA473A6407 for <re-ecn@ietf.org>; Mon, 26 Oct 2009 06:36:34 -0700 (PDT)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 70F6833C22; Mon, 26 Oct 2009 09:36:40 -0400 (EDT)
Date: Mon, 26 Oct 2009 09:36:40 -0400
From: John Leslie <john@jlc.net>
To: Bob Briscoe <rbriscoe@jungle.bt.co.uk>
Message-ID: <20091026133640.GA62345@verdi>
References: <4AE26E9B.8060205@thinkingcat.com> <200910242327.n9ONRbZt023456@bagheera.jungle.bt.co.uk> <4AE4CBDB.4030806@thinkingcat.com> <200910261228.n9QCSCp0030099@bagheera.jungle.bt.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <200910261228.n9QCSCp0030099@bagheera.jungle.bt.co.uk>
User-Agent: Mutt/1.4.1i
Cc: re-ecn@ietf.org
Subject: [re-ECN] TCP's "Dynamic Range"
X-BeenThere: re-ecn@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: re-inserted explicit congestion notification <re-ecn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/re-ecn>, <mailto:re-ecn-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/re-ecn>
List-Post: <mailto:re-ecn@ietf.org>
List-Help: <mailto:re-ecn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/re-ecn>, <mailto:re-ecn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Oct 2009 13:36:35 -0000

Bob Briscoe <rbriscoe@jungle.bt.co.uk> wrote:
> At 22:06 25/10/2009, Leslie Daigle wrote:
>>Bob Briscoe wrote:
>>> 
>>> I've been thinking... We should add an item to the many purposes list:
>>> 
>>> - evolution path beyond TCP (running out of dynamic range)
>>
>> Which is pretty cool, but on the bof agenda might lead to some 
>> ratholing on whether we're just bashing TCP, no?
> 
> [BB] Not at all. Everyone in the transport area knows TCP has run out 
> of dynamic range. It's a well-known problem.

   I've been thinking somewhat along this line, though I wasn't using
the term "dynamic range", but rather considering signal-to-noise in
our feedback function.

   Beyond any question, TCP has been successful at curing "congestion
collapse" -- which is, after all, what it aimed to do.

   But packet loss, as a feedback signal, is frankly terribly unsuited
to fine-tuning how to share bandwidth at the bottlenecks. It's not,
IMHO, "bashing" TCP to point out this difference.

   Network operators, at best, can only estimate packet loss, not
measure it meaningfully, and even if they could measure it with 100%
accuracy, they'd have no hope of relating packet loss to the backoff
it signals.

   That's because the multiplicative decrease it signals is based
on end-to-end flows at a higher layer. We're looking at five or more
orders of magnitude difference in the amount of backoff signaled by
a packet lost. For a network operator, the signal is quite lost in
the noise!

   As we review the history of TCP, we notice that attempts to move
away from packet loss have failed to dependably avoid congestion
collapse: thus implementations tend to depend entirely on packet
loss to signal backoff; and other congestion-notification tends to
be ignored or even suppressed.

   (BTW, that's an issue we need to be prepared to discuss: how can
re-ecn operate when ECN marks are suppressed? Even though most of
the suppression history concerns ICMP, there will be folks who think
ECN will suffer similar suppression.)

   We should recognize that multiplicative-decrease on packet loss
is a proven winner for avoiding congestion collapse, and concentrate
on what's a better signal for management of bottleneck bandwidth.
I propose a few principles:

1) The signal needs to be visible to the network manager managing
   the bottleneck;

2) The signal should be distinct enough to be the basis for cost
   allocation for upgrading the bottleneck;

3) The signal should be visible to end-systems, giving a decent
   measure of how much to backoff their sending rate;

4) The signal should enable "backpressure" to allow network managers
   to avoid forwarding too many packets towards the bottleneck;

5) The signal should not involve packet loss.

   I believe that a properly-designed signalling system can work
for at least eight or nine orders of magnitude of sender bandwidth.
To be complete, a proposal should probably get into how many bits
per signal, but I'm personally convinced that re-ecn can work
beyond five orders of magnitude.

   So, avoiding the bits-per-signal question, are the five principles
above sufficient? Are they necessary? Can we come up with a good
presentation of such principles for the BoF?

--
John Leslie <john@jlc.net>