Re: [tsvwg] [tcpm] L4S status tracking

Bob Briscoe <ietf@bobbriscoe.net> Mon, 11 November 2019 14:58 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 A71AE12007C; Mon, 11 Nov 2019 06:58:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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 GPa1Xp3NJ-ps; Mon, 11 Nov 2019 06:58:48 -0800 (PST)
Received: from server.dnsblock1.com (server.dnsblock1.com [85.13.236.178]) (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 A84DF12000F; Mon, 11 Nov 2019 06:58:48 -0800 (PST)
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:From:References:Cc:To:Subject: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=tb28LgZB5BEASOd/1y9hvhpMK8jzyczcM8feGTT3kec=; b=cjKS5p5QJlhvSrv4iHJkyNRA4u W7ChdeLuxLXPIImGQSWAfp05HK6DO1qHjaCY0aYh6pEDQ24YmiHMXRZ2KqU7ZfkevzAeMdEogD3dx XPC//MJPu0ESqLbLhEa1QD3que8x+gZ7qFWlsXDlWxAZ1TqaLVkh8B6PO796uEduaZQgz7eZrWBBr NX09S+2tZyDGHdPDNNEmUCahqoxqbsFhELZfNXH0RCeOCvt8X62CgEHsFa7vvKjiFVng9IpGdwsyq wV7rLrRI/pL3yKxJpQqP0JY8wrtULIW6q5Lip//RHQGlMgD/162ZZKMYa8dFdnMS1Dp7QfmYOh5rw WN+JIqEA==;
Received: from [31.185.128.31] (port=55478 helo=[192.168.0.11]) by server.dnsblock1.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92) (envelope-from <ietf@bobbriscoe.net>) id 1iUB9S-0003VU-Jf; Mon, 11 Nov 2019 14:58:46 +0000
To: rgrimes@freebsd.org
Cc: Sebastian Moeller <moeller0@gmx.de>, "Scharf, Michael" <Michael.Scharf@hs-esslingen.de>, "Rodney W. Grimes" <4bone@gndrsh.dnsmgr.net>, "tcpm@ietf.org" <tcpm@ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>
References: <201911061844.xA6Iihtl011324@gndrsh.dnsmgr.net>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <b2c0e040-5326-eb77-a094-aaebc3c2f0f7@bobbriscoe.net>
Date: Mon, 11 Nov 2019 14:58:45 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <201911061844.xA6Iihtl011324@gndrsh.dnsmgr.net>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.dnsblock1.com
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: server.dnsblock1.com: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: server.dnsblock1.com: in@bobbriscoe.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/WXJjPATQ37AXUYwSPPC0IMVd6cU>
Subject: Re: [tsvwg] [tcpm] L4S status tracking
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: Mon, 11 Nov 2019 14:58:53 -0000

Rod,

