Re: [arch-d] A Public Option for the Core

Toerless Eckert <> Mon, 17 August 2020 22:50 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 7E1203A13F8 for <>; Mon, 17 Aug 2020 15:50:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id XMxLHuAg6XBB for <>; Mon, 17 Aug 2020 15:50:31 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 474863A13F7 for <>; Mon, 17 Aug 2020 15:50:30 -0700 (PDT)
Received: from ( [IPv6:2001:638:a000:4134::ffff:52]) by (Postfix) with ESMTP id 37311548621; Tue, 18 Aug 2020 00:50:26 +0200 (CEST)
Received: by (Postfix, from userid 10463) id 30ABE440059; Tue, 18 Aug 2020 00:50:26 +0200 (CEST)
Date: Tue, 18 Aug 2020 00:50:26 +0200
From: Toerless Eckert <>
To: Joseph Touch <>
Cc: Christian Huitema <>,
Message-ID: <>
References: <> <> <> <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <>
Subject: Re: [arch-d] A Public Option for the Core
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: open discussion forum for long/wide-range architectural issues <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 17 Aug 2020 22:50:34 -0000

On Mon, Aug 17, 2020 at 11:59:09AM -0700, Joseph Touch wrote:
> > On Aug 17, 2020, at 9:42 AM, Toerless Eckert <> wrote:
> > 
> > Instead of just talking about some of the tools (CC, ACM), it would be
> > nice to try to set goals first, to see if we could get agreement there:
> > 
> > -> I would like traffic to get the same throughput under congestion
> >   whatever its RTT is.
> Yes, as long as the issue isn???t that the ISP does something differently based on RTT>
> If they run feedback loops whose recovery depends on RTT, then it???s their fault if they don???t get a fair share. It???s not the ISPs job to compensate for that.

Thats a matter of opinion. many transportation services have elements
of equalization in them. postal charges within countries for example
(for most parts equal cost even when you live far away). Financial
market information needs to get more and more latency equalized for
market fairness.

> > -> I would like for traffic to get bandwidth share indpendent of the
> >   number of 5 tuple flows it utilizes (no gaming the system). But
> >   rather fair per subscriber (weighted by how much the subscriber pays).
> That???s 1 class of service. There can be more than one (or are you just treating that as ???different subscribers????).

Yes, i was talking about granularity of fairness.

> > -> I would like to be able for traffic to indicate preferences for
> >   lower latency or higher throughput... If you ask for lower latency,
> >   you get less throughput.
> Three network decisions:
> 	- go now
> 	- take up space and go later
> 	- drop

Yes. There is IMHO the not well explored opportunity to take up space
in already provisioned but unused buffers - for example for equalization
of latency where that is desirable.

But when you want lower latency you might want to get into one of the
fewer buffers served faster. And there would be fewer of those than
when you have more time to hang around. What impact would that have
on relative throughput ?

> It seems like there ought to be three service classes (at least):
> 	- low latency and low loss (go now)
> 	- low loss with increased latency (go later)
> 	- everything else (drop if you can???t handle it)

We understand how to manage classical diffserv/intserv solutions.
And how managing them is limited by scale and cost of management vs.
incremental sales revenue. The interesting question is what different
services you can reasonably multiplex so different apps get different
benefits but it doesn't end up simply every app wanting to game the
system by picking the one "winner" service.

For example, theoretically something like scavenger sounds like a
nice option. But applications would only use it if the non-scavenger
traffic was more expensive. Eg.: go beyond your monthly volume limit
with scavenger. Likewise the use of best-effort vs. low latency would
self regulate if the throughput loss of low-latency was making it
only worth for traffic that really needed lower latency.

> That roughly maps to a few of the DSCPs. The rest are there largely to ensure that ???some pigs are more equal than others???, i.e., that network management/control protocols can bump others. That sort of priority - with a single ???reserved??? level - may be important to operations, but shouldn???t be sold out to users.
> > -> Goodput always > 95%
> I have no idea what goodput is. Nothing ensures that a packet that ???wins??? on a link now won???t be dropped downstream when competing for other resources. If you want goodput to be high, then load has to be low (vs. capacity), i.e., under 50-60%-ish.

True, goodput is ambiguous as fairness. I was primarily thinking
of retransmissions to be below 5% (of course for non-low-latency traffic

> Joe