<?xml version='1.0' encoding='utf-8'?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. --> encoding='UTF-8'?>

<!DOCTYPE rfc >
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions --> [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-tsvwg-nqb-33" number="9956" ipr="trust200902" obsoletes="" updates="8325" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3" consensus="true">
  <!-- xml2rfc v2v3 conversion 2.39.0 -->
  <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
       or pre5378Trust200902
    you can add the attributes updates="NNNN" and obsoletes="NNNN"
    they will automatically be output with "(if approved)" -->

    <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the
   full title is longer than 39 characters -->
    <title abbrev="Non-Queue-Building PHB">A abbrev="NQB PHB for Diffserv">A Non-Queue-Building Per-Hop Behavior (NQB PHB) for Differentiated Services</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-nqb-33"/>
    <!-- add 'role="editor"' below for

<!--[rfced] Please note that we have updated the editors if appropriate -->

   <!-- Another author who claims short title of the
document (that appears in the running header of the PDF output
version) as follows to be an editor more closely match the full title.  Please
let us know any objections.

Original:
Non-Queue-Building PHB

Current:
NQB PHB for Diffserv
-->
    <seriesInfo name="RFC" value="9956"/>
   <author fullname="Greg White" initials="G." surname="White">
      <organization>CableLabs</organization>
      <address>
        <email>g.white@cablelabs.com</email>
      </address>
    </author>
    <author fullname="Thomas Fossati" initials="T." surname="Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author fullname="Rüdiger Geib" initials="R." surname="Geib">
      <organization>Deutsche Telekom</organization>
      <address>
        <email>Ruediger.Geib@telekom.de</email>
      </address>
    </author>

    <date year="2025"/> year="2026" month="April"/>

    <area>WIT</area>
    <workgroup>tsvwg</workgroup>

<!-- Meta-data Declarations -->

  <area>Transport</area>
    <workgroup>Transport Area Working Group</workgroup>
    <keyword/>
    <!-- Keywords will be incorporated into HTML output
        files [rfced] Please insert any keywords (beyond those that appear in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor,
the
        keywords will be used title) for the search engine. use on https://www.rfc-editor.org/search. -->

<keyword>example</keyword>

    <abstract>
      <t> This document specifies characteristics of a Non-Queue-Building Per-Hop Behavior (NQB PHB). The NQB PHB provides a shallow-buffered, best-effort service as a complement to a Default deep-buffered deep-buffered, best-effort service for Internet services.

 <!--[rfced] This sentence is long and employs a lot of hyphenation.
Could we reword as follows to break things up a bit?

Original:
The purpose of this NQB PHB is to provide a separate queue that
enables smooth (i.e. non-bursty), low-data-rate, application-limited
traffic microflows, which would ordinarily share a queue with bursty
and capacity-seeking traffic, to avoid the delay, delay variation and
loss caused by such traffic.

Perhaps:
The purpose of this NQB PHB is to provide a separate queue
enabling smooth (i.e., non-bursty) traffic microflows that have low data
rates and limited applications to avoid the delay, delay variation,
and loss caused by sharing a queue with bursty, capacity-seeking
traffic (which they ordinarily would have done).
-->
 The purpose of this NQB PHB is to provide a separate queue that enables smooth (i.e., non-bursty), low-data-rate, application-limited traffic microflows, which would ordinarily share a queue with bursty and capacity-seeking traffic, to avoid the delay, delay variation and loss caused by such traffic. This PHB is implemented without prioritization and can be implemented without rate policing, making it suitable for environments where the use of these features is restricted. The NQB PHB has been developed primarily for use by access network segments, where queuing delay and queuing loss caused by Queue-Building (QB) protocols are manifested, but manifested; however, its use is not limited to such segments.

<!--[rfced] We had a few questions about this sentence:

a) Does this mean "are discussed in this document"?  Or is there
another way to update for clarity?

b) Are "mobile network radio" and "core segments" two separate entries
in the list?

Original:
In particular, the application of NQB PHB to cable broadband links,
Wi-Fi links, and mobile network radio and core segments are discussed.

Perhaps:
In particular, the application of NQB PHB to cable broadband links,
Wi-Fi links, mobile network radio, and core segments are discussed in
this document.
-->
      In particular, the application of NQB PHB 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 microflows, microflows and updates the RFC8325 guidance in RFC 8325 on mapping differentiated services (Diffserv) to IEEE 802.11 for this codepoint.</t>
      <t>[NOTE (to be removed by RFC-Editor): This document references an ISE submission draft (I-D.briscoe-docsis-q-protection) that is approved for publication as an RFC. This draft should be held for publication until the queue protection RFC can be referenced.]</t>

    </abstract>
  </front>
  <middle>
    <section numbered="true">
      <name>Introduction</name>
      <t>This

<!--[rfced] We had a few questions related the following sentence.

a) This sentence is long.  May we break it up as follows?

b) There is an inconsistency in capping for Differentiated Services
with how it was used in the Abstract.  We suggest simply using the
abbreviation (as it already appears in the Abstract).

c) We have updated to "have relatively low data rates".  Please review
that this captures your intended meaning.

d) We have made a few other punctuation changes.  Please review this
text carefully.

Original:
   This document defines a Differentiated Services per-hop behavior
   (PHB) called the "Non-Queue-Building Per-Hop Behavior" (NQB PHB),
   which isolates traffic microflows (application-to-application flows,
   see Section 1.2 of [RFC2475]) that are relatively low data rate and
   that do not themselves materially contribute to queuing delay and
   loss, allowing them to avoid the queuing delay and losses caused by
   other traffic.

Perhaps:
   This document defines a Diffserv PHB called the "Non-Queue-Building
   Per-Hop Behavior" (or "NQB PHB").  The NQB PHB isolates traffic
   microflows (application-to-application flows, see Section 1.2 of
   [RFC2475]) that have relatively low data rates and that do not,
   themselves, materially contribute to queuing delay and loss.  This
   isolation allows these traffic microflows to avoid the queuing
   delay and losses caused by other traffic.
-->

      <t>This document defines a Differentiated Services per-hop behavior (PHB) called the "Non-Queue-Building Per-Hop Behavior" (or "NQB PHB"), which isolates traffic microflows (application-to-application flows, see <xref target="RFC2475" section="1.2"/>) that are relatively low data rate and that do not themselves materially contribute to queuing delay and loss, allowing them to avoid the queuing delay and losses caused by other traffic.

<!--[rfced] We have attempted to break up the following sentence and
clarify its intended meaning. Please review and confirm that this
rewording maintains what you are trying to say (and if not,
please submit a new rewording).

Original:
   Such Non-Queue-Building microflows (for example:
   interactive voice, game sync packets, certain machine-to-machine
   applications, DNS lookups, and some real-time IoT analytics data) are
   low-data-rate application-limited microflows that are distinguished
   from bursty traffic microflows and high-data-rate traffic microflows
   managed by a classic congestion control algorithm, both of which
   cause queuing delay and loss.

Current:
   Non-Queue-Building microflows such as interactive voice, game sync
   packets, certain machine-to-machine applications, DNS lookups, and
   some real-time Internet of Things (IoT) analytics data are
   low-data-rate, application-limited microflows. These can be
   distinguished from bursty traffic microflows and high-data-rate
   traffic microflows managed by a classic congestion control algorithm
   (both of which cause queuing delay and loss).
-->

      Non-Queue-Building microflows such as interactive voice, game sync packets, certain machine-to-machine applications, DNS lookups, and some real-time Internet of Things (IoT) analytics data are low-data-rate, application-limited microflows. These can be distinguished from bursty traffic microflows and high-data-rate traffic microflows managed by a classic congestion control algorithm (both of which cause queuing delay and loss). The term "classic congestion control" is defined in <xref target="RFC9330"/> to mean one congestion control that coexists with standard Reno congestion control <xref target="RFC5681"/>. In this document document, we will use the term Queue-Building (QB) "Queue-Building" (or "QB") to refer to microflows that cause queuing delay and loss. See <xref target="RFC2475" section="1.2"/> for definitions of other terminology used in this document.</t>

<!--[rfced] We had a few questions related to the example commonly
deployed congestion control algorithms:

a) We note that RFC 9438 uses "CUBIC" (not "Cubic").  Should this text
be updated (along with other mentions throughout the text and the
mentions in draft-briscoe-docsis-q-protection-07)?

Original:
...such as Reno [RFC5681], Cubic [RFC9438] or BBR
[I-D.ietf-ccwg-bbr],...

Perhaps:
...such as Reno [RFC5681], CUBIC [RFC9438] or BBR [BBR-CC],...

b) We note that RFC 5681 does not mention the word "Reno" in the body
of the document.  We do see it point to some Informative Reference
entries on the topic (RFC 3782 and
ftp://ftp.ee.lbl.gov/papers/sacks.ps.Z.).  Please review and let us
know if the pointer to RFC 5681 should be updated to something else.

Original:
...congestion control algorithms, such as Reno [RFC5681],
Cubic...
-->
      <t>In accordance with IETF guidance in <xref target="RFC2914"/> and <xref target="RFC8085"/>, most packets carried by access networks are managed by an end-to-end congestion control algorithm. Many of the commonly-deployed commonly deployed congestion control algorithms, such as Reno <xref target="RFC5681">Reno</xref>, target="RFC5681"></xref>, Cubic <xref target="RFC9438">Cubic</xref> target="RFC9438"></xref>, or BBR <xref target="I-D.ietf-ccwg-bbr">BBR</xref>, target="BBR-CC"></xref>, are designed to seek the available capacity of the path from sender to receiver (which can frequently be the access network link capacity), and in capacity). In doing so so, they generally overshoot the available capacity, causing a queue to build up at the bottleneck link. This queue build-up buildup results in variable delay and packet loss that can affect all the applications that are sharing the bottleneck link. Moreover, many bottleneck links implement a relatively deep buffer (100 ms or more) (see <xref target="Gettys2012"/>, <xref target="Cardwell2017"/>, <xref target="WikipediaBufferbloat"/>, and <xref target="Gettys2012"/><xref target="Cardwell2017"/><xref target="WikipediaBufferbloat"/><xref target="I-D.ietf-ccwg-bbr"/> target="BBR-CC"/>) in order to enable these congestion control algorithms to use the link efficiently, which exacerbates the delay and delay variation experienced.</t>

      <t>In

<!--[rfced] We have broken up this sentence and removed "in
particular" as we were uncertain which part of the sentence it
applied to.  Please review to ensure we have maintained your
intended meaning.

Original:
In contrast to applications that frequently cause queuing delay,
there are a variety of relatively low data rate applications that do
not materially contribute to queuing delay and loss but are
nonetheless subjected to it by sharing the same bottleneck link in
the access network, in particular.

Current:
In contrast to applications that frequently cause queuing delay, there
are a variety of relatively low data rate applications that do not
materially contribute to queuing delay and loss; nonetheless, they are
subjected to it by sharing the same bottleneck link in the access
network.
-->

      <t>In contrast to applications that frequently cause queuing delay, there are a variety of relatively low data rate applications that do not materially contribute to queuing delay and loss; nonetheless, they are subjected to it by sharing the same bottleneck link in the access network. Many of these applications can be sensitive to delay or delay variation, as well as packet loss, and thus loss; thus, they produce a poor quality of experience in such conditions.</t>

      <t>Active Queue Management (AQM) mechanisms intended for single queues (such as Proportional Integral Controller Enhanced (PIE) <xref target="RFC8033">PIE</xref>, target="RFC8033"></xref>, DOCSIS-PIE <xref target="RFC8034">DOCSIS-PIE</xref>, target="RFC8034"></xref>, PI2 <xref target="RFC9332">PI2</xref>, target="RFC9332"></xref>, or CoDel <xref target="RFC8289">CoDel</xref>) target="RFC8289"></xref>) can improve the quality of experience for delay sensitive delay-sensitive applications, but there are practical limits to the amount of improvement that can be achieved without impacting the throughput of capacity-seeking applications. For example, AQMs generally allow a significant amount of queue depth variation to accommodate the behaviors of congestion control algorithms such as Reno and Cubic.  If the AQM attempted to control the queue depth much more tightly, applications using those algorithms would not fully utilize the link.  Alternatively, flow queuing flow-queuing systems, such as fq_codel <xref target="RFC8290">fq_codel</xref> target="RFC8290"></xref> can be employed to isolate microflows from one another, but another; however, they are not appropriate for all bottleneck links due to reasons that include complexity. </t>

<!-- [rfced] We note that Section 6.6 appears to use the term
"lower-rate" rather than "lower-speed" as indicated in the text
below.  Please let us know if/how to update.

Original:
  The applicability of this PHB to lower-speed links is discussed in
  Section 6.6.
-->

<!--[rfced] May we remove "and" from this sentence?  That is, is
PHB designed for broadband access network links that have buffers
that are deep?  Or is the last clause applicable to "minimal
aggregation of traffic"?

Original:
This PHB is designed for broadband access network links, where there
is minimal aggregation of traffic, and especially when buffers are
deep (see Section 3.4).

Perhaps A:
This PHB is designed for broadband access network links, where there
is minimal aggregation of traffic, especially when buffers are
deep (see Section 3.4).

