Re: [tsvwg] WGLC: draft-ietf-tsvwg-nqb-14 - coexistence with L4S

Bob Briscoe <ietf@bobbriscoe.net> Sat, 05 November 2022 21:15 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 2F2E8C14CF1F for <tsvwg@ietfa.amsl.com>; Sat, 5 Nov 2022 14:15:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.106 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=-0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 uUTjtc9nomVX for <tsvwg@ietfa.amsl.com>; Sat, 5 Nov 2022 14:15:50 -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 774A6C14CF19 for <tsvwg@ietf.org>; Sat, 5 Nov 2022 14:15:49 -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:Cc:To:Subject: MIME-Version:Date:Message-ID:Content-Type:Sender:Reply-To: 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=qdJjMBVZ0JF78dpxHFf/dEdyL7TOstBFJioqzRfBqH0=; b=fdMyJWBFIlrBCVxGfxDyHoFfBk JfvxXmWE+AmM6y1Odm4OcOQBc66NT8jVWfUZE5UPEaJM3A3VcDS7XzEJ49KExVmnVTL5Shj4TQ26R ArEsNtfjS3rU33eHJnx9ed6cZYqrWRHF7d7s4+rOeNOdHiawxl18UfX8dpgEggnZGAjX5if8pyqHA 84Jo4GYTwXDCanqvhL1EMkvDLOuM9G58XQug6XTUcqg5e/jjwYmXvFLIdxOE+M8Cm8G5R/nMkb4YL eXloiZZdDHrjpSYLDFfDykrqLn1XgfvIm+FNfVUGvRUJKnzagbmRGt4LZBrQiJ5cLgHtNH9QfzkFJ ZwRLWQcw==;
Received: from dhcp-8852.meeting.ietf.org ([31.133.136.82]:54906) by ssdrsserver2.hostinginterface.eu with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.95) (envelope-from <ietf@bobbriscoe.net>) id 1orQWD-00EHPV-Rc; Sat, 05 Nov 2022 21:15:48 +0000
Content-Type: multipart/alternative; boundary="------------ZyGuYDXoky2bttiM07RbyUPp"
Message-ID: <bc3fd2b9-d9bd-6da6-7f9d-dc615f719458@bobbriscoe.net>
Date: Sat, 05 Nov 2022 21:15:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2
Content-Language: en-GB
To: Ruediger.Geib@telekom.de, moeller0@gmx.de, g.white@CableLabs.com
Cc: tsvwg@ietf.org
References: <MN2PR19MB4045EDEFA651818318904ABA83399@MN2PR19MB4045.namprd19.prod.outlook.com> <FR2P281MB1527DF20C2FCD92CDDB848659C399@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <8ebe99bf-b2a1-b0b9-cca2-cf1e579aa611@kit.edu> <396150B7-171E-4B13-946E-B193E677EB99@gmx.de> <0D9FFEEA-3DC9-42FE-905D-2F48B8228FAA@cablelabs.com> <E59C341E-FD6A-48E7-9B8E-CBD6B311561C@gmx.de> <FR2P281MB15270F0067D8DB5A5EF04D269C389@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM>
From: Bob Briscoe <ietf@bobbriscoe.net>
In-Reply-To: <FR2P281MB15270F0067D8DB5A5EF04D269C389@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM>
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/ohoTqN2olPG_kyML-9WsbIclkwM>
Subject: Re: [tsvwg] WGLC: draft-ietf-tsvwg-nqb-14 - coexistence with L4S
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
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: Sat, 05 Nov 2022 21:15:55 -0000

Greg, Sebastian, Ruediger,

I've given my comments about this draft before, and I'm happy with the 
outcomes now.
Other than the one (and possibly two) additional pieces of text I 
suggest below, I support this draft going forward from the WG.
See [BB]

