[tsvwg] Re: Request to review diffserv spec: draft-ietf-tsvwg-nqb

Sebastian Moeller <moeller0@gmx.de> Sun, 02 June 2024 11:39 UTC

Return-Path: <moeller0@gmx.de>
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 42A44C14F6E3 for <tsvwg@ietfa.amsl.com>; Sun, 2 Jun 2024 04:39:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.547
X-Spam-Level:
X-Spam-Status: No, score=-2.547 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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=gmx.de
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 lSh5BqPIyIZf for <tsvwg@ietfa.amsl.com>; Sun, 2 Jun 2024 04:39:10 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B5501C14F5E7 for <tsvwg@ietf.org>; Sun, 2 Jun 2024 04:39:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1717328333; x=1717933133; i=moeller0@gmx.de; bh=qVXqLdZT752P2YoSzLSBCAeCU5ZIm+BBZpqYDvfHK00=; h=X-UI-Sender-Class:Content-Type:Mime-Version:Subject:From: In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id: References:To:cc:content-transfer-encoding:content-type:date:from: message-id:mime-version:reply-to:subject:to; b=WGFIqkL2vnbrtQ6lhW09ovIASWKtQmjnuD2rCpxQexVVtgspPZyCvBbawnyK+S35 XGU2ugmtqE3TnFkfx1wv7mEBSONLDhHXZCM6xKXOvogt+W043FbBximZeexcUm6en 9a5VFbLzWiZAo1JwC1v92bDQgAUlm0o12Uua39HFESQ+B6ulGC2TSXZ7gbQPW7nFg koX5zGrL/g4zmVHN9EwUXu22J7k9Yer/Y6uo/CirlokKcMcfJJQaMUGAZtNQmMWTJ mAce8LmZiXBnepqz/zjcUJGeI7Afm1X79vdm2G3QzRuZn47dnkWEQiU6vOkc5Jc08 z7+Xnyy5GPYDa921qw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from smtpclient.apple ([77.0.107.83]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MDywo-1sLTK52vsy-009xmj; Sun, 02 Jun 2024 13:38:53 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
From: Sebastian Moeller <moeller0@gmx.de>
In-Reply-To: <6198e789-0ca6-4346-81a7-0a915ae051b0@gmail.com>
Date: Sun, 02 Jun 2024 13:38:42 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <E4A9529E-110E-4BB3-8659-0A25E845D98B@gmx.de>
References: <171619088820.9700.17122047615729502291@ietfa.amsl.com> <65a001f0-386e-4d3a-b41a-1ae75a195aca@erg.abdn.ac.uk> <075c9da4-df83-4286-85f3-d36553fac3ba@gmail.com> <79b7701e-5f73-4e14-b40c-1c86672e7349@huitema.net> <83C05E8E-683A-479D-838E-4B95DF681618@gmx.de> <792c5c36-55f3-4a05-b046-fe1fa1de64fd@huitema.net> <6F062550-EB16-4B4F-B985-1732823103B5@CableLabs.com> <e8a9229f-2fcf-4984-81e3-e82c7196fdf4@huitema.net> <1FA68E5C-E895-4ABB-8295-7321D2059635@CableLabs.com> <409fa6a8-ba77-40b5-aa87-043cf79ead4e@gmail.com> <55AE5753-9DEF-4F66-90DB-5E36CA69019D@gmx.de> <c1b117db-a62d-4bef-bd23-88acc3962d23@gmail.com> <1535072D-B234-43C8-8B63-396F7102D6F3@gmx.de> <6198e789-0ca6-4346-81a7-0a915ae051b0@gmail.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
X-Mailer: Apple Mail (2.3774.600.62)
X-Provags-ID: V03:K1:uj8Blk2QNHpsLuDlNsZmBFsbYB95my2DcXfy4NCYEftBUw0waBP BTwH0bG59OeC0z+obiAefBdv/vXciV7DcJuYec6rqCScVOBcW9C0+H3h4on7ubVxd825zbU YOMMkjuLihmd+jr8CAO9Y7BiHQDhlkkwe+2xaPWZKoHpZLWxtQ2OjyOd3W1eAEBf0uV7BgY sUvqVA5INaCe02FktMb5w==
UI-OutboundReport: notjunk:1;M01:P0:gYZWHqtyTLg=;b909sG6sIklsnMXZlDApeh47HUu v6LAEr5MJXa4vvNz25Qxssyzg4ssA3FCEtucEuvSDRHCYB3O8cb6wc5mKpn21s8c+qy0LT6UQ 1Svw6DbZyD5N94A3WNDRGaFiyelhEZmr66C9tSA7MSSC1RU4vp4nNH1BT8uvkchnN4x5zYHa0 uXyvvu+PDIr//XJeOxohQvy+7gjz2+yvF6eGZy+rjbmH+JlOnunN0br3Au15Tv/IyYr5utXC5 JituO86qPIRvmiHSH+c0NLReTm+M2ZJKlMDq4dp8NEfnHdLEAxTejAl5Rbrh76c6CPyKJRVD9 qdeEM6JPG7VkgsfRecoKBK9wlZnZzMbvY4d0rC+LUey6yWiquCSt3tRAdnUyj8rmYv4EsS8zB RzxDeMTXBdhvU70lZiASMnwKPguQdhq+h6LFTAfJMkUkAqhwD6FoBxJjyL6INbO7jaAkDZqIQ zEUyufzlcD8TCrMK96DhAxEYb0eSdF8zF+6s/t12dYObnsYAVtovYAMKPXEKjFfU/+eve0ndZ f2R42XqDLTSIzAWNCHCWJn9N6eWNJjLA5AIvB+2lzwZU9bx0nRO/AB0WtrRiTLUGbpWon8cu+ k1UKagr7Gdi6Sd4DLOkWjBoJDAuVcLhDBPI2xb/Zplo41EUirGxhmqkvJ8XX/r+MCWARN/EuK x+qyBJUDAeeMWPb4J1JLmg/tf8UCuBkA7jbS0l7LVzqP+P8Kw+6XlrQYDTk4TE4xUd+pj/puD HcdXtNQsaIeerfeDgsnHJ9MyDDBcyISP89WJjvGx60e30RSw9gOkDW6+kxkllvR1jJeGCsPVk W3Y727JQMDwzL9vlFK8vCfGvioMD1E6Ty38LxZwFP63hw=
Message-ID-Hash: F3TTWTQE72QVQTP3IQD3PI5RKKOE7JEZ
X-Message-ID-Hash: F3TTWTQE72QVQTP3IQD3PI5RKKOE7JEZ
X-MailFrom: moeller0@gmx.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tsvwg.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Greg White <g.white@CableLabs.com>, tsvwg <tsvwg@ietf.org>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, "Black, David" <David.Black@dell.com>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [tsvwg] Re: Request to review diffserv spec: draft-ietf-tsvwg-nqb
List-Id: Transport Area Working Group <tsvwg.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/yuZhPBGe0DrcuYWxEWbKC_kcDYE>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Owner: <mailto:tsvwg-owner@ietf.org>
List-Post: <mailto:tsvwg@ietf.org>
List-Subscribe: <mailto:tsvwg-join@ietf.org>
List-Unsubscribe: <mailto:tsvwg-leave@ietf.org>

Hi Brian,


> On 1. Jun 2024, at 22:35, Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
> 
> On 02-Jun-24 01:06, Sebastian Moeller wrote:
>> Hi Brian,
>>> On 31. May 2024, at 22:22, Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
>>> 
>>> On 31-May-24 17:28, Sebastian Moeller wrote:
>>>> Hi Brian,
>>>> On 31 May 2024 01:47:35 CEST, Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
>>>>> On 31-May-24 10:47, Greg White wrote:
>>>>>> Thanks Christian.
>>>>>> 
>>>>>> On the topic of the need to verify behavior, that discussion (and further work in that space) should continue.  There seems to be a wide range of opinions on the topic, from those who firmly believe that no verification is needed, to those who believe it needs to be mandatory and bulletproof.  The draft provides guidance and recommendations, but leaves this open for implementers.  To me that is the right stance.
>>>>> 
>>>>> I think that a network that claims to send NQB traffic to a NQB-supporting peer network,
>>>> [SM] NQB being intended end to end there is no guarantee that along a path there exists a NQB supporting peer network to begin with. And the IETF in the past recommended to leave uncontentious DSCPs in place (that is dscp aware networks are encouraged to only modify ingress dscps they use themselves).
>>> 
>>> True, but that was not what I was discussing.
>>> 
>>>> but doesn't police NQB at ingress, will be policed at egress by that peer.
>>>> [SM] A peer that might not exist... putting safety into the hands of 'to whom it may concern' seems neither robust, nir reliable to me.
>>> 
>>> I'm simply saying that an NQB-supporting domain will most likely defend itself against incoming traffic that claims to be NQB but doesn't behave as NQB.
>> [SM] How? The harm is not done at the AS level, but will only realise at the bottleneck... unless you know about the the bottleneck capacities of the individual leaf sites you can not defend against NQB appropriately at the interconnection points... And with variable rate links like LTE/5G and especially WiFi in the mix I claim policing NQB at the interconnection side is a fools errand, it might help in curtailing mass abuse, 
> 
> Exactly. That is all a provider can do.

[SM2] Which is an indirect consequence of:
"To prevent this situation from harming the performance of the microflows that comply with the requirements in Section 4.1, network elements that support the NQB PHB SHOULD support a "traffic protection" function that can identify microflows or packets that are inconsistent with the sender requirements in Section 4.1, and either reclassify those microflows/packets to the QB queue or discard the offending traffic. In the case of a traffic protection algorithm that reclassifies offending traffic, the implementation MAY additionally re-mark such traffic to Default (or possibly to another local use code point) so that the result of the traffic protection decision can be used by further hops. This sort of re-marking could provide a limited layer of protection in situations where downstream network nodes support separate queuing for NQB marked packets but lack support for traffic protection."

For this to help, the "traffic protection" essentially needs to operate at the bottleneck node, as only there it will be really possible to assess whether a microflow is problematic or not.
The draft partially admits that:

"Traffic protection as it is defined here differs from Traffic Conditioning implemented in other Diffserv contexts. Traffic Conditioning is commonly performed at the edge of a Diffserv domain (either ingress or egress, depending on Traffic Conditioning Agreements in place). In contrast, traffic protection is intended to be implemented in the nodes that implement the PHB. By placing the traffic protection at the PHB node, an implementation can monitor the actual NQB queue and take action only if a queue begins to form. Implementation of traffic protection at PHB nodes that are most likely to be a bottleneck is particularly important because these are the nodes that would be expected to show the most queue build-up in the presence of QB traffic mismarked as NQB."

But fails to go the full distance: Arguing that "traffic protection at PHB nodes that are most likely to be a bottleneck" is IMHO incompatible with allowing NQB with side effects on APs that do not implement the NQB PHB, as these in many residential contexts are "most likely to be a bottleneck". And the way WiFi typically works essentially all WiFi stations also need to implement such traffic protection for their own NQB transmissions. (If we assume a CBR flow without rate control that takes too much airtime on a WiFi link, shaping that rate down in a CPE or BNG node will do nothing to help capacity sharing over the WiFi link).
And yet the draft opts for requiring explicit opt out to avoid the side-effects on non-participating nodes. Parties that are likely complete unaware of NQB and its side effects are supposed to take actions to defend against those side-effects. And this design is 'justified' with convenience of deployment.


> 
>> but will do squat for individual subscribers. But it is the subscribers that are supposed to benefit from NQB not the providers.
>>> 
>>>> But that's not new, it really applies to every PHB except Default. So I think the text is OK as is.
>>>> [SM] Almost all new RFC introduce change from the status quo... if we would like business as usual, why do we keep adding new RFCs?
>>> 
>>> We add new PHBs occasionally because we think they're useful, but none of them change the basics of what happens at a diffserv domain boundary.
>> [SM] Yes, but most PHBs do not claim to be useful for end to end traffic without first negotiating TCAs/SLAs NQB however aims to be end to end with or without participating networks in between...
>> "A Lower-Effort Per-Hop Behavior (LE PHB) for Differentiated Services" https://www.rfc-editor.org/rfc/rfc8622.html solves this issue simply by being beneficial to all parties (packets marked LE are intended to be dropped when bottlenecks arise something helpful for any bottleneck, whether in an ISP's backbone or at the edge) and by having no side effects (so no trade-off and aligned benefits). To be clear LE is safe by design, so unless some ISP mismarks LE packets >= BE no harm is done, NQB is decidedly not safe by design, but has side effects that shold be controlled, but in the current draft are not.
> 
> Isn't that the whole point of section 5.2 "Traffic Protection"?
> 
> 'network elements that support the NQB PHB SHOULD support a "traffic protection" function that can identify microflows or packets that are inconsistent with the sender requirements in Section 4.1, and either reclassify those microflows/packets to the QB queue or discard the offending traffic.'
> 
> So my CE router, for example, should do that.

[SM2] But does your CE router and do that, and what about your AP(s)? What about the bulk of routers and APs in current deployment, will these offer NQB aware "traffic protection"? And how likely do you think it is for the expected millions of WiFi4 and WiFi5 APs and WiFi-routers in the field to actually get updates that implement such a traffic protection function?
The draft clearly assumes that the likelihood is extremely slim, other wise the whole section "7.3.1. Interoperability with Existing Wi-Fi Networks" would hardly be needed...


Now, personally I am well prepared, I use flow queueing in both my router and my APs and I used the appropriate IEEE method* to make sure DSCP decimal 45 maps to AC_BE in my network. The result of which is, that even without the NQB code points, flows with the appropriate behaviour (like the one described in the draft) will experience little queueing delay and there will be no side effect on WiFi even for misbehaving flows. (I accept that using AC_BE on the WiFi link will introduce a bit more jitter than using AC_VI would**).
But I am well aware that this is outside of the reach for the vast majority of deployed routers and APs.


Regards
	Sebastian

*) IEEE Std 802.11-2012, 8.4.2.97, there already exists a standardised way of mapping DSCPs to UPs/ACs for WiFi that would lend itself well to an opt-in approach. Propose a DSCP that by default maps to the default AC_BE and only change that if an AP is NQB aware by simply employing the appropriate mechanism to doing so. That approach would also have the added benefit of allowing to propose a DSCP that has a higher probability to passage the existing internet unchanged (according to Exploring DSCP modification pathologies in the Internet, by Ana Custura, Raffaello Secchi , Gorry Fairhurst, the likelihood of traversal is ~25%age points higher for DSCP1-7 conpared to DSCPs 8-47, and ~17%age points for DSCPs 48-63; so selecting a DSCP out of the range 2-7 would increase the end-to-endness of NQB massively).