On 06/11/2019 18:44, Rodney W. Grimes wrote:
> Bob,
> 	Reply inline with quoted text from draft as to "why" I,
> and probably others are having issues with Classic and your
> terminology.  All IMHO, of cource.
>
> Regards,
> Rod
>
>> Sebastien,
>>
>> On 06/11/2019 07:18, Sebastian Moeller wrote:
>>> Hi Bob,
>>>
>>> On November 6, 2019 1:22:44 AM GMT+01:00, Bob Briscoe <ietf@bobbriscoe.net> wrote:
>>>> Michael, Rod,
>>>>
>>>> Altho non-L4S is a reasonable idea, I think it has more of a negative
>>>> connotation than classic.
>>>           [SM] It does have the advantage though of being a testable, with classic all we know is you are talking about something that came before.
>> Which is a good starting point, because that's what is intended. Plus it
>> already has a slightly positive natural meaning of "something robust
>> that has stood the test of time". Then it is defined precisely for the
>> context of each L4S doc, e.g.:
>> https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-l4s-id-07#section-1.2
> Quoting the whole section inline: (WIth some markers added)
>
>     Classic service:  The 'Classic' service is intended for all the
>     ^A
>        behaviours that currently co-exist with TCP Reno (e.g.  TCP Cubic,
>        Compound, SCTP, etc).
>
>     Low-Latency, Low-Loss and Scalable (L4S) service:  The 'L4S' service
>        is intended for traffic from scalable congestion control
>        algorithms such as Data Center TCP.  But it is also more general--
>        it allows the set of congestion controls with similar scaling
>        properties to DCTCP to evolve (e.g.  Relentless TCP [Mathis09] and
>        the L4S variant of SCREAM for real-time media [RFC8298].
>
>        Both Classic and L4S services can cope with a proportion of
>             ^B
>        unresponsive or less-responsive traffic as well, as long as it
>        does not build a queue (e.g.  DNS, VoIP, game sync datagrams,
>        etc).
>
>     Classic ECN:  The original Explicit Congestion Notification (ECN)
>     ^A
>        protocol [RFC3168].
>
>
> Problem with these terminology definitions:
>
> Classic is used in the names of 2 terms, marked A above, and then
> used without any qualification in the definition of a third term,
> marked as B.  I believe the inference at B is that of "Classic Service".
[BB]
B isn't a third term. The term is 'Classic service' which was just 
defined earlier.

It's regular English that, "Both red and green services..." means "Both 
the red service and the green service..."

Nonetheless, this does make me realize that we need an extra sentence at 
the end of each definition to explain that other nouns can be qualified 
by 'L4S' or 'Classic'. E.g. queue, congestion control, codepoint, 
packet, flow.

> These terminology definintions are fuzzy, due to the use of words
> like "current".  Which current is that?  The date the draft was
> written, the date I am reading the draft?  This is a poor quality
> term definition.
[BB] (When 'currently' is used in an RFC or any text for that matter, 
I'm sure everyone always understands it to mean, "when this was written".)

However, you're right that 'currently' is actually incorrect here, 
because the definition needs to include any Reno-friendly behaviours 
introduced in future as well. Thx. All the L4S drafts use these 
definitions, so I'll remove 'currently' from them all.


> Since I can not put solid definitions of these terms in my mind
> when I read the draft I am always asking myself exactly what is
> "Classic" infering here?
>
> My head spins when I try to parse the above "term" "L4S service",
> and I can not build a solid model from the definition given.  It
> is self referential (L4S is L4S variant of SCREAM).  It has wording
> on what it can cope with.  For me this is not a definition of
> a term.
[BB] Good point. This is indeed not comprehensible without a definition 
of 'scalable congestion control', which we need to copy across from 
l4s-arch.

On "L4S variant of SCREAM", I don't believe it's self-referential, 'cos 
it's given in a list of examples, not as part of the definition. I had 
to call it that, because the variant doesn't have a name of its own.

However, this does make me realize that the use of SCTP as an example of 
a Classic behaviour is not right, because one could build a scalable 
congestion control into SCTP. In the list of examples of Classic 
behaviour I will change it to 'Reno-SCTP'.



>
>
> Now, having said that, let me at least try to resolve one of
> these terms.   There is actually no need to define "Classic ECN"
> as its above definitions is "RFC3168 ECN", exactly 2 words, or
> 11 characters  in length as well, thus the term is not needed
> and actually obfuscates the document.  I feel removeing all
> references to "CLassic ECN" and replacing them with "RFC3168 ECN"
> would make these drafts more understadable.
[BB] That's a possibility, and I use it sometimes. But many people use 
the term Classic ECN these days, probably because RFC3168 ECN requires 
the reader to remember yet another RFC number, which some people don't 
find easy. I'm not hearing a lot of resistance to the term 'Classic ECN'.

For instance, I find the names below are easier to read than the 
numbers, not just because they are shorter:
* 'RFC5681 congestion control' vs. 'Reno'.
* 'RFC8511 Cubic' vs. 'ABE-Cubic'?

Also, RFC3168 defined the response to ECN as equivalent to drop. So 
there is a useful (and deliberate) reinforcement of understanding in the 
association between Classic ECN and the Classic service (assuming we 
continue to use 'Classic' as the name for the service).

Thanks



Bob

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/