Re: [tsvwg] New rev of docsis-q-protection draft related to L4S

Bob Briscoe <ietf@bobbriscoe.net> Fri, 13 May 2022 00:48 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 5874CC159524 for <tsvwg@ietfa.amsl.com>; Thu, 12 May 2022 17:48:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.953
X-Spam-Level:
X-Spam-Status: No, score=-8.953 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, HTML_MESSAGE=0.001, NICE_REPLY_A=-1.857, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bGMVEEej1AXg for <tsvwg@ietfa.amsl.com>; Thu, 12 May 2022 17:48:06 -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 20678C1595E6 for <tsvwg@ietf.org>; Thu, 12 May 2022 17:48:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=In-Reply-To:From:References:To:Subject: MIME-Version:Date:Message-ID:Content-Type:Sender:Reply-To:Cc: Content-Transfer-Encoding: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=GEDh1WqE5uT5rPJviGtLpOzQDqBjgSFYbCg1noHO2bw=; b=vH5ebc+E1EPpaIdGbfPiOj+tP1 KWTH/auHxyWd4Ilnkr6cH7KXKx61HfwblzNLMtnLpa+/29BlyinCxT3x9s8Vk01q2XeHjjd2FDA00 RjM6eNu3H+24Dr7hoUjP+Y2GuBZiQpf8T8xmw5hsIcJuSqCz5jtpi9piFgbu2HUn98HGocUdlLAbF DnrpsnlINp604VAt+E9DFgOxvPMJdNm6fhYrBlV01iS5o4TkWow2BKVH7Wh1qOp55txk2+MuwJf+n AVzbn2goN0b9fa2zgEULwsckugNkhjXHM3jwBhuzSmj7BWzgATtK6Zm3HXTghw3FlhUBZ+sNVLCsU gAxJVJ1A==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:42064 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 1npJTO-0005yN-7Z; Fri, 13 May 2022 01:48:02 +0100
Content-Type: multipart/alternative; boundary="------------mmYmAzO0CEmFkoz0VAy3rnKr"
Message-ID: <3569723f-fa5b-0eff-03e5-fef2d83e2d52@bobbriscoe.net>
Date: Fri, 13 May 2022 01:47:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1
Content-Language: en-GB
To: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, tsvwg IETF list <tsvwg@ietf.org>
References: <45cf3e38-60e1-1c01-bec0-6386d12acf05@bobbriscoe.net> <6d3d5b06-9a2e-d384-b8cc-bbb3e0563e79@bobbriscoe.net> <fa3e4344-9afb-d768-2383-8d2dc085b360@bobbriscoe.net> <afb6ab4e-f5a6-154b-5200-7f24c3a69270@erg.abdn.ac.uk>
From: Bob Briscoe <ietf@bobbriscoe.net>
In-Reply-To: <afb6ab4e-f5a6-154b-5200-7f24c3a69270@erg.abdn.ac.uk>
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/OSNqU6ca-fwhmqXgrtK9zI5SmQE>
Subject: Re: [tsvwg] New rev of docsis-q-protection draft related to L4S
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.34
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, 13 May 2022 00:48:10 -0000

Gorry,

This has gone to the RFC Editor, but Eliot has asked me to let him know 
pronto if we want changes. There are some.
I'm off to bed now, so I'll put these into effect in the UK morning. 
Hopefully this will give you time to come back on anything if you need to.

See bold text for whether there's a change or not, tagged [BB] inline.

On 12/05/2022 14:34, Gorry Fairhurst wrote:
> On 11/05/2022 22:37, Bob Briscoe wrote:
>> tsvwg,
>>
>> This document is adjacent to the L4S work in TSVWG.
>> Apologies, another rev with 3 more nits fixed:
>> Pls see diff here if interested:
>> https://datatracker.ietf.org/doc/draft-briscoe-docsis-q-protection/history/
>> (A missing abbreviation expansion, excess white space removed and a 
>> full-stop where a comma was intended.)
>>
>>
>> Bob
>
> Thanks again for writing this!!
>
> I did previously offer comments in one of the earlier review stages, 
> so sorry to give a few more minor comments at this stage, but I hope 
> these comments relate only to document words - not the mechanism:
>
> 1. Would ECN benefit from one or more REF in the RFC series when first 
> used?
> /explicit congestion notifications (ECN)/... e.g. RFC 8087 and RFC 3168?
>