Perhaps B:
This PHB is designed for broadband access network links, where there
is minimal aggregation of traffic (especially when buffers are
deep (see Section 3.4)).
-->
      <t>The NQB PHB supports differentiating between these two classes of traffic in bottleneck links and queuing them separately so that both classes can deliver satisfactory quality of experience for their applications. In particular, the NQB PHB provides a shallow-buffered, best-effort service as a complement to a Default (see <xref target="RFC2474"/>) deep-buffered deep-buffered, best-effort service. This PHB is designed for broadband access network links, where there is minimal aggregation of traffic, and especially when buffers are deep (see <xref target="applicability"/>). The applicability of this PHB to lower-speed links is discussed in <xref target="low-rate-links"/>. </t>

      <t>To be clear, a network implementing the NQB PHB solely provides isolation for traffic classified as behaving in conformance with the behaviors discussed in <xref target="behaviors"/>. A node supporting the NQB PHB makes no guarantees on delay or data rate for NQB-marked microflows (beyond the delay bound provided by the shallow buffer), it is the NQB senders' behavior itself which that results in low delay and low loss.</t>

      <t><xref target="dscp"/>

      <t>Sections <xref target="dscp" format="counter"/> and <xref target="sdos"/> target="sdos" format="counter"/> of this document provide guidance for network operators regarding appropriate forwarding of traffic marked with the NQB Differentiated Services Code Point (DSCP).  The guidance includes recommendations for the configuration of network nodes that support the NQB PHB as well as for network nodes that do not support the PHB, to allow PHB; this allows NQB traffic to be forwarded in a way that aligns with the goals for NQB treatment and supports the use of this code point by other nodes and other networks.</t>

    </section>
    <section numbered="true">
      <name>Requirements Language</name>
      <t>The
      <t>
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
    NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "OPTIONAL" "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.</t> here.
        </t>
    </section>
    <section numbered="true">
      <name>Context</name>

      <section numbered="true" anchor="behaviors">
        <name>Non-Queue-Building Behavior</name>
        <t>There are applications that send traffic at relatively low data rates and/or in a fairly smooth and consistent manner such that they are unlikely to exceed the available capacity of the network path between sender and receiver receiver, even at an inter-packet timescale. Some of these applications are transactional in nature, and nature; they might only send one packet (or a few packets) per RTT.  These applications might themselves only cause very small, transient queues to form in network buffers, but nonetheless buffers; nonetheless, they can be subjected to delay and delay variation as a result of sharing a network buffer with applications that tend to cause large and/or standing queues to form. These applications typically implement a response to network congestion that consists of discontinuing (or significantly reducing) transmissions.  These applications can be negatively affected by excessive delay and delay variation. Such applications are ideal candidates to be queued separately from the applications that are the cause of queue build-up, delay buildup, delay, and loss.</t>

        <t>In contrast, Queue-Building (QB) microflows include those that probe for the link capacity and induce delay and loss as a result, for example example, microflows that use Cubic, Reno Reno, or other TCP/QUIC congestion control algorithms in a capacity-seeking manner.  Other types of QB microflows include those that send at a high burst rate even if the long-term average data rate is much lower.</t>

      </section>

      <section numbered="true">
        <name>Relationship to the Diffserv Architecture</name>

<!-- [rfced] We see that [RFC2474] uses "DS" rather than "Diffserv"
for "Differentiated Services". It also uses "codepoint" rather
than "code point".  Please review and let us know if/how to
update uses in this document.

Original:
   The architecture defines the use of the Diffserv field [RFC2474] for
   this purpose, and numerous RFCs have been written that describe
   recommended interpretations of the values (Diffserv Code Points
   [RFC2474]) of the field, and standardized treatments (traffic
   conditioning and per-hop-behaviors [RFC2475]) that can be implemented
   to satisfy the performance requirements of traffic so marked.