On 03/11/2022 13:21, Ruediger.Geib@telekom.de wrote:
> Dear colleagues,
>
> thanks for exchanging views. My take from what I read
>
> - there is no clear separating of the PHBs NQB and L4S in current standards.
> - there is no standards text expressing whether or not setting NQB DSCP combined with L4S ECT 1 is conforming to current specs or not.
>
> Sebastian, I'm having the impression too that an application combining NQB DSCP with L4S ECT 1 may gain unfair advantage over QB flows if competing for WiFi spectrum by DSCP NQB after having passed a coupled Queue scheduler by L4S ECT 1 scheduling. I note that NQB is a standards track RFC and I'd expect to have clarity, whether a new standard may cause harm for consumers, especially, if correct implementation of NQB conforming sender behaviour is left to application programmers. I'm not an application programmer and I wonder, whether application programmers generally are concerned with sender behaviour at all. In a majority of cases, I'd assume a transport protocol between network and application layers.
>
> Regards,
>
> Ruediger
>
>
> Sebastian, RFC791 states:
>
> Type of Service
> ........
>      Precedence.  An independent measure of the importance of this
>      datagram.
>
> If you read the NQB draft, you'll additionally note that "importance" is frequently used there.
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: tsvwg<tsvwg-bounces@ietf.org>  Im Auftrag von Sebastian Moeller
> Gesendet: Donnerstag, 3. November 2022 10:45
> An: Greg White<g.white@CableLabs.com>
> Cc: Bless, Roland (TM)<roland.bless@kit.edu>;tsvwg@ietf.org
> Betreff: Re: [tsvwg] WGLC: draft-ietf-tsvwg-nqb-14 - coexistence with L4S
>
>
>
>> On Nov 3, 2022, at 00:34, Greg White<g.white@CableLabs.com>  wrote:
>>
>> Hi all,
>>
>> See my responses to the points that relate to the NQB draft below [GW].
>>
>> -Greg
>>
>> On 11/2/22, 10:24 AM, "tsvwg on behalf of Sebastian Moeller"<tsvwg-bounces@ietf.org on behalf of moeller0@gmx.de>  wrote:
>>
>>     Hi Roland,
>>
>>
>>> On Nov 2, 2022, at 16:32, Bless, Roland (TM)<roland.bless@kit.edu>  wrote:
>>>
>>> Hi Rüdiger,
>>>
>>> see below.
>>>
>>> On 02.11.22 at 15:47Ruediger.Geib@telekom.de  wrote:
>>>> current draft text informs about a coexistence of NQB and L4S in the same LowDelay queue. Does this include that
>>>> 	• NQB traffic should or could be marked by a DSCP and have ECN 1 set?
>>>> 	• L4S traffic should or could have ECN 1 set and be marked by NQB DSCP?
>>>>
>>>> The current text is not clear on that issue. As all marking is to be done by application programmers and this is a standards track doc, I’m interested for the draft to be crisp and clear to that point. Include or exclude simultaneous NQB&L4S  DSCP&ECN setting?
>>> As far as I understand the draft, it is just an implementation detail:
>>> NQB packets do not need to have ECT(1) set to be put into the L4S low-latency queue.
>>> It is a node local mapping from the NQB DSCP(s) to the L4Slow-latency
>>> queue, i.e., they just use the already existing low-latency queue.
>>> If I understand section 3.1 correctly, L4S flows should not be marked
>>> as NQB traffic since they violate the following condition:
>>>
>>> " In contrast, Queue-Building (QB) flows include those that use TCP
>>> or QUIC, with Cubic, Reno or other TCP congestion control algorithms
>>> that probe for the link capacity and induce latency and loss as a result."
>>>
>>> and especially L4S flows may also violate the (not so strict) condition of a 1Mbit/s limit.
>>     	[SM] That is IMHO incorrect at least generally. Just because TCP allows a flow to search for the capacity limit applications can (and do) decide to send less than possible.
>>
>> [GW] Sebastian's clarification here is correct.  An application could mark its packets with both ECT(1) and NQB if it meets the requirements for both.  This might be a relatively unusual case, but it isn't precluded.  To Ruediger's original request that the draft be crisp and clear on this point, we could add a statement in Section 3.3 that explains this.

[BB] I agree with Greg and Sebastian's later points that it's better not 
to say too much when we don't really understand why anyone would apply 
both markings. We should only say what we know for sure, which is that 
applying both codepoints shouldn't allow packets:
*  to bypass ECN marking (the NQB draft already says this by circuitous 
reference to a para in ecn-l4s-id - see below)
*  to be subject to less stringent policing than they would with either 
codepoint alone (we ought to add this to §3.3 of NQB).