[BB] I didn't want to refer to 3168 because that would have been the 
wrong ref for the first use of ECN, which happens to be about ECN for 
low latency:

    Low queuing delay depends on hosts sending their data smoothly,
    either at low rate or responding to explicit congestion notifications
    (ECN).


The normatives refs for ECN later in the intro of this doc are:
* RFC8311, which updates RFC3168,
* and the ecn-l4s-id draft, which defines the L4S ECN codepoint.
I believe it is normal to refer to the latest RFC, and referring to the 
one that was updated isn't common practice.

So I guess I should add these two after the first use as well. *I'll do 
that.*

I did refer to RFC3168 informatively when talking about the ECN field, 
rather than a specific ECN codepoint. I wasn't sure whether that should 
have been a normative ref. But I guess RFC8311 didn't update the 
definition of the IP-ECN field as a whole, so the normative ref for the 
whole field is still RFC3168. *I'll move 3168 from informative to 
normative refs.*

>
> 2. /TCP that needs about a round trip of buffering to fully utilize 
> the link/
> … I am not sure which “link” in this particular sentence - is this the 
> “bottleneck link along the Internet path”?
> - or do you mean something more specific about the DOCSIS link?
>

[BB] The subject of this full sentence is the Classic queue:
   "The Classic queue is only necessary for
    traffic such as traditional (Reno/Cubic) TCP that needs about a round
    trip of buffering to fully utilize the link"

So, I think it's pretty unlikely anyone would think that this means a 
link other than the link that the queue is feeding.
If, at certain times, this link is not the bottleneck, a queue won't 
build here. But the link still needs that amount of buffer DRAM for when 
it is the bottleneck.

This doc explains the aspects of the wider AQM and DualQ technology that 
the reader needs to know to understand QProt. But I think context like 
an operator's strategy for which links to deploy AQMs in the first place 
wouldn't be expected to be found in the present document. The full para 
starts with a ref to the LLD overview, which is where you'd expect to 
find issues like which links are likely to be the bottlenecks. 
Specifically, it says:

    The “Queuing” delay is mainly caused by the current TCP protocol and
    its variants. Applications today that need to seek out as much
    bandwidth as possible use a transport protocol like TCP (or the
    TCP-replacement known as QUIC), which uses a “congestion control”
    algorithm (such as Reno, Cubic, or BBR) to adjust to the available
    bandwidth at the bottleneck link through the network. Typically, this
    will be the last mile link—the DOCSIS link for cable customers—where
    the bandwidth available for each application often varies rapidly
    as the activity of all the devices in the household varies.

So, in this instance, *I don't think there's a case for adding 
explanation* that it would only use the buffer for queuing if it was the 
path bottleneck.

>
> 3. Should the formal definition of ECN in section 1.2 also have a 
> reference to an RFC in thius case at least RFC 3168?
>

[BB] One or two of the terminology items define what a term means. 
Others (CM, CMTS, DOCSIS, ECN) just expand the abbreviation without a 
definition or reference. References could have been added, but instead 
references have been given in the earlier part of the doc where there is 
an explanation of these items. *I don't plan to change this* - it's just 
the way the style of this document went.

>
> 4. The phrase: /uses to ECN-mark packets (Classic or coupled queuing 
> is not relevant)/
> - I was unsure how to read this, could it be that something more lie 
> this was intended to show that the choice is not relevant, rather than 
> the mechanisms being irrelevant:
> /uses to ECN-mark packets (both Classic and
>    coupled queuing are relevant)/
>

[BB] This should have said "Classic or coupled marking is not relevant." 
I'll change it. The full sentence is:

    The scoring
    algorithm uses the same internal variable, probNative, that the AQM
    for the low latency queue uses to ECN-mark packets (Classic or
    coupled queuing is not relevant).

