Re: [tsvwg] start of WGLC on L4S drafts

Bob Briscoe <ietf@bobbriscoe.net> Fri, 22 October 2021 09:26 UTC

Return-Path: <ietf@bobbriscoe.net>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D3D4B3A09BD for <tsvwg@ietfa.amsl.com>; Fri, 22 Oct 2021 02:26:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WP-PimdiD8oJ for <tsvwg@ietfa.amsl.com>; Fri, 22 Oct 2021 02:26:47 -0700 (PDT)
Received: from mail-ssdrsserver2.hostinginterface.eu (mail-ssdrsserver2.hostinginterface.eu [185.185.85.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7792D3A0982 for <tsvwg@ietf.org>; Fri, 22 Oct 2021 02:26:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:References:Cc:To:Subject:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=3qTBkxXVKvD8wvanWFFhX2MQEFVlv9NRlYdAc9Jp98A=; b=1VgCXaZMEMnVFvpsQ0SAPtEucK 1Yl+jhcZZ3ajpYM70fTNbgcscAh5lX0YxujBpn6Y/9lZvIPXHbkv2PMLDbuwSF0KNjjdWPF8dXyzL 6CAfW8fV04/EX/N/Ng9CVioicxLgMCMZzzzPFvYPU6l+4VHxSckJ2JQf9XclxcJWBPVyp9rgghj84 Xs2M74WNU6xmNfI4fEK24pMXLHwwFXMEtn4h3udvHfqKBBW5/ONdkELsGUw5lxjOOEnxm1zBXw7tU VIig2tmvGt7bTswm7F7bLv9zwuI46OO81y32b+T30c6zjcEcaoIwo4fU64+TNTxSCKmjc6u1XHOjz arksJTfg==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:33118 helo=[192.168.1.11]) by ssdrsserver2.hostinginterface.eu with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <ietf@bobbriscoe.net>) id 1mdqp7-0005ZS-3B; Fri, 22 Oct 2021 10:26:43 +0100
From: Bob Briscoe <ietf@bobbriscoe.net>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: Luca Muscariello <muscariello@ieee.org>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, "tsvwg@ietf.org" <tsvwg@ietf.org>
References: <7dd8896c-4cd8-9819-1f2a-e427b453d5f8@mti-systems.com> <B575CC81-4633-471A-991F-8F78F3F2F47F@ericsson.com> <aa968ff5-262c-1fd4-981d-05507ac1e59e@erg.abdn.ac.uk> <360988450.1173982.1630607180962@mail.yahoo.com> <b6d9afb6-3328-cfdf-b7bf-2345049ea0dc@bobbriscoe.net> <8415BA1F-2806-4224-9D9F-EB256DA7DF41@gmx.de> <ba6ebe46-fb36-e982-bd2a-e05028e8accb@bobbriscoe.net> <CAH8sseQX-sFQdOeNGubvoRGsiO+u+L8Neo3RrnOb_xKirPmmLg@mail.gmail.com> <24307985-3450-a4db-5ca0-8d51d4195155@bobbriscoe.net> <2D04A7C8-2C0D-46AA-86BB-D5CDD0D2A5CE@gmail.com>
Message-ID: <a30dd52d-985d-5f9f-f50a-37b6499b468e@bobbriscoe.net>
Date: Fri, 22 Oct 2021 10:26:28 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <2D04A7C8-2C0D-46AA-86BB-D5CDD0D2A5CE@gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ssdrsserver2.hostinginterface.eu
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: ssdrsserver2.hostinginterface.eu: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: ssdrsserver2.hostinginterface.eu: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/JFiZKLa82yERJlyNSmYdPuIstBg>
Subject: Re: [tsvwg] start of WGLC on L4S drafts
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2021 09:26:53 -0000

Jonathan,

On 17/10/2021 03:16, Jonathan Morton wrote:
>> On 17 Oct, 2021, at 2:38 am, Bob Briscoe<ietf@bobbriscoe.net>  wrote:
>>
>>> If TCP had been designed with a scalable congestion control from the
>>> start, we would have had L4S with no need for a scheduler at all. The
>>> scheduler is primarily a transition mechanism, to isolate from Classic
>>> traffic. But no traffic /needs/ to be Classic, it's just how "stuff
>>> happened".
>>>
>>> I do not think this is true in this specific case.
>>> There is an advantage in terms of goodput for applications to use
>>> loss-based congestion control and create bigger queues (in
>>> absence of isolation).
>> [BB] This may be true in the short term for non-latency sensitive bulk traffic, especially over variable capacity (e.g. radio) links where buffered packets can fill newly available capacity while the e2e congestion control catches up.
>>
>> Nonetheless, there is also the unscalable aspect of loss-based congestion control where, as flow rate scales, it takes longer and longer (minutes) to recover after each loss [RFC3649]. As was pointed out in footnote 6 of [Jac88], the noise sensitivity gets worse as flow rate scales. Meaning, even if there's a very low level of transmission losses or new flows arriving, a flow keeps getting knocked down by each noise event, while it's slowly trying to regain its previous position.
>>
>> It's possible that some new approach will get out of that unscalable rut, but it's been quite resistant to solutions so far. BBRv2 has already had to reinstate a capped dependence on loss probability, in order to remain backward compatible with the legacy of loss-based congestion controls. The setting of that cap will have to keep being reduced in order to scale flow rate, so it is trapped in the same noise sensitivity problem.
> I think it's very disingenuous for you to quote only a paper from 1988, at the very dawn of TCP congestion control research, in support of this argument.  At that time, only the Reno algorithm was in use, and Reno does have widely-acknowledged scalability problems, especially with respect to random loss on high-BDP paths.  It's actually rather strange, given that fact, that TCP Prague uses only the Reno growth function while claiming to be a "scalable transport".
>
> However the deployed state of the art today is CUBIC (as you very well know), and CUBIC is considerably more scalable than Reno (in the upward direction, at least), especially in the face of low levels of random loss.  On the research side there is also Scalable TCP, an MIMD algorithm that is even less sensitive to random loss than CUBIC.