-->
        <t>The IETF has defined the Differentiated Services architecture <xref target="RFC2475"/> with the intention that it allows traffic to be marked in a manner that conveys the performance requirements of that traffic either qualitatively or in a relative sense (e.g. (e.g., priority). The architecture defines the use of the Diffserv field <xref target="RFC2474"/> for this purpose, and numerous RFCs have been written that describe recommended interpretations of the values (Diffserv Code Points <xref target="RFC2474"/>) of the field, and standardized treatments (traffic conditioning and per-hop-behaviors <xref target="RFC2475"/>) that can be implemented to satisfy the performance requirements of traffic so marked.</t>

        <t>While this architecture is powerful and flexible enough to be configured to meet the performance requirements of a variety of applications and traffic categories, or to achieve differentiated service offerings, meeting the performance requirements of an application across the entire sender-to-receiver path involves all the networks in the path agreeing on what those requirements are and sharing an interest in meeting them. In many cases cases, this is made more difficult since the performance "requirements" are not strict ones (e.g., applications will degrade in some manner as loss, delay delay, and/or delay-variation increase), so the importance of meeting them for any particular application in some cases involves a judgment as to the value of avoiding some amount of degradation in quality for that application in exchange for an increase in the degradation of another application.</t>

        <t>Further, in many cases 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 alluded to in the previous paragraph, paragraph and which results in the need to limit access to higher priority classes via mechanisms such as access control, admission control, traffic conditioning and rate policing, and/or to meter and bill for carriage of such traffic. These mechanisms can be difficult or impossible to implement in the Internet.</t>

        <t>In contrast, the NQB PHB has been designed with the goal that it avoids many of these issues, and thus issues; thus, it could conceivably be deployed across the Internet. The intent of the NQB DSCP is that it signals verifiable behavior that permits the sender to request differentiated treatment. Also, the NQB traffic is to be given a separate queue with forwarding preference equal to Default traffic and given no reserved capacity other than any minimum capacity that it shares with Default traffic.  As a result, the NQB PHB does not aim to meet specific application performance requirements. Instead, the sole goal of the NQB PHB is to isolate NQB traffic from other traffic that causes an increase in loss, delay, and/or delay-variation, given that the NQB traffic is itself is, itself, only an insignificant contributor to those degradations. The PHB is also designed to reduce the incentives for a sender to mismark mis-mark its traffic, traffic since neither higher capacity nor reserved capacity are being offered. These attributes eliminate many of the trade-offs that underlie the handling of differentiated service classes in the Diffserv architecture as it has traditionally been defined. These attributes also significantly simplify access control and admission control functions, reducing them to simple verification of behavior. This aspect is discussed further in Sections <xref target="sender"/> target="sender" format="counter"/> and <xref target="traffic_protection"/>.</t>

        <t>The target="traffic_protection" format="counter"/>.</t>

        <t>Therefore, the NQB PHB is therefore intended for the situation where the performance requirements of applications cannot be assured across the whole sender-to-receiver path, and path; as a result, applications cannot feasibly place requirements on the network. Instead, many applications have evolved to make the best out of the network environment that they find themselves in. In this context, the NQB PHB is intended to provide a better network environment for applications that send data at relatively low and non-bursty data rates.</t>

        <t>In regards regard to a comparison between the NQB PHB and other standardized PHBs in the Diffserv series, the closest similarity is to the Expedited Forwarding (EF) PHB <xref target="RFC3246"/>, which also intends to enable services that provide low loss, low delay, and low delay variation services. variation. Unlike EF, NQB has no requirement for a guaranteed minimum rate, nor does have a requirement to police incoming traffic to such a rate, and rate: NQB is expected to be given the same forwarding preference as Default traffic. See <xref target="EF"/> for a more detailed comparison of the NQB and EF PHBs.</t>

<!--[rfced] Is there a way to avoid saying "treated..as treatment"?

Original:
   In nodes that support multiple DiffServ Service Classes, NQB traffic
   is intended to be treated as a part of the Default treatment.

Perhaps:
   In nodes that support multiple Diffserv Service Classes, NQB traffic
   is intended to be handled as a part of the Default treatment.
-->
        <t>In nodes that support multiple DiffServ Service Classes, NQB traffic is intended to be treated as a part of the Default treatment. Traffic assigned to this class does not receive better forwarding treatment (e.g., prioritization) with respect to other classes, AFxx, EF, etc. Of course, traffic marked as NQB could (like other Default traffic) could receive better forwarding treatment with respect to Lower-Effort (LE) <xref target="RFC8622"/> (e.g. (e.g., the NQB queue could be emptied in a priority sequence before the LE queue).</t>
      </section>

      <section numbered="true">
        <name>Relationship to L4S</name>
        <t>The

<!--[rfced] Is there a way to rephrase to avoid so many uses of variants of
"require"?

Original:
Note that these requirements in turn require compliance with all the
requirements in Section 5 of [RFC9331].
-->

        <t>In this document, the NQB DSCP and PHB described in this document have been defined to operate independently of the L4S Architecture Low Latency, Low Loss, and Scalable throughput (L4S) architecture <xref target="RFC9330"/>.  Nonetheless, traffic marked with the NQB DSCP is intended to be compatible with L4S <xref target="RFC9330"/>, with the result being that NQB traffic and L4S traffic can share the low-latency queue in an L4S DualQ node <xref target="RFC9332"/>. Compliance, by a A network node, node's compliance with the DualQ Coupled AQM requirements (<xref (see <xref target="RFC9332" section="2.5"/>) is considered sufficient to support the NQB PHB requirement of fair allocation of capacity between the QB and NQB queues (<xref target="phb_requirements"/>). Note that these requirements requirements, in turn turn, require compliance with all the requirements in <xref target="RFC9331" section="5"/>.</t>

<!-- [rfced] We note that Section 4 of [RFC9331] uses the term
"'Prague L4S Requirements'" rather than "L4S 'Prague'
requirements".  Please review and let us know if/how to update.

Original:
   Applications that comply with both the NQB sender requirements in
   Section 4 and the L4S "Prague" requirements in Section 4 of [RFC9331]
   could mark their packets both with the NQB DSCP and with the ECT(1)
   value.
-->
        <t>Applications that comply with both the NQB sender requirements in <xref target="sender"/> and the L4S "Prague" requirements in <xref target="RFC9331" section="4"/> could mark their packets both with the NQB DSCP and with the ECT(1) value. </t>

        <t>In nodes that support both the NQB PHB and L4S, the L4S network functions SHOULD <bcp14>SHOULD</bcp14> treat packets marked with the NQB DSCP and ECT(1) or CE the same as packets marked with the Default DSCP and the same ECN Explicit Congestion Notification (ECN) value. Here, L4S "L4S network functions functions" refers to the L4S Network Node functions (<xref (see <xref target="RFC9331" section="5"/>), and any mechanisms designed to protect the L4S queue (such as those discussed in <xref target="RFC9330" section="8.2"/>). The processing by an L4S node of an ECT(0) packet that is classified to the L queue (e.g. (e.g., as a result of being marked with a NQB DSCP) is specified in <xref target="RFC9331" section="5.4.1.1"/> and <xref target="RFC9332" section="2.5.1.1"/>.</t>

        <t>Additionally, <xref target="ecn"/> places requirements on treatment of ECN-marked packets by a node that support supports the NQB PHB.</t>
      </section>

      <section numbered="true" anchor="applicability">
        <name>Applicability</name>
        <t>This PHB is primarily applicable for high-speed broadband access network links, where there is minimal aggregation of traffic, traffic and deep buffers are common. </t>

        <t>In many other links, forwarding NQB-marked packets using the Default treatment might be sufficient to preserve the loss, delay delay, and delay-variation performance for NQB traffic.  This is generally true in links that do not typically experience congestion (for example, many backbone and core network links), links) and in highly aggregated links (links designed to carry a large number of simultaneous microflows) where individual microflow burstiness is averaged out and thus and, thus, is unlikely to cause much actual delay. <xref target="aggregation"/> provides recommendations for configuration of network nodes in such cases.</t>
      </section>
    </section>

      <section anchor="sender" numbered="true">
        <name>Non-Queue-Building Sender Requirements</name>

        <t>Microflows that are eligible to be marked with the NQB DSCP are ones that send non-bursty traffic at a low data rate relative to typical network path capacities.  Here  Here, the data rate is limited by the application itself rather than by network capacity - capacity: these microflows send at a data rate of no more than about 1 percent 1% of the "typical" network path capacity.  In addition, these microflows are required to be sent in a smooth (i.e. (i.e., paced) manner, where the number of IP bytes sent in any time interval "T" is less than or equal to (R * T) + MTU, where "R" is the maximum rate described in the preceding sentence, expressed in bytes-per-second. For example, in today's Internet, where at the time of writing, access network data rates are typically on the order of 50 Mbps or more (and see in the Internet (see <xref target="low-rate-links"/> for a discussion of cases where this isn't true), true): this implies 500 kbps as an upper limit. Note that microflows are unidirectional while application traffic is often bidirectional (i.e., an application instance might consist of one or more microflows in each direction). It For a particular application, it could be the case for a particular application that some of its microflows are eligible to be marked with the NQB DSCP while others are not. For example, an interactive video streaming application might consist of a high-bandwidth video stream (not eligible for NQB marking) in one direction, direction and a low-bandwidth control stream (eligible for NQB marking) in the other. </t>

<!--[rfced] Does "around" mean "related to" in this text?

Original:

   Microflows marked with the NQB DSCP are expected to comply with
   existing guidance for safe deployment on the Internet, including the
   guidance around response to network congestion, for example the
   requirements in [RFC8085] and Section 2 of [RFC3551] (also see the
   circuit breaker limits in Section 4.3 of [RFC8083] and the
   description of inelastic pseudowires in Section 4 of [RFC7893]).

Perhaps:

   Microflows marked with the NQB DSCP are expected to comply with
   existing guidance for safe deployment on the Internet, including the
   guidance related to responses to network congestion, for example the
   requirements in [RFC8085] and Section 2 of [RFC3551] (also see the
   circuit breaker limits in Section 4.3 of [RFC8083] and the
   description of inelastic pseudowires in Section 4 of [RFC7893]).
-->

        <t>Microflows marked with the NQB DSCP are expected to comply with existing guidance for safe deployment on the Internet, including the guidance around response to network congestion, for example the requirements in <xref target="RFC8085"/> and <xref target="RFC3551" section="2"/> (also see the circuit breaker limits in <xref target="RFC8083" section="4.3"/> and the description of inelastic pseudowires in <xref target="RFC7893" section="4"/>). The fact that a microflow's data rate is low relative to typical network capacities is no guarantee that sufficient capacity exists in any particular network, and it is the responsibility of the application to detect and react appropriately if the network capacity is insufficient.  To be clear, the description of NQB-marked microflows in this document is not to be interpreted as suggesting that applications generating such microflows are in any way exempt from this responsibility.  One way that an application marking its traffic as NQB can handle this is to implement a scalable congestion control mechanism as described in <xref target="RFC9331"/>.</t>

        <t>The Diffserv field specification requires the definition of a recommended DSCP to be associated with each standardized PHB (see <xref target="RFC2474" section ="5"/>). section="5"/>).  In accordance with this, applications are RECOMMENDED <bcp14>RECOMMENDED</bcp14> to use the Diffserv Code Point (DSCP) 45 (decimal) to mark microflows as NQB.
        The choice of the DSCP value 45 (decimal) is motivated motivated, in part part, by the desire to achieve separate queuing in existing Wi-Fi networks (see <xref target="wifi"/>) and by the desire to make implementation of the PHB simpler in network equipment that has the ability to classify traffic based on ranges of DSCP values (see <xref target="aggregation2"/> for further discussion). </t>

        <t>The two primary considerations for whether an application chooses to mark its traffic as NQB involve the risks of being subjected to a traffic protection algorithm (see <xref target="traffic_protection"/>) and/or to the consequences of overrunning the NQB shallow buffer if (in either case) the traffic contributes to the formation of a queue in a node that supports the PHB. In both cases, the result could be that excess traffic is discarded or queued separately as Default traffic (and thus (and, thus, potentially is delivered out of order). To avoid these risks, if a microflow's traffic exceeds the rate equation provided in the first paragraph of this section, the application MUST NOT <bcp14>MUST NOT</bcp14> mark this traffic with the NQB DSCP. In such a case, the application could instead consider using a scalable congestion control mechanism as described in <xref target="RFC9331"/>.</t>

        <t>The sender requirements outlined in this section are all related to observable attributes of the packet stream,
          which makes it possible for network elements (including nodes implementing the PHB) to monitor for inappropriate
          usage of the DSCP, DSCP and take action (such as discarding or re-marking) on traffic that does not comply. This functionality, when implemented as part of the
          PHB
          PHB, is described in <xref target="traffic_protection"/>.</t>

      </section>

    <section anchor="phb_requirements" numbered="true">
      <name>Non-Queue-Building PHB Requirements</name>

<!--[rfced] Might breaking this text into a list be easier for the
reader?

Original:
Thus, a useful property of nodes (i.e. network switches and
routers) that support separate queues for NQB and QB microflows is
that for microflows consistent with the NQB sender requirements in
Section 4, the NQB queue would likely be a better choice than the QB
queue; and for microflows inconsistent with those requirements, the QB
queue would likely be a better choice than the NQB queue.

Perhaps:
Thus, a useful property for nodes (i.e., network switches and routers)
that support separate queues for NQB and QB microflows would be to
behave as follows:

*  for microflows consistent with the NQB sender requirements in
   Section 4, the NQB queue would likely be a better choice than
   the QB queue and

*  for microflows inconsistent with the requirements in Section 4,
   the QB queue would likely be a better choice than the NQB queue.
-->

        <t>For the NQB PHB to become widely deployed, it is important that incentives are aligned correctly, i.e., that there is a benefit to the application in marking its packets correctly, correctly and a disadvantage (or at least no benefit) to an application in intentionally mismarking mis-marking its traffic. Thus, a useful property of nodes (i.e. (i.e., network switches and routers) that support separate queues for NQB and QB microflows is that for microflows consistent with the NQB sender requirements in <xref target="sender"/>, the NQB queue would likely be a better choice than the QB queue; and for microflows inconsistent with those requirements, the QB queue would likely be a better choice than the NQB queue. By adhering to these principles, there is little incentive for senders to mismark mis-mark their traffic as NQB. </t>

        <t>This principle of incentive alignment ensures a system is robust to the behavior of the large majority of individuals and organizations who can be expected to act in their own interests (including application developers and service providers who act in the interests of their users). Malicious behavior is not necessarily based on rational self-interest, so incentive alignment is not a sufficient defense, but the large majority of users do not act out of malice. Protection against malicious attacks (and accidents) is addressed in <xref target="traffic_protection"/> and summarized in <xref target="Security"/>. As mentioned previously, the NQB designation and marking is intended to convey verifiable traffic behavior, as opposed to simply a desire for differentiated treatment. As a result, any mismarking mis-marking can be identified by the network.</t>

      <section numbered="true" anchor="primary">
        <name>Primary Requirements</name>

        <t>A node supporting the NQB PHB MUST <bcp14>MUST</bcp14> provide a queue for Non-Queue-Building traffic separate from the queue used for Default traffic.</t>

        <t>A node supporting the NQB PHB SHOULD NOT <bcp14>SHOULD NOT</bcp14> rate limit or rate police the aggregate of NQB traffic separately from Default traffic. An exception to this recommendation for traffic sent towards a non-DS-capable domain is discussed in <xref target="unmanaged"/>. Note also that <xref target="traffic_protection"/> discusses potential uses of per-microflow (rather than aggregate) rate policing.</t>

        <t>The NQB queue SHOULD <bcp14>SHOULD</bcp14> be given equivalent forwarding preference compared to Default. the Default queue. The node SHOULD <bcp14>SHOULD</bcp14> provide a scheduler that allows NQB and Default traffic to share the link in a manner that treats the two classes equally, e.g., a deficit round-robin Deficit Round-Robin (DRR) scheduler with equal weights, weights or two Wireless Multimedia Access Categories with the same Enhanced Distributed Channel Access (EDCA) parameters. The use of equal weights for DRR is given as a reasonable example, example and is not intended to preclude other scheduling weights (see below for details). A node that provides rate limits or rate guarantees for Default traffic SHOULD <bcp14>SHOULD</bcp14> ensure that such limits and/or guarantees are shared with NQB traffic in a manner that treats the two classes equally. This could be supported using a hierarchical scheduler where the rate limits and guarantees are configured on a parent class, and the two queues (Default and NQB) are arranged as the children of the parent class and given equal access to the capacity configured for the parent class (e.g. (e.g., with equal DRR scheduling). Compliance with these recommendations reduces the incentives for QB traffic to be mismarked mis-marked as NQB, NQB and is most important in nodes that are likely bottlenecks, where deviation from them could result in a discernible benefit for mismarked mis-marked traffic (to the detriment of other traffic). In network nodes that are rarely bottlenecks, these recommendations are less critical.  </t>

        <t>In the DRR example above, equal scheduling weights was is only an example. Ideally Ideally, the DRR weight would be chosen to match the highest fraction of capacity that NQB compliant NQB-compliant flows are likely to use on a particular network segment. Given that NQB compliant NQB-compliant flows are not capacity-seeking capacity seeking (in contrast to QB flows, which can be), and since DRR allows unused capacity in one class to be used by traffic in the other, providing a higher-than-necessary NQB scheduler weight could be considered less problematic than the reverse.  That said, providing a higher-than-needed NQB scheduler weight does increase the likelihood that a non-compliant microflow mismarked mis-marked as NQB is able to use more than its fair share of network capacity.  NQB microflows are expected to each consume no more than 1% of the link capacity, and in low stat-mux environments (such as at the edge of the network) would be unlikely in aggregate to consume 50% of the link capacity. Thus, 50% seems a reasonable upper bound on the weight for the NQB PHB in these environments.</t>

        <t>A

        <t>By default, a node supporting the NQB PHB SHOULD <bcp14>SHOULD</bcp14> by default classify packets marked with the NQB DSCP 45 (decimal) into the queue for Non-Queue-Building traffic.  In accordance with the requirement in <xref target="RFC2474" section ="3"/>, section="3"/>, a  node supporting the NQB PHB MUST <bcp14>MUST</bcp14> support the ability to configure the DSCP that is used to classify packets into the queue for Non-Queue-Building traffic. A node supporting the NQB PHB MAY <bcp14>MAY</bcp14> support the ability to configure multiple DSCPs that are used to classify packets into the queue for Non-Queue-Building traffic.</t>

        <t>Support for the NQB PHB is advantageous at bottleneck nodes. Many bottleneck nodes have a relatively deep buffer for Default traffic (e.g., roughly equal to the base RTT of the expected connections, which could be tens or hundreds of ms). milliseconds).  Providing a similarly deep buffer for the NQB queue would be at cross purposes to providing very low queueing delay and would erode the incentives for QB traffic to be marked correctly at such a bottleneck node.  The NQB queue MUST <bcp14>MUST</bcp14> have a buffer size that is significantly smaller than the buffer provided for Default traffic. It is RECOMMENDED <bcp14>RECOMMENDED</bcp14> to configure an NQB buffer size less than or equal to 10 ms at the shared NQB/Default egress rate. </t>

        <t>In order to enable network operators to monitor the usage of the NQB PHB, and PHB and, in particular particular, to monitor for potential mis-marking of QB traffic, a node supporting the NQB PHB MUST <bcp14>MUST</bcp14> provide statistics that can be used by the network operator to detect whether abuse is occurring (e.g. (e.g., packet and drop counters). Support for such counters ensures that operators who configure the NQB PHB have the ability to track the amount of packet drop that is occurring due to traffic overrunning the shallow buffer, buffer and then take action if they believe the PHB is causing more issues than it is solving in their environment. Those actions could include disabling the PHB, identifying and dealing with the sources of malicious traffic directly, enabling traffic protection (<xref target="traffic_protection"/>) if it is available, or pursuing a feature request with the equipment manufacturer to add a traffic protection function if it isn't currently available.</t>

        <t>To prevent propagation of degradation of service for NQB traffic caused by potential mis-marking of QB traffic,
        network equipment that supports this PHB and handles traffic for
        multiple users SHOULD <bcp14>SHOULD</bcp14> support provisioning
        of capacity and related forwarding resources on a per-user
        basis and SHOULD <bcp14>SHOULD</bcp14> support enforcement of the resulting
        per-user limits on the aggregate of NQB and QB traffic for each user.
        In this context, the term "user" should be read as meaning an entity that the equipment is designed to serve more-or-less independently, such as a subscriber in the case of access network equipment, a STA station (STA) in the case of a Wi-Fi AP Access Point (AP) that implements per-STA queuing and airtime fairness, or an end-user end user in the case of a networking co-op that serves a set of end-users. end users.
        This functionality is commonly available in the class of network equipment
        for which this PHB is primarily applicable (see <xref target="applicability"/>).
        Provisioning methodology as well as decisions on whether and how to enforce the
        resulting limits may vary by network operator.  </t>

        <t>While not fully described in this document, it may be possible for network equipment to implement a separate QB/NQB pair of queues for additional service classes beyond the Default PHB / NQB PHB pair.</t>

        <t>In some cases, existing network equipment has been deployed that cannot readily be upgraded or configured to support the PHB requirements. This However, this equipment might however be capable of loosely supporting an NQB service - service; see <xref target="wifi_interop"/> for details and an example where this is particularly important. A similar approach might prove to be useful in other network environments.</t>

      </section>

      <section anchor="traffic_protection" numbered="true">
        <name>Traffic Protection</name>
        <t>It is possible that, due to an implementation error or misconfiguration, a QB microflow could end up being mismarked mis-marked as NQB, NQB or vice versa. It is also possible that a malicious actor could introduce a QB microflow marked as NQB with the intention of causing disruptions.  In the case of a low data rate microflow that isn't marked as NQB and therefore ends up in the QB queue, it would only impact its own quality of service, and so service (QoS); therefore, it seems to be of lesser concern. However, a QB microflow that is mismarked mis-marked as NQB is able to contribute to NQB queue formation at a network node which that would cause queuing delay and/or loss for all the other microflows that are sharing the NQB queue.</t>

        <t>To prevent this situation from harming the performance of the microflows that comply with the requirements in <xref target="sender"/>, network elements that support the NQB PHB SHOULD <bcp14>SHOULD</bcp14> support a "traffic protection" function that can identify microflows or packets that are inconsistent with the sender requirements in <xref target="sender"/>, target="sender"/> 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 <bcp14>MAY</bcp14> provide an option to 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 NQB-marked packets but lack support for traffic protection.</t>

        <t>If traffic protection is not supported or is not effective in preventing
        queue formation and growth in the NQB queue, then QB traffic that is
        mismarked
        mis-marked as NQB is able to form a queue that overflows the shallow
        buffer provided for NQB traffic, which traffic; this is expected to result in
        redirecting the excess packets to the QB queue or discarding them. Both
        actions degrade service for not only the mismarked mis-marked QB traffic, but also
        for any correctly marked NQB traffic, traffic. This will likely causing cause a significant
        degradation of service for NQB traffic. Even if mismarked mis-marked QB traffic
        does not cause buffer overflow, the queue that forms results in QB
        traffic obtaining the reduced loss and delay benefits of the NQB service
        while causing queuing delay for all the other microflows that are sharing the queue.
        These increased abilities of QB traffic to damage the NQB service in the absence
        of a traffic protection function needs to be considered. This is the motivation for the "SHOULD" "<bcp14>SHOULD</bcp14>" requirement
        to support traffic protection (in the previous paragraph).
        An NQB PHB implementation that does not support traffic protection risks being limited to deployment situations where traffic protection is potentially not necessary. One example of such a situation could be a controlled environment (e.g., enterprise LAN) where a network administrator is expected to manage the usage of DSCPs. </t>

        <t>Traffic protection as

        <t>As it is defined here here, traffic protection 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 (TCAs) 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 buildup in the presence of QB traffic mismarked mis-marked as NQB.</t>

        <t>This specification does not mandate a particular algorithm for traffic protection.  This is intentional, intentional since this will probably be an area where implementers innovate, and the innovate.  The specifics of traffic protection could need to be different in different network equipment and in different network contexts. Instead Instead, this specification provides guidelines and some examples of traffic protection algorithms which that could be employed. </t>

        <t>The traffic protection function SHOULD NOT <bcp14>SHOULD NOT</bcp14> base its decisions upon application-layer constructs (such as the port number used by the application or the source/destination IP address). Instead, it ought to base its decisions on the actual behavior of each microflow (i.e. (i.e., the pattern of packet arrivals).</t>

        <t>A conventional implementation of such a traffic protection algorithm is a per-microflow rate policer, designed to identify microflows that exceed the bound provided in <xref target="sender"/>, where the value R is set to 1 percent 1% of the egress link capacity available for NQB traffic. An alternative is to use a traffic protection algorithm that bases its decisions on the detection of actual queuing (i.e. (i.e., by monitoring the queuing delay experienced by packets in the NQB queue) in correlation with the arrival of packets for each microflow.  While a per-microflow rate policer is conceptually simpler (and is based directly on the NQB sender requirements), it could often end up being more strict than is necessary (for example example, by policing a flow that exceeds the rate equation even when the link is underutilized).
        One example traffic protection algorithm based on the detection of actual queuing can be found in <xref target="I-D.briscoe-docsis-q-protection"/>. target="RFC9957"/>.  This algorithm maintains per-microflow state for a certain number of simultaneous "queue-building" microflows (e.g. (e.g., 32), and shared state for any additional microflows above that number.</t>

        <t>In the case of a traffic protection algorithm that reclassifies offending traffic, different levels of hysteresis could be considered.
        For example, the reclassify decision could be made on a packet-by-packet basis, which could result in significant out-of-order delivery for offending microflows as some portion of the microflow's packets remain in the NQB queue and some are reclassified to the Default queue.
        Alternatively, a traffic protection function could employ a certain level of hysteresis to prevent borderline microflows from being reclassified capriciously, thus causing less potential for out-of-order delivery.
        As a third option, the decision could be made to take action on all the future packets of the microflow, though sufficient logic would be needed to ensure that a future microflow (e.g. (e.g., with the same 5-tuple) isn't misidentified as the current offending microflow.
        </t>

        <t>In the case of a traffic protection algorithm that discards offending traffic, similar levels of hysteresis could be considered.  In this case, it is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that the decision thresholds be set higher than in the case of designs that reclassify, reclassify since the degradation of communications caused by the packet discard being discarded are likely to be greater than the degradation caused by out-of-order delivery.</t>

        <t>The traffic protection function described here might require that the network element maintain microflow state. The traffic protection function MUST <bcp14>MUST</bcp14> be designed such that the node implementing the NQB PHB does not fail (e.g. (e.g., crash) in the case that the microflow state is exhausted. This might be accomplished simply by controlling/limiting the resources dedicated to tracking misbehaving flows.</t>

        <t>Some networks might prefer to implement a more traditional Traffic Conditioning approach, approach and police the application of the NQB DSCP at the ingress edge so that per-hop traffic protection is not needed. This could be accomplished via the use of a per-microflow rate policer that polices microflows at 1 percent 1% of the minimum link capacity of the network.  This approach would generally be expected to be inferior to per-hop traffic protection, because on protection because:</t>
	<ul>
	  <li>on one hand hand, it would be difficult for edge nodes to guarantee that there would never be more than 100 NQB flows that would share a single internal bottleneck, and on and</li>
	  <li>on the other hand hand, there could be internal links that have much greater capacity than the minimum.  So, minimum.</li>
	</ul>
	<t>So, Traffic Conditioning at the edge could simultaneously be too lenient and too strict.</t>
      </section>

      <section numbered="true">
        <name>Limiting Packet Bursts from Links</name>

        <t>Some link technologies introduce burstiness by briefly storing packets prior to forwarding them. A common cause of this burstiness is link discontinuity (i.e. (i.e., where the link is not continuously available for transmission by the device), for example example, time-division-duplex links or time-division-multiple-access (TDMA) links. Some link technologies that fall into this category are passive optical networks (PON), Passive Optical Networks (PONs), Wi-Fi, LTE/5G LTE/5G, and DOCSIS. Data-Over-Cable Service Interface Specification (DOCSIS). </t>

        <t>As well as NQB senders needing to limit packet bursts (see <xref target="sender"/>), traffic designated for the NQB PHB would benefit from configuring these link technologies to limit the burstiness introduced.  This is for three reasons.  The first reason is that burstiness, reasons:</t>
	<ol>
	  <li>Burstiness, whether caused by the sender or by a link on the path, could cause queuing delay at downstream bottlenecks and thus and, thus, degrade Quality of Experience. The second reason is that burstiness Experience.</li>
	  <li>Burstiness in links typically means that packets have been delayed by a variable amount, i.e. amount.  That is, for packets that are being aggregated awaiting a transmission opportunity, some packets would generally have arrived just after the last transmission opportunity, opportunity and thus would have to wait the longest, longest while others would generally arrive just in time for the next transmission opportunity, opportunity and thus would wait the least.  This manifests as delay variation which that can also degrade Quality of Experience for applications that desire NQB treatment. The third reason is that a treatment.</li>
	  <li>A downstream bottleneck that implements the NQB PHB could have implemented a traffic protection mechanism (<xref target="traffic_protection"/>) that responds to queuing delay by re-marking/reclassifying/dropping packets, and bursty packets.  Bursty arrivals caused by an upstream link could introduce queuing delay in the NQB queue and thus these would be more likely to be subjected to traffic protection effects.</t> effects.</li></ol>

        <t>This document does not set any quantified requirements for links to limit bursts, bursts; this is primarily because link technologies are outside the remit of Diffserv specifications. However, it would not seem necessary to limit bursts lower than roughly 10% of the minimum base RTT expected in the typical deployment scenario (e.g., 250 µs burst duration for links within the public Internet). This observation aligns with a similar one in <xref target="RFC9331" section="5.5"/>.</t>
      </section>

      <section numbered="true" anchor="ecn">
        <name>Treatment of the Explicit Congestion Notification field</name> Field</name>
        <t>NQB network functions MUST <bcp14>MUST</bcp14> treat packets marked with the NQB DSCP uniformly, regardless of the value of the ECN field. Here, NQB the term "NQB network functions functions" refers to the traffic protection function (defined in <xref target="traffic_protection"/>) and any re-marking/traffic policing function designed to protect unmanaged networks (as described in <xref target="unmanaged"/>).</t>
      </section>

    </section>

    <section numbered="true" anchor="dscp">
      <name>Operational Considerations</name>

      <t>This section describes considerations for network operators regarding the identification, marking, and handling of NQB traffic. It outlines aggregation behaviors and special considerations in unmanaged and inter-network scenarios. Additionally, <xref target="aggregation"/> contains configuration recommendations for nodes that do not support the NQB PHB, and PHB. <xref target="unmanaged"/> contains configuration recommentations recommendations for networks that interconnect with non-DS-capable domains.</t>

      <section numbered="true">
        <name>NQB Traffic Identification</name>
        <t>As required in <xref target="phb_requirements"/>, nodes supporting the NQB PHB provide for the configuration of classifiers that can be used to differentiate between QB and NQB traffic of equivalent importance.  The assigned NQB DSCP (45 decimal) is recommended for use as the default classifier to distinguish NQB traffic from traffic classified as Default (DSCP 0) (see Sections <xref target="sender"/> target="sender" format="counter"/> and <xref target="primary"/>).</t> target="primary" format="counter"/>).</t>
      </section>

      <section anchor="aggregation" numbered="true">
        <name>Aggregation of the NQB DSCP into another Another Diffserv PHB</name>
        <t>It is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that networks and nodes that do not support the NQB PHB be configured to treat traffic marked with the NQB DSCP the same as traffic with the Default DSCP.  This includes networks (such as MPLS) and nodes that aggregate service classes as discussed in <xref target="RFC5127"/> and <xref target="RFC8100"/>, target="RFC8100"/>; in which case this case, this recommendation would result in traffic marked with the NQB DSCP being aggregated into the Elastic Treatment Aggregate (for networks as described in <xref target="RFC5127"/> networks) target="RFC5127"/>) or the Default / Elastic Treatment Aggregate (for networks as described in <xref target="RFC8100"/> networks). target="RFC8100"/>). </t>

        <t>Networks and nodes that do not support the NQB PHB ought to only classify packets with the NQB DSCP value into the appropriate treatment aggregate, or encapsulate such packets for purposes of aggregation, and SHOULD NOT <bcp14>SHOULD NOT</bcp14> re-mark them with a different DSCP. This preservation of the NQB DSCP value enables hops further along the path to provide the NQB PHB successfully. This aligns with recommendations in <xref target="RFC5127"/>.</t>

        <t>In nodes that do not typically experience congestion (for example, many backbone and core network switches), forwarding packets with the NQB DSCP using the Default treatment might be sufficient to preserve the loss, delay delay, and delay-variation performance for NQB traffic. </t>

        <t>In nodes that do experience congestion, forwarding packets with the NQB DSCP using the Default treatment could result in degradation of the loss, delay delay, and delay-variation performance but nonetheless preserves the incentives described in <xref target="phb_requirements"/>. </t>

        <t>Aggregating traffic marked with the NQB DSCP into a PHB designed for real-time, delay sensitive delay-sensitive traffic
        (e.g.
        (e.g., the Real-Time Treatment Aggregate <xref target="RFC5127"/> or the Bulk Real-Time Treatment Aggregate <xref target="RFC8100"/>), might better preserve the loss, delay delay, and delay-variation performance in the
        presence of congestion, but congestion; however, it would need to be done with consideration of the risk of creating
        an incentive for non-compliant traffic to be mis-marked as NQB.</t>

      </section>

      <section numbered="true" anchor="aggregation2">
        <name>Aggregation of other Other DSCPs into the NQB PHB</name>

<!-- We note that [RFC5685] uses "VOICE-ADMIT" rather than
     "Voice-Admit". Please review and let us know if/how to update.

Original:
   In the preceding sentence, "VA" and "CSx" refer to Voice-Admit
   ([RFC5865]) and Class Selector ([RFC2474]) respectively.
-->

        <t>The Differentiated Services model provides flexibility for operators to control the way they choose to aggregate traffic marked with a specific DSCP. Operators of nodes that support the NQB PHB could choose to aggregate other service classes into the NQB queue. This is particularly useful in cases where specialized PHBs for these other service classes had not been provided at a potential bottleneck, perhaps because it was too complex to manage traffic contracts and conditioning. Candidate service classes for this aggregation would include those that carry low-data-rate inelastic traffic that has low to very-low tolerance for loss, delay delay, and/or delay-variation. delay variation. Operators would need to use their own judgment based on the actual traffic characteristics in their networks in deciding whether or not to aggregate other service classes / DSCPs with NQB. For networks that use the <xref target="RFC4594"/> service class definitions, definitions from <xref target="RFC4594"/>, this could include Telephony (EF/VA), Signaling (CS5), and possibly Real-Time Interactive (CS4) (depending on data rate). In the preceding sentence, "VA" and "CSx" refer to Voice-Admit (<xref target="RFC5865"/>) and Class Selector (<xref target="RFC2474"/>) target="RFC2474"/>), respectively. In some networks, equipment limitations may necessitate aggregating a range of DSCPs (e.g. (e.g., traffic marked with DSCPs 40-47 (decimal), i.e., those whose three most significant bits are 0b101). As noted in <xref target="sender"/>, the choice of the DSCP value 45 (decimal) is motivated in part by the desire to make this aggregation simpler in network equipment that can classify packets via comparing the DSCP value to a range of configured values.</t>

        <t>A node providing only a NQB queue and a Default queue may obtain an NQB performance similar to that of EF, for example example, as described by <xref target="RFC2598" section="A.3.1"/>. Some caveats and differences are discussed in <xref target="EF"/>.</t>
        <t>[NOTE: this section references the obsoleted RFC 2598 instead of its replacement (RFC 3246) because the former contains the description of EF performance.]</t>

<!--[rfced] Section 6.3: We thank you for the note at the end of this
section about citing an obsoleted RFC.  Is the note meant to
remain in the document at publication?  If so, may we put it in
the <aside> element?

Original:
   [NOTE: this section references the obsoleted RFC2598 instead of its
   replacement RFC3246, because the former contains the description of
   EF performance.]</t> performance.]
-->
      </section>

      <section anchor="re-marking" numbered="true">
        <name>Cross-domain usage
        <name>Cross-Domain Usage and DSCP Re-marking</name>
        <t>In contrast to some existing standard PHBs, which are typically only used within a Diffserv Domain (e.g., an AS or an enterprise network), this PHB is expected to be used across the Internet, wherever suitable operator agreements apply.  Under the model described in <xref target="RFC2474"/> model, target="RFC2474"/>, this requires that the corresponding DSCP is recognized and mapped across network boundaries accordingly.</t>

<!--[rfced] Perhaps it would be helpful to the reader to describe
what part of RFC 8100 is being used here?

Original:
If [RFC8100] is operational between interconnected domains, the
receiving domain may prefer a different DSCP for NQB traffic that
allows for a DSCP range-based classification for the Default / Elastic
Treatment Aggregate.
-->

        <t>If NQB support is extended across a DiffServ domain boundary, the interconnected networks agreeing to support NQB SHOULD <bcp14>SHOULD</bcp14> use the DSCP value 45 (decimal) for NQB at network interconnection, unless a different DSCP is explicitly documented in the TCA (Traffic Conditioning Agreement, see <xref target="RFC2475"/>) for that interconnection. If <xref target="RFC8100"/> is operational between interconnected domains, the receiving domain may prefer a different DSCP for NQB traffic that allows for a DSCP range-based classification for the Default / Elastic Treatment Aggregate. Similar to the handling of DSCPs for other PHBs (and as discussed in <xref target="RFC2475"/>), networks can re-mark NQB traffic to a DSCP value other than 45 (decimal) for internal usage. To ensure reliable NQB PHB treatment on the entire path, the appropriate NQB DSCP would need to be restored when forwarding to another network.</t>

        <section anchor="unmanaged" numbered="true">
          <name>Interoperability with Non-DS-Capable Domains </name>

<!-- [rfced] We note that Section 4 of [RFC2475] uses "Class Selector
     codepoint" rather than "Class Selector Codepoint".  Please review
     and let us know if/how to update.

Original:
   In such cases, Section 4 of [RFC2475] suggests that the upstream
   domain opportunistically re-mark traffic with a Class Selector
   codepoint or DSCP 0 (Default) under the assumption that traffic so
   marked would be handled in a predictable way by the downstream domain.
-->
          <t>As discussed in <xref target="RFC2475" section="4"/>, there may be cases where a network operator that supports Diffserv is delivering traffic to another network domain (e.g. (e.g., a network outside of their administrative control), control) where there is an understanding that the downstream domain does not support Diffserv or there is no knowledge of the traffic management capabilities of the downstream domain, and no agreement in place.  In such cases, <xref target="RFC2475" section="4"/> suggests that the upstream domain opportunistically re-mark traffic with a Class Selector codepoint or DSCP 0 (Default) under the assumption that traffic so marked would be handled in a predictable way by the downstream domain.</t>

          <t>In the case of a network that supports the NQB PHB (and carries traffic marked with the recommended NQB DSCP value) value), the same concerns apply. In particular, since the recommended NQB DSCP value could be given high priority in some non-DS-compliant network equipment (e.g., legacy Wi-Fi APs as described in <xref target="wifi_interop"/>), it is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that the operator of the upstream domain implement one of the following safeguards before delivering traffic into a non-DS-capable domain.</t> domain:</t>

          <ol>
          <li><t>One option for such a safeguard is to re-mark NQB traffic to DSCP 0 (Default) (or another Class Selector DSCP) before delivering traffic into a non-DS-capable domain, in accordance with the suggestion in <xref target="RFC2475" section="4"/>.
          Network equipment designed for such environments, SHOULD environments <bcp14>SHOULD</bcp14>, by default default, re-mark NQB traffic to DSCP 0 (Default), (Default) and SHOULD <bcp14>SHOULD</bcp14> support the ability to change and disable this re-marking.
          Re-marking NQB traffic to DSCP 0 (Default) could be considered the "safest" approach since the upstream domain can thereby ensure that NQB traffic is not given inappropriate treatment in the non-DS-capable domain.
          That said, it comes with the downside that the re-marking ruins any possibility of NQB isolation in any further downstream domain (not just the immediate neighbor).</t></li>

          <li><t>As an alternative to re-marking all NQB traffic, such an operator could deploy a traffic protection (see <xref target="traffic_protection"/>) or a shaping/policing function on traffic marked with the NQB DSCP that minimizes the potential for negative impacts on Default traffic, should the downstream domain treat traffic with the NQB DSCP as high priority.</t>
          <t>In the case that a traffic protection function is used, it MUST <bcp14>MUST</bcp14> either re-mark offending traffic to DSCP 0 (or another Class Selector DSCP) or discard it.
          Note that a traffic protection function function, as defined in this document document, might only provide protection from issues occurring in subsequent network hops if the device implementing the traffic protection function is the bottleneck link on the path, so it might not be a solution for all situations. </t>
          <t>In the case that a traffic policing function or a rate shaping function is applied to the aggregate of NQB traffic destined to such a downstream domain, the policer/shaper rate SHOULD <bcp14>SHOULD</bcp14> be set to either 5% of the interconnection data rate, rate or 5% of the typical rate for such interconnections, whichever is greater, with excess traffic being re-marked and classified for Default forwarding (or dropped, as a last resort).
          A traffic policing function SHOULD <bcp14>SHOULD</bcp14> allow approximately 100 ms of burst tolerance (e.g. (e.g., a token bucket depth equal to 100 ms multiplied by the policer rate).
          A traffic shaping function SHOULD <bcp14>SHOULD</bcp14> allow approximately 10 ms of burst tolerance, tolerance and no more than 50 ms of buffering.
          The burst tolerance values recommended here are intended to reduce the degradation that could be introduced to delay delay- and loss sensitive loss-sensitive traffic marked NQB without significantly degrading Default traffic, traffic and that could be adjusted based on local network policy. Increasing the burst tolerance would further reduce the potential for degradation (increased loss or increased delay) of traffic marked NQB, NQB but would come at the cost of an increased risk of degradation (increased loss or increased delay) of Default traffic. </t>

          <t>The recommendation to limit NQB traffic to 5% is based on an assumption that internal links in the downstream domain could have data rates as low as one tenth of the interconnect rate, rate; in which case case, if the entire aggregate of NQB traffic traversed a single instance of such a link, the aggregate would consume no more than 50% of that link's capacity.  The limit for NQB traffic SHOULD <bcp14>SHOULD</bcp14> be adjusted based on any knowledge of the local network environment that is available.</t> </li>

          </ol>
        </section>
      </section>

      <section numbered="true">
        <name>The NQB DSCP and Tunnels</name>
        <t><xref target="RFC2983"/> discusses tunnel models that support Diffserv. It describes a "uniform model" in which the inner DSCP is copied to the outer header at encapsulation, encapsulation and the outer DSCP is copied to the inner header at decapsulation. It also describes a "pipe model" in which the outer DSCP is not copied to the inner header at decapsulation.  Both models can be used in conjunction with the NQB PHB. 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. In some cases, this could improve the possibility of achieving NQB treatment in subsequent nodes, but nodes; in other cases cases, it could degrade that possibility (e.g. (e.g., if the re-marking was designed specifically to preserve NQB treatment in downstream domains).</t>

<!--[rfced] Note that we have changed IPSec to IPsec to match the
following from RFC 4301:

   The spelling "IPsec" is preferred and used throughout this and all
   related IPsec standards.  All other capitalizations of IPsec (e.g.,
   IPSEC, IPSec, ipsec) are deprecated.
-->

        <t>As is discussed in <xref target="RFC2983"/>, tunnel protocols that are sensitive to reordering (such as IPSec IPsec <xref target="RFC4301"/> or L2TP Layer 2 Tunneling Protocol (L2TP) <xref target="RFC2661"/>) can result in undesirable interactions if multiple DSCP PHBs are signaled for traffic within a tunnel instance. This is true for tunnels containing a mix of QB and NQB traffic as well. traffic. Additionally, since networks supporting the NQB PHB could implement a traffic protection mechanism (see <xref target="traffic_protection"/>) and/or responses to NQB buffer overrun that result in out-of-order delivery for traffic marked with the NQB DSCP, even tunnels solely containing NQB traffic could have issues if they are sensitive to reordering and the outer header retains the NQB DSCP. As a result, the use of a reordering-sensitive tunnel protocol to carry NQB traffic, or a mix of QB and NQB traffic, necessitates that the outer tunnel header be re-marked with a non-NQB DSCP (e.g. Default), (e.g., Default); in which case this case, the "pipe" model is preferable because it preserves the marking differentiation at tunnel decapsulation.</t>
      </section>

      <section numbered="true" anchor="low-rate-links">
        <name>Guidance for Lower-Rate Links</name>
        <t>The NQB sender requirements in <xref target="sender"/> place responsibility in the hands of the application developer to determine the likelihood that the application's sending behavior could result in a queue forming along the path.  These requirements rely on application developers having a reasonable sense for the network context in which their application is to be deployed.  Even so, there will undoubtedly be networks that contain links having a data rate that is below the lower end of what is considered "typical", and "typical"; some of these links could even be below the instantaneous sending rate of some NQB-marked applications.</t>

        <t>To limit the consequences of this scenario, operators of networks with lower rate links SHOULD <bcp14>SHOULD</bcp14> consider utilizing a traffic protection function on those links that is more tolerant of burstiness (i.e., a temporary queue). This will have the effect of allowing a larger set of NQB-marked microflows to remain in the NQB queue, but queue; however, it will come at the expense of a greater potential for delay variation.  In implementations that support <xref target="I-D.briscoe-docsis-q-protection"/>, target="RFC9957"/>, the burst tolerance can be configured via the CRITICALqLSCORE_us input parameter.</t>
        <t>Alternatively, operators of networks with lower rate links MAY <bcp14>MAY</bcp14> choose to disable NQB support (and thus aggregate traffic marked with the NQB DSCP with Default traffic) on these lower rate links.  For links that have a data rate that is less than ten percent 10% of "typical" path rates, it is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that the NQB PHB be disabled and that traffic marked with the NQB DSCP is therefore carried using the Default PHB (without being re-marked to the Default DSCP (0)).</t>
      </section>
    </section>

    <section numbered="true" anchor="sdos">
      <name>Mapping NQB to standards Standards of other Other SDOs</name>
      <t>This section provide recommendations for the support of the NQB PHB in certain use cases.  This section is not exhaustive.</t>

      <section numbered="true">
        <name>DOCSIS Access Networks</name>
        <t>Residential cable broadband Internet services are commonly configured with a single bottleneck link (the access network link) upon which the service definition is applied. The service definition, typically an upstream/downstream data rate tuple, is implemented as a configured pair of rate shapers that are applied to the user's traffic. In such networks, the quality of service that each application receives, and as a result, the quality of experience that it generates for the user is influenced by the characteristics of the access network link.</t>
        <t> To support the NQB PHB, cable broadband services would need to be configured to provide a separate queue for traffic marked with the NQB DSCP. The NQB queue would need to be configured to share the service's rate shaped capacity with the queue for QB traffic. Further discussion about support of the NQB PHB in DOCSIS networks can be found in <xref target="LOW_LATENCY_DOCSIS"/>.</t>
      </section>
      <section numbered="true">
        <name>Mobile Networks</name>

        <t>Historically, 3GPP mobile networks have utilized "bearers" to encapsulate each user's user plane traffic through the radio and core networks. A "dedicated bearer" can be allocated a Quality of Service (QoS) to apply any prioritisation prioritization to its microflows at queues and radio schedulers. Typically, an LTE operator provides a dedicated bearer for IMS IP Multimedia Subsystems (IMS) VoLTE (Voice over LTE) traffic, which is prioritized in order to meet regulatory obligations for call completion rates; rates, and a "best effort" default bearer, bearer for Internet traffic. The "best effort" bearer provides no guarantees, and hence guarantees; hence, its buffering characteristics are not compatible with low-latency traffic. The 5G radio and core systems offer more flexibility over bearer allocation, meaning bearers can be allocated per traffic type (e.g., loss-tolerant, low-latency etc.) and hence low-latency, etc.); hence, they support more suitable treatment of Internet real-time microflows.</t>

<!--[rfced] May we update as follows for the ease of the reader?
     Please review carefully to ensure we've maintained your intended
     meaning.

Original:
   To support the NQB PHB, the mobile network could be configured to
   give User Equipment (UE, the mobile device used by the subscriber) a
   dedicated, low-latency, non-GBR (non-Guaranteed Bit Rate), EPS
   (Evolved Packet System, the core and access network architecture used
   in LTE) bearer, e.g., one with QCI 7 (QoS Class Identifier 7, which
   is typically used for low-latency, non-GBR services), in addition to
   the default EPS bearer.

Perhaps:
   In addition to the default EPS bearer and to support the NQB PHB,
   the mobile network could be configured to give User Equipment (UE)
   (the mobile device used by the subscriber) a bearer that is
   a dedicated, low-latency, non-Guaranteed Bit Rate (non-GBR) Evolved
   Packet System (EPS) (the core and access network architecture used
   in LTE).  For example, it could give a bearer with QCI 7 (QoS Class
   Identifier 7), which is typically used for low-latency, non-GBR
   services.

-->

        <t>To support the NQB PHB, the mobile network could be configured to give User Equipment (UE, the mobile device used by the subscriber) a dedicated, low-latency, non-GBR (non-Guaranteed Bit Rate), EPS (Evolved Packet System, the core and access network architecture used in LTE) bearer, e.g., one with QCI 7 (QoS Class Identifier 7, which is typically used for low-latency, non-GBR services), in addition to the default EPS bearer. Alternatively, in a 5G system, a Data Radio Bearer with 5QI 7 (5G QoS Identifier 7, 7), similarly used for low-latency traffic) traffic, could be provisioned (see Table 5.7.4-1: Standardized 5QI to QoS characteristics mapping in <xref target="SA-5G"/>).</t>
        <t>A packet carrying the NQB DSCP could then be routed through this dedicated low-latency EPS bearer, while a packet that has no associated NQB marking would be routed through the default EPS bearer.</t>

      </section>
      <section anchor="wifi" numbered="true">
        <name>Wi-Fi Networks</name>
        <t>Wi-Fi networking equipment compliant with 802.11e/n/ac/ax <xref target="IEEE802-11"/> generally supports either four or eight transmit queues and four sets of associated Enhanced Distributed Channel Access (EDCA) parameters (corresponding to the four Wi-Fi Multimedia (WMM) Access Categories) that are used to enable differentiated medium access characteristics. The four WMM Access Categories, referred to as Voice Access Category (AC_VO), Video Access Category (AC_VI), Best Effort Access Category (AC_BE), and Background Access Category (AC_BK), provide four levels of prioritized access to the wireless medium. As discussed in <xref target="RFC8325"/>, it has been a common practice for Wi-Fi implementations to use a default DSCP to User Priority (UP) mapping that utilizes the most significant three bits of the Diffserv Field to select "User Priority" Priority", which is then mapped to the four WMM Access Categories.  <xref target="RFC8325"/> also provides an alternative mapping that more closely aligns with the DSCP recommendations provided by the IETF. In the case of some managed Wi-Fi equipment, this mapping can be controlled by the network operator, e.g., via TR-369 <xref target="TR-369">TR-369</xref>.</t> target="TR-369"></xref>.</t>

        <t>In addition to the requirements provided in other sections of this document, to support the NQB PHB, Wi-Fi equipment (including equipment compliant with <xref target="RFC8325"/>) SHOULD <bcp14>SHOULD</bcp14> map the NQB DSCP 45 (decimal) into a separate queue in the same Access Category as the queue that carries Default traffic (i.e. (i.e., the Best Effort Access Category).
        It is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that Wi-Fi equipment provide a separate queue in UP 0, 0 and map the NQB DSCP 45 (decimal) to that queue.
        If a separate queue in UP 0 cannot be provided (due to hardware limitations, etc.) etc.), a Wi-Fi device MAY <bcp14>MAY</bcp14> map the NQB DSCP 45 (decimal) to UP 3.</t>

        <section anchor="wifi_interop" numbered="true">
          <name>Interoperability with Existing Wi-Fi Networks</name>
          <t>While some existing Wi-Fi equipment might be capable (in some cases via firmware update) of supporting the NQB PHB requirements, many currently deployed devices cannot be configured in this way. As a result, the remainder of this section discusses interoperability with these existing Wi-Fi networks, as opposed to PHB compliance.</t>

          <t>Since this equipment is widely deployed, and the Wi-Fi link can become a bottleneck link, the performance of traffic marked with the NQB DSCP across such links could have a significant impact on the viability and adoption of the NQB DSCP and PHB. Depending on the DSCP used to mark NQB traffic, existing Wi-Fi equipment that uses the default mapping of DSCPs to Access Categories (<xref (see <xref target="RFC8325" section="2.3"/>) and the default EDCA parameters will support either (but not both) of the following characteristics:</t>
          <ul><li>the NQB PHB requirement for separate queuing of NQB traffic from Default traffic (<xref target="primary"/>) </li>
          <li>the recommendation to treat NQB traffic with forwarding preference equal to that used for Default traffic (<xref target="primary"/>)</li></ul>

          <t>The DSCP value 45 (decimal) is recommended for NQB (see <xref target="sender"/>). This maps NQB to UP 5 using the default mapping, which is in the "Video" Access Category. While this choice of DSCP enables these Wi-Fi systems to support the NQB PHB requirement for separate queuing, existing Wi-Fi devices generally utilize EDCA parameters that result in statistical prioritization of the "Video" Access Category above the "Best Effort" Access Category.  In addition addition, this equipment does not support the remaining NQB PHB recommendations in <xref target="phb_requirements"/>. The rationale for the choice of DSCP 45 (decimal) as well as its ramifications, ramifications and remedies for its limitations are discussed further below.</t>

          <t>The choice of separated queuing rather than equal forwarding preference in existing Wi-Fi networks was motivated by the following:</t>
            <ul>
            <li>Separate queuing is necessary in order to provide a benefit for traffic marked with the NQB DSCP. </li>
            <li>The arrangement of queues in Wi-Fi equipment is typically fixed, whereas the relative priority of the Access Category queues is configurable. Most Wi-Fi equipment has hardware support (albeit generally not exposed for user control) control), which could be used to adjust the EDCA parameters in order to meet the equal forwarding preference recommendation. This is discussed further below.</li>
            <li>Traffic that is compliant with the NQB sender requirements in <xref target="sender"/> is expected to cause minimal degradation to traffic in lower priority Access Categories, and in Categories.  In any case case, it would be unlikely to cause more degradation to lower priority Access Categories than the existing recommended Video Access Category traffic types: Broadcast Video, Multimedia Streaming, Multimedia Conferencing from <xref target="RFC8325"/>, and AudioVideo, ExcellentEffort from <xref target="QOS_TRAFFIC_TYPE"/>.</li>
            <li>Several existing client applications that are compatible with the NQB sender requirements already select the Video Access Category, and thus Category; thus, they would not see a degradation in performance by transitioning to the NQB DSCP, regardless of whether the network supported the PHB.</li>
            <li>Application instances on Wi-Fi client devices are already free to choose any Access Category that they wish, regardless of their sending behavior, without any policing of usage. So, the choice of using DSCP 45 (decimal) for NQB creates no new avenues for non-NQB-compliant client applications to exploit the prioritization function in Wi-Fi. </li>
            <li>For application traffic that originates outside of the Wi-Fi network, and thus and, thus, is transmitted by the Access Point, the choice of DSCP 45 does create a potential for abuse by non-compliant applications.  But,  However, opportunities exist in the network components upstream of the Wi-Fi Access Point to police the usage of the NQB DSCP and potentially re-mark traffic that is considered non-compliant, as is recommended in <xref target="unmanaged"/>.
            Furthermore, it is reasonable to expect that ISPs currently manage the DSCPs on traffic destined to their customers' networks, networks and will continue to do so whether or not they support NQB or not. NQB. This includes the practice in residential broadband networks of re-marking the Diffserv field to zero on all traffic. Any change to these practices done to enable the NQB DSCP to pass through could be done alongside the implementation of the recommendations in <xref target="unmanaged"/>.</li>
          </ul>

          <t>The choice of Video Access Category rather than the Voice Access Category was motivated by the desire to minimize the potential for degradation of Best Effort Access Category traffic.  The choice of Video Access Category rather than the Background Access Category was motivated by the much greater potential of degradation to NQB traffic that would be caused by the vast majority of traffic in most Wi-Fi networks, which utilizes the Best Effort Access Category.</t>

          <t>As stated above, the use of DSCP 45 (decimal) for NQB is not expected to create incentives for abuse by non-compliant applications in the Wi-Fi uplink direction.
          The fact that the NQB DSCP brings with it the potential for degradation of non-compliant applications (traffic protection and/or a shallow queue resulting in reordering and/or packet loss at some hop along the path) plus the existence of multiple other DSCP values that don't carry the risk of degradation, degradation and which that could be readily used to obtain prioritization (AC_VI or even AC_VO), AC_VO) leads to the conclusion that NQB non-compliant applications that are seeking prioritization in the Wi-Fi uplink would be better off selecting one of those other DSCPs. This conclusion is not expected to be disturbed by network support for NQB increasing the likelihood of DSCP 45 traffic traversing network boundaries without change to the DSCP, as that likelihood of increased network boundary traversal is balanced by a likelihood of NQB traffic encountering the traffic-limiting aspects of NQB support, traffic protection protection, and shallow buffers, which limit the potential for abuse.</t>

          <t>In the case of traffic originating outside of the Wi-Fi network, the prioritization of traffic marked with the NQB DSCP via the Video Access Category (if left unchanged) could potentially erode the principle of alignment of incentives discussed in <xref target="phb_requirements"/>. In order to preserve the incentives principle for NQB, Wi-Fi systems MAY <bcp14>MAY</bcp14> be configured such that the EDCA parameters for the Video Access Category match those of the Best Effort Access Category, which will mean AC_VI is at the same priority level as AC_BE. These changes might not be possible on all Access Points, and Points; in any case case, the requirements and recommendations in <xref target="unmanaged"/> would apply in this situation.</t>

          <t>Systems that utilize <xref target="RFC8325"/> but cannot provide a separate AC_BE queue for NQB traffic, SHOULD traffic <bcp14>SHOULD</bcp14> map the NQB DSCP 45 (decimal) (or the locally determined alternative) to UP 5 in the "Video" Access Category as well (see <xref target="updates_to_8325"/>).</t>
      </section>

      <section anchor="updates_to_8325" numbered="true">
        <name>The Updates to RFC 8325</name>

        <t>[XXX RFC Editor please replace RFCXXXX with this RFC number when published XXX]</t>

<t><xref target="RFC8325" section="4.2.9"/> describes the recommendation for the handling of Standard service class traffic that carries the Default DSCP.  This update to <xref target="RFC8325"/> changes the title of <xref target="RFC8325" section="4.2.9"/> from "Standard" to "Standard and Non-Queue-Building".  This update additionally adds a paragraph at the end of <xref target="RFC8325" section="4.2.9"/> as follows:</t>

<t indent="4" keepWithPrevious="true">RFCXXXX

<blockquote>RFC 9956 defines a shallow-buffered shallow-buffered, best-effort service for traffic marked with the NQB DSCP (45 decimal) 45 (decimal) and recommends the following treatment in Wi-Fi equipment.
It is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that Wi-Fi equipment map the NQB DSCP 45 (decimal) into a separate queue in the same Access Category as the queue that carries Default traffic (i.e. (i.e., the Best Effort Access Category).
It is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that Wi-Fi equipment provide a separate queue in UP 0, 0 and map the NQB DSCP 45 (decimal) to that queue.
If a separate queue in UP 0 cannot be provided (due to hardware limitations, etc.) etc.), a Wi-Fi device MAY <bcp14>MAY</bcp14> map the NQB DSCP 45 (decimal) to UP 3. If neither of these options provides a separate queue from Default traffic, it is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that Wi-Fi equipment map the NQB DSCP 45 (decimal) to UP 5
(which corresponds to the default mapping described in Section 2.3).  RFCXXXX  RFC 9956 provides additional recommendations and requirements for support of the NQB PHB that aren't available in the QoS model described in Section 6, 6 but nonetheless could be supported in implementations.</t>

<t>This implementations.</blockquote>

<t>In another update to <xref target="RFC8325"/> inserts captured below, a new row for "Non-Queue-Building" traffic is inserted between the existing "Low-Latency Data" and "OAM" rows in its Figure 1 of <xref target="RFC8325"/> as follows:</t>

<!-- [rfced] Figure 1 in RFC 8325 has header information that might be
helpful to the reader to include in the update in this document.
Would you like us to add the header to the figure?

Perhaps:
  +===============+======+==========+==================================+
  | IETF Diffserv | PHB  |Reference |         IEEE 802.11              |
  | Service Class |      |   RFC    |User Priority|  Access Category   |
  |===============+======+==========+=============+====================|
-->

<artwork type="ascii-art" name="fig1_update.txt">
  <![CDATA[
+---------------+------+----------+-------------+--------------------+
|    Low-       | AF21 |          |             |                    |
|    Latency    | AF22 | RFC 2597 |     3       | AC_BE (Best Effort)|
|    Data       | AF23 |          |             |                    |
+---------------+------+----------+-------------+--------------------+
|     Non-      |      |          |    0, 3     | AC_BE (Best Effort)|
|    Queue-     | NQB  | RFC XXXX 9956 |            OR                    |
|   Building    |      |          |     5       |    AC_VI (Video)   |
|               |      |          |      See Section 4.2.9           |
+---------------+------+----------+-------------+--------------------+
|     OAM       | CS2  | RFC 2474 |     0       | AC_BE (Best Effort)|
+---------------+------+----------+-------------+--------------------+
  ]]>
</artwork>

<t>This

<t>A third update adds the following sentence to the end of the first paragraph in <xref target="RFC8325" section="5.3"/>:  "An section="5.3"/>:</t>

<blockquote>An exception to this is the NQB DSCP 45 (decimal) (decimal), which encodes for best-effort service."</t> service.</blockquote>

      </section>
      </section>
    </section>
     <section anchor="IANA" numbered="true">
      <name>IANA Considerations</name>
      <t>This document requests that IANA assign
      <t>IANA has assigned the Differentiated Services Field Codepoint (DSCP) 45 ('0b101101', 0x2D) from the "Differentiated Services Field Codepoints (DSCP)" registry (https://www.iana.org/assignments/dscp-registry/) (<eref target="https://www.iana.org/assignments/dscp-registry/"/>) ("DSCP Pool 3 Codepoints", Codepoint Space xxxx01, Standards Action) as the recommended codepoint Action (<xref target="RFC8126" format="default"/>) for Non-Queue-Building behavior.</t>

      <t>IANA should update has updated this registry as follows:</t>
        <ul>
          <li>Name: NQB</li>
          <li>Value (Binary): 101101</li>
          <li>Value (Decimal): 45</li>
          <li>Reference: this document</li>
        </ul>

    </section>

    <section numbered="true">
      <name>Implementation Status</name>

      <t>Note to RFC Editor: This section should be removed prior to publication</t>

      <t>The NQB PHB is implemented in equipment compliant with the current DOCSIS 3.1
        specification, published by CableLabs at:
        <eref target="https://www.cablelabs.com/specifications/search?query=&amp;category=DOCSIS&amp;subcat=DOCSIS%203.1&amp;doctype=Specifications&amp;content=false&amp;archives=false&amp;currentPage=1">CableLabs Specifications Search</eref>.</t>

      <t>CableLabs maintains a list of production cable modem devices that are Certified as being compliant to the DOCSIS Specifications, this list is available at <eref target="https://www.cablelabs.com/wp-content/uploads/2013/10/cert_qual.xlsx"/>. DOCSIS 3.1 modems certified in CW 134 or greater implement the NQB PHB. This includes products from Arcadyan Technology Corporation, Arris, AVM, Castlenet, Commscope, Hitron, Motorola, Netgear, Sagemcom and Vantiva.
      There are additional production implementations that have not been Certified as compliant to the specification, but which have been tested in non-public Interoperability Events.
      These implementations are all proprietary, not available as open source.</t>

      <dl spacing="normal">
        <dt>Name:</dt><dd>NQB</dd>
        <dt>Value (Binary):</dt><dd>101101</dd>
        <dt>Value (Decimal):</dt><dd>45</dd>
        <dt>Reference:</dt><dd>RFC 9956</dd>
      </dl>

    </section>

    <section anchor="Security" numbered="true">
      <name>Security Considerations</name>

      <t>The security considerations for the NQB PHB relate to the potential to impact the capacity available or delay experienced by other flows that share a bottleneck on the path with traffic that is marked with the recommended NQB DSCP.</t>

      <t>Full support for the NQB PHB in bottleneck links limits the
      incentives for a Queue-Building application to mismark mis-mark its packets as
      NQB, particularly for implementations that support traffic protection.
      If a Queue-Building microflow were to mismark mis-mark
      its packets as NQB, it would be unlikely to receive a benefit by
      doing so, and it would usually experience a degradation, in contrast
      to mismarking mis-marking its packets for a higher-priority PHB, e.g., the EF PHB
      <xref target="RFC3246"/>.
      The nature of the degradation would depend on the specifics of the PHB implementation, including response to NQB buffer overflow (and on the presence or absence of a traffic protection function), function) but could include excessive packet loss, excessive delay variation variation, and/or excessive out-of-order delivery. If a Non-Queue-Building microflow was were to fail to mark its packets as NQB, it could suffer the delay and loss typical of sharing a queue with capacity seeking capacity-seeking traffic.</t>

      <t>To preserve low delay low-delay performance for NQB traffic, networks that support the NQB PHB will need to ensure that mechanisms are in place to prevent malicious traffic marked with the NQB DSCP from causing excessive queue delay.  <xref target="traffic_protection"/> recommends the implementation of a traffic protection mechanism to achieve this goal.  The recommendations on traffic protection mechanisms in this document presume that some type of "flow" state be maintained in order to differentiate between microflows that are causing queuing delay and those that aren't.  Since this flow state is likely finite, this opens up the possibility of flow-state exhaustion attacks.  While this document requires that traffic protection mechanisms be designed with this possibility in mind, the outcomes of flow-state exhaustion would depend on the implementation.</t>

      <t>If traffic protection is not implemented or is not able to
      prevent queue formation in the NQB shallow buffer, the limited size
      of that buffer will cause a growing queue to overrun that buffer,
      resulting in negative effects (e.g., reforwarding as Default, discarding)
      that potentially impact multiple NQB-marked microflows, independent of whether each affected
      microflow contributed to queue formation. As discussed elsewhere in
      this draft, document, those negative effects serve to discourage misuse and abuse of
      NQB by QB traffic, but the negative side effects on NQB traffic that
      is using NQB (and the associated shallow buffer) as intended
      motivates limiting the effects of shallow buffer overrun via per-user provisioning limits
      that prevent queue overrun effects from affecting other users (see <xref target="primary"/>).</t>

      <t>Notwithstanding the above, the choice of DSCP for NQB does allow existing Wi-Fi networks to readily (and by default) support some of the PHB requirements, but without a traffic protection function, and (when left in the default state) by giving NQB traffic higher priority than QB traffic. This is not considered to be a compliant implementation of the PHB. These existing Wi-Fi networks currently provide priority to half of the DSCP space, whether or not 45 (decimal) is assigned to the NQB DSCP.  While the NQB DSCP value could also be abused to gain priority on such links, the potential presence of traffic protection functions in other hops along the path (which likely act on the NQB DSCP value alone) would make it less attractive for such abuse than any of the other 31 DSCP values that are given priority.</t>

      <t>This document discusses the potential use of the NQB DSCP and NQB PHB in network technologies that are standardized in other SDOs. Any security considerations that relate to deployment and operation of NQB solely in specific network technologies are not discussed here.</t>

      <t>NQB uses the Diffserv field. The design of Diffserv does not include integrity protection for the DSCP, and thus DSCP; thus, it is possible for the DSCP to be changed by an on-path attacker. The NQB PHB and associated DSCP don't change this. While re-marking DSCPs is permitted for various reasons (some are discussed in this document, others can be found in <xref target="RFC2474"/> and <xref target="RFC2475"/>), if done maliciously, this might negatively affect the QoS of the tampered microflow. Nonetheless, an on-path attacker can also alter other mutable fields in the IP header (e.g. (e.g., the TTL), which can wreak much more havoc than just altering QoS treatment.</t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

  <back>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>

        <reference anchor="RFC8085" target="https://www.rfc-editor.org/info/rfc8085" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8085.xml">
          <front>
            <title>UDP Usage Guidelines</title>
            <seriesInfo name="DOI" value="10.17487/RFC8085"/>
            <seriesInfo name="RFC" value="8085"/>
            <seriesInfo name="BCP" value="145"/>
            <author initials="L." surname="Eggert" fullname="L. Eggert">
              <organization/>
            </author>
            <author initials="G." surname="Fairhurst" fullname="G. Fairhurst">
              <organization/>
            </author>
            <author initials="G." surname="Shepherd" fullname="G. Shepherd">
              <organization/>
            </author>
            <date year="2017" month="March"/>
          </front>
        </reference>

        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8085.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8325.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2474.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8325.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2474.xml"/>
<!--        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.0791.xml"/> -->

      </references>

      <references>
        <name>Informative References</name>

        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2983.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3246.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2983.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2914.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3246.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8033.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2914.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8034.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8033.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8289.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8034.xml"/>
	<xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8290.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2475.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8289.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4594.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8290.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8100.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2475.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5127.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4594.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7893.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8100.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3551.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5127.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8083.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7893.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9330.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3551.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9331.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8083.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9332.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9330.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9435.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9331.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8622.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9332.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2598.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9435.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5681.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8622.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4301.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2598.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2661.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5681.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-briscoe-docsis-q-protection-07.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4301.xml"/>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9438.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2661.xml"/>
<!-- [RFC9957];
draft-briscoe-docsis-q-protection-07 companion document
-->
<reference anchor="RFC9957" target="https://www.rfc-editor.org/info/rfc9957">
   <front>
      <title>The DOCSIS(r) Queue Protection Algorithm to Preserve Low Latency</title>
      <author initials="B." surname="Briscoe" fullname="Bob Briscoe" role="editor">
         <organization>Independent</organization>
      </author>
      <author initials="G." surname="White" fullname="Greg White">
         <organization>CableLabs</organization>
      </author>
      <date month="April" year="2026" />
   </front>
  <seriesInfo name="RFC" value="9957"/>
  <seriesInfo name="DOI" value="10.17487/RFC9957"/>
</reference>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-ccwg-bbr-03.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9438.xml"/>

<!-- [BBR-CC]
draft-ietf-ccwg-bbr-04
IESG State: I-D Exists as of 2/10/26
-->
<reference anchor="BBR-CC" target="https://datatracker.ietf.org/doc/html/draft-ietf-ccwg-bbr-04">
   <front>
      <title>BBR Congestion Control</title>
      <author initials="N." surname="Cardwell" fullname="Neal Cardwell" role="editor">
         <organization>Google</organization>
      </author>
      <author initials="I." surname="Swett" fullname="Ian Swett" role="editor">
         <organization>Google</organization>
      </author>
      <author initials="J." surname="Beshay" fullname="Joseph Beshay" role="editor">
         <organization>Meta</organization>
      </author>
      <date month="October" day="20" year="2025" />
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-ccwg-bbr-04" />

</reference>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5865.xml"/> href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5865.xml"/>

<!-- [rfced] FYI, for the [Custura] reference, we found a PDF for this
article from the TMA website and added it. Please let us know if you
have any objections.
-->
        <reference anchor="Custura"> anchor="Custura" target="https://tma.ifip.org/wp-content/uploads/sites/7/2017/06/mnm2017_paper13.pdf">
          <front>
            <title>Exploring DSCP modification pathologies in mobile edge networks</title>
            <seriesInfo name="TMA" value=""/>
            <author initials="A." surname="Custura"/>
            <author initials="A." surname="Venne"/>
            <author initials="G." surname="Fairhurst"/>
            <date year="2017"/>
          </front>
          <refcontent>Network Traffic Measurement and Analysis Conference (TMA)</refcontent>
        </reference>
<!-- [rfced] FYI, for the [Barik] reference, we found a PDF for
this article from the International Teletraffic Congress (ITC) website
(https://itc-conference.org/itc-library/itc30.html) and added it.
-->
        <reference anchor="Barik"> anchor="Barik" target="https://gitlab2.informatik.uni-wuerzburg.de/itc-conference/itc-publications-public/-/raw/master/itc30/Barik18ITC30.pdf?inline=true">
          <front>
            <title>Can WebRTC QoS Work? A DSCP Measurement Study</title>
            <seriesInfo name="ITC" value="30"/>
            <author initials="R." surname="Barik"/>
            <author initials="M." surname="Welzl"/>
            <author initials="A." surname="Elmokashfi"/>
            <author initials="T." surname="Dreibholz"/>
            <author initials="S." surname="Gjessing"/>
            <date month="September" year="2018"/>
          </front>
          <refcontent>30th International Teletraffic Congress (ITC 30)</refcontent>
          <seriesInfo name="DOI" value="10.1109/ITC30.2018.00034"/>
        </reference>

<!--[rfced] Please review the [SA-5G] reference entry.  According to
the URL, the most current version is 20.0.0.  Should the
reference entry be updated to point to that version?  -->

        <reference anchor="SA-5G"> anchor="SA-5G" target="https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3144
">
          <front>
            <title>System Architecture for 5G</title> the 5G System (5GS)</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date month="June" year="2024"/>
          </front>
          <refcontent>TS 23.501 V18.6.0</refcontent>
          <seriesInfo name="3GPP" value="TS 23.501"/>
          <refcontent>Version 18.6.0, Release 18</refcontent>
        </reference>

<!-- [rfced] Please review reference entry [IEEE802-11].  This
reference points to a superseded version of IEEE Std 802.11 from
2020. The most current version is IEEE Std 802.11-2024. Would you
like this reference to point to the most current version?  -->
        <reference anchor="IEEE802-11" target="https://standards.ieee.org/standard/802_11-2020.html"> target="https://ieeexplore.ieee.org/document/9363693">
          <front>
            <title>IEEE 802.11-2020</title> Standard for Information Technology -- Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks -- Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date month="February" year="2021"/>
          </front>
          <seriesInfo name="IEEE" value="802"/>
            <author fullname="IEEE-SA"/> name="IEEE Std" value="802.11-2020"/>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2021.9363693"/>
        </reference>
<!-- Note to PE: XML for possible update to [IEEE802-11] (note
     the slashes in the title for double hyphens)
        <reference anchor="IEEE802-11-upd" target="https://ieeexplore.ieee.org/document/10979691">
          <front>
            <title>IEEE Standard for Information Technology -/- Telecommunications and Information Exchange between Systems Local and Metropolitan Area Networks -/- Specific Requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date month="December" year="2020"/> month="April" year="2025"/>
          </front>
          <seriesInfo name="IEEE Std" value="802.11-2024"/>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2025.10979691"/>
        </reference>
-->

<!-- [rfced] The date for the [TR-369] reference is January 2022;
however, the URL for this reference points to a Broadband Forum
specification with an issue date of July 2025.

We have updated this reference to match the information provided at
the URL. Please let us know if you have any objections.
-->
        <reference anchor="TR-369" target="https://usp.technology/specification/index.html">
          <front>
            <title>The User Services Platform</title>
            <author>
              <organization>Broadband Forum</organization>
            </author>
            <date year="2022" month="January"/> year="2025" month="July"/>
          </front>
          <refcontent>Issue: 1 Amendment 4 Corrigendum 2</refcontent>
        </reference>
        <reference anchor="QOS_TRAFFIC_TYPE" target="https://learn.microsoft.com/en-us/windows/win32/api/qos2/ne-qos2-qos_traffic_type">
          <front>
            <title>QOS_TRAFFIC_TYPE enumeration</title> enumeration (qos2.h)</title>
            <author>
              <organization>Microsoft, Corporation</organization>
            </author>
            <date month="January" year="2022"/>
          </front>
        </reference>
        <reference anchor="LOW_LATENCY_DOCSIS" target="https://cablela.bs/low-latency-docsis-technology-overview-february-2019">
          <front>
            <title>Low Latency DOCSIS: Technology Overview</title>
            <author>
              <organization>CableLabs</organization>
            </author>
            <date year="2019" month="February"/>
          </front>
        </reference>

<!-- [rfced] The [Gettys2021] reference points to an article from
the "Communications of the ACM"; however, the DOI provided for this
reference (https://doi.org/10.1145/2063166.2071893) points
to an article from "ACM Queue" with a different publication date.

We updated this reference to point to the DOI for the "Communications
of the ACM" version of this article (note that this version is also
free access): https://dl.acm.org/doi/10.1145/2063176.2063196.
-->
        <reference anchor="Gettys2012">
          <front>
            <title>Bufferbloat: Dark Buffers in the Internet</title>
            <author initials="J." surname="Gettys" /> surname="Gettys"/>
            <author initials="K." surname="Nichols" /> surname="Nichols"/>
            <date month="January" year="2012" /> year="2012"/>
          </front>
          <seriesInfo name="Communications
          <refcontent>Communications of the ACM" value="Vol. ACM, vol. 55, No. no. 1, pp. 57-65" /> 57-65</refcontent>
          <seriesInfo name="DOI" value="10.1145/2063166.2071893"/> value="10.1145/2063176.2063196"/>
        </reference>

<!-- [rfced] Please review reference [Cardwell2017]. The author
information provided for this reference did not match in the
information at the URL. We have updated this reference to match
what was available at the URL.

Original:
   [Cardwell2017]
              Cardwell, N., Cheng, Y., Jacobson, V., Iyengar, J., Swett,
              I., and B. Yan, "BBR: Congestion-Based Congestion
              Control", Communications of the ACM Vol. 60, No. 2, pp.
              58-66, DOI 10.1145/3009824, February 2017,
              <https://doi.org/10.1145/3009824>.
Current:
   [Cardwell2017]
              Cardwell, N., Cheng, Y., Gunn, C. S., Yeganeh, S. H., and
              V. Jacobson, "BBR: Congestion-Based Congestion Control",
              Communications of the ACM, vol. 60, no. 2, pp. 58-66,
              DOI 10.1145/3009824, February 2017,
              <https://doi.org/10.1145/3009824>.
-->
        <reference anchor="Cardwell2017">
          <front>
            <title>BBR: Congestion-Based Congestion Control</title>
            <author initials="N." surname="Cardwell" /> surname="Cardwell"/>
            <author initials="Y." surname="Cheng" />
            <author initials="V." surname="Jacobson" /> surname="Cheng"/>
            <author initials="J." surname="Iyengar" /> fullname="C. Stephen Gunn"/>
            <author initials="I." surname="Swett" /> fullname="Soheil Hassas Yeganeh"/>
            <author initials="B." surname="Yan" /> initials="V." surname="Jacobson"/>
            <date month="February" year="2017" /> year="2017"/>
          </front>
          <seriesInfo name="Communications
          <refcontent>Communications of the ACM" value="Vol. ACM, vol. 60, No. no. 2, pp. 58-66" /> 58-66</refcontent>
          <seriesInfo name="DOI" value="10.1145/3009824"/>
        </reference>

        <reference anchor="WikipediaBufferbloat" target="https://en.wikipedia.org/wiki/Bufferbloat"> target="https://en.wikipedia.org/w/index.php?title=Bufferbloat&amp;oldid=1292250296">
          <front>
            <title>Bufferbloat</title>
            <author>
              <organization>Wikipedia Contributors</organization>
              <organization>Wikipedia</organization>
            </author>
            <date day="23" month="May" year="2025" /> year="2025"/>
          </front>
        </reference>

      </references>
    </references>
    <section>
      <name>DSCP Re-marking Policies</name>

        <t>Some network operators typically bleach (zero out) the Diffserv field on ingress into their network (see <xref target="RFC9435"/><xref target="Custura"/><xref target="Barik"/>, target="RFC9435"/>, <xref target="Custura"/>, and <xref target="Barik"/>) and, in some cases cases, apply their own DSCP for internal usage. use. Bleaching the NQB DSCP is not expected to cause harm to Default traffic, but it will severely limit the ability to provide NQB treatment. Reports on existing deployments of DSCP manipulation (see <xref target="Custura"/><xref target="Barik"/> target="Custura"/> and <xref target="Barik"/>) categorize the re-marking behaviors into the following six policies:  bleach all traffic (set DSCP to zero), zero); set the top three bits (the former Precedence bits) on all traffic to 0b000, 0b001, or 0b010, 0b010; set the low three bits on all traffic to 0b000, 0b000; or re-mark all traffic to a particular (non-zero) DSCP value.</t>

        <t>Regarding the DSCP value 45 (decimal), there were no observations of DSCP manipulation reported in which traffic was marked 45 (decimal) by any of these policies.  Thus  Thus, it appears that these re-marking policies would be unlikely to result in QB traffic being marked as NQB (45).  In terms of the fate of traffic marked with the NQB DSCP that is subjected to one of these policies, it would be indistinguishable from some subset (possibly all) of other traffic.  In the policies where all traffic is re-marked using the same (zero or non-zero) DSCP, the ability for a subsequent network hop to differentiate NQB traffic via DSCP would clearly be lost entirely.</t>

        <t>In the policies where the top three bits are overwritten (see <xref target="RFC9435" section="4.2"/>), the NQB DSCP (45) would receive the same marking as would the currently unassigned Pool 3 DSCPs 5,13,21,29,37,53,61, (5, 13, 21, 29, 37, 53, and 61), with all of these DSCPs getting re-marked to DSCP = 5, 13 13, or 21 (depending on the overwrite value used). Since none of the DSCPs in the preceding lists are currently assigned by IANA, and they all are reserved for Standards Action, it is believed that they are not widely used currently, but currently; however, this could vary based on local-usage, local-usage and could change in the future. If networks in which this sort of re-marking occurs (or or networks downstream) downstream classify the resulting DSCP (i.e. (i.e., 5, 13, or 21) to the NQB PHB, PHB or re-mark such traffic as 45 (decimal), they risk giving NQB treatment to other traffic that was not originally marked as NQB.  In addition, as described in <xref target="RFC9435" section="6"/> future assignments of these 0bxxx101 DSCPs would need to be made with consideration of the potential that they all are treated as NQB in some networks.</t>

        <t>For the policy in which the low three bits are set to 0b000, the NQB (45) DSCP value 45 (decimal) would be re-marked to CS5 and would be indistinguishable from CS5, VA, and EF (and the currently unassigned DSCPs 41, 42, and 43).  Traffic marked using the existing standardized DSCPs in this list are likely to share the same general properties as NQB traffic (non-capacity-seeking, (non-capacity-seeking and very low data rate or rate, relatively low data rate, and consistent data rate). Similarly, any future recommended usage for DSCPs 41, 42, 43 would likely be somewhat compatible with NQB treatment, assuming that IP Precedence compatibility (see <xref target="RFC4594" section="1.5.4"/>) is maintained in the future. Here there might be an opportunity for a node to provide the NQB PHB or the CS5 PHB to CS5-marked traffic and retain some of the benefits of NQB marking.  This could be another motivation to classify CS5-marked traffic into the NQB queue (as discussed in <xref target="aggregation2"/>).</t>

    </section>
    <section anchor="EF">
      <name>Comparison with Expedited Forwarding</name>

      <t>The Expedited Forwarding definition <xref target="RFC3246"/> provides the following text to describe the EF PHB forwarding behavior: "This behavior:</t>
      <blockquote>
This specification defines a PHB in which EF packets are guaranteed
      to receive service at or above a configured rate" and "the rate</blockquote>
      <t>and</t>
      <blockquote>the rate at
which EF traffic is served at a given output interface should be at
least the configured rate R, over a suitably defined interval,
independent of the offered load of non-EF traffic to that interface."
      Notably, interface.</blockquote>
      <t>Notably, this description is true of any class of traffic that is configured with a guaranteed minimum rate, including the Default PHB if configured per the guidelines in <xref target="RFC4594" section="1.5.1"/>. <xref target="RFC3246"/> goes on to formalize the definition of EF by requiring that an EF node be characterizable in terms of the fidelity with which it is able to provide a guaranteed rate.</t>

      <t>While the NQB PHB is not required to be configured with a guaranteed minimum rate, <xref target="RFC2474"/> and <xref target="RFC4594"/> recommend assigning some minimum resources for the Default PHB, in particular particular, some dedicated capacity. If such a guaranteed minimum rate is configured for the Default PHB, it is recommended (<xref target="phb_requirements"/>) that NQB traffic share and be given equal access to that rate. In such cases, the NQB PHB could effectively receive a rate guarantee of (e.g.) (for example) 50% of the rate guaranteed to the combined NQB/Default PHBs, and so PHBs; therefore, it technically complies with the PHB forwarding behavior defined for EF. </t>

      <t>However, EF is intended to be a managed service, service and requires that traffic be policed such that the arriving rate of traffic into the EF PHB doesn't exceed the guaranteed forwarding rate configured for the PHB, thereby ensuring PHB.  This ensures that low delay and low delay variation are provided.  NQB is intended as a best effort service, and hence service; hence, the aggregate of traffic arriving to the NQB PHB queue could exceed the forwarding rate available to the PHB. <xref target="traffic_protection"/> discusses the recommended mechanism for handling excess traffic in NQB.
      While EF relies on rate policing and dropping of excess traffic at the domain border, this is only one option for NQB. NQB primarily recommends traffic protection located at each potential bottleneck, where actual queuing can be detected and where excess traffic can be reclassified into the Default PHB rather than dropping it. Local traffic protection is more feasible for NQB, given the focus is on access networks, where one node is typically designed to be the known bottleneck where traffic control functions all reside. In contrast, EF is presumed to follow the Diffserv architecture <xref target="RFC2475"/> for core networks, where traffic conditioning is delegated to border nodes, nodes in order to simplify high capacity interior nodes.
      Further, NQB recommends a microflow-based mechanism to limit the performance impact of excess traffic to those microflows causing potential congestion of the NQB queue, whereas EF ignores microflow properties.
      Note that that, under congestion, low loss for NQB conformant NQB-conformant flows is only ensured if such a mechanism is operational. Note also that this mechanism for NQB operates at the available forwarding rate for the PHB (which could vary based on other traffic load) as opposed to a configured guaranteed rate, as in EF.</t>

      <t>The lack of a requirement of a guaranteed minimum rate, and the lack of a requirement to police incoming traffic to such a rate, makes the NQB PHB suitable for implementation in networks where link capacity is not or cannot be guaranteed.</t>

      <t>There are additional distinctions between EF and NQB arising from the intended usage as described in <xref target="RFC4594"/> and the actual usage in practice in the Internet. In <xref target="RFC4594" section="1.5.3"/>, EF is described as generally being used to carry voice or data that requires "wire like" "wire-like" behavior through the network.
      The NQB PHB similarly is useful to carry application traffic requiring wire like wire-like performance, characterized by low delay and low delay-variation, delay variation, but places a pre-condition that each microflow be relatively low data rate and sent in a smooth (non-bursty) manner. In actual practice, EF traffic is oftentimes prioritized over Default traffic. This contrasts with NQB traffic traffic, which is to be treated with the same forwarding precedence as Default (and sometimes aggregated with Default).</t>

    </section>

    <section>
      <name>Impact on Higher Layer Protocols</name>
      <t>The NQB PHB itself has no impact on higher layer protocols, protocols because it only isolates NQB traffic from non-NQB. However, traffic protection of the PHB can have unintended side-effects side effects on higher layer protocols. Traffic protection introduces the possibility that microflows classified into the NQB queue could experience out-of-order delivery or packet loss if their behavior is not consistent with the NQB sender requirements. Out-of-order delivery could be particularly likely if the traffic protection algorithm makes decisions on a packet-by-packet basis. In this scenario, a microflow that is (mis)marked (mis-)marked as NQB and that causes a queue to form in this bottleneck link could see some of its packets forwarded by the NQB queue, queue and some of them either discarded or redirected to the QB queue.  In the case of redirection, depending on the queuing delay and scheduling within the network element, this could result in packets being delivered out of order.  As a result, the use of the NQB DSCP by a higher layer protocol carries some risk that an increased amount of out-of-order delivery or packet loss will be experienced. This characteristic provides one disincentive for incorrectly setting the NQB DSCP on traffic that doesn't comply with the NQB sender requirements.</t>
    </section>

    <section>
    <name>Alternative Diffserv Code Points</name>
        <t>In networks where the DSCP 45 (decimal) is already in use for another (e.g., a local-use) purpose, purpose or where specialized PHBs are available that can meet specific application requirements (e.g., a guaranteed-delay path for voice traffic), it could be preferred to use of another DSCP.</t> DSCP value could be preferred.</t>
        <t>In end systems where the choice of using DSCP 45 (decimal) is not available to the application, the CS5 DSCP (40 decimal) could be used as a fallback.  See <xref target="aggregation2"/> for rationale as to why this choice could be fruitful.</t>
    </section>

    <section anchor="Acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t>Thanks to Gorry Fairhurst, Diego Lopez, Stuart Cheshire, Brian Carpenter, Bob Briscoe, Greg Skinner, Toke Hoeiland-Joergensen, Luca Muscariello, David Black, Jerome Henry, Steven Blake, Jonathan Morton, Roland Bless, Kevin Smith, Martin Dolly and Kyle Rose <contact fullname="Gorry Fairhurst"/>, <contact
      fullname="Diego Lopez"/>, <contact fullname="Stuart Cheshire"/>,
      <contact fullname="Brian Carpenter"/>, <contact fullname="Bob
      Briscoe"/>, <contact fullname="Greg Skinner"/>, <contact fullname="Toke
      Hoeiland-Joergensen"/>, <contact fullname="Luca Muscariello"/>, <contact
      fullname="David Black"/>, <contact fullname="Jerome Henry"/>, <contact
      fullname="Steven Blake"/>, <contact fullname="Jonathan Morton"/>,
      <contact fullname="Roland Bless"/>, <contact fullname="Kevin Smith"/>,
      <contact fullname="Martin Dolly"/>, and <contact fullname="Kyle Rose"/>
      for their review comments.  Thanks also to Gorry Fairhurst and Ana Custura <contact fullname="Gorry
      Fairhurst"/> and <contact fullname="Ana Custura"/> for their input on
      selection of appropriate DSCPs.</t> DSCPs.  Thanks to the following for IESG reviews and comments: <contact fullname="Mohamed Boucadair"/>, <contact fullname="Ketan Talaulikar"/>, <contact fullname="Mike Bishop"/>, <contact fullname="Roman Danyliw"/>, and <contact fullname="Éric Vyncke"/>.</t>
    </section>

<!--[rfced] We had the following questions related to terminology used
throughout the document:

a) Please review how terms with bearer are treated in the Mobile
Networks section.  For instance, we see:

"bearer"
"dedicated bearer"
"best effort" bearer
"best effort" default bearer
default EPS bearer
Data Radio Bearer

Should these be made more similar in terms of quotation and
capitalization?  If so, please let us know which forms are preferred.

b) Please review the use of the following similar values:

i) DSCP value 45 (decimal) vs. DSCP 45 (decimal) vs. DSCP 45

May these be made consistently:

DSCP value 45 (decimal)

ii) NQB DSCP 45 (decimal) vs. NQB DSCP (45 decimal) vs. NQB (45)
vs. NQB DSCP (45) vs. NQB (45) value

May these be made consistently:

NQB DSCP 45 (decimal)

iii) 45 (decimal)

Can you review these uses and let us know if they refer to i or ii above?

iv) May we treat other DSCP numbers similarly?  Some examples:

Current:
...DSCPs 41, 42, 43).

Perhaps:
...DSCP values 41, 42, and 43 (all decimal)).

Current:
...CS5 DSCP (40 decimal)

Perhaps:
... CS5 DSCP value 40 (decimal)

c) Please review these similar uses for consistency:

classic congestion control algorithm
"classic congestion control" (capped because introducing a term)

In the companion document (draft-briscoe-docsis-q-protection-07), we see:

'Classic" congestion control (and 'Scalable' congestion control)
Classic queue
Classic traffic
classic congestion controllers

Should these be made more consistent within the cluster?

Further, is the Classic queue the same as the Default queue?  Or are these different things?

d) We several uses like the following:

Original:
...that are relatively low data rate...

...be relatively low data rate...

Where we would have expected "have a relatively low data rate".  May
we update these as such?

e) Please let us know if the following terms should be made consistent
and if so which of the following forms is preferred with relation to
capitalization, quotation, spelling, etc.

Note: "Diffserv" (rather than "DiffServ") is preferred, as noted
on the Terms list (https://www.rfc-editor.org/rpc/wiki/doku.php?id=terms).

Best Effort Access Category vs. "Best Effort" Access Category
(see also best-effort service

Default vs. default

differentiated service class vs. DiffServ Service Classes

differentiated services vs. Differentiated Services

Diffserv Domain vs. DiffServ domain vs. Diffserv domain

Field vs. field (when describing Diffserv or DSCP)

higher-than-necessary vs. higher-than-needed

low data rate applications vs. low-rate applications

quality of experience vs. Quality of Experience

Video Access Category vs. "Video" Access Category

f) We'd like to add hyphens to these terms, so they would appear as
follows. Please let us know if this is acceptable.

   delay-sensitive applications / traffic
   high-capacity interior nodes
   low-data-rate microflow / application
   low-delay performance / variation services
   low-latency queue (both forms are used in RFCs 9330-9332)
   rate-shaped capacity
   rate-shaping function
-->

<!-- [rfced] We had the following comments/questions related to
abbreviation use throughout the document:

a) We have added expansions for abbreviations upon first use per
Section 3.6 of RFC 7322 ("RFC Style Guide"). Please review each
expansion in the document carefully to ensure correctness.

b) How may we expand the following abbreviations on first use?

CE
AS

c) FYI - We will remove expansions (i.e., use the abbreviation) for
instances of the expanded form of abbreviations on uses subsequent to
initial expansion for the following (per the guidance at
https://www.rfc-editor.org/styleguide/part2/#exp_abbrev):

NQB
QB
DSCP
TCA
CS
QoS
EDCA
EF
-->

<!-- Possibly [rfced] Please review the "Inclusive Language" portion of the online
Style Guide <https://www.rfc-editor.org/styleguide/part2/#inclusive_language>
and let us know if any changes are needed.  Updates of this nature typically
result in more precise language, which is helpful for readers.

Note that our script did not flag any words in particular, but this
should still be reviewed as a 'Contributors' section ... best practice.

In addition, please consider whether "traditional" and "traditionally"
should be updated for clarity.  While the NIST website
<https://web.archive.org/web/20250214092458/https://www.nist.gov/nist-research-library/nist-technical-series-publications-author-instructions#table1>
indicates that this term is potentially biased, it is also ambiguous.
"Tradition" is a subjective term, as it is not the same for everyone.
-->

  </back>
</rfc>
<!-- vim: ft=xml tabstop=2 expandtab:
-->