> 	[SM] Let's see how unusual that is going to be, after all NQB will result in a noticeable better low-latency performance over the ubiquitous WiFi networks (with the cost of that choice invisible to the application employing NQB marking unless the same application also establishes a CS0 parallel flow to asses whether the WiFi network is NQB-aware and whether NQB usage does not result in an overall throughput hit for the WiFi network (less aggregation will result in a total throughput loss)).
>
>
>>
>>               [SM]But I guess the bigger issue is that the L4S drafts have some words to say when and when not to set ECT(1):
>>
>>     https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-ecn-l4s-id-29#page-14:
>>
>>
>>     In order to coexist safely with other Internet traffic, a scalable
>>        congestion control is not allowed to tag its packets with the ECT(1)
>>        codepoint unless it complies with the following numbered requirements
>>        and recommendations: [list skipped]
>>
>>     So NQB flows would need a scalable congestion control to be allowed
>> to set ECT(1)
>>
>>
>>     However usage of a "scalable congestion control" is not mandatory for setting ECT(1):
>>
>>     As a condition for a host to send packets with the L4S identifier
>>        (ECT(1)), it SHOULD implement a congestion control behaviour that
>>        ensures that, in steady state, the average duration between induced
>>        ECN marks does not increase as flow rate scales up, all other factors
>>        being equal.  This is termed a scalable congestion control.
>>
>>
>>     I would respectfully argue that that SHOULD is mighty weak...
>>
>>
>>     BUT that L4S draft hasd the following ot say about NQB:
>>
>>     To identify packets for just the scheduling treatment, it would be
>>        inappropriate to use the L4S ECT(1) identifier, because such traffic
>>        is unresponsive to ECN marking.  Examples of relevant non-ECN
>>        identifiers are:
>>
>>        *  address ranges of specific applications or hosts configured to be,
>>           or known to be, safe, e.g. hard-coded IoT devices sending low
>>           intensity traffic;
>>
>>        *  certain low data-volume applications or protocols (e.g. ARP,
>> DNS);
>>
>>        *  specific Diffserv codepoints that indicate traffic with limited
>>           burstiness such as the EF (Expedited Forwarding [RFC3246]), Voice-
>>           Admit [RFC5865] or proposed NQB (Non-Queue-
>>           Building [I-D.ietf-tsvwg-nqb]) service classes or equivalent
>>           local-use DSCPs (see [I-D.briscoe-tsvwg-l4s-diffserv]).

[BB] 3 paras later (still in §5.4.1.1 of l4s-ecn-id), there's text that 
is more specifically relevant to this potential case of both ECT1 & NQB 
marking:

    A packet that carries one of these non-ECN identifiers to classify it
    into the L queue would not be subject to the L4S ECN marking
    treatment, unless it also carried an ECT(1) or CE codepoint.


We wrote this in ecn-l4s-id, not because we could envisage a case where 
both NQB and ECT1 markings would make sense, but because network 
equipment has to know what to do if it encounters a packet that has both 
markings.

Nonetheless, Sebastian suggested a believable scenario where senders 
might be incentivized to apply both when using L4S but also trying to 
get best performance from non-L4S WiFi.