The doc hasn't introduced what coupled marking is. So *I'll change the 
parenthesis to*:
"(The other two forms of marking, Classic and coupled, are driven by 
Classic traffic and therefore not relevant to protection of the LL queue)"


>
> 5. I stumbled over this, as being close to IETF guidance, and wonder if
> /This is because it is legitimate for
>    capacity-seeking flows to induce a continuous low level of congestion
>    in order to track available capacity./
> could be said as something more like:
> /This is because the DOCSIS QProt algorithm regards it as legitimate for
>    capacity-seeking flows to induce a continuous low level of congestion
>    in order to track available capacity./
>

[BB] Eh? It has been intrinsic to the Internet architecture for 
capacity-seeking flows to induce a continuous low level of congestion 
since Van Jacobson introduced TCP congestion avoidance in 1988. Or is 
this a question of the definition of 'congestion'? Perhaps you are 
thinking 'congestion' means excessive congestion? AFAI'mC, in a doc 
about latency, any amount of queuing no matter how small is congestion.

Whatever, to avoid any implication that there is an IETF rule about 
this, *I'll replace* legitimate with 'unavoidable'. The whole sentence 
will then be:
/This is because it is unavoidable for
    capacity-seeking flows to induce a continuous low level of congestion
    as they track available capacity./



Bob

>
> Best wishes,
>
> Gorry
>
>
>>
>> On 10/05/2022 20:48, Bob Briscoe wrote:
>>> tsvwg,
>>>
>>> This document is adjacent to the L4S work in TSVWG.
>>> A new rev with a couple of minor edits has just been posted.
>>> See links and explanation of changes below, if interested.
>>>
>>>
>>> Bob
>>>
>>> -------- Forwarded Message --------
>>> Subject: 	Re: Martin Duke's Yes on 
>>> conflict-review-briscoe-docsis-q-protection-00: (with COMMENT)
>>> Date: 	Tue, 10 May 2022 20:45:21 +0100
>>> From: 	Bob Briscoe <ietf@bobbriscoe.net>
>>> To: 	Martin Duke <martin.h.duke@gmail.com>, Eliot Lear 
>>> <rfc-ise@rfc-editor.org>
>>> CC: 	draft-briscoe-docsis-q-protection@ietf.org
>>>
>>>
>>>
>>> Martin, Eliot,
>>>
>>> You may have seen the text I proposed to resolve your comment below 
>>> requesting a more understandable definition of congestion-rate.
>>> At the request of Eliot, as ISE, I've now posted a new rev 
>>> containing that text.
>>> https://datatracker.ietf.org/doc/html/draft-briscoe-docsis-q-protection-04
>>>
>>> The diff is here:
>>> https://www.ietf.org/rfcdiff?url2=draft-briscoe-docsis-q-protection-04.txt
>>> I also corrected a nit I noticed in the abstract (I'd added a 4th 
>>> item to the list in the last sentence without moving the 'and' 
>>> before the 3rd item).
>>>
>>>
>>> Bob
>>>
>>> On 08/04/2022 22:05, Martin Duke via Datatracker wrote:
>>>> The document, along with other ballot positions, can be found here:
>>>> https://datatracker.ietf.org/doc/conflict-review-briscoe-docsis-q-protection/
>>>>
>>>> ----------------------------------------------------------------------
>>>> COMMENT:
>>>> ----------------------------------------------------------------------
>>>>
>>>> This document is adjacent to the L4S work in TSVWG.
>>>>
>>>> One nit:
>>>> In (1.2), a definition refers to "marking all the packet's bytes." 
>>>> I'm not sure
>>>> what the authors mean; perhaps s/bytes/ECN bits?
>>>>
>>>> Reviewing the pseudocode in detail was not necessary for the 
>>>> conflict review,
>>>> and I did not do so.
>>>>
>>>>
>>>>
>>>
>>> -- 
>>> ________________________________________________________________
>>> Bob Briscoehttp://bobbriscoe.net/
>>>
>>
>> -- 
>> ________________________________________________________________
>> Bob Briscoehttp://bobbriscoe.net/
>
>

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