[BB] Can you please stop preceding every discussion with completely 
unnecessary and nasty accusations.

You can still read my words above. They are about "the unscalable aspect 
of loss-based congestion control", which started with TCP congestion 
control back in 1988, and how it has continued through to BBRv2 today. 
The 1988 footnote is the relevant reference for the noise sensitivity 
scaling problem. When you jumped to the conclusion that my omission of 
CUBIC from the succession was part of some disingenuous conspiracy, 
before jumping to an insult, you could have first tried to think of 
other innocent explanations - like that I was giving an email summary of 
a longer argument.

The fuller account in the L4S architecture draft quantifies how CUBIC is 
now reaching its scaling limit (search for the words: 'less unscalable').

Ironically, for the next rev, I have had to change the numbers because 
CUBIC's unscalability is ~14% worse than I thought - due to a mistake 
about the numbers in the Linux implementation of CUBIC pointed to by 
Neal on the tcpm list. (Also, if you're following tcpm, you will have 
noticed that I have written up corrections to the paper (not mine) that 
the CUBIC RFC relied on for CUBIC's Reno-friendliness formula. This is 
in support of the CUBIC RFC moving to standards track.)

Tom Kelly's Scalable TCP (capital S) turned out to be unstable due to 
synchronization effects. A number of the people on this list and in 
iccrg (including me) were involved as BIC, CUBIC, Scalable TCP, etc  
were being worked through (around the annual PFLDnet workshops). In DCs, 
CUBIC (and Compound) have been and are being superseded by DCTCP. DCTCP 
and L4S are a continuation of that work to evolve towards scalable 
congestion controls.

> This sensitivity to random loss is easily shown to be a function of the cycle time of the congestion-control loss-response sawtooth; iff loss events occur more frequently than this cycle time, the average cwnd will trend downwards.  In Reno (and Prague), this cycle time is proportional to RTT and to the square of throughput.  In CUBIC, the cycle time is roughly proportional to throughput and mostly independent of RTT.  In Scalable TCP, the cycle time is proportional to RTT and independent of throughput.  (These generalisations assume constant segment size, etc.)
>
>> I don't know whether bulk flows will prefer to continue to use the classical approach with more buffering, or the scalable approach with frequent control signals. I'm just saying it's not as clear-cut as you make out.
> They will likely choose the option that is universally available and yields the maximum goodput.  In the present state of L4S, that is clearly "Classic".
>
>> As a fairly close analogy, can you imagine any individual or company gaming a PIE AQM to induce more latency on their own flow, in order to impose more latency on others in the same household?
> The goal would not be to increase latency.  The goal would either be to selfishly increase throughput for their own traffic (which could be done using Relentless TCP at the sender side, exploiting exactly the same effect with a drop-only AQM as L4S would impose in a shared ECN AQM), or to increase packet loss and thus degrade service for the other traffic (which could be done using a simple flood, driving the AQM into a high dropping probability).  These scenarios are so common, and so easy to imagine, that they should be part of a standard security analysis - and neither of them would result in substantially higher latency on the path, since in both cases it is assumed that the AQM effectively controls the queue delay to its target.

[BB] Yes, you have repeatedly made this argument. And it has been 
repeatedly pointed out in response that such throughput increasing 
attacks are already possible in any of the non-FQ AQMs or FIFOs in the 
Internet. This is not L4S-specific.

There is no work in the IETF to address this more general problem, 
because it's not been a significantly /exploited/ problem for the last 
33 years. It is an advantage of FQ that it solves this /potential/ 
problem, but it is also important to understand why it has not been a 
significant /actual/ problem anyway. Most likely because inter-customer 
scheduling limits the attack to intra-customer (going right back to 
[RFC970]). This means that any attempt by a server to improve its own 
performance will be at the expense of other usage in the same household. 
And therefore likely to become unpopular and die away.


Bob

> DualQ offers attackers a very easy way to gain higher throughput for themselves.  With some traffic, it also offers an easy to to increase packet loss as high as 100% for a particular type of target traffic.  These are problems over and above those of PIE, which are relatively minor by comparison.
>
>   - Jonathan Morton

-- 
________________________________________________________________
Bob Briscoehttp://bobbriscoe.net/