>>
>>     It makes a ton of sense to mirror this in the NQB draft explicitly to
>>     at least keep these two consistent.
>>
>> [GW] I'd argue that mirroring this text in NQB isn't warranted, but I would agree that referencing it in NQB section 3.3 would be appropriate (and it's easier to ensure consistency that way).
> 	[SM2] I agree, mirroring was bad phrasing, what I meant is describe the same recommendation (only use ECT(1) for "scalable protocols", otherwise use the NQB DSCP for other flows fulfilling the L4S requirements) and add a reference. I see that "mirroring" sounds like I wanted to propose to copy the text verbatim, which I agree would be too much.

In the brief section about the relationship to L4S in §3.3 of the NQB 
draft, it says:

    Compliance with the DualQ
    Coupled AQM requirements (Section 2.5 of
    [I-D.ietf-tsvwg-aqm-dualq-coupled  <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-nqb#ref-I-D.ietf-tsvwg-aqm-dualq-coupled>]) is considered sufficient to
    support the NQB PHB requirement of fair allocation of bandwidth
    between the QB and NQB queues (Section 5  <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-nqb#section-5>).


In that section (§2.5 of the DualQ draft), it invokes the whole of §5 of 
ecn-l4s-id as a mega-requirement.

    A Dual Queue Coupled AQM implementation MUST comply with the
    prerequisite L4S behaviours for any L4S network node (not just a
    DualQ) as specified in section 5 of [I-D.ietf-tsvwg-ecn-l4s-id  <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-aqm-dualq-coupled-25#ref-I-D.ietf-tsvwg-ecn-l4s-id>].


So, the NQB draft already references the text you (Sebastian) want it to 
reference, albeit in an indirect way. It looks like NQB references DualQ 
(rather than just §5 of ecn-l4s-id directly) in order to include the 
superset of other requirements in the DualQ draft as well.

It wouldn't harm to add an extra sentence to §3.3. of NQB saying sthg like
     Note that these requirements in turn require compliance with all the
     requirements in Section 5. of [I-D.ietf-tsvwg-ecn-l4s-id].



Bob


>
>>
>>> So my interpretation of the draft is that the answer to both
>>> questions is no, i.e., either NQB DSCP is set or ECT(1) is set.
>>> However, there should be a hint what to do in case both are set
>>> (following the L4S argument of letting DiffServ being orthogonal, ECT(1) should take precedence and the DSCP should be kept nevertheless).
>> [GW] While both the NQB draft and the RFC-to-be on ECN-L4S-ID talk about NQB and L4S traffic sharing a low latency queue, it isn't precluded that they be queued separately (i.e. an NQB queue and an L4S queue).  If they were to be queued separately in a node that supports both, I think I agree with you that ECT(1) should take precedence.  The only situation where I can imagine a debate about that would be if a node implemented Traffic Protection for the NQB queue, but didn't implement such a feature for the L4S queue. That said, I'm not super comfortable with starting down the path of making recommendations for this separation of L4S and NQB, since I think it opens a can of worms. For example, is the NQB queue given equal forwarding preference compared to the "Classic" queue in the L4S dual-queue, or is it given equal forwarding preference compared to the L4S/Classic dual-queue combination?
> 	[SM2] I read "preference" as a synonym for the more usual "priority" here... why call it preference? (Genuine question: is this a usual nomenclature used in the field?)
>
>> And, would we then want to also describe the use of 4 queues (instead of 3) to handle all four combinations independently (in which case there is no precedence between the two markings)?
> 	[SM2] I would respectfully propose that until we implement and test such a beast our description will be hardly better than what an implementer will be able to figure out in actual testing/use, so why try to describe something where at best we can offer theoretical musings? Fine if the observations are either trivial or obvious (but in which case not making them should cause little harm), but what if we recommend something on purely theoretical grounds which then in practice fails to meet its goals? IMHO RFCs should try to not speculate too much and stick to what has been supported by data and facts.
>
> Regards
> 	Sebastian
>
>
>>     	[SM] The bigger issue is that L4S AQMs are not mandated to check at all whether any marked traffic actually fulfills the requirements. So honestly it matters little whether a flow uses NQB of L4S to gain access to L4S high-priority queue. Without actual policing/enforcement any requirements in RFC are reduced to "requirements".
>>
>>     Kind Regards
>>     	Sebastian
>>
>>     P.S.: I am convinced that this draft is not (yet) ready and should not pass last call right now.
>>
>>
>>> Regards,
>>>
>>> Roland
>>>
>>>> Von: tsvwg<tsvwg-bounces@ietf.org>  Im Auftrag von Black, David
>>>> Gesendet: Mittwoch, 2. November 2022 04:47
>>>> An: tsvwg IETF list<tsvwg@ietf.org>
>>>> Betreff: [tsvwg] WGLC: draft-ietf-tsvwg-nqb-14, closes 21 November
>>>> 2022
>>>>
>>>> This email announces a TSVWG Working Group Last Call (WGLC) on:
>>>>
>>>> A Non-Queue-Building Per-Hop Behavior (NQB PHB) for Differentiated Services
>>>>                         draft-ietf-tsvwg-nqb-14
>>>> https://datatracker.ietf.org/doc/draft-ietf-tsvwg-nqb/
>>>>
>>>> This draft is intended to become a Proposed Standard RFC.
>>>>
>>>> This WGLC will run through the end of the day on Monday, November 21.
>>>> The WG will meet in London on Monday, November 7, while this WGLC is
>>>> in progress.
>>>>
>>>> Comments should be sent to thetsvwg@ietf.org  list, although purely
>>>> editorial comments may be sent directly to the authors. Please cc:
>>>> the WG chairs attsvwg-chairs@ietf.org   if you would like the chairs
>>>> to track such editorial comments as part of the WGLC process.
>>>>
>>>> No IPR disclosures have been submitted directly on this draft.
>>>>
>>>> Thanks,
>>>> David, Gorry and Marten
>>>> (TSVWG Co-Chairs)

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