**) Sidenote: the way I understand the airtime acquisition process in WiFi if AC_BE acquires a transmit-opportunity and has aggregate data for say 3ms worth of airtime, it will sends these, so even with NQB in a higher AC, like AC_VI or AC_VO NQB packets will not preempt on going transmissions and hence over WiFi the jitter will still be noticeably higher than over a medium without aggregation. What using AC_VI or AC_VO will give is a higher probability to gain airtime access sooner outside of ongoing transmissions.


> 
> Regards,
>    Brian
> 
>> Regards
>> Sebastian
>>> 
>>> Regards
>>>   Brian
>>> 
>>>>> 
>>>>>   Brian
>>>>> 
>>>>> 
>>>>>> 
>>>>>> -Greg
>>>>>>    On 5/30/24, 11:42 AM, "Christian Huitema" <huitema@huitema.net <mailto:huitema@huitema.net>> wrote:
>>>>>> 
>>>>>> 
>>>>>> Greg,
>>>>>> 
>>>>>> 
>>>>>> Your proposal removes the mention of UDP, and that does address my
>>>>>> comment that the behavior should not be linked to a specific transport.
>>>>>> 
>>>>>> 
>>>>>> As for the need to verify behavior, that's another discussion, still
>>>>>> ongoing.
>>>>>> 
>>>>>> 
>>>>>> -- Christian Huitema
>>>>>> 
>>>>>> 
>>>>>> On 5/30/2024 8:43 AM, Greg White wrote:
>>>>>>> Christian,
>>>>>>> 
>>>>>>> Agreed. Please have a look at my response to Brian to see if the proposed modifications address your point.
>>>>>>> https://mailarchive.ietf.org/arch/msg/tsvwg/SOfCGp2DcqUJT9TCjP8kJDdWyyU/ <https://mailarchive.ietf.org/arch/msg/tsvwg/SOfCGp2DcqUJT9TCjP8kJDdWyyU/>
>>>>>>> Specifically, items relating to 3.1 and 4.1
>>>>>>> 
>>>>>>> -Greg
>>>>>>> 
>>>>>>> 
>>>>>>> On 5/27/24, 1:29 AM, "Christian Huitema" <huitema@huitema.net <mailto:huitema@huitema.net> <mailto:huitema@huitema.net <mailto:huitema@huitema.net>>> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On 5/27/2024 12:16 AM, Sebastian Moeller wrote:
>>>>>>>> Hi Christian,
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On 27. May 2024, at 08:48, Christian Huitema<huitema@huitema.net <mailto:huitema@huitema.net> <mailto:huitema@huitema.net <mailto:huitema@huitema.net>>> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 5/26/2024 7:52 PM, Brian E Carpenter wrote:
>>>>>>>>>> Hi,
>>>>>>>>>> This is a brief review of draft-ietf-tsvwg-nqb-23. This is the first time I've read the draft for a very long time. It looks pretty good to me, but of course I have a few comments below. (I no longer subscribe to tsvwg, so please Cc me if appropriate.)
>>>>>>>>>> In 3.1 "Non-Queue-Building Behavior" we find:
>>>>>>>>>> "In contrast, Queue-Building (QB) microflows include those that use TCP or QUIC..."
>>>>>>>>>> I can easily imagine an NQB application that chooses to use a reliable transport layer even for a small, intermittent flow. So the implication of this phrase that only QB flows use a reliable transport seems wrong to me.
>>>>>>>>> We have a working group dedicated to "media over QUIC", and the resulting protocol will indeed be capable of managing NQB flows. As Brian notes, please revise that part!
>>>>>>>>> 
>>>>>>>>>> In 3.2 "Relationship to the Diffserv Architecture":
>>>>>>>>>> "in many cases the implementation of Diffserv PHBs has historically involved prioritization of service classes with respect to one another, which sets up the zero-sum game"
>>>>>>>>>> This is a very important remark (and of course is exactly what RFC2474 wanted to avoid), but a bit later we find:
>>>>>>>>>> "NQB is expected to be treated with the same priority as Default..."
>>>>>>>>>> Oh dear. Perhaps "NQB is expected to be treated similarly to Default..."
>>>>>>>>>> In 4.1 "Non-Queue-Building Sender Requirements"
>>>>>>>>>> "Microflows that are eligible to be marked with the NQB DSCP are typically UDP microflows that send traffic at a low data rate relative to typical network path capacities."
>>>>>>>>>> Or, as noted above, intermittent and low data rate TCP (or even QUIC) flows.
>>>>>>>>> +1. What matters is the media being carried, not the transport protocol.
>>>>>>>> [SM] Puzzled... IMHO all that matters is whether a flow is above its abstract capacity share or not. With abstract capacity share I mean not related to any kind of 'fairness', but whether that flow pushes the aggregate over the bottlenecks egress capacity or not.
>>>>>>>> If incoming rate > outgoing rate a queue builds up (assuming there is space for it) or packets need to be dropped.
>>>>>>>> A flow with a low share of the queued packets will contribute less than a flow with a high contribution to the queue, but contribute it will.
>>>>>>>> 
>>>>>>>> The draft actually proposes an elegant way past this dilemma:
>>>>>>>> 
>>>>>>>> The intent of the NQB DSCP is that it signals verifiable behavior that permits the sender to request differentiated treatment.
>>>>>>>> 
>>>>>>>> Where it IMHO falls short is in not actually defining this behavior in a way that is actually robustly and reliably enforceable.
>>>>>>>> 
>>>>>>>> However, that IMHO is not a show stopper, the fact that the draft recommends to completely give up on its principles for ease of deployment over existing WiFi is where I draw the line.
>>>>>>> 
>>>>>>> 
>>>>>>> Basically, the application that starts a flow with the proposed NQB mark
>>>>>>> is asserting that it will keep its traffic within some known envelope. I
>>>>>>> agree with you, Sebastian, that this only makes sense if this envelope
>>>>>>> is well defined, can be verified, and that if bugs or misbehavior cause
>>>>>>> the traffic to exceed the limits, such bugs or misbehavior are
>>>>>>> corrected. We may debate whether the behavior has to be enforced by an
>>>>>>> AQM, or whether it is OK to just combine real-time detection and post
>>>>>>> facto correction. But then, I don't think that the behavior is linked to
>>>>>>> the specific transport being used, whether UDP, QUIC, TCP or others.
>>>>>>> 
>>>>>>> 
>>>>>>> -- Christian Huitema