Re: [tsvwg] I-D Action: draft-ietf-tsvwg-nqb-06.txt

Greg White <g.white@CableLabs.com> Thu, 29 July 2021 02:48 UTC

Return-Path: <g.white@CableLabs.com>
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 C789D3A10A4 for <tsvwg@ietfa.amsl.com>; Wed, 28 Jul 2021 19:48:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, RCVD_IN_MSPIKE_H2=-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=cablelabs.com
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 jdJtUEU40rmT for <tsvwg@ietfa.amsl.com>; Wed, 28 Jul 2021 19:48:22 -0700 (PDT)
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2105.outbound.protection.outlook.com [40.107.94.105]) (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 87AA93A10A2 for <tsvwg@ietf.org>; Wed, 28 Jul 2021 19:48:22 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YYLjTKmzIymOtGviGhtSif4oZaolGSApEH8h7uohjaZhFF4nCQfcZKwqg0RW2Lu4fcYKLkMtRZtq4pbZxKXMrT9Yn6wctytkJqgtOFAGtRdVtHCZmAbLgOkvnRjHygSbCy1GUPVeTj9yv3MvthSuUnICrEfdPYZSV+qTMtCHlbFEk9ZgUJyvZkRK+X9+WNoZqTGuPQo5YV3SOYqCEN1ImGAqxSgRLAPluUDtA3+JxbwXUKk6nCO1EmkrF+Ze+c3t0RX4JY4FcIhw5LBZhxUl8MXdAtYd2o5LezUV/UcAJ34yzs5zH8LKhGT72w52RMpQZBsGDSUPpRcy2a35JN5a6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l3lWL6h5YS8fxR9a/krtQOLnx+2aLIso1aEMxijd8Ug=; b=bNW3T5JrtpMMypMzrdEVOW3NmosBrcAPPOnv82URAJDT6+agznXJqomzE3HDgVaHyZMtv/vWZ5a+Mti15qdsG3MU55Qdl8jAob46bl7soHMz6WUwZM4xsHxGB22SRafi5wke2GMOn/D+2ma6Rd1eO8ghun+Swg3M1+6Va80tA0jaK6HINleEl3pvIOTa9ibWm9HpnE/174r8zSbuXg1/Z3inmC9+Ie6Y8k2H9MRwjFXWkm43bO6KkC9L/SF2udu8PhfhlD29HMLDG5hkkiOQjHTVoR8NqyBGAOAIyziHLXx9F8d3iVWw014pnqWZmw7vd8tQ01cBpo4WY0AOXuro6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cablelabs.com; dmarc=pass action=none header.from=cablelabs.com; dkim=pass header.d=cablelabs.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cablelabs.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l3lWL6h5YS8fxR9a/krtQOLnx+2aLIso1aEMxijd8Ug=; b=DFq1VEKyyLIduAxfE51ue93TjcXSmZ8MGSbKpqD9zwfwpsqdbg8Ju1IHLLd+r4RX5Tmaor7LdLe94OiGSs9yeMs/HUX8G/v20Mj2TNa0Zc9fcLSDut41d3P2kb2WUzaPiDZSrIO/O3XVLohAAeriHZ9pAtJst3TfIKRQZBt8/wf43eZW9W25kgmQFwq1w2MGl1Ufn8MkTGfXMLQF2UZTf0iuEAJcSrg5uB6nsjw5CM6h16d1/z5dEN+KTuzrzrx5Lq3cUlHrFZY8Og+IS86s7aH0r04MAcB4A9uGp34YdU78tj1c5C5luCnfTohMGDv38Jl6Q8d4Ja0BURrcYi2n3Q==
Received: from SJ0PR06MB7861.namprd06.prod.outlook.com (2603:10b6:a03:38c::19) by SJ0PR06MB7824.namprd06.prod.outlook.com (2603:10b6:a03:3af::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.19; Thu, 29 Jul 2021 02:48:12 +0000
Received: from SJ0PR06MB7861.namprd06.prod.outlook.com ([fe80::c138:2adb:9183:1bd]) by SJ0PR06MB7861.namprd06.prod.outlook.com ([fe80::c138:2adb:9183:1bd%5]) with mapi id 15.20.4331.032; Thu, 29 Jul 2021 02:48:12 +0000
From: Greg White <g.white@CableLabs.com>
To: Bob Briscoe <ietf@bobbriscoe.net>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Thread-Topic: [tsvwg] I-D Action: draft-ietf-tsvwg-nqb-06.txt
Thread-Index: AQHXd18e1/HnwFFDQUOS9oFU5DCE+as/dv6AgAYFOQCAEzUZgA==
Date: Thu, 29 Jul 2021 02:48:12 +0000
Message-ID: <471CC6A4-3D5D-47A4-AC01-F493B35DA355@cablelabs.com>
References: <162612278784.28797.8827422020954778635@ietfa.amsl.com> <7CABA804-0F08-411D-89EC-5B6182C1B827@cablelabs.com> <50aad7c4-729b-5c80-3481-0b2bbf8e6896@bobbriscoe.net>
In-Reply-To: <50aad7c4-729b-5c80-3481-0b2bbf8e6896@bobbriscoe.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.44.20121301
authentication-results: bobbriscoe.net; dkim=none (message not signed) header.d=none;bobbriscoe.net; dmarc=none action=none header.from=CableLabs.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5a59e2dd-e188-403a-72f1-08d9523b4e70
x-ms-traffictypediagnostic: SJ0PR06MB7824:
x-microsoft-antispam-prvs: <SJ0PR06MB78240DB1E46B0B87687F7FEEEEEB9@SJ0PR06MB7824.namprd06.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: keUigzoNIOPXDfF4TMNVFYV6q73MFj62bJyTz2UnvB0oUDlTMW0UNvMESbm3tF+1qrNVw866f1j8SdjIvEMJ4exf2d32O0uVRBstAxxFoq2p+xP3jNvfYGxbF3fPp71JSCkv25l11O38ASKWGwi6IcTKR9sjwx3yMsbJf5EXcdvOylvi47ORKL7+sDjFkVy9HkvuBNA64nx3bDK7Qrq3qZ0XGL3dBLCwoZ1gFmTw69TI89LQBYQ1tHxly1aiQ+PdGW2w7vUe6quB0qjwyE2W1i/bA7FBHc08sbAO3wWqMrc0ebGYnJfAUaOfhGGdhtTXFoNrpl2YICrDc40WAxVWbiqj/K75tfctruYqdWH4yYxiOnjpg5Lwk3x22Xu8A011/E4q0jvu6BuEPzSl3MIYdHskwqqRXxC7P5wJTVnAqjz8dApC6T89kBzpZEcMghRWpecM/ZpcWM2xUPeJiEY1CIuqR5z/AIfyLyEOSxEORA9JmvH9CcnrGgOXnJKuS0g1gk5/vUw6bUWt9zgOW8l4lPqx85vqXQOtp9knMLBm0PBVmMq+Ci9pReoXP6mvYFPXFP2vpes54sl3jaub/JyTSlwUFVi8xbD/vpPjar95rgj09luAnmF59hXHMZzY8ueY/GZbHldSBoXwBTMTDojFwloQSnICFFy2h21rkPuF+LCWntSpK+0ciK82+rDQVvBgHhBbGsvmAX1cZAoqWUaUy9iVMD70cZQstjr46YTzaQ0LJkxhkIGCI3mLLp3/vfYzrmQmCSEv71OLl/Vjel+j0QzGEWfZyNJnGZaIszZonFtEy6+HhN3lfhNHpGkWS8i+HtdK/NVipCQOPIVWi/rxUA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR06MB7861.namprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(376002)(346002)(366004)(136003)(39850400004)(86362001)(2906002)(2616005)(8936002)(66574015)(21615005)(83380400001)(166002)(966005)(33656002)(71200400001)(76116006)(478600001)(91956017)(110136005)(5660300002)(66556008)(66946007)(26005)(38070700005)(6506007)(64756008)(66476007)(6512007)(66446008)(6486002)(53546011)(30864003)(316002)(8676002)(38100700002)(36756003)(122000001)(186003)(45980500001)(85282002)(579004)(559001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: kWfGahrLQ31OnzmOfCyK2WDoUSJbeCUNPxXjhj7V/ICkMMDGtCCqeXYRA8xPlXp7fYwdv8f+DfREKXvB1ZHCntjFQOLnj58MSvISMEW+n8Ixew35ZzD9QoUfhfTtGmt4b4Iw45blz3AtJqG4m/0VWZUrA9nZX6WxTvYM+lm7584xChyk9kwugAy6rmPvw/LQDVqV4HVRmnJM8BbKorqyBrUMwpn6Kd4UOZhCzYFvaUYFjAMUCLr61tbbbeTS0ftJ0siPfGhphAXPJLIgYCaCTHzOGadC6ORc4QzK2pcyz6EtgEUNpxw73HKQAH4txla2b3fsVEYKEd+kCrT2yeEtd2GXd/ApYshOWLGe4rb1uuGWqy8GeZdKuydQ2e6URr2FsRp/bfgiSy0X6QkbBUv8wl/+neuE1vju/xYhGu9QUcdsnWYL9SW7HE2WnT2wYcNV42ceoUaLc7uH81RwPB4692fifO2CykECnrrXCWc6wiZOUrHVXXtZ+PS1AUehYpuS/sHoYbCdozQ6JJJM/Pfu2j8SoWvksr/APgary68vpA7EaxekvqrPzdlyzU9PpWhQdY22Xwn636j7Wv3CCalZTfDdsJd07wMtzOQDZ5pfqDDBqwqPkb+tMtiLOwMTEIlljQNjLLRMicgMp8DA1qd8HcaRvRCOwAm3Xz/O6rUQdBNnAEbyEg6nuL82GjhhnAgt5hdOXzwYfWFakn/hVKH+GoO/irZPt81RKKvj2MADCrzzTapj5POAv3OZ3RtTTPopCN7coO0mTThN6gEqjuWXvJ8cFFf+gotqMRNnCOtTL7r6xhPdymuekaq1ClBLoe6drbE7FdKQq6teMHi9fLalUQZuyVwq2RUP9SON2GDUFbKR45t6hrcniUrZrQ6GQJbgB/JohajebeOIaoETcNFNiAPtTuAbkHyCgpJr55+MwO6LjkjAT4UaxWhCl9gMOj8gl4VUDQICRbHqtbL0V5b3hJJToOqN+CW65GXHnCn3BDoy6T27p+u9V26jHUolqRSAu1j5tS2w0D3DHW0gdQ/WESOsw4D5aRNcVCXZstyGsXLAaEXoiMhdUZjLZNKanR/8loKjoVsduOW80zNr/bUbXY0IqY0ilVSarVO0NF5rwJNespxCVh7n/nqahlWycCr7B+MtKJDLMjvvy0fwFS4pX4zoMSEaFidgkk7QDU4qlC1YRnZv+nA3km/I12QqiHoLNQyUpJQGuQIav97Ypefhms9hZyxaLG2gaJpw61oCwXRAe5RZRwaXpm5U8NkQeei1E3B+kxKkLaTdaB1F5njApBTeawxjZA2SGizbuVi9mVrtdjrzUFRVpBdJj9mg5wae
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_471CC6A43D5D47A4AC01F493B35DA355cablelabscom_"
MIME-Version: 1.0
X-OriginatorOrg: cablelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR06MB7861.namprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a59e2dd-e188-403a-72f1-08d9523b4e70
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jul 2021 02:48:12.0423 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: ce4fbcd1-1d81-4af0-ad0b-2998c441e160
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Q7CSpqG3AzG7OLeoTM15DWQjELYW8u8a8XC4lei2HSe8KmsYYFzO9MJiSIpWNZV2jqnMXXgS9bOlSLeZvnyKwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR06MB7824
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/pnigjajj-VYe56JEbM_oenJC5tE>
Subject: Re: [tsvwg] I-D Action: draft-ietf-tsvwg-nqb-06.txt
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: Thu, 29 Jul 2021 02:48:28 -0000

Bob,

Thank you very much for your review.  I am preparing a draft-07 that addresses many of these comments.  Please see some responses below.

-Greg


From: Bob Briscoe <ietf@bobbriscoe.net>
Date: Friday, July 16, 2021 at 5:27 AM
To: Greg White <g.white@CableLabs.com>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Subject: Re: [tsvwg] I-D Action: draft-ietf-tsvwg-nqb-06.txt

Greg, list,

Here's my review of the nqb draft-06:
==Gap: Partial Deployment==

In §6, it says:
"In the case of an NQB flow that isn't marked as NQB and ends up in the QB queue, it would only impact its own quality of service, and so it seems to be of lesser concern."
This made me realize that the draft doesn't say more generally what will be the outcome if an NQB flow ends up in a QB queue, just simply because NQB is not supported at the bottleneck. It talks about this in specific cases (e.g. WiFi), but not in general.
[GW] Well there is also some related text in 5.2 and in the paragraph preceding 5.1.  But, I agree, this could be covered more directly.  I will add some text on that topic in 5.2 (Aggregation), which is where it seems most appropriate to me.

==SHOULDs or MUSTs?==

It might help to add some reasoning for why the draft allows implementers /not/ to comply with the 'SHOULDs'.
To help in this process, below I've tried to describe the exceptions to each SHOULD, so it could be written as "MUST do x..., except if y...".
·          5. DSCP Marking of NQB Traffic
o    "...SHOULD identify themselves to the network using a Diffserv Code Point (DSCP) of 45..."
§  Doesn't say what valid cases would be for not using 45 and how that would interwork with other networks
§  e.g. some other DSCP agreed locally with the access network would work fine, but some other DSCP to work with an unmanaged home WiFi might not work with the rest of the path.
[GW] Ok, I added “In networks where another (e.g. a local-use) codepoint is designated for NQB traffic, or where specialized PHBs are available that can meet specific application requirements (e.g. a guaranteed-latency path for voice traffic), it may be preferred to use another DSCP.”
o    "If the application's traffic exceeds more than a few packets per RTT, or exceeds approximately 1 Mbps on an instantaneous (inter-packet) basis, the application SHOULD NOT mark its traffic with the NQB DSCP."
§  If this were 'MUST NOT' it would be too prescriptive as the Internet scales. But perhaps it's better to say 'MUST NOT' and allow more flexibility in the quantification. For instance, instead of 'a few' and 'approximately 1 Mbps', explain how these numbers might scale as the Internet scales.
[GW] I understand your point.  But am going to hold off on making this change.  It isn’t immediately clear to me how to structure this as a MUST NOT.  Maybe we can discuss this in the WG.
o    "the application SHOULD instead implement a congestion control mechanism, for example as described in Section 3.1 of [RFC8085] or [I-D.ietf-tsvwg-ecn-l4s-id]."
§  I think it's best to say neither SHOULD nor MUST here, but instead refer to drafts that say normative things. Something like this: "the application has to instead implement a relevant congestion control mechanism, for example...". After all, an NQB RFC is not really entitled to say what non-NQB traffic should do.
[GW] I agree.
o    "...nodes that do not support the NQB PHB SHOULD treat NQB marked traffic the same as traffic marked "Default", and SHOULD preserve the NQB marking."
§  Again, this is putting requirements on non-NQB nodes, but in this case the requirement is not on the implementer, rather it's about the classifier config of the operator. So this ought to be phrased as operator guidance (e.g. RECOMMENDED).
§  And it needs to say what will happen in pre-existing networks, where the operator is not aware of either of these recommendations (see earlier point about partial deployment).
[GW] I believe that I’ve got this covered now in the Aggregation section.
·          5.1. End-to-end usage and DSCP Re-marking
o    "Absent an explicit agreement to the contrary, networks that support the NQB PHB SHOULD preserve a DSCP marking distinction between NQB traffic and Default traffic when forwarding via an interconnect from or to another network. To facilitate the default treatment of NQB traffic in backbones and core networks, networks SHOULD remap NQB traffic (DSCP 45) to DSCP 5 prior to interconnection, unless agreed otherwise between the interconnecting partners."
§  Both these SHOULDs could be MUSTs if the sentence started with "To support NQB, ..." because they both allow a locally agreed exception.
§  One reason for not complying would be lack of space for the marking (e.g. MPLS or Ethernet header space). So it would be worth saying that one way to preserve the distinction would be encapsulation, with the distinction only preserved in the inner.
o    "In order to enable interoperability with WiFi equipment, networks SHOULD remap NQB traffic (e.g. DSCP 5) to DSCP 45..."
§  Again, this could be made into a MUST by adding "To support NQB, ..." and allowing locally agreed exceptions.
[GW]  For the first one (preserving a marking distinction), I agree with you (and made it a MUST).  For the others that discuss specific DSCPs, I think we need to leave them as SHOULDs because (by definition) a PHB spec only “recommends” DSCPs and does not mandate them.

·          5.2. Aggregation of the NQB PHB with other Diffserv PHBs
o    "the NQB DSCP SHOULD be preserved"
§  As above, explain that you are talking about encapsulation to preserve the distinction by preserving the inner
§  (and it would be worth clarifying that the degradations discussed in the previous para are only within the aggregation network, not after traffic has been disaggregated again).
[GW] I’ll cover the first sub-bullet, but I’m not sure what more I could say on the second sub-bullet. The degradations (loss/latency/jitter), while they would be introduced in an aggregation node, clearly are felt end-to-end.  The statement around preserving NQB DSCP already mentions that it should be preserved “in order to limit the negative impact that such networks would have on end-to-end performance for NQB traffic.”  Maybe I’m misunderstanding what you mean?
·          6. Non-Queue-Building PHB Requirements
o    There are lots of SHOULDs here, without any reasoning given for why exceptions are allowed, or what sort of exceptions are not allowed. They all relate to preserving vs. enforcing incentives. So I think it could be said explicitly that where SHOULD rather than MUST is used in this section, it is because the details depend on the threat level in the deployment environment and whether incentives are working sufficiently.
[GW] I think your comment mainly applies to two of the SHOULDs (equivalent forwarding preference requirement and fair scheduler requirement), so I added it there.  The one that I’m debating is the “… SHOULD NOT be rate limited or rate policed separately from QB traffic …” requirement.  I don’t think this one is entirely related to incentives.  Even in a controlled environment where there is no threat of mismarking, I think this would still be the recommendation.  But, I’m having trouble justifying why it should be a SHOULD as opposed to a MUST.  My original rationale was that there is always a corner case, but I think I would be ok with it either way.

·          11. Example Use Cases
o    "To support the NQB PHB, the mobile network SHOULD be configured to give UEs a dedicated, low-latency, non-GBR, EPS bearer"
§  I assume the SHOULD is because it depends on how things are done locally. This could be handled by describing this non-normatively, as a way to satisfy the 'MUST' requirement in §6 to provide a separate NQB queue.
§  Similarly "SHOULD be routed" and "SHOULD NOT be routed" can be non-normative as ways to satisfy earlier requirements in current mobile networks.
o    "WiFi equipment SHOULD map the NQB codepoint 45 into a separate queue that shares an Access Category"
§  As for mobile, this seems to be a way to satisfy the earlier requirements for the /current/ way that WiFi works. These are examples, not normative requirements, aren't they?
§  Ditto for "SHOULD deploy a policing function" and "SHOULD map the recommended NQB code point 45 to UP_5"
o    However, I understand that you might want to draw implementers' attention to what they have to do, by using capitalized requirements.
[GW] Yes, I like these being called out as requirement statements.
==Flow Queuing in scope or not?==

I think the draft ought to specify that its scope is primarily shared queues, although there would be some merit in saying how NQB would work with an FQ. Per-flow queues provide the necessary isolation, but there's no need to make any of the other requirements apply to an FQ {however, I'm not sure - see Note 1}. Stated another way, there has been no standardization of how FQ systems handle DSCPs, but this draft would be the wrong place to introduce that subject for one specific DSCP.

{Note 1}: Except, the isolation provided by an FQ is not absolute. E.g. an attacker can spoof flow identifiers on well-known ports in the hope it will match a flow ID being used by a genuine NQB flow and create a long-standing queue (which might otherwise just exist as a series of transient queue instances for sparse packets). I doubt it would be possible to provide local per-queue traffic protection against such traffic (nothing to distinguish it). But this is where other protection techniques come in, like scrubbing farms that can identify such attack traffic closer to the spoofed sources.
[GW] Good suggestion.  I added a sentence in the Introduction.
==Partially described scenarios==
I didn't find the following scenarios easy to understand:
·         "Active Queue Management (AQM) mechanisms (such as PIE [RFC8033], DOCSIS-PIE [RFC8034], or CoDel [RFC8289]) can improve the quality of experience for latency sensitive applications, but there are practical limits to the amount of improvement that can be achieved without impacting the throughput of capacity-seeking applications, particularly when only a few of such flows are present."
o    For all the text after the 'but', I think there's some scenario in the authors' heads that isn't fully explained.
·         "Either approach comes with trade-offs: aggregating with Default/Elastic traffic could result in a degradation of loss/latency/jitter performance for NQB traffic, while aggregating with Real-Time risks creating an incentive for mismarking of non-compliant traffic as NQB."
o    The scenario isn't clear - is it talking about a bottleneck within the aggregated network, or after it?
o    The sentence about r-t incentives needs to explain how it reaches that conclusion, rather than expecting the reader to recreate the explanation.
[GW] Ok, I added some more detail for those.

·         "In the case of the pipe model, any DSCP manipulation (re-marking) of the outer header by intermediate nodes would be discarded at tunnel egress, potentially improving the possibility of achieving NQB treatment in subsequent nodes."
o    ...Or potentially making it worse? It all depends whether the inner marking is meaningful edge-to-edge. I presume the word 'potentially' alludes to this, but the sentence is rather opaque as it stands.
·         "...tunnel protocols that are sensitive to reordering can result in undesirable interactions..."
o    "undesirable interactions" is rather opaque. Does it mean within the tunnel? or after the egress?
[GW] The language comes from RFC2983, and the sentence begins with “As is discussed in RFC2983, …”  I think it is ok to assume a confused reader will know where to look to figure this one out.
·         "into a separate queue that shares an Access Category with default traffic "
o    The word 'shares' threw me at first - I think I've now understood; it must just mean 'it is within the same Access Category'. I was wondering how it could both be separate and be shared.
[GW] Ok, fixed.
·         "This document recommends the implementation of a traffic protection mechanism to achieve this goal, but recognizes that other options may be more desirable in certain situations."
o    I don't think 'other options' have been described in the doc (yet). So this seems opaque
[GW] Two other options are provided in the PHB Requirements section.

==Relationship with L4S (§9)==

Ought to say that a non-relationship to L4S is also fine.
And ought to explain that L4S is experimental, while NQB is stds track.

[GW] Done.
==Structure==
There were times when I couldn't really see a logical flow.

Here's the current ToC for reference:
 Table of Contents
1.  Introduction
2.  Requirements Language
3.  Non-Queue-Building Behavior
4.  The NQB PHB and its Relationship to the Diffserv Architecture
5.  DSCP Marking of NQB Traffic
5.1.  End-to-end usage and DSCP Re-marking
5.2.  Aggregation of the NQB PHB with other Diffserv PHBs
6.  Non-Queue-Building PHB Requirements
7.  Impact on Higher Layer Protocols
8.  The NQB PHB and Tunnels
9.  Relationship to L4S
10. Configuration and Management
11. Example Use Cases
etc

§3 serves both as initial tutorial material and as the specification of the sender behaviour that is normatively defined as a SHOULD at the start of §5. Perhaps the text could be split in two, for these two purposes, then most of this section could be moved to a new §5.1, where it could be merged with the text in §5 prior to §5.1. Then §5 has a more logical structure for all the normative DSCP handling (source nodes, interconnect nodes, aggregation nodes)

5.  DSCP Marking of NQB Traffic
5.1.  Non-Queue-Building Source Behavior
5.2   End-to-end usage and DSCP Re-marking
5.3.  Aggregation of the NQB PHB with other Diffserv PHBs

Also, the para just before the current 5.1 ought really to be in the PHB section (§6). It follows the incentives logic of the previous paras, but I'm not sure whether that's the more important logical flow (?).

Also, I would have thought "8. The NQB PHB and Tunnels" is most closely related to "Aggregation of the NQB PHB with other Diffserv PHBs" and ought to be perhaps at §5.4. But I'm not sure whether §8 is meant to be more about the PHB than the DSCP. The title says PHB, but it seems to be more about the DSCP, and therefore rightly belongs in §5.

The single para section "7.  Impact on Higher Layer Protocols" is really just a specific point about reordering caused by traffic protection. I don't see the need for a separate section.

It also seems odd to have "Relationship to Diffserv" and "Relationship to L4S" at opposite ends of the document. I suspect this is a result of the original purpose being tutorial, and now it's turned into a spec.

Pulling that all together, might look sthg like this:

1.  Introduction
2.  Requirements Language
3.  Context
3.1.  Non-Queue-Building Behavior
3.2.  Relationship to the Diffserv Architecture
3.3.  Relationship to L4S
4.  DSCP Marking of NQB Traffic
4.1.  Non-Queue-Building Sender Behavior
4.2   End-to-end usage and DSCP Re-marking
4.3.  Aggregation of the NQB PHB with other Diffserv PHBs
4.4.  The NQB DSCP and Tunnels
5.  Non-Queue-Building PHB Requirements
6. Configuration and Management
7. Example Use Cases
etc

[GW] I largely agree, and thanks for taking the time to think through and suggest this.  I’ve kept the Impact on Higher Layer Protocols as a separate section (I think it’s worth highlighting, if for no other reason than it is a mandatory section per RFC2745 Guidelines), but otherwise reorganized the material along these lines.



HTH
Regards



Bob

On 12/07/2021 22:30, Greg White wrote:

Hi all,



This update to the NQB draft includes the following changes:



- Recommends DSCPs 5 & 45 based on the analysis presented by Ana Custura at the last IETF

- Clarifies what the PHB provides, in the abstract & intro

- A more concrete description of NQB behavioral characteristics (including a rule-of-thumb value of 1 Mbps maximum burst rate)

- Moved the text on DSCP re-marking pathologies to an Appendix

- Further restructuring of the WiFi section

- Security section mentions default WiFi configuration

- Moved several references to Normative

- Multiple other editorial fixes



Many of these changes were spurred by off list comments received from David Black, Stuart Cheshire and Bob Briscoe (thanks!).



-Greg





On 7/12/21, 2:47 PM, "tsvwg on behalf of internet-drafts@ietf.org<mailto:internet-drafts@ietf.org>" <tsvwg-bounces@ietf.org on behalf of internet-drafts@ietf.org><mailto:tsvwg-bounces@ietf.orgonbehalfofinternet-drafts@ietf.org> wrote:





    A New Internet-Draft is available from the on-line Internet-Drafts directories.

    This draft is a work item of the Transport Area Working Group WG of the IETF.



            Title           : A Non-Queue-Building Per-Hop Behavior (NQB PHB) for Differentiated Services

            Authors         : Greg White

                              Thomas Fossati

           Filename        : draft-ietf-tsvwg-nqb-06.txt

           Pages           : 18

           Date            : 2021-07-12



    Abstract:

       This document specifies properties and characteristics of a Non-

       Queue-Building Per-Hop Behavior (NQB PHB).  The purpose of this NQB

       PHB is to provide a separate queue that enables smooth, low-data-

       rate, application-limited traffic flows, which would ordinarily share

       a queue with bursty and capacity-seeking traffic, to avoid the

       latency, latency variation and loss caused by such traffic.  This PHB

       is implemented without prioritization and without rate policing,

       making it suitable for environments where the use of either these

       features may be restricted.  The NQB PHB has been developed primarily

       for use by access network segments, where queuing delays and queuing

       loss caused by Queue-Building protocols are manifested, but its use

       is not limited to such segments.  In particular, applications to

       cable broadband links, Wi-Fi links, and mobile network radio and core

       segments are discussed.  This document recommends a specific

       Differentiated Services Code Point (DSCP) to identify Non-Queue-

       Building flows.





    The IETF datatracker status page for this draft is:

    https://datatracker.ietf.org/doc/draft-ietf-tsvwg-nqb/



    There is also an HTML version available at:

    https://www.ietf.org/archive/id/draft-ietf-tsvwg-nqb-06.html



    A diff from the previous version is available at:

    https://www.ietf.org/rfcdiff?url2=draft-ietf-tsvwg-nqb-06





    Internet-Drafts are also available by anonymous FTP at:

    ftp://ftp.ietf.org/internet-drafts/









--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/