Re: [re-ECN] VIability issue #2

John Leslie <john@jlc.net> Sun, 15 November 2009 02:49 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 6D7723A67A8 for <re-ecn@core3.amsl.com>; Sat, 14 Nov 2009 18:49:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.485
X-Spam-Level:
X-Spam-Status: No, score=-6.485 tagged_above=-999 required=5 tests=[AWL=0.114, 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 k-pKPPBhctxU for <re-ecn@core3.amsl.com>; Sat, 14 Nov 2009 18:49:12 -0800 (PST)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.9]) by core3.amsl.com (Postfix) with ESMTP id 990FD3A6784 for <re-ecn@ietf.org>; Sat, 14 Nov 2009 18:49:12 -0800 (PST)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 3C10733C2B; Sat, 14 Nov 2009 21:49:44 -0500 (EST)
Date: Sat, 14 Nov 2009 21:49:44 -0500
From: John Leslie <john@jlc.net>
To: Tom Taylor <tom111.taylor@bell.net>
Message-ID: <20091115024944.GD7589@verdi>
References: <c22.6dd3f8e3.3825639c@aol.com> <AEDCAF87EEC94F49BA92EBDD49854CC70DD2F822@E03MVZ1-UKDY.domain1.systemhost.net> <4AFF1315.3010908@bell.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4AFF1315.3010908@bell.net>
User-Agent: Mutt/1.4.1i
Cc: re-ecn@ietf.org
Subject: Re: [re-ECN] VIability issue #2
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: Sun, 15 Nov 2009 02:49:13 -0000

Tom Taylor <tom111.taylor@bell.net> wrote:
> 
> OK, so assume a sender has perfect knowledge of the instantaneous level of
> downstream congestion, which seems to be the goal expressed by your 
> statement.
> What do you expect the sender to do about it?

   First, we need to be clear what you mean by "sender": it could be

- any router forwarding packets along the path;
- an egress router at a end-user site;
- any host stack "originating" packets;
- an application making a call to a transport protocol.

   (The answers would be different...)

> I think the following list exhausts the possibilities:

   Oh, hardly...

> (1) Schedule transmission of the current packet for later, when
>     congestion may be lower.
> 
> (2) Drop the current packet at source.
> 
> (3) Kill the flow to which the packet belongs (e.g., close the socket).
> 
> (4) Don't let new flows start (e.g., refuse to open a socket to the 
>     destination concerned).
> 
> The obvious implementation of (1) and (2) at operating system level is a 
> packet queue where the oldest packet is dropped when the queue overflows.

   This borders on brain-dead for an end-user OS.

   (Of course, any "sender" always _might_ drop a packet...)

> I can't see doing (3) and (4) based on instantaneous conditions.
> Assuming perfect knowledge, the decision to maintain or drop a
> given flow depends on congestion throughout the life of the flow,
> and whether that prevents the flow from meeting its objectives.

   In the absence of QoS expectations, such a decision tends to be
left to the (wetware) user.

> In the absence of perfect knowledge, it seems more rational to
> use information on the behaviour of congestion over some period 
> of time as a predictor of what conditions the flow can expect to
> encounter in the future.

   This tends to be a black art -- guessing what the (wetware) user
will prefer if you guess wrong. :^(

> The point I'm trying to make is that within-RTT feedback has very
> limited usefulness for traffic regulation.

   The one-RTT feedback is intended to be strictly a decision of
which packets to mark "congestion-expected". The triage issue is
only whether to stop marking for a particular flow, presumably
causing some of the not-marked packets to be dropped -- perhaps
by a policer/dropper or perhaps by a forwarding router.

--
John Leslie <john@jlc.net>