rfc9956.original   rfc9956.txt 
Transport Area Working Group G. White Internet Engineering Task Force (IETF) G. White
Internet-Draft CableLabs Request for Comments: 9956 CableLabs
Updates: 8325 (if approved) T. Fossati Updates: 8325 T. Fossati
Intended status: Standards Track Linaro Category: Standards Track Linaro
Expires: 20 March 2026 R. Geib ISSN: 2070-1721 R. Geib
Deutsche Telekom Deutsche Telekom
16 September 2025 April 2026
A Non-Queue-Building Per-Hop Behavior (NQB PHB) for Differentiated A Non-Queue-Building Per-Hop Behavior (NQB PHB) for Differentiated
Services Services
draft-ietf-tsvwg-nqb-33
Abstract Abstract
This document specifies characteristics of a Non-Queue-Building Per- This document specifies characteristics of a Non-Queue-Building Per-
Hop Behavior (NQB PHB). The NQB PHB provides a shallow-buffered, Hop Behavior (NQB PHB). The NQB PHB provides a shallow-buffered,
best-effort service as a complement to a Default deep-buffered best- best-effort service as a complement to a Default deep-buffered, best-
effort service for Internet services. The purpose of this NQB PHB is effort service for Internet services. The purpose of this NQB PHB is
to provide a separate queue that enables smooth (i.e. non-bursty), to provide a separate queue that enables smooth (i.e., non-bursty),
low-data-rate, application-limited traffic microflows, which would low-data-rate, application-limited traffic microflows, which would
ordinarily share a queue with bursty and capacity-seeking traffic, to ordinarily share a queue with bursty and capacity-seeking traffic, to
avoid the delay, delay variation and loss caused by such traffic. avoid the delay, delay variation and loss caused by such traffic.
This PHB is implemented without prioritization and can be implemented This PHB is implemented without prioritization and can be implemented
without rate policing, making it suitable for environments where the without rate policing, making it suitable for environments where the
use of these features is restricted. The NQB PHB has been developed use of these features is restricted. The NQB PHB has been developed
primarily for use by access network segments, where queuing delay and primarily for use by access network segments, where queuing delay and
queuing loss caused by Queue-Building protocols are manifested, but queuing loss caused by Queue-Building (QB) protocols are manifested;
its use is not limited to such segments. In particular, the however, its use is not limited to such segments. In particular, the
application of NQB PHB to cable broadband links, Wi-Fi links, and application of NQB PHB to cable broadband links, Wi-Fi links, and
mobile network radio and core segments are discussed. This document mobile network radio and core segments are discussed. This document
recommends a specific Differentiated Services Code Point (DSCP) to recommends a specific Differentiated Services Code Point (DSCP) to
identify Non-Queue-Building microflows, and updates the RFC8325 identify Non-Queue-Building microflows and updates the guidance in
guidance on mapping differentiated services (Diffserv) to IEEE 802.11 RFC 8325 on mapping differentiated services (Diffserv) to IEEE 802.11
for this codepoint. for this codepoint.
[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.]
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 20 March 2026. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9956.
Copyright Notice Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 2. Requirements Language
3. Context . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Context
3.1. Non-Queue-Building Behavior . . . . . . . . . . . . . . . 5 3.1. Non-Queue-Building Behavior
3.2. Relationship to the Diffserv Architecture . . . . . . . . 6 3.2. Relationship to the Diffserv Architecture
3.3. Relationship to L4S . . . . . . . . . . . . . . . . . . . 7 3.3. Relationship to L4S
3.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 8 3.4. Applicability
4. Non-Queue-Building Sender Requirements . . . . . . . . . . . 8 4. Non-Queue-Building Sender Requirements
5. Non-Queue-Building PHB Requirements . . . . . . . . . . . . . 10 5. Non-Queue-Building PHB Requirements
5.1. Primary Requirements . . . . . . . . . . . . . . . . . . 11 5.1. Primary Requirements
5.2. Traffic Protection . . . . . . . . . . . . . . . . . . . 13 5.2. Traffic Protection
5.3. Limiting Packet Bursts from Links . . . . . . . . . . . . 16 5.3. Limiting Packet Bursts from Links
5.4. Treatment of the Explicit Congestion Notification 5.4. Treatment of the Explicit Congestion Notification Field
field . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6. Operational Considerations
6. Operational Considerations . . . . . . . . . . . . . . . . . 17 6.1. NQB Traffic Identification
6.1. NQB Traffic Identification . . . . . . . . . . . . . . . 18 6.2. Aggregation of the NQB DSCP into Another Diffserv PHB
6.2. Aggregation of the NQB DSCP into another Diffserv PHB . . 18 6.3. Aggregation of Other DSCPs into the NQB PHB
6.3. Aggregation of other DSCPs into the NQB PHB . . . . . . . 19 6.4. Cross-Domain Usage and DSCP Re-marking
6.4. Cross-domain usage and DSCP Re-marking . . . . . . . . . 19 6.4.1. Interoperability with Non-DS-Capable Domains
6.4.1. Interoperability with Non-DS-Capable Domains . . . . 20 6.5. The NQB DSCP and Tunnels
6.6. Guidance for Lower-Rate Links
6.5. The NQB DSCP and Tunnels . . . . . . . . . . . . . . . . 22 7. Mapping NQB to Standards of Other SDOs
6.6. Guidance for Lower-Rate Links . . . . . . . . . . . . . . 22 7.1. DOCSIS Access Networks
7. Mapping NQB to standards of other SDOs . . . . . . . . . . . 23 7.2. Mobile Networks
7.1. DOCSIS Access Networks . . . . . . . . . . . . . . . . . 23 7.3. Wi-Fi Networks
7.2. Mobile Networks . . . . . . . . . . . . . . . . . . . . . 24 7.3.1. Interoperability with Existing Wi-Fi Networks
7.3. Wi-Fi Networks . . . . . . . . . . . . . . . . . . . . . 24 7.3.2. The Updates to RFC 8325
7.3.1. Interoperability with Existing Wi-Fi Networks . . . . 25 8. IANA Considerations
7.3.2. The Updates to RFC 8325 . . . . . . . . . . . . . . . 28 9. Security Considerations
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29 10. References
9. Implementation Status . . . . . . . . . . . . . . . . . . . . 29 10.1. Normative References
10. Security Considerations . . . . . . . . . . . . . . . . . . . 30 10.2. Informative References
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 31 Appendix A. DSCP Re-marking Policies
11.1. Normative References . . . . . . . . . . . . . . . . . . 31 Appendix B. Comparison with Expedited Forwarding
11.2. Informative References . . . . . . . . . . . . . . . . . 32 Appendix C. Impact on Higher Layer Protocols
Appendix A. DSCP Re-marking Policies . . . . . . . . . . . . . . 36 Appendix D. Alternative Diffserv Code Points
Appendix B. Comparison with Expedited Forwarding . . . . . . . . 37 Acknowledgements
Appendix C. Impact on Higher Layer Protocols . . . . . . . . . . 39 Authors' Addresses
Appendix D. Alternative Diffserv Code Points . . . . . . . . . . 39
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 40
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 40
1. Introduction 1. Introduction
This document defines a Differentiated Services per-hop behavior This document defines a Differentiated Services per-hop behavior
(PHB) called the "Non-Queue-Building Per-Hop Behavior" (NQB PHB), (PHB) called the "Non-Queue-Building Per-Hop Behavior" (or "NQB
which isolates traffic microflows (application-to-application flows, PHB"), which isolates traffic microflows (application-to-application
see Section 1.2 of [RFC2475]) that are relatively low data rate and flows, see Section 1.2 of [RFC2475]) that are relatively low data
that do not themselves materially contribute to queuing delay and rate and that do not themselves materially contribute to queuing
loss, allowing them to avoid the queuing delay and losses caused by delay and loss, allowing them to avoid the queuing delay and losses
other traffic. Such Non-Queue-Building microflows (for example: caused by other traffic. Non-Queue-Building microflows such as
interactive voice, game sync packets, certain machine-to-machine interactive voice, game sync packets, certain machine-to-machine
applications, DNS lookups, and some real-time IoT analytics data) are applications, DNS lookups, and some real-time Internet of Things
low-data-rate application-limited microflows that are distinguished (IoT) analytics data are low-data-rate, application-limited
from bursty traffic microflows and high-data-rate traffic microflows microflows. These can be distinguished from bursty traffic
managed by a classic congestion control algorithm, both of which microflows and high-data-rate traffic microflows managed by a classic
cause queuing delay and loss. The term "classic congestion control" congestion control algorithm (both of which cause queuing delay and
is defined in [RFC9330] to mean one that coexists with standard Reno loss). The term "classic congestion control" is defined in [RFC9330]
congestion control [RFC5681]. In this document we will use the term to mean congestion control that coexists with standard Reno
Queue-Building (QB) to refer to microflows that cause queuing delay congestion control [RFC5681]. In this document, we will use "Queue-
Building" (or "QB") to refer to microflows that cause queuing delay
and loss. See Section 1.2 of [RFC2475] for definitions of other and loss. See Section 1.2 of [RFC2475] for definitions of other
terminology used in this document. terminology used in this document.
In accordance with IETF guidance in [RFC2914] and [RFC8085], most In accordance with IETF guidance in [RFC2914] and [RFC8085], most
packets carried by access networks are managed by an end-to-end packets carried by access networks are managed by an end-to-end
congestion control algorithm. Many of the commonly-deployed congestion control algorithm. Many of the commonly deployed
congestion control algorithms, such as Reno [RFC5681], Cubic congestion control algorithms, such as Reno [RFC5681], Cubic
[RFC9438] or BBR [I-D.ietf-ccwg-bbr], are designed to seek the [RFC9438], or BBR [BBR-CC], are designed to seek the available
available capacity of the path from sender to receiver (which can capacity of the path from sender to receiver (which can frequently be
frequently be the access network link capacity), and in doing so the access network link capacity). In doing so, they generally
generally overshoot the available capacity, causing a queue to build overshoot the available capacity, causing a queue to build up at the
up at the bottleneck link. This queue build-up results in variable bottleneck link. This queue buildup results in variable delay and
delay and packet loss that can affect all the applications that are packet loss that can affect all the applications that are sharing the
sharing the bottleneck link. Moreover, many bottleneck links bottleneck link. Moreover, many bottleneck links implement a
implement a relatively deep buffer (100 ms or more) relatively deep buffer (100 ms or more) (see [Gettys2012],
[Gettys2012][Cardwell2017][WikipediaBufferbloat][I-D.ietf-ccwg-bbr] [Cardwell2017], [WikipediaBufferbloat], and [BBR-CC]) in order to
in order to enable these congestion control algorithms to use the enable these congestion control algorithms to use the link
link efficiently, which exacerbates the delay and delay variation efficiently, which exacerbates the delay and delay variation
experienced. experienced.
In contrast to applications that frequently cause queuing delay, In contrast to applications that frequently cause queuing delay,
there are a variety of relatively low data rate applications that do there are a variety of relatively low data rate applications that do
not materially contribute to queuing delay and loss but are not materially contribute to queuing delay and loss; nonetheless,
nonetheless subjected to it by sharing the same bottleneck link in they are subjected to it by sharing the same bottleneck link in the
the access network, in particular. Many of these applications can be access network. Many of these applications can be sensitive to delay
sensitive to delay or delay variation, as well as packet loss, and or delay variation, as well as packet loss; thus, they produce a poor
thus produce a poor quality of experience in such conditions. quality of experience in such conditions.
Active Queue Management (AQM) mechanisms intended for single queues Active Queue Management (AQM) mechanisms intended for single queues
(such as PIE [RFC8033], DOCSIS-PIE [RFC8034], PI2 [RFC9332], or CoDel (such as Proportional Integral Controller Enhanced (PIE) [RFC8033],
[RFC8289]) can improve the quality of experience for delay sensitive DOCSIS-PIE [RFC8034], PI2 [RFC9332], or CoDel [RFC8289]) can improve
applications, but there are practical limits to the amount of the quality of experience for delay-sensitive applications, but there
improvement that can be achieved without impacting the throughput of are practical limits to the amount of improvement that can be
capacity-seeking applications. For example, AQMs generally allow a achieved without impacting the throughput of capacity-seeking
significant amount of queue depth variation to accommodate the applications. For example, AQMs generally allow a significant amount
behaviors of congestion control algorithms such as Reno and Cubic. of queue depth variation to accommodate the behaviors of congestion
If the AQM attempted to control the queue depth much more tightly, control algorithms such as Reno and Cubic. If the AQM attempted to
applications using those algorithms would not fully utilize the link. control the queue depth much more tightly, applications using those
Alternatively, flow queuing systems, such as fq_codel [RFC8290] can algorithms would not fully utilize the link. Alternatively, flow-
be employed to isolate microflows from one another, but they are not queuing systems, such as fq_codel [RFC8290] can be employed to
isolate microflows from one another; however, they are not
appropriate for all bottleneck links due to reasons that include appropriate for all bottleneck links due to reasons that include
complexity. complexity.
The NQB PHB supports differentiating between these two classes of The NQB PHB supports differentiating between these two classes of
traffic in bottleneck links and queuing them separately so that both traffic in bottleneck links and queuing them separately so that both
classes can deliver satisfactory quality of experience for their classes can deliver satisfactory quality of experience for their
applications. In particular, the NQB PHB provides a shallow- applications. In particular, the NQB PHB provides a shallow-
buffered, best-effort service as a complement to a Default (see buffered, best-effort service as a complement to a Default (see
[RFC2474]) deep-buffered best-effort service. This PHB is designed [RFC2474]) deep-buffered, best-effort service. This PHB is designed
for broadband access network links, where there is minimal for broadband access network links, where there is minimal
aggregation of traffic, and especially when buffers are deep (see aggregation of traffic, and especially when buffers are deep (see
Section 3.4). The applicability of this PHB to lower-speed links is Section 3.4). The applicability of this PHB to lower-speed links is
discussed in Section 6.6. discussed in Section 6.6.
To be clear, a network implementing the NQB PHB solely provides To be clear, a network implementing the NQB PHB solely provides
isolation for traffic classified as behaving in conformance with the isolation for traffic classified as behaving in conformance with the
behaviors discussed in Section 3.1. A node supporting the NQB PHB behaviors discussed in Section 3.1. A node supporting the NQB PHB
makes no guarantees on delay or data rate for NQB-marked microflows makes no guarantees on delay or data rate for NQB-marked microflows
(beyond the delay bound provided by the shallow buffer), it is the (beyond the delay bound provided by the shallow buffer), it is the
NQB senders' behavior itself which results in low delay and low loss. NQB senders' behavior itself that results in low delay and low loss.
Section 6 and Section 7 of this document provide guidance for network Sections 6 and 7 of this document provide guidance for network
operators regarding appropriate forwarding of traffic marked with the operators regarding appropriate forwarding of traffic marked with the
NQB Differentiated Services Code Point (DSCP). The guidance includes NQB Differentiated Services Code Point (DSCP). The guidance includes
recommendations for the configuration of network nodes that support recommendations for the configuration of network nodes that support
the NQB PHB as well as for network nodes that do not support the PHB, the NQB PHB as well as for network nodes that do not support the PHB;
to allow NQB traffic to be forwarded in a way that aligns with the 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 goals for NQB treatment and supports the use of this code point by
other nodes and other networks. other nodes and other networks.
2. Requirements Language 2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Context 3. Context
3.1. Non-Queue-Building Behavior 3.1. Non-Queue-Building Behavior
There are applications that send traffic at relatively low data rates There are applications that send traffic at relatively low data rates
and/or in a fairly smooth and consistent manner such that they are and/or in a fairly smooth and consistent manner such that they are
unlikely to exceed the available capacity of the network path between unlikely to exceed the available capacity of the network path between
sender and receiver even at an inter-packet timescale. Some of these sender and receiver, even at an inter-packet timescale. Some of
applications are transactional in nature, and might only send one these applications are transactional in nature; they might only send
packet (or a few packets) per RTT. These applications might one packet (or a few packets) per RTT. These applications might
themselves only cause very small, transient queues to form in network themselves only cause very small, transient queues to form in network
buffers, but nonetheless they can be subjected to delay and delay buffers; nonetheless, they can be subjected to delay and delay
variation as a result of sharing a network buffer with applications variation as a result of sharing a network buffer with applications
that tend to cause large and/or standing queues to form. These that tend to cause large and/or standing queues to form. These
applications typically implement a response to network congestion applications typically implement a response to network congestion
that consists of discontinuing (or significantly reducing) that consists of discontinuing (or significantly reducing)
transmissions. These applications can be negatively affected by transmissions. These applications can be negatively affected by
excessive delay and delay variation. Such applications are ideal excessive delay and delay variation. Such applications are ideal
candidates to be queued separately from the applications that are the candidates to be queued separately from the applications that are the
cause of queue build-up, delay and loss. cause of queue buildup, delay, and loss.
In contrast, Queue-Building (QB) microflows include those that probe In contrast, Queue-Building (QB) microflows include those that probe
for the link capacity and induce delay and loss as a result, for for link capacity and induce delay and loss as a result, for example,
example microflows that use Cubic, Reno or other TCP/QUIC congestion microflows that use Cubic, Reno, or other TCP/QUIC congestion control
control algorithms in a capacity-seeking manner. Other types of QB algorithms in a capacity-seeking manner. Other types of QB
microflows include those that send at a high burst rate even if the microflows include those that send at a high burst rate even if the
long-term average data rate is much lower. long-term average data rate is much lower.
3.2. Relationship to the Diffserv Architecture 3.2. Relationship to the Diffserv Architecture
The IETF has defined the Differentiated Services architecture The IETF has defined the Differentiated Services architecture
[RFC2475] with the intention that it allows traffic to be marked in a [RFC2475] with the intention that it allows traffic to be marked in a
manner that conveys the performance requirements of that traffic manner that conveys the performance requirements of that traffic
either qualitatively or in a relative sense (e.g. priority). The either qualitatively or in a relative sense (e.g., priority). The
architecture defines the use of the Diffserv field [RFC2474] for this architecture defines the use of the Diffserv field [RFC2474] for this
purpose, and numerous RFCs have been written that describe purpose, and numerous RFCs have been written that describe
recommended interpretations of the values (Diffserv Code Points recommended interpretations of the values (Diffserv Code Points
[RFC2474]) of the field, and standardized treatments (traffic [RFC2474]) of the field, and standardized treatments (traffic
conditioning and per-hop-behaviors [RFC2475]) that can be implemented conditioning and per-hop-behaviors [RFC2475]) that can be implemented
to satisfy the performance requirements of traffic so marked. to satisfy the performance requirements of traffic so marked.
While this architecture is powerful and flexible enough to be While this architecture is powerful and flexible enough to be
configured to meet the performance requirements of a variety of configured to meet the performance requirements of a variety of
applications and traffic categories, or to achieve differentiated applications and traffic categories, or to achieve differentiated
service offerings, meeting the performance requirements of an service offerings, meeting the performance requirements of an
application across the entire sender-to-receiver path involves all application across the entire sender-to-receiver path involves all
the networks in the path agreeing on what those requirements are and the networks in the path agreeing on what those requirements are and
sharing an interest in meeting them. In many cases this is made more sharing an interest in meeting them. In many cases, this is made
difficult since the performance "requirements" are not strict ones more difficult since the performance "requirements" are not strict
(e.g., applications will degrade in some manner as loss, delay and/or ones (e.g., applications will degrade in some manner as loss, delay,
delay-variation increase), so the importance of meeting them for any and/or delay-variation increase), so the importance of meeting them
particular application in some cases involves a judgment as to the for any particular application in some cases involves a judgment as
value of avoiding some amount of degradation in quality for that to the value of avoiding some amount of degradation in quality for
application in exchange for an increase in the degradation of another that application in exchange for an increase in the degradation of
application. another application.
Further, in many cases the implementation of Diffserv PHBs has Further, in many cases, the implementation of Diffserv PHBs has
historically involved prioritization of service classes with respect historically involved prioritization of service classes with respect
to one another, which sets up the zero-sum game alluded to in the to one another, which sets up the zero-sum game alluded to in the
previous paragraph, and results in the need to limit access to higher previous paragraph and which results in the need to limit access to
priority classes via mechanisms such as access control, admission higher priority classes via mechanisms such as access control,
control, traffic conditioning and rate policing, and/or to meter and admission control, traffic conditioning and rate policing, and/or to
bill for carriage of such traffic. These mechanisms can be difficult meter and bill for carriage of such traffic. These mechanisms can be
or impossible to implement in the Internet. difficult or impossible to implement in the Internet.
In contrast, the NQB PHB has been designed with the goal that it In contrast, the NQB PHB has been designed with the goal that it
avoids many of these issues, and thus could conceivably be deployed avoids many of these issues; thus, it could conceivably be deployed
across the Internet. The intent of the NQB DSCP is that it signals across the Internet. The intent of the NQB DSCP is that it signals
verifiable behavior that permits the sender to request differentiated verifiable behavior that permits the sender to request differentiated
treatment. Also, the NQB traffic is to be given a separate queue treatment. Also, the NQB traffic is to be given a separate queue
with forwarding preference equal to Default traffic and given no with forwarding preference equal to Default traffic and given no
reserved capacity other than any minimum capacity that it shares with reserved capacity other than any minimum capacity that it shares with
Default traffic. As a result, the NQB PHB does not aim to meet Default traffic. As a result, the NQB PHB does not aim to meet
specific application performance requirements. Instead, the sole specific application performance requirements. Instead, the sole
goal of the NQB PHB is to isolate NQB traffic from other traffic that 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 causes an increase in loss, delay, and/or delay-variation, given that
the NQB traffic is itself only an insignificant contributor to those the NQB traffic is, itself, only an insignificant contributor to
degradations. The PHB is also designed to reduce the incentives for those degradations. The PHB is also designed to reduce the
a sender to mismark its traffic, since neither higher capacity nor incentives for a sender to mis-mark its traffic since neither higher
reserved capacity are being offered. These attributes eliminate many capacity nor reserved capacity are being offered. These attributes
of the trade-offs that underlie the handling of differentiated eliminate many of the trade-offs that underlie the handling of
service classes in the Diffserv architecture as it has traditionally differentiated service classes in the Diffserv architecture as it has
been defined. These attributes also significantly simplify access traditionally been defined. These attributes also significantly
control and admission control functions, reducing them to simple simplify access control and admission control functions, reducing
verification of behavior. This aspect is discussed further in them to simple verification of behavior. This aspect is discussed
Section 4 and Section 5.2. further in Sections 4 and 5.2.
The NQB PHB is therefore intended for the situation where the Therefore, the NQB PHB is intended for the situation where the
performance requirements of applications cannot be assured across the performance requirements of applications cannot be assured across the
whole sender-to-receiver path, and as a result, applications cannot whole sender-to-receiver path; as a result, applications cannot
feasibly place requirements on the network. Instead, many feasibly place requirements on the network. Instead, many
applications have evolved to make the best out of the network applications have evolved to make the best out of the network
environment that they find themselves in. In this context, the NQB environment that they find themselves in. In this context, the NQB
PHB is intended to provide a better network environment for PHB is intended to provide a better network environment for
applications that send data at relatively low and non-bursty data applications that send data at relatively low and non-bursty data
rates. rates.
In regards to comparison between the NQB PHB and other standardized In regard to a comparison between the NQB PHB and other standardized
PHBs in the Diffserv series, the closest similarity is to the PHBs in the Diffserv series, the closest similarity is to the
Expedited Forwarding (EF) PHB [RFC3246], which also intends to enable Expedited Forwarding (EF) PHB [RFC3246], which also intends to enable
low loss, low delay, and low delay variation services. Unlike EF, services that provide low loss, low delay, and low delay variation.
NQB has no requirement for a guaranteed minimum rate, nor to police Unlike EF, NQB has no requirement for a guaranteed minimum rate, nor
incoming traffic to such a rate, and NQB is expected to be given the does have a requirement to police incoming traffic to such a rate:
same forwarding preference as Default traffic. See Appendix B for a NQB is expected to be given the same forwarding preference as Default
more detailed comparison of the NQB and EF PHBs. traffic. See Appendix B for a more detailed comparison of the NQB
and EF PHBs.
In nodes that support multiple DiffServ Service Classes, NQB traffic In nodes that support multiple DiffServ Service Classes, NQB traffic
is intended to be treated as a part of the Default treatment. is intended to be treated as a part of the Default treatment.
Traffic assigned to this class does not receive better forwarding Traffic assigned to this class does not receive better forwarding
treatment (e.g., prioritization) with respect to other classes, AFxx, treatment (e.g., prioritization) with respect to other classes, AFxx,
EF, etc. Of course, traffic marked as NQB could (like other Default EF, etc. Of course, traffic marked as NQB could (like other Default
traffic) could receive better forwarding treatment with respect to traffic) receive better forwarding treatment with respect to Lower-
Lower-Effort (LE) [RFC8622] (e.g. the NQB queue could be emptied in a Effort (LE) [RFC8622] (e.g., the NQB queue could be emptied in a
priority sequence before the LE queue). priority sequence before the LE queue).
3.3. Relationship to L4S 3.3. Relationship to L4S
The NQB DSCP and PHB described in this document have been defined to In this document, the NQB DSCP and PHB have been defined to operate
operate independently of the L4S Architecture [RFC9330]. independently of the Low Latency, Low Loss, and Scalable throughput
Nonetheless, traffic marked with the NQB DSCP is intended to be (L4S) architecture [RFC9330]. Nonetheless, traffic marked with the
compatible with L4S [RFC9330], with the result being that NQB traffic NQB DSCP is intended to be compatible with L4S [RFC9330], with the
and L4S traffic can share the low-latency queue in an L4S DualQ node result being that NQB traffic and L4S traffic can share the low-
[RFC9332]. Compliance, by a network node, with the DualQ Coupled AQM latency queue in an L4S DualQ node [RFC9332]. A network node's
requirements (Section 2.5 of [RFC9332]) is considered sufficient to compliance with the DualQ Coupled AQM requirements (see Section 2.5
support the NQB PHB requirement of fair allocation of capacity of [RFC9332]) is considered sufficient to support the NQB PHB
between the QB and NQB queues (Section 5). Note that these requirement of fair allocation of capacity between the QB and NQB
requirements in turn require compliance with all the requirements in queues (Section 5). Note that these requirements, in turn, require
Section 5 of [RFC9331]. compliance with all the requirements in Section 5 of [RFC9331].
Applications that comply with both the NQB sender requirements in Applications that comply with both the NQB sender requirements in
Section 4 and the L4S "Prague" requirements in Section 4 of [RFC9331] 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) could mark their packets both with the NQB DSCP and with the ECT(1)
value. value.
In nodes that support both the NQB PHB and L4S, the L4S network In nodes that support both the NQB PHB and L4S, the L4S network
functions SHOULD treat packets marked with the NQB DSCP and ECT(1) or functions SHOULD 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 CE the same as packets marked with the Default DSCP and the same
value. Here, L4S network functions refers to the L4S Network Node Explicit Congestion Notification (ECN) value. Here, "L4S network
functions (Section 5 of [RFC9331]), and any mechanisms designed to functions" refers to the L4S Network Node functions (see Section 5 of
protect the L4S queue (such as those discussed in Section 8.2 of [RFC9331]), and any mechanisms designed to protect the L4S queue
[RFC9330]). The processing by an L4S node of an ECT(0) packet that (such as those discussed in Section 8.2 of [RFC9330]). The
is classified to the L queue (e.g. as a result of being marked with a processing by an L4S node of an ECT(0) packet that is classified to
NQB DSCP) is specified in Section 5.4.1.1 of [RFC9331] and the L queue (e.g., as a result of being marked with a NQB DSCP) is
Section 2.5.1.1 of [RFC9332]. specified in Section 5.4.1.1 of [RFC9331] and Section 2.5.1.1 of
[RFC9332].
Additionally, Section 5.4 places requirements on treatment of ECN- Additionally, Section 5.4 places requirements on treatment of ECN-
marked packets by a node that support the NQB PHB. marked packets by a node that supports the NQB PHB.
3.4. Applicability 3.4. Applicability
This PHB is primarily applicable for high-speed broadband access This PHB is primarily applicable for high-speed broadband access
network links, where there is minimal aggregation of traffic, and network links, where there is minimal aggregation of traffic and deep
deep buffers are common. buffers are common.
In many other links, forwarding NQB-marked packets using the Default In many other links, forwarding NQB-marked packets using the Default
treatment might be sufficient to preserve the loss, delay and delay- treatment might be sufficient to preserve the loss, delay, and delay-
variation performance for NQB traffic. This is generally true in variation performance for NQB traffic. This is generally true in
links that do not typically experience congestion (for example, many links that do not typically experience congestion (for example, many
backbone and core network links), and in highly aggregated links backbone and core network links) and in highly aggregated links
(links designed to carry a large number of simultaneous microflows) (links designed to carry a large number of simultaneous microflows)
where individual microflow burstiness is averaged out and thus is where individual microflow burstiness is averaged out and, thus, is
unlikely to cause much actual delay. Section 6.2 provides unlikely to cause much actual delay. Section 6.2 provides
recommendations for configuration of network nodes in such cases. recommendations for configuration of network nodes in such cases.
4. Non-Queue-Building Sender Requirements 4. Non-Queue-Building Sender Requirements
Microflows that are eligible to be marked with the NQB DSCP are ones 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 that send non-bursty traffic at a low data rate relative to typical
network path capacities. Here the data rate is limited by the network path capacities. Here, the data rate is limited by the
application itself rather than by network capacity - these microflows application itself rather than by network capacity: these microflows
send at a data rate of no more than about 1 percent of the "typical" send at a data rate of no more than about 1% of the "typical" network
network path capacity. In addition, these microflows are required to path capacity. In addition, these microflows are required to be sent
be sent in a smooth (i.e. paced) manner, where the number of IP bytes in a smooth (i.e., paced) manner, where the number of IP bytes sent
sent in any time interval "T" is less than or equal to (R * T) + MTU, 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, where "R" is the maximum rate described in the preceding sentence,
expressed in bytes-per-second. For example, in today's Internet, expressed in bytes-per-second. For example, at the time of writing,
where access network data rates are typically on the order of 50 Mbps access network data rates are typically on the order of 50 Mbps or
or more (and see Section 6.6 for a discussion of cases where this more in the Internet (see Section 6.6 for a discussion of cases where
isn't true), this implies 500 kbps as an upper limit. Note that this isn't true): this implies 500 kbps as an upper limit. Note that
microflows are unidirectional while application traffic is often microflows are unidirectional while application traffic is often
bidirectional (i.e., an application instance might consist of one or bidirectional (i.e., an application instance might consist of one or
more microflows in each direction). It could be the case for a more microflows in each direction). For a particular application, it
particular application that some of its microflows are eligible to be could be the case that some of its microflows are eligible to be
marked with the NQB DSCP while others are not. For example, an marked with the NQB DSCP while others are not. For example, an
interactive video streaming application might consist of a high- interactive video streaming application might consist of a high-
bandwidth video stream (not eligible for NQB marking) in one bandwidth video stream (not eligible for NQB marking) in one
direction, and a low-bandwidth control stream (eligible for NQB direction and a low-bandwidth control stream (eligible for NQB
marking) in the other. marking) in the other.
Microflows marked with the NQB DSCP are expected to comply with Microflows marked with the NQB DSCP are expected to comply with
existing guidance for safe deployment on the Internet, including the existing guidance for safe deployment on the Internet, including the
guidance around response to network congestion, for example the guidance around response to network congestion, for example the
requirements in [RFC8085] and Section 2 of [RFC3551] (also see the requirements in [RFC8085] and Section 2 of [RFC3551] (also see the
circuit breaker limits in Section 4.3 of [RFC8083] and the circuit breaker limits in Section 4.3 of [RFC8083] and the
description of inelastic pseudowires in Section 4 of [RFC7893]). The description of inelastic pseudowires in Section 4 of [RFC7893]). The
fact that a microflow's data rate is low relative to typical network fact that a microflow's data rate is low relative to typical network
capacities is no guarantee that sufficient capacity exists in any capacities is no guarantee that sufficient capacity exists in any
skipping to change at page 9, line 43 skipping to change at line 417
applications generating such microflows are in any way exempt from applications generating such microflows are in any way exempt from
this responsibility. One way that an application marking its traffic this responsibility. One way that an application marking its traffic
as NQB can handle this is to implement a scalable congestion control as NQB can handle this is to implement a scalable congestion control
mechanism as described in [RFC9331]. mechanism as described in [RFC9331].
The Diffserv field specification requires the definition of a The Diffserv field specification requires the definition of a
recommended DSCP to be associated with each standardized PHB (see recommended DSCP to be associated with each standardized PHB (see
Section 5 of [RFC2474]). In accordance with this, applications are Section 5 of [RFC2474]). In accordance with this, applications are
RECOMMENDED to use the Diffserv Code Point (DSCP) 45 (decimal) to RECOMMENDED to use the Diffserv Code Point (DSCP) 45 (decimal) to
mark microflows as NQB. The choice of the DSCP value 45 (decimal) is mark microflows as NQB. The choice of the DSCP value 45 (decimal) is
motivated in part by the desire to achieve separate queuing in motivated, in part, by the desire to achieve separate queuing in
existing Wi-Fi networks (see Section 7.3) and by the desire to make existing Wi-Fi networks (see Section 7.3) and by the desire to make
implementation of the PHB simpler in network equipment that has the implementation of the PHB simpler in network equipment that has the
ability to classify traffic based on ranges of DSCP values (see ability to classify traffic based on ranges of DSCP values (see
Section 6.3 for further discussion). Section 6.3 for further discussion).
The two primary considerations for whether an application chooses to The two primary considerations for whether an application chooses to
mark its traffic as NQB involve the risks of being subjected to a mark its traffic as NQB involve the risks of being subjected to a
traffic protection algorithm (see Section 5.2) and/or to the traffic protection algorithm (see Section 5.2) and/or to the
consequences of overrunning the NQB shallow buffer if (in either consequences of overrunning the NQB shallow buffer if (in either
case) the traffic contributes to the formation of a queue in a node 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 that supports the PHB. In both cases, the result could be that
excess traffic is discarded or queued separately as Default traffic excess traffic is discarded or queued separately as Default traffic
(and thus potentially delivered out of order). To avoid these risks, (and, thus, potentially is delivered out of order). To avoid these
if a microflow's traffic exceeds the rate equation provided in the risks, if a microflow's traffic exceeds the rate equation provided in
first paragraph of this section, the application MUST NOT mark this the first paragraph of this section, the application MUST NOT mark
traffic with the NQB DSCP. In such a case, the application could this traffic with the NQB DSCP. In such a case, the application
instead consider using a scalable congestion control mechanism as could instead consider using a scalable congestion control mechanism
described in [RFC9331]. as described in [RFC9331].
The sender requirements outlined in this section are all related to The sender requirements outlined in this section are all related to
observable attributes of the packet stream, which makes it possible observable attributes of the packet stream, which makes it possible
for network elements (including nodes implementing the PHB) to for network elements (including nodes implementing the PHB) to
monitor for inappropriate usage of the DSCP, and take action (such as monitor for inappropriate usage of the DSCP and take action (such as
discarding or re-marking) on traffic that does not comply. This discarding or re-marking) on traffic that does not comply. This
functionality, when implemented as part of the PHB is described in functionality, when implemented as part of the PHB, is described in
Section 5.2. Section 5.2.
5. Non-Queue-Building PHB Requirements 5. Non-Queue-Building PHB Requirements
For the NQB PHB to become widely deployed, it is important that For the NQB PHB to become widely deployed, it is important that
incentives are aligned correctly, i.e., that there is a benefit to incentives are aligned correctly, i.e., that there is a benefit to
the application in marking its packets correctly, and a disadvantage the application in marking its packets correctly and a disadvantage
(or at least no benefit) to an application in intentionally (or at least no benefit) to an application in intentionally mis-
mismarking its traffic. Thus, a useful property of nodes (i.e. marking its traffic. Thus, a useful property of nodes (i.e., network
network switches and routers) that support separate queues for NQB switches and routers) that support separate queues for NQB and QB
and QB microflows is that for microflows consistent with the NQB microflows is that for microflows consistent with the NQB sender
sender requirements in Section 4, the NQB queue would likely be a requirements in Section 4, the NQB queue would likely be a better
better choice than the QB queue; and for microflows inconsistent with choice than the QB queue; and for microflows inconsistent with those
those requirements, the QB queue would likely be a better choice than requirements, the QB queue would likely be a better choice than the
the NQB queue. By adhering to these principles, there is little NQB queue. By adhering to these principles, there is little
incentive for senders to mismark their traffic as NQB. incentive for senders to mis-mark their traffic as NQB.
This principle of incentive alignment ensures a system is robust to This principle of incentive alignment ensures a system is robust to
the behavior of the large majority of individuals and organizations the behavior of the large majority of individuals and organizations
who can be expected to act in their own interests (including who can be expected to act in their own interests (including
application developers and service providers who act in the interests application developers and service providers who act in the interests
of their users). Malicious behavior is not necessarily based on of their users). Malicious behavior is not necessarily based on
rational self-interest, so incentive alignment is not a sufficient rational self-interest, so incentive alignment is not a sufficient
defense, but the large majority of users do not act out of malice. defense, but the large majority of users do not act out of malice.
Protection against malicious attacks (and accidents) is addressed in Protection against malicious attacks (and accidents) is addressed in
Section 5.2 and summarized in Section 10. As mentioned previously, Section 5.2 and summarized in Section 9. As mentioned previously,
the NQB designation and marking is intended to convey verifiable the NQB designation and marking is intended to convey verifiable
traffic behavior, as opposed to simply a desire for differentiated traffic behavior, as opposed to simply a desire for differentiated
treatment. As a result, any mismarking can be identified by the treatment. As a result, any mis-marking can be identified by the
network. network.
5.1. Primary Requirements 5.1. Primary Requirements
A node supporting the NQB PHB MUST provide a queue for Non-Queue- A node supporting the NQB PHB MUST provide a queue for Non-Queue-
Building traffic separate from the queue used for Default traffic. Building traffic separate from the queue used for Default traffic.
A node supporting the NQB PHB SHOULD NOT rate limit or rate police A node supporting the NQB PHB SHOULD NOT rate limit or rate police
the aggregate of NQB traffic separately from Default traffic. An the aggregate of NQB traffic separately from Default traffic. An
exception to this recommendation for traffic sent towards a non-DS- exception to this recommendation for traffic sent towards a non-DS-
capable domain is discussed in Section 6.4.1. Note also that capable domain is discussed in Section 6.4.1. Note also that
Section 5.2 discusses potential uses of per-microflow (rather than Section 5.2 discusses potential uses of per-microflow (rather than
aggregate) rate policing. aggregate) rate policing.
The NQB queue SHOULD be given equivalent forwarding preference The NQB queue SHOULD be given equivalent forwarding preference
compared to Default. The node SHOULD provide a scheduler that allows compared to the Default queue. The node SHOULD provide a scheduler
NQB and Default traffic to share the link in a manner that treats the that allows NQB and Default traffic to share the link in a manner
two classes equally, e.g., a deficit round-robin (DRR) scheduler with that treats the two classes equally, e.g., a Deficit Round-Robin
equal weights, or two Wireless Multimedia Access Categories with the (DRR) scheduler with equal weights or two Wireless Multimedia Access
same Enhanced Distributed Channel Access (EDCA) parameters. The use Categories with the same Enhanced Distributed Channel Access (EDCA)
of equal weights for DRR is given as a reasonable example, and is not parameters. The use of equal weights for DRR is given as a
intended to preclude other scheduling weights (see below for reasonable example and is not intended to preclude other scheduling
details). A node that provides rate limits or rate guarantees for weights (see below for details). A node that provides rate limits or
Default traffic SHOULD ensure that such limits and/or guarantees are rate guarantees for Default traffic SHOULD ensure that such limits
shared with NQB traffic in a manner that treats the two classes and/or guarantees are shared with NQB traffic in a manner that treats
equally. This could be supported using a hierarchical scheduler the two classes equally. This could be supported using a
where the rate limits and guarantees are configured on a parent hierarchical scheduler where the rate limits and guarantees are
class, and the two queues (Default and NQB) are arranged as the configured on a parent class, and the two queues (Default and NQB)
children of the parent class and given equal access to the capacity are arranged as the children of the parent class and given equal
configured for the parent class (e.g. with equal DRR scheduling). access to the capacity configured for the parent class (e.g., with
Compliance with these recommendations reduces the incentives for QB equal DRR scheduling). Compliance with these recommendations reduces
traffic to be mismarked as NQB, and is most important in nodes that the incentives for QB traffic to be mis-marked as NQB and is most
are likely bottlenecks, where deviation from them could result in a important in nodes that are likely bottlenecks, where deviation from
discernible benefit for mismarked traffic (to the detriment of other them could result in a discernible benefit for mis-marked traffic (to
traffic). In network nodes that are rarely bottlenecks, these the detriment of other traffic). In network nodes that are rarely
recommendations are less critical. bottlenecks, these recommendations are less critical.
In the DRR example above, equal scheduling weights was only an In the DRR example above, equal scheduling weights is only an
example. Ideally the DRR weight would be chosen to match the highest example. Ideally, the DRR weight would be chosen to match the
fraction of capacity that NQB compliant flows are likely to use on a highest fraction of capacity that NQB-compliant flows are likely to
particular network segment. Given that NQB compliant flows are not use on a particular network segment. Given that NQB-compliant flows
capacity-seeking (in contrast to QB flows, which can be), and since are not capacity seeking (in contrast to QB flows, which can be), and
DRR allows unused capacity in one class to be used by traffic in the since DRR allows unused capacity in one class to be used by traffic
other, providing a higher-than-necessary NQB scheduler weight could in the other, providing a higher-than-necessary NQB scheduler weight
be considered less problematic than the reverse. That said, could be considered less problematic than the reverse. That said,
providing a higher-than-needed NQB scheduler weight does increase the providing a higher-than-needed NQB scheduler weight does increase the
likelihood that a non-compliant microflow mismarked as NQB is able to likelihood that a non-compliant microflow mis-marked as NQB is able
use more than its fair share of network capacity. NQB microflows are to use more than its fair share of network capacity. NQB microflows
expected to each consume no more than 1% of the link capacity, and in are expected to each consume no more than 1% of the link capacity,
low stat-mux environments (such as at the edge of the network) would and in low stat-mux environments (such as at the edge of the network)
be unlikely in aggregate to consume 50% of the link capacity. Thus, would be unlikely in aggregate to consume 50% of the link capacity.
50% seems a reasonable upper bound on the weight for the NQB PHB in Thus, 50% seems a reasonable upper bound on the weight for the NQB
these environments. PHB in these environments.
A node supporting the NQB PHB SHOULD by default classify packets By default, a node supporting the NQB PHB SHOULD by classify packets
marked with the NQB DSCP 45 (decimal) into the queue for Non-Queue- marked with the NQB DSCP 45 (decimal) into the queue for Non-Queue-
Building traffic. In accordance with the requirement in Section 3 of Building traffic. In accordance with the requirement in Section 3 of
[RFC2474], a node supporting the NQB PHB MUST support the ability to [RFC2474], a node supporting the NQB PHB MUST support the ability to
configure the DSCP that is used to classify packets into the queue configure the DSCP that is used to classify packets into the queue
for Non-Queue-Building traffic. A node supporting the NQB PHB MAY for Non-Queue-Building traffic. A node supporting the NQB PHB MAY
support the ability to configure multiple DSCPs that are used to support the ability to configure multiple DSCPs that are used to
classify packets into the queue for Non-Queue-Building traffic. classify packets into the queue for Non-Queue-Building traffic.
Support for the NQB PHB is advantageous at bottleneck nodes. Many Support for the NQB PHB is advantageous at bottleneck nodes. Many
bottleneck nodes have a relatively deep buffer for Default traffic bottleneck nodes have a relatively deep buffer for Default traffic
(e.g., roughly equal to the base RTT of the expected connections, (e.g., roughly equal to the base RTT of the expected connections,
which could be tens or hundreds of ms). Providing a similarly deep which could be tens or hundreds of milliseconds). Providing a
buffer for the NQB queue would be at cross purposes to providing very similarly deep buffer for the NQB queue would be at cross purposes to
low queueing delay and would erode the incentives for QB traffic to providing very low queueing delay and would erode the incentives for
be marked correctly at such a bottleneck node. The NQB queue MUST QB traffic to be marked correctly at such a bottleneck node. The NQB
have a buffer size that is significantly smaller than the buffer queue MUST have a buffer size that is significantly smaller than the
provided for Default traffic. It is RECOMMENDED to configure an NQB buffer provided for Default traffic. It is RECOMMENDED to configure
buffer size less than or equal to 10 ms at the shared NQB/Default an NQB buffer size less than or equal to 10 ms at the shared NQB/
egress rate. Default egress rate.
In order to enable network operators to monitor the usage of the NQB In order to enable network operators to monitor the usage of the NQB
PHB, and in particular to monitor for potential mis-marking of QB PHB and, in particular, to monitor for potential mis-marking of QB
traffic, a node supporting the NQB PHB MUST provide statistics that traffic, a node supporting the NQB PHB MUST provide statistics that
can be used by the network operator to detect whether abuse is can be used by the network operator to detect whether abuse is
occurring (e.g. packet and drop counters). Support for such counters occurring (e.g., packet and drop counters). Support for such
ensures that operators who configure the NQB PHB have the ability to counters ensures that operators who configure the NQB PHB have the
track the amount of packet drop that is occurring due to traffic ability to track the amount of packet drop that is occurring due to
overrunning the shallow buffer, and then take action if they believe traffic overrunning the shallow buffer and then take action if they
the PHB is causing more issues than it is solving in their believe the PHB is causing more issues than it is solving in their
environment. Those actions could include disabling the PHB, environment. Those actions could include disabling the PHB,
identifying and dealing with the sources of malicious traffic identifying and dealing with the sources of malicious traffic
directly, enabling traffic protection (Section 5.2) if it is directly, enabling traffic protection (Section 5.2) if it is
available, or pursuing a feature request with the equipment available, or pursuing a feature request with the equipment
manufacturer to add a traffic protection function if it isn't manufacturer to add a traffic protection function if it isn't
currently available. currently available.
To prevent propagation of degradation of service for NQB traffic To prevent propagation of degradation of service for NQB traffic
caused by potential mis-marking of QB traffic, network equipment that caused by potential mis-marking of QB traffic, network equipment that
supports this PHB and handles traffic for multiple users SHOULD supports this PHB and handles traffic for multiple users SHOULD
support provisioning of capacity and related forwarding resources on support provisioning of capacity and related forwarding resources on
a per-user basis and SHOULD support enforcement of the resulting per- a per-user basis and SHOULD support enforcement of the resulting per-
user limits on the aggregate of NQB and QB traffic for each user. In 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 this context, the term "user" should be read as meaning an entity
that the equipment is designed to serve more-or-less independently, that the equipment is designed to serve more-or-less independently,
such as a subscriber in the case of access network equipment, a STA such as a subscriber in the case of access network equipment, a
in the case of a Wi-Fi AP that implements per-STA queuing and airtime station (STA) in the case of a Wi-Fi Access Point (AP) that
fairness, or an end-user in the case of a networking co-op that implements per-STA queuing and airtime fairness, or an end user in
serves a set of end-users. This functionality is commonly available the case of a networking co-op that serves a set of end users. This
in the class of network equipment for which this PHB is primarily functionality is commonly available in the class of network equipment
applicable (see Section 3.4). Provisioning methodology as well as for which this PHB is primarily applicable (see Section 3.4).
decisions on whether and how to enforce the resulting limits may vary Provisioning methodology as well as decisions on whether and how to
by network operator. enforce the resulting limits may vary by network operator.
While not fully described in this document, it may be possible for While not fully described in this document, it may be possible for
network equipment to implement a separate QB/NQB pair of queues for network equipment to implement a separate QB/NQB pair of queues for
additional service classes beyond the Default PHB / NQB PHB pair. additional service classes beyond the Default PHB / NQB PHB pair.
In some cases, existing network equipment has been deployed that In some cases, existing network equipment has been deployed that
cannot readily be upgraded or configured to support the PHB cannot readily be upgraded or configured to support the PHB
requirements. This equipment might however be capable of loosely requirements. However, this equipment might be capable of loosely
supporting an NQB service - see Section 7.3.1 for details and an supporting an NQB service; see Section 7.3.1 for details and an
example where this is particularly important. A similar approach example where this is particularly important. A similar approach
might prove to be useful in other network environments. might prove to be useful in other network environments.
5.2. Traffic Protection 5.2. Traffic Protection
It is possible that, due to an implementation error or It is possible that, due to an implementation error or
misconfiguration, a QB microflow could end up being mismarked as NQB, misconfiguration, a QB microflow could end up being mis-marked as NQB
or vice versa. It is also possible that a malicious actor could or vice versa. It is also possible that a malicious actor could
introduce a QB microflow marked as NQB with the intention of causing 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 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 marked as NQB and therefore ends up in the QB queue, it would only
impact its own quality of service, and so it seems to be of lesser impact its own quality of service (QoS); therefore, it seems to be of
concern. However, a QB microflow that is mismarked as NQB is able to lesser concern. However, a QB microflow that is mis-marked as NQB is
contribute to NQB queue formation at a network node which would cause able to contribute to NQB queue formation at a network node that
queuing delay and/or loss for all the other microflows that are would cause queuing delay and/or loss for all the other microflows
sharing the NQB queue. that are sharing the NQB queue.
To prevent this situation from harming the performance of the To prevent this situation from harming the performance of the
microflows that comply with the requirements in Section 4, network microflows that comply with the requirements in Section 4, network
elements that support the NQB PHB SHOULD support a "traffic elements that support the NQB PHB SHOULD support a "traffic
protection" function that can identify microflows or packets that are protection" function that can identify microflows or packets that are
inconsistent with the sender requirements in Section 4, and either inconsistent with the sender requirements in Section 4 and either
reclassify those microflows/packets to the QB queue or discard the reclassify those microflows/packets to the QB queue or discard the
offending traffic. In the case of a traffic protection algorithm offending traffic. In the case of a traffic protection algorithm
that reclassifies offending traffic, the implementation MAY provide that reclassifies offending traffic, the implementation MAY provide
an option to additionally re-mark such traffic to Default (or an option to additionally re-mark such traffic to Default (or
possibly to another local use code point) so that the result of the possibly to another local use code point) so that the result of the
traffic protection decision can be used by further hops. This sort traffic protection decision can be used by further hops. This sort
of re-marking could provide a limited layer of protection in of re-marking could provide a limited layer of protection in
situations where downstream network nodes support separate queuing situations where downstream network nodes support separate queuing
for NQB marked packets but lack support for traffic protection. for NQB-marked packets but lack support for traffic protection.
If traffic protection is not supported or is not effective in If traffic protection is not supported or is not effective in
preventing queue formation and growth in the NQB queue, then QB preventing queue formation and growth in the NQB queue, then QB
traffic that is mismarked as NQB is able to form a queue that traffic that is mis-marked as NQB is able to form a queue that
overflows the shallow buffer provided for NQB traffic, which is overflows the shallow buffer provided for NQB traffic; this is
expected to result in redirecting the excess packets to the QB queue expected to result in redirecting the excess packets to the QB queue
or discarding them. Both actions degrade service for not only the or discarding them. Both actions degrade service for not only the
mismarked QB traffic, but also for any correctly marked NQB traffic, mis-marked QB traffic, but also for any correctly marked NQB traffic.
likely causing a significant degradation of service for NQB traffic. This will likely cause a significant degradation of service for NQB
Even if mismarked QB traffic does not cause buffer overflow, the traffic. Even if mis-marked QB traffic does not cause buffer
queue that forms results in QB traffic obtaining the reduced loss and overflow, the queue that forms results in QB traffic obtaining the
delay benefits of the NQB service while causing queuing delay for all reduced loss and delay benefits of the NQB service while causing
the other microflows that are sharing the queue. These increased queuing delay for all the other microflows that are sharing the
abilities of QB traffic to damage the NQB service in the absence of a queue. These increased abilities of QB traffic to damage the NQB
traffic protection function needs to be considered. This is the service in the absence of a traffic protection function needs to be
motivation for the "SHOULD" requirement to support traffic protection considered. This is the motivation for the "SHOULD" requirement to
(in the previous paragraph). An NQB PHB implementation that does not support traffic protection (in the previous paragraph). An NQB PHB
support traffic protection risks being limited to deployment implementation that does not support traffic protection risks being
situations where traffic protection is potentially not necessary. limited to deployment situations where traffic protection is
One example of such a situation could be a controlled environment potentially not necessary. One example of such a situation could be
(e.g., enterprise LAN) where a network administrator is expected to a controlled environment (e.g., enterprise LAN) where a network
manage the usage of DSCPs. administrator is expected to manage the usage of DSCPs.
Traffic protection as it is defined here differs from Traffic As it is defined here, traffic protection differs from Traffic
Conditioning implemented in other Diffserv contexts. Traffic Conditioning implemented in other Diffserv contexts. Traffic
Conditioning is commonly performed at the edge of a Diffserv domain Conditioning is commonly performed at the edge of a Diffserv domain
(either ingress or egress, depending on Traffic Conditioning (either ingress or egress, depending on Traffic Conditioning
Agreements in place). In contrast, traffic protection is intended to Agreements (TCAs) in place). In contrast, traffic protection is
be implemented in the nodes that implement the PHB. By placing the intended to be implemented in the nodes that implement the PHB. By
traffic protection at the PHB node, an implementation can monitor the placing the traffic protection at the PHB node, an implementation can
actual NQB queue and take action only if a queue begins to form. monitor the actual NQB queue and take action only if a queue begins
Implementation of traffic protection at PHB nodes that are most to form. Implementation of traffic protection at PHB nodes that are
likely to be a bottleneck is particularly important because these are most likely to be a bottleneck is particularly important because
the nodes that would be expected to show the most queue build-up in these are the nodes that would be expected to show the most queue
the presence of QB traffic mismarked as NQB. buildup in the presence of QB traffic mis-marked as NQB.
This specification does not mandate a particular algorithm for This specification does not mandate a particular algorithm for
traffic protection. This is intentional, since this will probably be traffic protection. This is intentional since this will probably be
an area where implementers innovate, and the specifics of traffic an area where implementers innovate. The specifics of traffic
protection could need to be different in different network equipment protection could need to be different in different network equipment
and in different network contexts. Instead this specification and in different network contexts. Instead, this specification
provides guidelines and some examples of traffic protection provides guidelines and some examples of traffic protection
algorithms which could be employed. algorithms that could be employed.
The traffic protection function SHOULD NOT base its decisions upon The traffic protection function SHOULD NOT base its decisions upon
application-layer constructs (such as the port number used by the application-layer constructs (such as the port number used by the
application or the source/destination IP address). Instead, it ought application or the source/destination IP address). Instead, it ought
to base its decisions on the actual behavior of each microflow (i.e. to base its decisions on the actual behavior of each microflow (i.e.,
the pattern of packet arrivals). the pattern of packet arrivals).
A conventional implementation of such a traffic protection algorithm A conventional implementation of such a traffic protection algorithm
is a per-microflow rate policer, designed to identify microflows that is a per-microflow rate policer, designed to identify microflows that
exceed the bound provided in Section 4, where the value R is set to 1 exceed the bound provided in Section 4, where the value R is set to
percent of the egress link capacity available for NQB traffic. An 1% of the egress link capacity available for NQB traffic. An
alternative is to use a traffic protection algorithm that bases its alternative is to use a traffic protection algorithm that bases its
decisions on the detection of actual queuing (i.e. by monitoring the decisions on the detection of actual queuing (i.e., by monitoring the
queuing delay experienced by packets in the NQB queue) in correlation queuing delay experienced by packets in the NQB queue) in correlation
with the arrival of packets for each microflow. While a per- with the arrival of packets for each microflow. While a per-
microflow rate policer is conceptually simpler (and is based directly microflow rate policer is conceptually simpler (and is based directly
on the NQB sender requirements), it could often end up being more on the NQB sender requirements), it could often end up being more
strict than is necessary (for example by policing a flow that exceeds strict than is necessary (for example, by policing a flow that
the rate equation even when the link is underutilized). One example exceeds the rate equation even when the link is underutilized). One
traffic protection algorithm based on the detection of actual queuing example traffic protection algorithm based on the detection of actual
can be found in [I-D.briscoe-docsis-q-protection]. This algorithm queuing can be found in [RFC9957]. This algorithm maintains per-
maintains per-microflow state for a certain number of simultaneous microflow state for a certain number of simultaneous "queue-building"
"queue-building" microflows (e.g. 32), and shared state for any microflows (e.g., 32), and shared state for any additional microflows
additional microflows above that number. above that number.
In the case of a traffic protection algorithm that reclassifies In the case of a traffic protection algorithm that reclassifies
offending traffic, different levels of hysteresis could be offending traffic, different levels of hysteresis could be
considered. For example, the reclassify decision could be made on a considered. For example, the reclassify decision could be made on a
packet-by-packet basis, which could result in significant out-of- packet-by-packet basis, which could result in significant out-of-
order delivery for offending microflows as some portion of the order delivery for offending microflows as some portion of the
microflow's packets remain in the NQB queue and some are reclassified microflow's packets remain in the NQB queue and some are reclassified
to the Default queue. Alternatively, a traffic protection function to the Default queue. Alternatively, a traffic protection function
could employ a certain level of hysteresis to prevent borderline could employ a certain level of hysteresis to prevent borderline
microflows from being reclassified capriciously, thus causing less microflows from being reclassified capriciously, thus causing less
potential for out-of-order delivery. As a third option, the decision 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 could be made to take action on all the future packets of the
microflow, though sufficient logic would be needed to ensure that a microflow, though sufficient logic would be needed to ensure that a
future microflow (e.g. with the same 5-tuple) isn't misidentified as future microflow (e.g., with the same 5-tuple) isn't misidentified as
the current offending microflow. the current offending microflow.
In the case of a traffic protection algorithm that discards offending In the case of a traffic protection algorithm that discards offending
traffic, similar levels of hysteresis could be considered. In this traffic, similar levels of hysteresis could be considered. In this
case, it is RECOMMENDED that the decision thresholds be set higher case, it is RECOMMENDED that the decision thresholds be set higher
than in the case of designs that reclassify, since the degradation of than in the case of designs that reclassify since the degradation of
communications caused by packet discard are likely to be greater than communications caused by the packet being discarded are likely to be
the degradation caused by out-of-order delivery. greater than the degradation caused by out-of-order delivery.
The traffic protection function described here might require that the The traffic protection function described here might require that the
network element maintain microflow state. The traffic protection network element maintain microflow state. The traffic protection
function MUST be designed such that the node implementing the NQB PHB function MUST be designed such that the node implementing the NQB PHB
does not fail (e.g. crash) in the case that the microflow state is does not fail (e.g., crash) in the case that the microflow state is
exhausted. This might be accomplished simply by controlling/limiting exhausted. This might be accomplished simply by controlling/limiting
the resources dedicated to tracking misbehaving flows. the resources dedicated to tracking misbehaving flows.
Some networks might prefer to implement a more traditional Traffic Some networks might prefer to implement a more traditional Traffic
Conditioning approach, and police the application of the NQB DSCP at Conditioning approach and police the application of the NQB DSCP at
the ingress edge so that per-hop traffic protection is not needed. the ingress edge so that per-hop traffic protection is not needed.
This could be accomplished via the use of a per-microflow rate This could be accomplished via the use of a per-microflow rate
policer that polices microflows at 1 percent of the minimum link policer that polices microflows at 1% of the minimum link capacity of
capacity of the network. This approach would generally be expected the network. This approach would generally be expected to be
to be inferior to per-hop traffic protection, because on one hand it inferior to per-hop traffic protection because:
would be difficult for edge nodes to guarantee that there would never
be more than 100 NQB flows that would share a single internal * on one hand, it would be difficult for edge nodes to guarantee
bottleneck, and on the other hand there could be internal links that that there would never be more than 100 NQB flows that would share
have much greater capacity than the minimum. So, Traffic a single internal bottleneck, and
Conditioning at the edge could simultaneously be too lenient and too
strict. * on the other hand, there could be internal links that have much
greater capacity than the minimum.
So, Traffic Conditioning at the edge could simultaneously be too
lenient and too strict.
5.3. Limiting Packet Bursts from Links 5.3. Limiting Packet Bursts from Links
Some link technologies introduce burstiness by briefly storing Some link technologies introduce burstiness by briefly storing
packets prior to forwarding them. A common cause of this burstiness packets prior to forwarding them. A common cause of this burstiness
is link discontinuity (i.e. where the link is not continuously is link discontinuity (i.e., where the link is not continuously
available for transmission by the device), for example time-division- available for transmission by the device), for example, time-
duplex links or time-division-multiple-access (TDMA) links. Some division-duplex links or time-division-multiple-access (TDMA) links.
link technologies that fall into this category are passive optical Some link technologies that fall into this category are Passive
networks (PON), Wi-Fi, LTE/5G and DOCSIS. Optical Networks (PONs), Wi-Fi, LTE/5G, and Data-Over-Cable Service
Interface Specification (DOCSIS).
As well as NQB senders needing to limit packet bursts (see As well as NQB senders needing to limit packet bursts (see
Section 4), traffic designated for the NQB PHB would benefit from Section 4), traffic designated for the NQB PHB would benefit from
configuring these link technologies to limit the burstiness configuring these link technologies to limit the burstiness
introduced. This is for three reasons. The first reason is that introduced. This is for three reasons:
burstiness, whether caused by the sender or by a link on the path,
could cause queuing delay at downstream bottlenecks and thus degrade 1. Burstiness, whether caused by the sender or by a link on the
Quality of Experience. The second reason is that burstiness in links path, could cause queuing delay at downstream bottlenecks and,
typically means that packets have been delayed by a variable amount, thus, degrade Quality of Experience.
i.e. for packets that are being aggregated awaiting a transmission
opportunity, some packets would generally have arrived just after the 2. Burstiness in links typically means that packets have been
last transmission opportunity, and thus have to wait the longest, delayed by a variable amount. That is, for packets that are
while others would generally arrive just in time for the next being aggregated awaiting a transmission opportunity, some
transmission opportunity, and thus would wait the least. This packets would generally have arrived just after the last
manifests as delay variation which can also degrade Quality of transmission opportunity and would have to wait the longest while
Experience for applications that desire NQB treatment. The third others would generally arrive just in time for the next
reason is that a downstream bottleneck that implements the NQB PHB transmission opportunity and would wait the least. This
could have implemented a traffic protection mechanism (Section 5.2) manifests as delay variation that can also degrade Quality of
that responds to queuing delay by re-marking/reclassifying/dropping Experience for applications that desire NQB treatment.
packets, and bursty arrivals caused by an upstream link could
introduce queuing delay in the NQB queue and thus be more likely to 3. A downstream bottleneck that implements the NQB PHB could have
be subjected to traffic protection effects. implemented a traffic protection mechanism (Section 5.2) that
responds to queuing delay by re-marking/reclassifying/dropping
packets. Bursty arrivals caused by an upstream link could
introduce queuing delay in the NQB queue and these would be more
likely to be subjected to traffic protection effects.
This document does not set any quantified requirements for links to This document does not set any quantified requirements for links to
limit bursts, primarily because link technologies are outside the limit bursts; this is primarily because link technologies are outside
remit of Diffserv specifications. However, it would not seem the remit of Diffserv specifications. However, it would not seem
necessary to limit bursts lower than roughly 10% of the minimum base necessary to limit bursts lower than roughly 10% of the minimum base
RTT expected in the typical deployment scenario (e.g., 250 µs burst RTT expected in the typical deployment scenario (e.g., 250 µs burst
duration for links within the public Internet). This observation duration for links within the public Internet). This observation
aligns with a similar one in Section 5.5 of [RFC9331]. aligns with a similar one in Section 5.5 of [RFC9331].
5.4. Treatment of the Explicit Congestion Notification field 5.4. Treatment of the Explicit Congestion Notification Field
NQB network functions MUST treat packets marked with the NQB DSCP NQB network functions MUST treat packets marked with the NQB DSCP
uniformly, regardless of the value of the ECN field. Here, NQB uniformly, regardless of the value of the ECN field. Here, the term
network functions refers to the traffic protection function (defined "NQB network functions" refers to the traffic protection function
in Section 5.2) and any re-marking/traffic policing function designed (defined in Section 5.2) and any re-marking/traffic policing function
to protect unmanaged networks (as described in Section 6.4.1). designed to protect unmanaged networks (as described in
Section 6.4.1).
6. Operational Considerations 6. Operational Considerations
This section describes considerations for network operators regarding This section describes considerations for network operators regarding
the identification, marking, and handling of NQB traffic. It the identification, marking, and handling of NQB traffic. It
outlines aggregation behaviors and special considerations in outlines aggregation behaviors and special considerations in
unmanaged and inter-network scenarios. Additionally, Section 6.2 unmanaged and inter-network scenarios. Additionally, Section 6.2
contains configuration recommendations for nodes that do not support contains configuration recommendations for nodes that do not support
the NQB PHB, and Section 6.4.1 contains configuration recommentations the NQB PHB. Section 6.4.1 contains configuration recommendations
for networks that interconnect with non-DS-capable domains. for networks that interconnect with non-DS-capable domains.
6.1. NQB Traffic Identification 6.1. NQB Traffic Identification
As required in Section 5, nodes supporting the NQB PHB provide for As required in Section 5, nodes supporting the NQB PHB provide for
the configuration of classifiers that can be used to differentiate the configuration of classifiers that can be used to differentiate
between QB and NQB traffic of equivalent importance. The assigned between QB and NQB traffic of equivalent importance. The assigned
NQB DSCP (45 decimal) is recommended for use as the default NQB DSCP (45 decimal) is recommended for use as the default
classifier to distinguish NQB traffic from traffic classified as classifier to distinguish NQB traffic from traffic classified as
Default (DSCP 0) (see Section 4 and Section 5.1). Default (DSCP 0) (see Sections 4 and 5.1).
6.2. Aggregation of the NQB DSCP into another Diffserv PHB 6.2. Aggregation of the NQB DSCP into Another Diffserv PHB
It is RECOMMENDED that networks and nodes that do not support the NQB It is RECOMMENDED that networks and nodes that do not support the NQB
PHB be configured to treat traffic marked with the NQB DSCP the same PHB be configured to treat traffic marked with the NQB DSCP the same
as traffic with the Default DSCP. This includes networks (such as as traffic with the Default DSCP. This includes networks (such as
MPLS) and nodes that aggregate service classes as discussed in MPLS) and nodes that aggregate service classes as discussed in
[RFC5127] and [RFC8100], in which case this recommendation would [RFC5127] and [RFC8100]; in this case, this recommendation would
result in traffic marked with the NQB DSCP being aggregated into the result in traffic marked with the NQB DSCP being aggregated into the
Elastic Treatment Aggregate (for [RFC5127] networks) or the Default / Elastic Treatment Aggregate (for networks as described in [RFC5127])
Elastic Treatment Aggregate (for [RFC8100] networks). or the Default / Elastic Treatment Aggregate (for networks as
described in [RFC8100]).
Networks and nodes that do not support the NQB PHB ought to only Networks and nodes that do not support the NQB PHB ought to only
classify packets with the NQB DSCP value into the appropriate classify packets with the NQB DSCP value into the appropriate
treatment aggregate, or encapsulate such packets for purposes of treatment aggregate, or encapsulate such packets for purposes of
aggregation, and SHOULD NOT re-mark them with a different DSCP. This aggregation, and SHOULD NOT re-mark them with a different DSCP. This
preservation of the NQB DSCP value enables hops further along the preservation of the NQB DSCP value enables hops further along the
path to provide the NQB PHB successfully. This aligns with path to provide the NQB PHB successfully. This aligns with
recommendations in [RFC5127]. recommendations in [RFC5127].
In nodes that do not typically experience congestion (for example, In nodes that do not typically experience congestion (for example,
many backbone and core network switches), forwarding packets with the many backbone and core network switches), forwarding packets with the
NQB DSCP using the Default treatment might be sufficient to preserve NQB DSCP using the Default treatment might be sufficient to preserve
the loss, delay and delay-variation performance for NQB traffic. the loss, delay, and delay-variation performance for NQB traffic.
In nodes that do experience congestion, forwarding packets with the In nodes that do experience congestion, forwarding packets with the
NQB DSCP using the Default treatment could result in degradation of NQB DSCP using the Default treatment could result in degradation of
the loss, delay and delay-variation performance but nonetheless the loss, delay, and delay-variation performance but nonetheless
preserves the incentives described in Section 5. preserves the incentives described in Section 5.
Aggregating traffic marked with the NQB DSCP into a PHB designed for Aggregating traffic marked with the NQB DSCP into a PHB designed for
real-time, delay sensitive traffic (e.g. the Real-Time Treatment real-time, delay-sensitive traffic (e.g., the Real-Time Treatment
Aggregate [RFC5127] or the Bulk Real-Time Treatment Aggregate Aggregate [RFC5127] or the Bulk Real-Time Treatment Aggregate
[RFC8100]), might better preserve the loss, delay and delay-variation [RFC8100]), might better preserve the loss, delay, and delay-
performance in the presence of congestion, but would need to be done variation performance in the presence of congestion; however, it
with consideration of the risk of creating an incentive for non- would need to be done with consideration of the risk of creating an
compliant traffic to be mis-marked as NQB. incentive for non-compliant traffic to be mis-marked as NQB.
6.3. Aggregation of other DSCPs into the NQB PHB 6.3. Aggregation of Other DSCPs into the NQB PHB
The Differentiated Services model provides flexibility for operators The Differentiated Services model provides flexibility for operators
to control the way they choose to aggregate traffic marked with a to control the way they choose to aggregate traffic marked with a
specific DSCP. Operators of nodes that support the NQB PHB could specific DSCP. Operators of nodes that support the NQB PHB could
choose to aggregate other service classes into the NQB queue. This choose to aggregate other service classes into the NQB queue. This
is particularly useful in cases where specialized PHBs for these is particularly useful in cases where specialized PHBs for these
other service classes had not been provided at a potential other service classes had not been provided at a potential
bottleneck, perhaps because it was too complex to manage traffic bottleneck, perhaps because it was too complex to manage traffic
contracts and conditioning. Candidate service classes for this contracts and conditioning. Candidate service classes for this
aggregation would include those that carry low-data-rate inelastic aggregation would include those that carry low-data-rate inelastic
traffic that has low to very-low tolerance for loss, delay and/or traffic that has low to very-low tolerance for loss, delay, and/or
delay-variation. Operators would need to use their own judgment delay variation. Operators would need to use their own judgment
based on the actual traffic characteristics in their networks in based on the actual traffic characteristics in their networks in
deciding whether or not to aggregate other service classes / DSCPs deciding whether or not to aggregate other service classes / DSCPs
with NQB. For networks that use the [RFC4594] service class with NQB. For networks that use the service class definitions from
definitions, this could include Telephony (EF/VA), Signaling (CS5), [RFC4594], this could include Telephony (EF/VA), Signaling (CS5), and
and possibly Real-Time Interactive (CS4) (depending on data rate). possibly Real-Time Interactive (CS4) (depending on data rate). In
In the preceding sentence, "VA" and "CSx" refer to Voice-Admit the preceding sentence, "VA" and "CSx" refer to Voice-Admit
([RFC5865]) and Class Selector ([RFC2474]) respectively. In some ([RFC5865]) and Class Selector ([RFC2474]), respectively. In some
networks, equipment limitations may necessitate aggregating a range networks, equipment limitations may necessitate aggregating a range
of DSCPs (e.g. traffic marked with DSCPs 40-47 (decimal), i.e., those of DSCPs (e.g., traffic marked with DSCPs 40-47 (decimal), i.e.,
whose three most significant bits are 0b101). As noted in Section 4, those whose three most significant bits are 0b101). As noted in
the choice of the DSCP value 45 (decimal) is motivated in part by the Section 4, the choice of the DSCP value 45 (decimal) is motivated in
desire to make this aggregation simpler in network equipment that can part by the desire to make this aggregation simpler in network
classify packets via comparing the DSCP value to a range of equipment that can classify packets via comparing the DSCP value to a
configured values. range of configured values.
A node providing only a NQB queue and a Default queue may obtain an A node providing only a NQB queue and a Default queue may obtain an
NQB performance similar to that of EF, for example as described by NQB performance similar to that of EF, for example, as described by
Appendix A.3.1 of [RFC2598]. Some caveats and differences are Appendix A.3.1 of [RFC2598]. Some caveats and differences are
discussed in Appendix B. discussed in Appendix B.
[NOTE: this section references the obsoleted RFC2598 instead of its [NOTE: this section references the obsoleted RFC 2598 instead of its
replacement RFC3246, because the former contains the description of replacement (RFC 3246) because the former contains the description of
EF performance.] EF performance.]
6.4. Cross-domain usage and DSCP Re-marking 6.4. Cross-Domain Usage and DSCP Re-marking
In contrast to some existing standard PHBs, which are typically only In contrast to some existing standard PHBs, which are typically only
used within a Diffserv Domain (e.g., an AS or an enterprise network), used within a Diffserv Domain (e.g., an AS or an enterprise network),
this PHB is expected to be used across the Internet, wherever this PHB is expected to be used across the Internet, wherever
suitable operator agreements apply. Under the [RFC2474] model, this suitable operator agreements apply. Under the model described in
requires that the corresponding DSCP is recognized and mapped across [RFC2474], this requires that the corresponding DSCP is recognized
network boundaries accordingly. and mapped across network boundaries accordingly.
If NQB support is extended across a DiffServ domain boundary, the If NQB support is extended across a DiffServ domain boundary, the
interconnected networks agreeing to support NQB SHOULD use the DSCP interconnected networks agreeing to support NQB SHOULD use the DSCP
value 45 (decimal) for NQB at network interconnection, unless a value 45 (decimal) for NQB at network interconnection, unless a
different DSCP is explicitly documented in the TCA (Traffic different DSCP is explicitly documented in the TCA (Traffic
Conditioning Agreement, see [RFC2475]) for that interconnection. If Conditioning Agreement, see [RFC2475]) for that interconnection. If
[RFC8100] is operational between interconnected domains, the [RFC8100] is operational between interconnected domains, the
receiving domain may prefer a different DSCP for NQB traffic that receiving domain may prefer a different DSCP for NQB traffic that
allows for a DSCP range-based classification for the Default / allows for a DSCP range-based classification for the Default /
Elastic Treatment Aggregate. Similar to the handling of DSCPs for Elastic Treatment Aggregate. Similar to the handling of DSCPs for
other PHBs (and as discussed in [RFC2475]), networks can re-mark NQB other PHBs (and as discussed in [RFC2475]), networks can re-mark NQB
traffic to a DSCP other than 45 (decimal) for internal usage. To traffic to a DSCP value other than 45 (decimal) for internal usage.
ensure reliable NQB PHB treatment on the entire path, the appropriate To ensure reliable NQB PHB treatment on the entire path, the
NQB DSCP would need to be restored when forwarding to another appropriate NQB DSCP would need to be restored when forwarding to
network. another network.
6.4.1. Interoperability with Non-DS-Capable Domains 6.4.1. Interoperability with Non-DS-Capable Domains
As discussed in Section 4 of [RFC2475], there may be cases where a As discussed in Section 4 of [RFC2475], there may be cases where a
network operator that supports Diffserv is delivering traffic to network operator that supports Diffserv is delivering traffic to
another network domain (e.g. a network outside of their another network domain (e.g., a network outside of their
administrative control), where there is an understanding that the administrative control) where there is an understanding that the
downstream domain does not support Diffserv or there is no knowledge downstream domain does not support Diffserv or there is no knowledge
of the traffic management capabilities of the downstream domain, and of the traffic management capabilities of the downstream domain, and
no agreement in place. In such cases, Section 4 of [RFC2475] no agreement in place. In such cases, Section 4 of [RFC2475]
suggests that the upstream domain opportunistically re-mark traffic suggests that the upstream domain opportunistically re-mark traffic
with a Class Selector codepoint or DSCP 0 (Default) under the with a Class Selector codepoint or DSCP 0 (Default) under the
assumption that traffic so marked would be handled in a predictable assumption that traffic so marked would be handled in a predictable
way by the downstream domain. way by the downstream domain.
In the case of a network that supports the NQB PHB (and carries In the case of a network that supports the NQB PHB (and carries
traffic marked with the recommended NQB DSCP value) the same concerns traffic marked with the recommended NQB DSCP value), the same
apply. In particular, since the recommended NQB DSCP value could be concerns apply. In particular, since the recommended NQB DSCP value
given high priority in some non-DS-compliant network equipment (e.g., could be given high priority in some non-DS-compliant network
legacy Wi-Fi APs as described in Section 7.3.1), it is RECOMMENDED equipment (e.g., legacy Wi-Fi APs as described in Section 7.3.1), it
that the operator of the upstream domain implement one of the is RECOMMENDED that the operator of the upstream domain implement one
following safeguards before delivering traffic into a non-DS-capable of the following safeguards before delivering traffic into a non-DS-
domain. capable domain:
1. One option for such a safeguard is to re-mark NQB traffic to DSCP 1. One option for such a safeguard is to re-mark NQB traffic to DSCP
0 (Default) (or another Class Selector DSCP) before delivering 0 (Default) (or another Class Selector DSCP) before delivering
traffic into a non-DS-capable domain, in accordance with the traffic into a non-DS-capable domain, in accordance with the
suggestion in Section 4 of [RFC2475]. Network equipment designed suggestion in Section 4 of [RFC2475]. Network equipment designed
for such environments, SHOULD by default re-mark NQB traffic to for such environments SHOULD, by default, re-mark NQB traffic to
DSCP 0 (Default), and SHOULD support the ability to change and DSCP 0 (Default) and SHOULD support the ability to change and
disable this re-marking. Re-marking NQB traffic to DSCP 0 disable this re-marking. Re-marking NQB traffic to DSCP 0
(Default) could be considered the "safest" approach since the (Default) could be considered the "safest" approach since the
upstream domain can thereby ensure that NQB traffic is not given upstream domain can thereby ensure that NQB traffic is not given
inappropriate treatment in the non-DS-capable domain. That said, inappropriate treatment in the non-DS-capable domain. That said,
it comes with the downside that the re-marking ruins any it comes with the downside that the re-marking ruins any
possibility of NQB isolation in any further downstream domain possibility of NQB isolation in any further downstream domain
(not just the immediate neighbor). (not just the immediate neighbor).
2. As an alternative to re-marking all NQB traffic, such an operator 2. As an alternative to re-marking all NQB traffic, such an operator
could deploy a traffic protection (see Section 5.2) or a shaping/ could deploy a traffic protection (see Section 5.2) or a shaping/
policing function on traffic marked with the NQB DSCP that policing function on traffic marked with the NQB DSCP that
minimizes the potential for negative impacts on Default traffic, minimizes the potential for negative impacts on Default traffic,
should the downstream domain treat traffic with the NQB DSCP as should the downstream domain treat traffic with the NQB DSCP as
high priority. high priority.
In the case that a traffic protection function is used, it MUST In the case that a traffic protection function is used, it MUST
either re-mark offending traffic to DSCP 0 (or another Class either re-mark offending traffic to DSCP 0 (or another Class
Selector DSCP) or discard it. Note that a traffic protection Selector DSCP) or discard it. Note that a traffic protection
function as defined in this document might only provide function, as defined in this document, might only provide
protection from issues occurring in subsequent network hops if protection from issues occurring in subsequent network hops if
the device implementing the traffic protection function is the the device implementing the traffic protection function is the
bottleneck link on the path, so it might not be a solution for bottleneck link on the path, so it might not be a solution for
all situations. all situations.
In the case that a traffic policing function or a rate shaping In the case that a traffic policing function or a rate shaping
function is applied to the aggregate of NQB traffic destined to function is applied to the aggregate of NQB traffic destined to
such a downstream domain, the policer/shaper rate SHOULD be set such a downstream domain, the policer/shaper rate SHOULD be set
to either 5% of the interconnection data rate, or 5% of the to either 5% of the interconnection data rate or 5% of the
typical rate for such interconnections, whichever is greater, typical rate for such interconnections, whichever is greater,
with excess traffic being re-marked and classified for Default with excess traffic being re-marked and classified for Default
forwarding (or dropped, as a last resort). A traffic policing forwarding (or dropped, as a last resort). A traffic policing
function SHOULD allow approximately 100 ms of burst tolerance function SHOULD allow approximately 100 ms of burst tolerance
(e.g. a token bucket depth equal to 100 ms multiplied by the (e.g., a token bucket depth equal to 100 ms multiplied by the
policer rate). A traffic shaping function SHOULD allow policer rate). A traffic shaping function SHOULD allow
approximately 10 ms of burst tolerance, and no more than 50 ms of approximately 10 ms of burst tolerance and no more than 50 ms of
buffering. The burst tolerance values recommended here are buffering. The burst tolerance values recommended here are
intended to reduce the degradation that could be introduced to intended to reduce the degradation that could be introduced to
delay and loss sensitive traffic marked NQB without significantly delay- and loss-sensitive traffic marked NQB without
degrading Default traffic, and could be adjusted based on local significantly degrading Default traffic and that could be
network policy. Increasing the burst tolerance would further adjusted based on local network policy. Increasing the burst
reduce the potential for degradation (increased loss or increased tolerance would further reduce the potential for degradation
delay) of traffic marked NQB, but would come at the cost of an (increased loss or increased delay) of traffic marked NQB but
increased risk of degradation (increased loss or increased delay) would come at the cost of an increased risk of degradation
of Default traffic. (increased loss or increased delay) of Default traffic.
The recommendation to limit NQB traffic to 5% is based on an The recommendation to limit NQB traffic to 5% is based on an
assumption that internal links in the downstream domain could assumption that internal links in the downstream domain could
have data rates as low as one tenth of the interconnect rate, in have data rates as low as one tenth of the interconnect rate; in
which case if the entire aggregate of NQB traffic traversed a which case, if the entire aggregate of NQB traffic traversed a
single instance of such a link, the aggregate would consume no single instance of such a link, the aggregate would consume no
more than 50% of that link's capacity. The limit for NQB traffic more than 50% of that link's capacity. The limit for NQB traffic
SHOULD be adjusted based on any knowledge of the local network SHOULD be adjusted based on any knowledge of the local network
environment that is available. environment that is available.
6.5. The NQB DSCP and Tunnels 6.5. The NQB DSCP and Tunnels
[RFC2983] discusses tunnel models that support Diffserv. It [RFC2983] discusses tunnel models that support Diffserv. It
describes a "uniform model" in which the inner DSCP is copied to the describes a "uniform model" in which the inner DSCP is copied to the
outer header at encapsulation, and the outer DSCP is copied to the outer header at encapsulation and the outer DSCP is copied to the
inner header at decapsulation. It also describes a "pipe model" in inner header at decapsulation. It also describes a "pipe model" in
which the outer DSCP is not copied to the inner header at which the outer DSCP is not copied to the inner header at
decapsulation. Both models can be used in conjunction with the NQB decapsulation. Both models can be used in conjunction with the NQB
PHB. In the case of the pipe model, any DSCP manipulation (re- PHB. In the case of the pipe model, any DSCP manipulation (re-
marking) of the outer header by intermediate nodes would be discarded marking) of the outer header by intermediate nodes would be discarded
at tunnel egress. In some cases, this could improve the possibility at tunnel egress. In some cases, this could improve the possibility
of achieving NQB treatment in subsequent nodes, but in other cases it of achieving NQB treatment in subsequent nodes; in other cases, it
could degrade that possibility (e.g. if the re-marking was designed could degrade that possibility (e.g., if the re-marking was designed
specifically to preserve NQB treatment in downstream domains). specifically to preserve NQB treatment in downstream domains).
As is discussed in [RFC2983], tunnel protocols that are sensitive to As is discussed in [RFC2983], tunnel protocols that are sensitive to
reordering (such as IPSec [RFC4301] or L2TP [RFC2661]) can result in reordering (such as IPsec [RFC4301] or Layer 2 Tunneling Protocol
undesirable interactions if multiple DSCP PHBs are signaled for (L2TP) [RFC2661]) can result in undesirable interactions if multiple
traffic within a tunnel instance. This is true for tunnels DSCP PHBs are signaled for traffic within a tunnel instance. This is
containing a mix of QB and NQB traffic as well. Additionally, since true for tunnels containing a mix of QB and NQB traffic.
networks supporting the NQB PHB could implement a traffic protection Additionally, since networks supporting the NQB PHB could implement a
mechanism (see Section 5.2) and/or responses to NQB buffer overrun traffic protection mechanism (see Section 5.2) and/or responses to
that result in out-of-order delivery for traffic marked with the NQB NQB buffer overrun that result in out-of-order delivery for traffic
DSCP, even tunnels solely containing NQB traffic could have issues if marked with the NQB DSCP, even tunnels solely containing NQB traffic
they are sensitive to reordering and the outer header retains the NQB could have issues if they are sensitive to reordering and the outer
DSCP. As a result, the use of a reordering-sensitive tunnel protocol header retains the NQB DSCP. As a result, the use of a reordering-
to carry NQB traffic, or a mix of QB and NQB traffic, necessitates sensitive tunnel protocol to carry NQB traffic, or a mix of QB and
that the outer tunnel header be re-marked with a non-NQB DSCP (e.g. NQB traffic, necessitates that the outer tunnel header be re-marked
Default), in which case the "pipe" model is preferable because it with a non-NQB DSCP (e.g., Default); in this case, the "pipe" model
preserves the marking differentiation at tunnel decapsulation. is preferable because it preserves the marking differentiation at
tunnel decapsulation.
6.6. Guidance for Lower-Rate Links 6.6. Guidance for Lower-Rate Links
The NQB sender requirements in Section 4 place responsibility in the The NQB sender requirements in Section 4 place responsibility in the
hands of the application developer to determine the likelihood that hands of the application developer to determine the likelihood that
the application's sending behavior could result in a queue forming the application's sending behavior could result in a queue forming
along the path. These requirements rely on application developers along the path. These requirements rely on application developers
having a reasonable sense for the network context in which their having a reasonable sense for the network context in which their
application is to be deployed. Even so, there will undoubtedly be application is to be deployed. Even so, there will undoubtedly be
networks that contain links having a data rate that is below the networks that contain links having a data rate that is below the
lower end of what is considered "typical", and some of these links lower end of what is considered "typical"; some of these links could
could even be below the instantaneous sending rate of some NQB-marked even be below the instantaneous sending rate of some NQB-marked
applications. applications.
To limit the consequences of this scenario, operators of networks To limit the consequences of this scenario, operators of networks
with lower rate links SHOULD consider utilizing a traffic protection with lower rate links SHOULD consider utilizing a traffic protection
function on those links that is more tolerant of burstiness (i.e., a 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 temporary queue). This will have the effect of allowing a larger set
of NQB-marked microflows to remain in the NQB queue, but will come at of NQB-marked microflows to remain in the NQB queue; however, it will
the expense of a greater potential for delay variation. In come at the expense of a greater potential for delay variation. In
implementations that support [I-D.briscoe-docsis-q-protection], the implementations that support [RFC9957], the burst tolerance can be
burst tolerance can be configured via the CRITICALqLSCORE_us input configured via the CRITICALqLSCORE_us input parameter.
parameter.
Alternatively, operators of networks with lower rate links MAY choose Alternatively, operators of networks with lower rate links MAY choose
to disable NQB support (and thus aggregate traffic marked with the to disable NQB support (and thus aggregate traffic marked with the
NQB DSCP with Default traffic) on these lower rate links. For links NQB DSCP with Default traffic) on these lower rate links. For links
that have a data rate that is less than ten percent of "typical" path that have a data rate that is less than 10% of "typical" path rates,
rates, it is RECOMMENDED that the NQB PHB be disabled and that it is RECOMMENDED that the NQB PHB be disabled and that traffic
traffic marked with the NQB DSCP is therefore carried using the marked with the NQB DSCP is therefore carried using the Default PHB
Default PHB (without being re-marked to the Default DSCP (0)). (without being re-marked to the Default DSCP (0)).
7. Mapping NQB to standards of other SDOs 7. Mapping NQB to Standards of Other SDOs
This section provide recommendations for the support of the NQB PHB This section provide recommendations for the support of the NQB PHB
in certain use cases. This section is not exhaustive. in certain use cases. This section is not exhaustive.
7.1. DOCSIS Access Networks 7.1. DOCSIS Access Networks
Residential cable broadband Internet services are commonly configured Residential cable broadband Internet services are commonly configured
with a single bottleneck link (the access network link) upon which with a single bottleneck link (the access network link) upon which
the service definition is applied. The service definition, typically the service definition is applied. The service definition, typically
an upstream/downstream data rate tuple, is implemented as a an upstream/downstream data rate tuple, is implemented as a
skipping to change at page 24, line 10 skipping to change at line 1080
NQB DSCP. The NQB queue would need to be configured to share 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. service's rate shaped capacity with the queue for QB traffic.
Further discussion about support of the NQB PHB in DOCSIS networks Further discussion about support of the NQB PHB in DOCSIS networks
can be found in [LOW_LATENCY_DOCSIS]. can be found in [LOW_LATENCY_DOCSIS].
7.2. Mobile Networks 7.2. Mobile Networks
Historically, 3GPP mobile networks have utilized "bearers" to Historically, 3GPP mobile networks have utilized "bearers" to
encapsulate each user's user plane traffic through the radio and core encapsulate each user's user plane traffic through the radio and core
networks. A "dedicated bearer" can be allocated a Quality of Service networks. A "dedicated bearer" can be allocated a Quality of Service
(QoS) to apply any prioritisation to its microflows at queues and (QoS) to apply any prioritization to its microflows at queues and
radio schedulers. Typically, an LTE operator provides a dedicated radio schedulers. Typically, an LTE operator provides a dedicated
bearer for IMS VoLTE (Voice over LTE) traffic, which is prioritized bearer for IP Multimedia Subsystems (IMS) VoLTE (Voice over LTE)
in order to meet regulatory obligations for call completion rates; traffic, which is prioritized in order to meet regulatory obligations
and a "best effort" default bearer, for Internet traffic. The "best for call completion rates, and a "best effort" default bearer for
effort" bearer provides no guarantees, and hence its buffering Internet traffic. The "best effort" bearer provides no guarantees;
characteristics are not compatible with low-latency traffic. The 5G hence, its buffering characteristics are not compatible with low-
radio and core systems offer more flexibility over bearer allocation, latency traffic. The 5G radio and core systems offer more
meaning bearers can be allocated per traffic type (e.g., loss- flexibility over bearer allocation, meaning bearers can be allocated
tolerant, low-latency etc.) and hence support more suitable treatment per traffic type (e.g., loss-tolerant, low-latency, etc.); hence,
of Internet real-time microflows. they support more suitable treatment of Internet real-time
microflows.
To support the NQB PHB, the mobile network could be configured to To support the NQB PHB, the mobile network could be configured to
give User Equipment (UE, the mobile device used by the subscriber) a give User Equipment (UE, the mobile device used by the subscriber) a
dedicated, low-latency, non-GBR (non-Guaranteed Bit Rate), EPS dedicated, low-latency, non-GBR (non-Guaranteed Bit Rate), EPS
(Evolved Packet System, the core and access network architecture used (Evolved Packet System, the core and access network architecture used
in LTE) bearer, e.g., one with QCI 7 (QoS Class Identifier 7, which 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 is typically used for low-latency, non-GBR services), in addition to
the default EPS bearer. Alternatively, in a 5G system, a Data Radio the default EPS bearer. Alternatively, in a 5G system, a Data Radio
Bearer with 5QI 7 (5G QoS Identifier 7, similarly used for low- Bearer with 5QI 7 (5G QoS Identifier 7), similarly used for low-
latency traffic) could be provisioned (see Table 5.7.4-1: latency traffic, could be provisioned (see Table 5.7.4-1:
Standardized 5QI to QoS characteristics mapping in [SA-5G]). Standardized 5QI to QoS characteristics mapping in [SA-5G]).
A packet carrying the NQB DSCP could then be routed through this A packet carrying the NQB DSCP could then be routed through this
dedicated low-latency EPS bearer, while a packet that has no dedicated low-latency EPS bearer, while a packet that has no
associated NQB marking would be routed through the default EPS associated NQB marking would be routed through the default EPS
bearer. bearer.
7.3. Wi-Fi Networks 7.3. Wi-Fi Networks
Wi-Fi networking equipment compliant with 802.11e/n/ac/ax Wi-Fi networking equipment compliant with 802.11e/n/ac/ax
skipping to change at page 24, line 52 skipping to change at line 1123
and four sets of associated Enhanced Distributed Channel Access and four sets of associated Enhanced Distributed Channel Access
(EDCA) parameters (corresponding to the four Wi-Fi Multimedia (WMM) (EDCA) parameters (corresponding to the four Wi-Fi Multimedia (WMM)
Access Categories) that are used to enable differentiated medium Access Categories) that are used to enable differentiated medium
access characteristics. The four WMM Access Categories, referred to access characteristics. The four WMM Access Categories, referred to
as Voice Access Category (AC_VO), Video Access Category (AC_VI), Best as Voice Access Category (AC_VO), Video Access Category (AC_VI), Best
Effort Access Category (AC_BE), and Background Access Category Effort Access Category (AC_BE), and Background Access Category
(AC_BK), provide four levels of prioritized access to the wireless (AC_BK), provide four levels of prioritized access to the wireless
medium. As discussed in [RFC8325], it has been a common practice for medium. As discussed in [RFC8325], it has been a common practice for
Wi-Fi implementations to use a default DSCP to User Priority (UP) Wi-Fi implementations to use a default DSCP to User Priority (UP)
mapping that utilizes the most significant three bits of the Diffserv mapping that utilizes the most significant three bits of the Diffserv
Field to select "User Priority" which is then mapped to the four WMM Field to select "User Priority", which is then mapped to the four WMM
Access Categories. [RFC8325] also provides an alternative mapping Access Categories. [RFC8325] also provides an alternative mapping
that more closely aligns with the DSCP recommendations provided by that more closely aligns with the DSCP recommendations provided by
the IETF. In the case of some managed Wi-Fi equipment, this mapping 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 [TR-369]. can be controlled by the network operator, e.g., via TR-369 [TR-369].
In addition to the requirements provided in other sections of this In addition to the requirements provided in other sections of this
document, to support the NQB PHB, Wi-Fi equipment (including document, to support the NQB PHB, Wi-Fi equipment (including
equipment compliant with [RFC8325]) SHOULD map the NQB DSCP 45 equipment compliant with [RFC8325]) SHOULD map the NQB DSCP 45
(decimal) into a separate queue in the same Access Category as the (decimal) into a separate queue in the same Access Category as the
queue that carries Default traffic (i.e. the Best Effort Access queue that carries Default traffic (i.e., the Best Effort Access
Category). It is RECOMMENDED that Wi-Fi equipment provide a separate Category). It is RECOMMENDED that Wi-Fi equipment provide a separate
queue in UP 0, and map the NQB DSCP 45 (decimal) to that queue. If a queue in UP 0 and map the NQB DSCP 45 (decimal) to that queue. If a
separate queue in UP 0 cannot be provided (due to hardware separate queue in UP 0 cannot be provided (due to hardware
limitations, etc.) a Wi-Fi device MAY map the NQB DSCP 45 (decimal) limitations, etc.), a Wi-Fi device MAY map the NQB DSCP 45 (decimal)
to UP 3. to UP 3.
7.3.1. Interoperability with Existing Wi-Fi Networks 7.3.1. Interoperability with Existing Wi-Fi Networks
While some existing Wi-Fi equipment might be capable (in some cases While some existing Wi-Fi equipment might be capable (in some cases
via firmware update) of supporting the NQB PHB requirements, many via firmware update) of supporting the NQB PHB requirements, many
currently deployed devices cannot be configured in this way. As a currently deployed devices cannot be configured in this way. As a
result, the remainder of this section discusses interoperability with result, the remainder of this section discusses interoperability with
these existing Wi-Fi networks, as opposed to PHB compliance. these existing Wi-Fi networks, as opposed to PHB compliance.
Since this equipment is widely deployed, and the Wi-Fi link can Since this equipment is widely deployed, and the Wi-Fi link can
become a bottleneck link, the performance of traffic marked with the become a bottleneck link, the performance of traffic marked with the
NQB DSCP across such links could have a significant impact on 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 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 DSCP used to mark NQB traffic, existing Wi-Fi equipment that uses the
default mapping of DSCPs to Access Categories (Section 2.3 of default mapping of DSCPs to Access Categories (see Section 2.3 of
[RFC8325]) and the default EDCA parameters will support either (but [RFC8325]) and the default EDCA parameters will support either (but
not both) of the following characteristics: not both) of the following characteristics:
* the NQB PHB requirement for separate queuing of NQB traffic from * the NQB PHB requirement for separate queuing of NQB traffic from
Default traffic (Section 5.1) Default traffic (Section 5.1)
* the recommendation to treat NQB traffic with forwarding preference * the recommendation to treat NQB traffic with forwarding preference
equal to that used for Default traffic (Section 5.1) equal to that used for Default traffic (Section 5.1)
The DSCP value 45 (decimal) is recommended for NQB (see Section 4). The DSCP value 45 (decimal) is recommended for NQB (see Section 4).
This maps NQB to UP 5 using the default mapping, which is in the 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- "Video" Access Category. While this choice of DSCP enables these Wi-
Fi systems to support the NQB PHB requirement for separate queuing, Fi systems to support the NQB PHB requirement for separate queuing,
existing Wi-Fi devices generally utilize EDCA parameters that result existing Wi-Fi devices generally utilize EDCA parameters that result
in statistical prioritization of the "Video" Access Category above in statistical prioritization of the "Video" Access Category above
the "Best Effort" Access Category. In addition this equipment does the "Best Effort" Access Category. In addition, this equipment does
not support the remaining NQB PHB recommendations in Section 5. The not support the remaining NQB PHB recommendations in Section 5. The
rationale for the choice of DSCP 45 (decimal) as well as its rationale for the choice of DSCP 45 (decimal) as well as its
ramifications, and remedies for its limitations are discussed further ramifications and remedies for its limitations are discussed further
below. below.
The choice of separated queuing rather than equal forwarding The choice of separated queuing rather than equal forwarding
preference in existing Wi-Fi networks was motivated by the following: preference in existing Wi-Fi networks was motivated by the following:
* Separate queuing is necessary in order to provide a benefit for * Separate queuing is necessary in order to provide a benefit for
traffic marked with the NQB DSCP. traffic marked with the NQB DSCP.
* The arrangement of queues in Wi-Fi equipment is typically fixed, * The arrangement of queues in Wi-Fi equipment is typically fixed,
whereas the relative priority of the Access Category queues is whereas the relative priority of the Access Category queues is
configurable. Most Wi-Fi equipment has hardware support (albeit configurable. Most Wi-Fi equipment has hardware support (albeit
generally not exposed for user control) which could be used to generally not exposed for user control), which could be used to
adjust the EDCA parameters in order to meet the equal forwarding adjust the EDCA parameters in order to meet the equal forwarding
preference recommendation. This is discussed further below. preference recommendation. This is discussed further below.
* Traffic that is compliant with the NQB sender requirements * Traffic that is compliant with the NQB sender requirements in
Section 4 is expected to cause minimal degradation to traffic in Section 4 is expected to cause minimal degradation to traffic in
lower priority Access Categories, and in any case would be lower priority Access Categories. In any case, it would be
unlikely to cause more degradation to lower priority Access unlikely to cause more degradation to lower priority Access
Categories than the existing recommended Video Access Category Categories than the existing recommended Video Access Category
traffic types: Broadcast Video, Multimedia Streaming, Multimedia traffic types: Broadcast Video, Multimedia Streaming, Multimedia
Conferencing from [RFC8325], and AudioVideo, ExcellentEffort from Conferencing from [RFC8325], and AudioVideo, ExcellentEffort from
[QOS_TRAFFIC_TYPE]. [QOS_TRAFFIC_TYPE].
* Several existing client applications that are compatible with the * Several existing client applications that are compatible with the
NQB sender requirements already select the Video Access Category, NQB sender requirements already select the Video Access Category;
and thus would not see a degradation in performance by thus, they would not see a degradation in performance by
transitioning to the NQB DSCP, regardless of whether the network transitioning to the NQB DSCP, regardless of whether the network
supported the PHB. supported the PHB.
* Application instances on Wi-Fi client devices are already free to * Application instances on Wi-Fi client devices are already free to
choose any Access Category that they wish, regardless of their choose any Access Category that they wish, regardless of their
sending behavior, without any policing of usage. So, the choice sending behavior, without any policing of usage. So, the choice
of using DSCP 45 (decimal) for NQB creates no new avenues for non- of using DSCP 45 (decimal) for NQB creates no new avenues for non-
NQB-compliant client applications to exploit the prioritization NQB-compliant client applications to exploit the prioritization
function in Wi-Fi. function in Wi-Fi.
* For application traffic that originates outside of the Wi-Fi * For application traffic that originates outside of the Wi-Fi
network, and thus is transmitted by the Access Point, the choice network, and, thus, is transmitted by the Access Point, the choice
of DSCP 45 does create a potential for abuse by non-compliant of DSCP 45 does create a potential for abuse by non-compliant
applications. But, opportunities exist in the network components applications. However, opportunities exist in the network
upstream of the Wi-Fi Access Point to police the usage of the NQB components upstream of the Wi-Fi Access Point to police the usage
DSCP and potentially re-mark traffic that is considered non- of the NQB DSCP and potentially re-mark traffic that is considered
compliant, as is recommended in Section 6.4.1. Furthermore, it is non-compliant, as is recommended in Section 6.4.1. Furthermore,
reasonable to expect that ISPs currently manage the DSCPs on it is reasonable to expect that ISPs currently manage the DSCPs on
traffic destined to their customers' networks, and will continue traffic destined to their customers' networks and will continue to
to do so whether they support NQB or not. This includes the do so whether or not they support NQB. This includes the practice
practice in residential broadband networks of re-marking the in residential broadband networks of re-marking the Diffserv field
Diffserv field to zero on all traffic. Any change to these to zero on all traffic. Any change to these practices done to
practices done to enable the NQB DSCP to pass through could be enable the NQB DSCP to pass through could be done alongside the
done alongside the implementation of the recommendations in implementation of the recommendations in Section 6.4.1.
Section 6.4.1.
The choice of Video Access Category rather than the Voice Access The choice of Video Access Category rather than the Voice Access
Category was motivated by the desire to minimize the potential for Category was motivated by the desire to minimize the potential for
degradation of Best Effort Access Category traffic. The choice of degradation of Best Effort Access Category traffic. The choice of
Video Access Category rather than the Background Access Category was Video Access Category rather than the Background Access Category was
motivated by the much greater potential of degradation to NQB traffic 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 that would be caused by the vast majority of traffic in most Wi-Fi
networks, which utilizes the Best Effort Access Category. networks, which utilizes the Best Effort Access Category.
As stated above, the use of DSCP 45 (decimal) for NQB is not expected 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 to create incentives for abuse by non-compliant applications in the
Wi-Fi uplink direction. The fact that the NQB DSCP brings with it Wi-Fi uplink direction. The fact that the NQB DSCP brings with it
the potential for degradation of non-compliant applications (traffic the potential for degradation of non-compliant applications (traffic
protection and/or a shallow queue resulting in reordering and/or protection and/or a shallow queue resulting in reordering and/or
packet loss at some hop along the path) plus the existence of packet loss at some hop along the path) plus the existence of
multiple other DSCP values that don't carry the risk of degradation, multiple other DSCP values that don't carry the risk of degradation
and which could be readily used to obtain prioritization (AC_VI or and that could be readily used to obtain prioritization (AC_VI or
even AC_VO), leads to the conclusion that NQB non-compliant even AC_VO) leads to the conclusion that NQB non-compliant
applications that are seeking prioritization in the Wi-Fi uplink applications that are seeking prioritization in the Wi-Fi uplink
would be better off selecting one of those other DSCPs. This would be better off selecting one of those other DSCPs. This
conclusion is not expected to be disturbed by network support for NQB conclusion is not expected to be disturbed by network support for NQB
increasing the likelihood of DSCP 45 traffic traversing network increasing the likelihood of DSCP 45 traffic traversing network
boundaries without change to the DSCP, as that likelihood of boundaries without change to the DSCP, as that likelihood of
increased network boundary traversal is balanced by a likelihood of increased network boundary traversal is balanced by a likelihood of
NQB traffic encountering the traffic-limiting aspects of NQB support, NQB traffic encountering the traffic-limiting aspects of NQB support,
traffic protection and shallow buffers, which limit the potential for traffic protection, and shallow buffers, which limit the potential
abuse. for abuse.
In the case of traffic originating outside of the Wi-Fi network, the In the case of traffic originating outside of the Wi-Fi network, the
prioritization of traffic marked with the NQB DSCP via the Video prioritization of traffic marked with the NQB DSCP via the Video
Access Category (if left unchanged) could potentially erode the Access Category (if left unchanged) could potentially erode the
principle of alignment of incentives discussed in Section 5. In principle of alignment of incentives discussed in Section 5. In
order to preserve the incentives principle for NQB, Wi-Fi systems MAY order to preserve the incentives principle for NQB, Wi-Fi systems MAY
be configured such that the EDCA parameters for the Video Access be configured such that the EDCA parameters for the Video Access
Category match those of the Best Effort Access Category, which will 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 mean AC_VI is at the same priority level as AC_BE. These changes
might not be possible on all Access Points, and in any case the might not be possible on all Access Points; in any case, the
requirements and recommendations in Section 6.4.1 would apply in this requirements and recommendations in Section 6.4.1 would apply in this
situation. situation.
Systems that utilize [RFC8325] but cannot provide a separate AC_BE Systems that utilize [RFC8325] but cannot provide a separate AC_BE
queue for NQB traffic, SHOULD map the NQB DSCP 45 (decimal) (or the queue for NQB traffic SHOULD map the NQB DSCP 45 (decimal) (or the
locally determined alternative) to UP 5 in the "Video" Access locally determined alternative) to UP 5 in the "Video" Access
Category as well (see Section 7.3.2). Category as well (see Section 7.3.2).
7.3.2. The Updates to RFC 8325 7.3.2. The Updates to RFC 8325
[XXX RFC Editor please replace RFCXXXX with this RFC number when
published XXX]
Section 4.2.9 of [RFC8325] describes the recommendation for the Section 4.2.9 of [RFC8325] describes the recommendation for the
handling of Standard service class traffic that carries the Default handling of Standard service class traffic that carries the Default
DSCP. This update to [RFC8325] changes the title of Section 4.2.9 of DSCP. This update to [RFC8325] changes the title of Section 4.2.9 of
[RFC8325] from "Standard" to "Standard and Non-Queue-Building". This [RFC8325] from "Standard" to "Standard and Non-Queue-Building". This
update additionally adds a paragraph at the end of Section 4.2.9 of update additionally adds a paragraph at the end of Section 4.2.9 of
[RFC8325] as follows: [RFC8325] as follows:
RFCXXXX defines a shallow-buffered best-effort service for | RFC 9956 defines a shallow-buffered, best-effort service for
traffic marked with the NQB DSCP (45 decimal) and recommends the | traffic marked with the NQB DSCP 45 (decimal) and recommends the
following treatment in Wi-Fi equipment. It is RECOMMENDED that | following treatment in Wi-Fi equipment. It is RECOMMENDED that
Wi-Fi equipment map the NQB DSCP 45 (decimal) into a separate | Wi-Fi equipment map the NQB DSCP 45 (decimal) into a separate
queue in the same Access Category as the queue that carries | queue in the same Access Category as the queue that carries
Default traffic (i.e. the Best Effort Access Category). It is | Default traffic (i.e., the Best Effort Access Category). It is
RECOMMENDED that Wi-Fi equipment provide a separate queue in UP | RECOMMENDED that Wi-Fi equipment provide a separate queue in UP 0
0, and map the NQB DSCP 45 (decimal) to that queue. If a | and map the NQB DSCP 45 (decimal) to that queue. If a separate
separate queue in UP 0 cannot be provided (due to hardware | queue in UP 0 cannot be provided (due to hardware limitations,
limitations, etc.) a Wi-Fi device MAY map the NQB DSCP 45 | etc.), a Wi-Fi device MAY map the NQB DSCP 45 (decimal) to UP 3.
(decimal) to UP 3. If neither of these options provides a | If neither of these options provides a separate queue from Default
separate queue from Default traffic, it is RECOMMENDED that Wi-Fi | traffic, it is RECOMMENDED that Wi-Fi equipment map the NQB DSCP
equipment map the NQB DSCP 45 (decimal) to UP 5 (which | 45 (decimal) to UP 5 (which corresponds to the default mapping
corresponds to the default mapping described in Section 2.3). | described in Section 2.3). RFC 9956 provides additional
RFCXXXX provides additional recommendations and requirements for | recommendations and requirements for support of the NQB PHB that
support of the NQB PHB that aren't available in the QoS model | aren't available in the QoS model described in Section 6 but
described in Section 6, but nonetheless could be supported in | nonetheless could be supported in implementations.
implementations.
This update to [RFC8325] inserts a new row for "Non-Queue-Building" In another update to [RFC8325] captured below, a new row for "Non-
traffic between the existing "Low-Latency Data" and "OAM" rows in its Queue-Building" traffic is inserted between the existing "Low-Latency
Figure 1 as follows: Data" and "OAM" rows in Figure 1 of [RFC8325] as follows:
+---------------+------+----------+-------------+--------------------+ +---------------+------+----------+-------------+--------------------+
| Low- | AF21 | | | | | Low- | AF21 | | | |
| Latency | AF22 | RFC 2597 | 3 | AC_BE (Best Effort)| | Latency | AF22 | RFC 2597 | 3 | AC_BE (Best Effort)|
| Data | AF23 | | | | | Data | AF23 | | | |
+---------------+------+----------+-------------+--------------------+ +---------------+------+----------+-------------+--------------------+
| Non- | | | 0, 3 | AC_BE (Best Effort)| | Non- | | | 0, 3 | AC_BE (Best Effort)|
| Queue- | NQB | RFC XXXX | OR | | Queue- | NQB | RFC 9956 | OR |
| Building | | | 5 | AC_VI (Video) | | Building | | | 5 | AC_VI (Video) |
| | | | See Section 4.2.9 | | | | | See Section 4.2.9 |
+---------------+------+----------+-------------+--------------------+ +---------------+------+----------+-------------+--------------------+
| OAM | CS2 | RFC 2474 | 0 | AC_BE (Best Effort)| | OAM | CS2 | RFC 2474 | 0 | AC_BE (Best Effort)|
+---------------+------+----------+-------------+--------------------+ +---------------+------+----------+-------------+--------------------+
This update adds the following sentence to the end of the first A third update adds the following sentence to the end of the first
paragraph in Section 5.3 of [RFC8325]: "An exception to this is the paragraph in Section 5.3 of [RFC8325]:
NQB DSCP 45 (decimal) which encodes for best-effort service."
8. IANA Considerations
This document requests that IANA assign the Differentiated Services
Field Codepoint (DSCP) 45 ('0b101101', 0x2D) from the "Differentiated
Services Field Codepoints (DSCP)" registry
(https://www.iana.org/assignments/dscp-registry/) ("DSCP Pool 3
Codepoints", Codepoint Space xxxx01, Standards Action) as the
recommended codepoint for Non-Queue-Building behavior.
IANA should update this registry as follows:
* Name: NQB | An exception to this is the NQB DSCP 45 (decimal), which encodes
| for best-effort service.
* Value (Binary): 101101 8. IANA Considerations
* Value (Decimal): 45 IANA has assigned the Differentiated Services Field Codepoint (DSCP)
45 from the "Differentiated Services Field Codepoints (DSCP)"
registry (https://www.iana.org/assignments/dscp-registry/) ("DSCP
Pool 3 Codepoints", Codepoint Space xxxx01, Standards Action
([RFC8126]) for Non-Queue-Building behavior.
* Reference: this document IANA has updated this registry as follows:
9. Implementation Status Name: NQB
Note to RFC Editor: This section should be removed prior to Value (Binary): 101101
publication
The NQB PHB is implemented in equipment compliant with the current Value (Decimal): 45
DOCSIS 3.1 specification, published by CableLabs at: CableLabs
Specifications Search (https://www.cablelabs.com/specifications/searc
h?query=&category=DOCSIS&subcat=DOCSIS%203.1&doctype=Specifications&c
ontent=false&archives=false&currentPage=1).
CableLabs maintains a list of production cable modem devices that are Reference: RFC 9956
Certified as being compliant to the DOCSIS Specifications, this list
is available at 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.
10. Security Considerations 9. Security Considerations
The security considerations for the NQB PHB relate to the potential The security considerations for the NQB PHB relate to the potential
to impact the capacity available or delay experienced by other flows to impact the capacity available or delay experienced by other flows
that share a bottleneck on the path with traffic that is marked with that share a bottleneck on the path with traffic that is marked with
the recommended NQB DSCP. the recommended NQB DSCP.
Full support for the NQB PHB in bottleneck links limits the Full support for the NQB PHB in bottleneck links limits the
incentives for a Queue-Building application to mismark its packets as incentives for a Queue-Building application to mis-mark its packets
NQB, particularly for implementations that support traffic as NQB, particularly for implementations that support traffic
protection. If a Queue-Building microflow were to mismark its protection. If a Queue-Building microflow were to mis-mark its
packets as NQB, it would be unlikely to receive a benefit by doing packets as NQB, it would be unlikely to receive a benefit by doing
so, and it would usually experience a degradation, in contrast to so, and it would usually experience a degradation, in contrast to
mismarking its packets for a higher-priority PHB, e.g., the EF PHB mis-marking its packets for a higher-priority PHB, e.g., the EF PHB
[RFC3246]. The nature of the degradation would depend on the [RFC3246]. The nature of the degradation would depend on the
specifics of the PHB implementation, including response to NQB buffer specifics of the PHB implementation, including response to NQB buffer
overflow (and on the presence or absence of a traffic protection overflow (and on the presence or absence of a traffic protection
function), but could include excessive packet loss, excessive delay function) but could include excessive packet loss, excessive delay
variation and/or excessive out-of-order delivery. If a Non-Queue- variation, and/or excessive out-of-order delivery. If a Non-Queue-
Building microflow was to fail to mark its packets as NQB, it could Building microflow were to fail to mark its packets as NQB, it could
suffer the delay and loss typical of sharing a queue with capacity suffer the delay and loss typical of sharing a queue with capacity-
seeking traffic. seeking traffic.
To preserve low delay performance for NQB traffic, networks that To preserve low-delay performance for NQB traffic, networks that
support the NQB PHB will need to ensure that mechanisms are in place support the NQB PHB will need to ensure that mechanisms are in place
to prevent malicious traffic marked with the NQB DSCP from causing to prevent malicious traffic marked with the NQB DSCP from causing
excessive queue delay. Section 5.2 recommends the implementation of excessive queue delay. Section 5.2 recommends the implementation of
a traffic protection mechanism to achieve this goal. The a traffic protection mechanism to achieve this goal. The
recommendations on traffic protection mechanisms in this document recommendations on traffic protection mechanisms in this document
presume that some type of "flow" state be maintained in order to presume that some type of "flow" state be maintained in order to
differentiate between microflows that are causing queuing delay and differentiate between microflows that are causing queuing delay and
those that aren't. Since this flow state is likely finite, this those that aren't. Since this flow state is likely finite, this
opens up the possibility of flow-state exhaustion attacks. While opens up the possibility of flow-state exhaustion attacks. While
this document requires that traffic protection mechanisms be designed this document requires that traffic protection mechanisms be designed
with this possibility in mind, the outcomes of flow-state exhaustion with this possibility in mind, the outcomes of flow-state exhaustion
would depend on the implementation. would depend on the implementation.
If traffic protection is not implemented or is not able to prevent If traffic protection is not implemented or is not able to prevent
queue formation in the NQB shallow buffer, the limited size of that queue formation in the NQB shallow buffer, the limited size of that
buffer will cause a growing queue to overrun that buffer, resulting buffer will cause a growing queue to overrun that buffer, resulting
in negative effects (e.g., reforwarding as Default, discarding) that in negative effects (e.g., reforwarding as Default, discarding) that
potentially impact multiple NQB-marked microflows, independent of potentially impact multiple NQB-marked microflows, independent of
whether each affected microflow contributed to queue formation. As whether each affected microflow contributed to queue formation. As
discussed elsewhere in this draft, those negative effects serve to discussed elsewhere in this document, those negative effects serve to
discourage misuse and abuse of NQB by QB traffic, but the negative discourage misuse and abuse of NQB by QB traffic, but the negative
side effects on NQB traffic that is using NQB (and the associated side effects on NQB traffic that is using NQB (and the associated
shallow buffer) as intended motivates limiting the effects of shallow shallow buffer) as intended motivates limiting the effects of shallow
buffer overrun via per-user provisioning limits that prevent queue buffer overrun via per-user provisioning limits that prevent queue
overrun effects from affecting other users (see Section 5.1). overrun effects from affecting other users (see Section 5.1).
Notwithstanding the above, the choice of DSCP for NQB does allow Notwithstanding the above, the choice of DSCP for NQB does allow
existing Wi-Fi networks to readily (and by default) support some of existing Wi-Fi networks to readily (and by default) support some of
the PHB requirements, but without a traffic protection function, and the PHB requirements, but without a traffic protection function, and
(when left in the default state) by giving NQB traffic higher (when left in the default state) by giving NQB traffic higher
priority than QB traffic. This is not considered to be a compliant priority than QB traffic. This is not considered to be a compliant
implementation of the PHB. These existing Wi-Fi networks currently implementation of the PHB. These existing Wi-Fi networks currently
provide priority to half of the DSCP space, whether or not 45 is provide priority to half of the DSCP space, whether or not 45
assigned to the NQB DSCP. While the NQB DSCP value could also be (decimal) is assigned to the NQB DSCP. While the NQB DSCP value
abused to gain priority on such links, the potential presence of could also be abused to gain priority on such links, the potential
traffic protection functions in other hops along the path (which presence of traffic protection functions in other hops along the path
likely act on the NQB DSCP value alone) would make it less attractive (which likely act on the NQB DSCP value alone) would make it less
for such abuse than any of the other 31 DSCP values that are given attractive for such abuse than any of the other 31 DSCP values that
priority. are given priority.
This document discusses the potential use of the NQB DSCP and NQB PHB This document discusses the potential use of the NQB DSCP and NQB PHB
in network technologies that are standardized in other SDOs. Any in network technologies that are standardized in other SDOs. Any
security considerations that relate to deployment and operation of security considerations that relate to deployment and operation of
NQB solely in specific network technologies are not discussed here. NQB solely in specific network technologies are not discussed here.
NQB uses the Diffserv field. The design of Diffserv does not include NQB uses the Diffserv field. The design of Diffserv does not include
integrity protection for the DSCP, and thus it is possible for the integrity protection for the DSCP; thus, it is possible for the DSCP
DSCP to be changed by an on-path attacker. The NQB PHB and to be changed by an on-path attacker. The NQB PHB and associated
associated DSCP don't change this. While re-marking DSCPs is DSCP don't change this. While re-marking DSCPs is permitted for
permitted for various reasons (some are discussed in this document, various reasons (some are discussed in this document, others can be
others can be found in [RFC2474] and [RFC2475]), if done maliciously, found in [RFC2474] and [RFC2475]), if done maliciously, this might
this might negatively affect the QoS of the tampered microflow. negatively affect the QoS of the tampered microflow. Nonetheless, an
Nonetheless, an on-path attacker can also alter other mutable fields on-path attacker can also alter other mutable fields in the IP header
in the IP header (e.g. the TTL), which can wreak much more havoc than (e.g., the TTL), which can wreak much more havoc than just altering
just altering QoS treatment. QoS treatment.
11. References 10. References
11.1. Normative References 10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS "Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474, Field) in the IPv4 and IPv6 Headers", RFC 2474,
DOI 10.17487/RFC2474, December 1998, DOI 10.17487/RFC2474, December 1998,
skipping to change at page 32, line 28 skipping to change at line 1444
March 2017, <https://www.rfc-editor.org/info/rfc8085>. March 2017, <https://www.rfc-editor.org/info/rfc8085>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8325] Szigeti, T., Henry, J., and F. Baker, "Mapping Diffserv to [RFC8325] Szigeti, T., Henry, J., and F. Baker, "Mapping Diffserv to
IEEE 802.11", RFC 8325, DOI 10.17487/RFC8325, February IEEE 802.11", RFC 8325, DOI 10.17487/RFC8325, February
2018, <https://www.rfc-editor.org/info/rfc8325>. 2018, <https://www.rfc-editor.org/info/rfc8325>.
11.2. Informative References 10.2. Informative References
[Barik] Barik, R., Welzl, M., Elmokashfi, A., Dreibholz, T., and [Barik] Barik, R., Welzl, M., Elmokashfi, A., Dreibholz, T., and
S. Gjessing, "Can WebRTC QoS Work? A DSCP Measurement S. Gjessing, "Can WebRTC QoS Work? A DSCP Measurement
Study", ITC 30, September 2018. Study", 30th International Teletraffic Congress (ITC 30),
DOI 10.1109/ITC30.2018.00034, September 2018,
<https://gitlab2.informatik.uni-wuerzburg.de/itc-
conference/itc-publications-public/-/raw/master/itc30/
Barik18ITC30.pdf?inline=true>.
[BBR-CC] Cardwell, N., Ed., Swett, I., Ed., and J. Beshay, Ed.,
"BBR Congestion Control", Work in Progress, Internet-
Draft, draft-ietf-ccwg-bbr-04, 20 October 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-ccwg-
bbr-04>.
[Cardwell2017] [Cardwell2017]
Cardwell, N., Cheng, Y., Jacobson, V., Iyengar, J., Swett, Cardwell, N., Cheng, Y., Gunn, C. S., Yeganeh, S. H., and
I., and B. Yan, "BBR: Congestion-Based Congestion V. Jacobson, "BBR: Congestion-Based Congestion Control",
Control", Communications of the ACM Vol. 60, No. 2, pp. Communications of the ACM, vol. 60, no. 2, pp. 58-66,
58-66, DOI 10.1145/3009824, February 2017, DOI 10.1145/3009824, February 2017,
<https://doi.org/10.1145/3009824>. <https://doi.org/10.1145/3009824>.
[Custura] Custura, A., Venne, A., and G. Fairhurst, "Exploring DSCP [Custura] Custura, A., Venne, A., and G. Fairhurst, "Exploring DSCP
modification pathologies in mobile edge networks", TMA , modification pathologies in mobile edge networks", Network
2017. Traffic Measurement and Analysis Conference (TMA), 2017,
<https://tma.ifip.org/wp-content/uploads/sites/7/2017/06/
mnm2017_paper13.pdf>.
[Gettys2012] [Gettys2012]
Gettys, J. and K. Nichols, "Bufferbloat: Dark Buffers in Gettys, J. and K. Nichols, "Bufferbloat: Dark Buffers in
the Internet", Communications of the ACM Vol. 55, No. 1, the Internet", Communications of the ACM, vol. 55, no. 1,
pp. 57-65, DOI 10.1145/2063166.2071893, January 2012, pp. 57-65, DOI 10.1145/2063176.2063196, January 2012,
<https://doi.org/10.1145/2063166.2071893>. <https://doi.org/10.1145/2063176.2063196>.
[I-D.briscoe-docsis-q-protection]
Briscoe, B. and G. White, "The DOCSIS(r) Queue Protection
Algorithm to Preserve Low Latency", Work in Progress,
Internet-Draft, draft-briscoe-docsis-q-protection-07, 23
November 2023, <https://datatracker.ietf.org/doc/html/
draft-briscoe-docsis-q-protection-07>.
[I-D.ietf-ccwg-bbr]
Cardwell, N., Swett, I., and J. Beshay, "BBR Congestion
Control", Work in Progress, Internet-Draft, draft-ietf-
ccwg-bbr-03, 7 July 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-ccwg-
bbr-03>.
[IEEE802-11] [IEEE802-11]
IEEE-SA, "IEEE 802.11-2020", IEEE 802, December 2020, IEEE, "IEEE Standard for Information Technology --
<https://standards.ieee.org/standard/802_11-2020.html>. 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", IEEE
Std 802.11-2020, DOI 10.1109/IEEESTD.2021.9363693,
February 2021,
<https://ieeexplore.ieee.org/document/9363693>.
[LOW_LATENCY_DOCSIS] [LOW_LATENCY_DOCSIS]
CableLabs, "Low Latency DOCSIS: Technology Overview", CableLabs, "Low Latency DOCSIS: Technology Overview",
February 2019, <https://cablela.bs/low-latency-docsis- February 2019, <https://cablela.bs/low-latency-docsis-
technology-overview-february-2019>. technology-overview-february-2019>.
[QOS_TRAFFIC_TYPE] [QOS_TRAFFIC_TYPE]
Microsoft, Corporation, "QOS_TRAFFIC_TYPE enumeration", Microsoft, Corporation, "QOS_TRAFFIC_TYPE enumeration
2022, <https://learn.microsoft.com/en- (qos2.h)", January 2022, <https://learn.microsoft.com/en-
us/windows/win32/api/qos2/ne-qos2-qos_traffic_type>. us/windows/win32/api/qos2/ne-qos2-qos_traffic_type>.
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
and W. Weiss, "An Architecture for Differentiated and W. Weiss, "An Architecture for Differentiated
Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
<https://www.rfc-editor.org/info/rfc2475>. <https://www.rfc-editor.org/info/rfc2475>.
[RFC2598] Jacobson, V., Nichols, K., and K. Poduri, "An Expedited [RFC2598] Jacobson, V., Nichols, K., and K. Poduri, "An Expedited
Forwarding PHB", RFC 2598, DOI 10.17487/RFC2598, June Forwarding PHB", RFC 2598, DOI 10.17487/RFC2598, June
1999, <https://www.rfc-editor.org/info/rfc2598>. 1999, <https://www.rfc-editor.org/info/rfc2598>.
skipping to change at page 35, line 20 skipping to change at line 1580
[RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control: [RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control:
Circuit Breakers for Unicast RTP Sessions", RFC 8083, Circuit Breakers for Unicast RTP Sessions", RFC 8083,
DOI 10.17487/RFC8083, March 2017, DOI 10.17487/RFC8083, March 2017,
<https://www.rfc-editor.org/info/rfc8083>. <https://www.rfc-editor.org/info/rfc8083>.
[RFC8100] Geib, R., Ed. and D. Black, "Diffserv-Interconnection [RFC8100] Geib, R., Ed. and D. Black, "Diffserv-Interconnection
Classes and Practice", RFC 8100, DOI 10.17487/RFC8100, Classes and Practice", RFC 8100, DOI 10.17487/RFC8100,
March 2017, <https://www.rfc-editor.org/info/rfc8100>. March 2017, <https://www.rfc-editor.org/info/rfc8100>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
[RFC8289] Nichols, K., Jacobson, V., McGregor, A., Ed., and J. [RFC8289] Nichols, K., Jacobson, V., McGregor, A., Ed., and J.
Iyengar, Ed., "Controlled Delay Active Queue Management", Iyengar, Ed., "Controlled Delay Active Queue Management",
RFC 8289, DOI 10.17487/RFC8289, January 2018, RFC 8289, DOI 10.17487/RFC8289, January 2018,
<https://www.rfc-editor.org/info/rfc8289>. <https://www.rfc-editor.org/info/rfc8289>.
[RFC8290] Hoeiland-Joergensen, T., McKenney, P., Taht, D., Gettys, [RFC8290] Hoeiland-Joergensen, T., McKenney, P., Taht, D., Gettys,
J., and E. Dumazet, "The Flow Queue CoDel Packet Scheduler J., and E. Dumazet, "The Flow Queue CoDel Packet Scheduler
and Active Queue Management Algorithm", RFC 8290, and Active Queue Management Algorithm", RFC 8290,
DOI 10.17487/RFC8290, January 2018, DOI 10.17487/RFC8290, January 2018,
<https://www.rfc-editor.org/info/rfc8290>. <https://www.rfc-editor.org/info/rfc8290>.
skipping to change at page 36, line 15 skipping to change at line 1628
[RFC9435] Custura, A., Fairhurst, G., and R. Secchi, "Considerations [RFC9435] Custura, A., Fairhurst, G., and R. Secchi, "Considerations
for Assigning a New Recommended Differentiated Services for Assigning a New Recommended Differentiated Services
Code Point (DSCP)", RFC 9435, DOI 10.17487/RFC9435, July Code Point (DSCP)", RFC 9435, DOI 10.17487/RFC9435, July
2023, <https://www.rfc-editor.org/info/rfc9435>. 2023, <https://www.rfc-editor.org/info/rfc9435>.
[RFC9438] Xu, L., Ha, S., Rhee, I., Goel, V., and L. Eggert, Ed., [RFC9438] Xu, L., Ha, S., Rhee, I., Goel, V., and L. Eggert, Ed.,
"CUBIC for Fast and Long-Distance Networks", RFC 9438, "CUBIC for Fast and Long-Distance Networks", RFC 9438,
DOI 10.17487/RFC9438, August 2023, DOI 10.17487/RFC9438, August 2023,
<https://www.rfc-editor.org/info/rfc9438>. <https://www.rfc-editor.org/info/rfc9438>.
[SA-5G] 3GPP, "System Architecture for 5G", TS 23.501 V18.6.0, [RFC9957] Briscoe, B., Ed. and G. White, "The DOCSIS(r) Queue
June 2024. Protection Algorithm to Preserve Low Latency", RFC 9957,
DOI 10.17487/RFC9957, April 2026,
<https://www.rfc-editor.org/info/rfc9957>.
[TR-369] Broadband Forum, "The User Services Platform", January [SA-5G] 3GPP, "System Architecture for the 5G System (5GS)",
2022, <https://usp.technology/specification/index.html>. Version 18.6.0, Release 18, 3GPP TS 23.501, June 2024,
<https://portal.3gpp.org/desktopmodules/Specifications/
SpecificationDetails.aspx?specificationId=3144>.
[TR-369] Broadband Forum, "The User Services Platform", Issue: 1
Amendment 4 Corrigendum 2, July 2025,
<https://usp.technology/specification/index.html>.
[WikipediaBufferbloat] [WikipediaBufferbloat]
Wikipedia Contributors, "Bufferbloat", 23 May 2025, Wikipedia, "Bufferbloat", May 2025,
<https://en.wikipedia.org/wiki/Bufferbloat>. <https://en.wikipedia.org/w/
index.php?title=Bufferbloat&oldid=1292250296>.
Appendix A. DSCP Re-marking Policies Appendix A. DSCP Re-marking Policies
Some network operators typically bleach (zero out) the Diffserv field Some network operators typically bleach (zero out) the Diffserv field
on ingress into their network [RFC9435][Custura][Barik], and in some on ingress into their network (see [RFC9435], [Custura], and [Barik])
cases apply their own DSCP for internal usage. Bleaching the NQB and, in some cases, apply their own DSCP for internal use. Bleaching
DSCP is not expected to cause harm to Default traffic, but it will the NQB DSCP is not expected to cause harm to Default traffic, but it
severely limit the ability to provide NQB treatment. Reports on will severely limit the ability to provide NQB treatment. Reports on
existing deployments of DSCP manipulation [Custura][Barik] categorize existing deployments of DSCP manipulation (see [Custura] and [Barik])
the re-marking behaviors into the following six policies: bleach all categorize the re-marking behaviors into the following policies:
traffic (set DSCP to zero), set the top three bits (the former bleach all traffic (set DSCP to zero); set the top three bits (the
Precedence bits) on all traffic to 0b000, 0b001, or 0b010, set the former Precedence bits) on all traffic to 0b000, 0b001, or 0b010; set
low three bits on all traffic to 0b000, or re-mark all traffic to a the low three bits on all traffic to 0b000; or re-mark all traffic to
particular (non-zero) DSCP value. a particular (non-zero) DSCP value.
Regarding the DSCP value 45 (decimal), there were no observations of Regarding the DSCP value 45 (decimal), there were no observations of
DSCP manipulation reported in which traffic was marked 45 (decimal) DSCP manipulation reported in which traffic was marked 45 (decimal)
by any of these policies. Thus it appears that these re-marking by any of these policies. Thus, it appears that these re-marking
policies would be unlikely to result in QB traffic being marked as 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 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 that is subjected to one of these policies, it would be
indistinguishable from some subset (possibly all) of other traffic. indistinguishable from some subset (possibly all) of other traffic.
In the policies where all traffic is re-marked using the same (zero 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 or non-zero) DSCP, the ability for a subsequent network hop to
differentiate NQB traffic via DSCP would clearly be lost entirely. differentiate NQB traffic via DSCP would clearly be lost entirely.
In the policies where the top three bits are overwritten (see In the policies where the top three bits are overwritten (see
Section 4.2 of [RFC9435]), the NQB DSCP (45) would receive the same Section 4.2 of [RFC9435]), the NQB DSCP (45) would receive the same
marking as would the currently unassigned Pool 3 DSCPs marking as would the currently unassigned Pool 3 DSCPs (5, 13, 21,
5,13,21,29,37,53,61, with all of these DSCPs getting re-marked to 29, 37, 53, and 61), with all of these DSCPs getting re-marked to
DSCP = 5, 13 or 21 (depending on the overwrite value used). Since DSCP = 5, 13, or 21 (depending on the overwrite value used). Since
none of the DSCPs in the preceding lists are currently assigned by none of the DSCPs in the preceding lists are currently assigned by
IANA, and they all are reserved for Standards Action, it is believed IANA, and they all are reserved for Standards Action, it is believed
that they are not widely used currently, but this could vary based on that they are not widely used currently; however, this could vary
local-usage, and could change in the future. If networks in which based on local-usage and could change in the future. If networks in
this sort of re-marking occurs (or networks downstream) classify the which this sort of re-marking occurs or networks downstream classify
resulting DSCP (i.e. 5, 13, or 21) to the NQB PHB, or re-mark such the resulting DSCP (i.e., 5, 13, or 21) to the NQB PHB or re-mark
traffic as 45 (decimal), they risk giving NQB treatment to other such traffic as 45 (decimal), they risk giving NQB treatment to other
traffic that was not originally marked as NQB. In addition, as traffic that was not originally marked as NQB. In addition, as
described in Section 6 of [RFC9435] future assignments of these described in Section 6 of [RFC9435] future assignments of these
0bxxx101 DSCPs would need to be made with consideration of the 0bxxx101 DSCPs would need to be made with consideration of the
potential that they all are treated as NQB in some networks. potential that they all are treated as NQB in some networks.
For the policy in which the low three bits are set to 0b000, the NQB For the policy in which the low three bits are set to 0b000, the NQB
(45) value would be re-marked to CS5 and would be indistinguishable DSCP value 45 (decimal) would be re-marked to CS5 and would be
from CS5, VA, EF (and the currently unassigned DSCPs 41, 42, 43). indistinguishable from CS5, VA, and EF (and the currently unassigned
Traffic marked using the existing standardized DSCPs in this list are DSCPs 41, 42, and 43). Traffic marked using the existing
likely to share the same general properties as NQB traffic (non- standardized DSCPs in this list are likely to share the same general
capacity-seeking, very low data rate or relatively low and consistent properties as NQB traffic (non-capacity-seeking and very low data
data rate). Similarly, any future recommended usage for DSCPs 41, rate, relatively low data rate, and consistent data rate).
42, 43 would likely be somewhat compatible with NQB treatment, Similarly, any future recommended usage for DSCPs 41, 42, 43 would
assuming that IP Precedence compatibility (see Section 1.5.4 of likely be somewhat compatible with NQB treatment, assuming that IP
[RFC4594]) is maintained in the future. Here there might be an Precedence compatibility (see Section 1.5.4 of [RFC4594]) is
opportunity for a node to provide the NQB PHB or the CS5 PHB to maintained in the future. Here there might be an opportunity for a
CS5-marked traffic and retain some of the benefits of NQB marking. node to provide the NQB PHB or the CS5 PHB to CS5-marked traffic and
This could be another motivation to classify CS5-marked traffic into retain some of the benefits of NQB marking. This could be another
the NQB queue (as discussed in Section 6.3). motivation to classify CS5-marked traffic into the NQB queue (as
discussed in Section 6.3).
Appendix B. Comparison with Expedited Forwarding Appendix B. Comparison with Expedited Forwarding
The Expedited Forwarding definition [RFC3246] provides the following The Expedited Forwarding definition [RFC3246] provides the following
text to describe the EF PHB forwarding behavior: "This specification text to describe the EF PHB forwarding behavior:
defines a PHB in which EF packets are guaranteed to receive service
at or above a configured rate" and "the rate at which EF traffic is | This specification defines a PHB in which EF packets are
served at a given output interface should be at least the configured | guaranteed to receive service at or above a configured rate
rate R, over a suitably defined interval, independent of the offered
load of non-EF traffic to that interface." Notably, this description and
is true of any class of traffic that is configured with a guaranteed
minimum rate, including the Default PHB if configured per the | the rate at which EF traffic is served at a given output interface
guidelines in Section 1.5.1 of [RFC4594]. [RFC3246] goes on to | should be at least the configured rate R, over a suitably defined
formalize the definition of EF by requiring that an EF node be | interval, independent of the offered load of non-EF traffic to
characterizable in terms of the fidelity with which it is able to | that interface.
provide a guaranteed rate.
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 Section 1.5.1 of [RFC4594].
[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.
While the NQB PHB is not required to be configured with a guaranteed While the NQB PHB is not required to be configured with a guaranteed
minimum rate, [RFC2474] and [RFC4594] recommend assigning some minimum rate, [RFC2474] and [RFC4594] recommend assigning some
minimum resources for the Default PHB, in particular some dedicated minimum resources for the Default PHB, in particular, some dedicated
capacity. If such a guaranteed minimum rate is configured for the capacity. If such a guaranteed minimum rate is configured for the
Default PHB, it is recommended (Section 5) that NQB traffic share and Default PHB, it is recommended (Section 5) that NQB traffic share and
be given equal access to that rate. In such cases, the NQB PHB could be given equal access to that rate. In such cases, the NQB PHB could
effectively receive a rate guarantee of (e.g.) 50% of the rate effectively receive a rate guarantee of (for example) 50% of the rate
guaranteed to the combined NQB/Default PHBs, and so technically guaranteed to the combined NQB/Default PHBs; therefore, it
complies with the PHB forwarding behavior defined for EF. technically complies with the PHB forwarding behavior defined for EF.
However, EF is intended to be a managed service, and requires that However, EF is intended to be a managed service and requires that
traffic be policed such that the arriving rate of traffic into the EF 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 doesn't exceed the guaranteed forwarding rate configured for the
PHB, thereby ensuring that low delay and low delay variation are PHB. This ensures that low delay and low delay variation are
provided. NQB is intended as a best effort service, and hence the provided. NQB is intended as a best effort service; hence, the
aggregate of traffic arriving to the NQB PHB queue could exceed the aggregate of traffic arriving to the NQB PHB queue could exceed the
forwarding rate available to the PHB. Section 5.2 discusses the forwarding rate available to the PHB. Section 5.2 discusses the
recommended mechanism for handling excess traffic in NQB. While EF recommended mechanism for handling excess traffic in NQB. While EF
relies on rate policing and dropping of excess traffic at the domain relies on rate policing and dropping of excess traffic at the domain
border, this is only one option for NQB. NQB primarily recommends border, this is only one option for NQB. NQB primarily recommends
traffic protection located at each potential bottleneck, where actual traffic protection located at each potential bottleneck, where actual
queuing can be detected and where excess traffic can be reclassified queuing can be detected and where excess traffic can be reclassified
into the Default PHB rather than dropping it. Local traffic into the Default PHB rather than dropping it. Local traffic
protection is more feasible for NQB, given the focus is on access protection is more feasible for NQB, given the focus is on access
networks, where one node is typically designed to be the known networks, where one node is typically designed to be the known
bottleneck where traffic control functions all reside. In contrast, bottleneck where traffic control functions all reside. In contrast,
EF is presumed to follow the Diffserv architecture [RFC2475] for core EF is presumed to follow the Diffserv architecture [RFC2475] for core
networks, where traffic conditioning is delegated to border nodes, in networks, where traffic conditioning is delegated to border nodes in
order to simplify high capacity interior nodes. Further, NQB order to simplify high capacity interior nodes. Further, NQB
recommends a microflow-based mechanism to limit the performance recommends a microflow-based mechanism to limit the performance
impact of excess traffic to those microflows causing potential impact of excess traffic to those microflows causing potential
congestion of the NQB queue, whereas EF ignores microflow properties. congestion of the NQB queue, whereas EF ignores microflow properties.
Note that under congestion, low loss for NQB conformant flows is only Note that, under congestion, low loss for NQB-conformant flows is
ensured if such a mechanism is operational. Note also that this only ensured if such a mechanism is operational. Note also that this
mechanism for NQB operates at the available forwarding rate for the mechanism for NQB operates at the available forwarding rate for the
PHB (which could vary based on other traffic load) as opposed to a PHB (which could vary based on other traffic load) as opposed to a
configured guaranteed rate, as in EF. configured guaranteed rate, as in EF.
The lack of a requirement of a guaranteed minimum rate, and the lack 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 of a requirement to police incoming traffic to such a rate, makes the
NQB PHB suitable for implementation in networks where link capacity NQB PHB suitable for implementation in networks where link capacity
is not or cannot be guaranteed. is not or cannot be guaranteed.
There are additional distinctions between EF and NQB arising from the There are additional distinctions between EF and NQB arising from the
intended usage as described in [RFC4594] and the actual usage in intended usage as described in [RFC4594] and the actual usage in
practice in the Internet. In Section 1.5.3 of [RFC4594], EF is practice in the Internet. In Section 1.5.3 of [RFC4594], EF is
described as generally being used to carry voice or data that described as generally being used to carry voice or data that
requires "wire like" behavior through the network. The NQB PHB requires "wire-like" behavior through the network. The NQB PHB
similarly is useful to carry application traffic requiring wire like similarly is useful to carry application traffic requiring wire-like
performance, characterized by low delay and low delay-variation, but performance, characterized by low delay and low delay variation, but
places a pre-condition that each microflow be relatively low data places a pre-condition that each microflow be relatively low data
rate and sent in a smooth (non-bursty) manner. In actual practice, rate and sent in a smooth (non-bursty) manner. In actual practice,
EF traffic is oftentimes prioritized over Default traffic. This EF traffic is oftentimes prioritized over Default traffic. This
contrasts with NQB traffic which is to be treated with the same contrasts with NQB traffic, which is to be treated with the same
forwarding precedence as Default (and sometimes aggregated with forwarding precedence as Default (and sometimes aggregated with
Default). Default).
Appendix C. Impact on Higher Layer Protocols Appendix C. Impact on Higher Layer Protocols
The NQB PHB itself has no impact on higher layer protocols, because The NQB PHB itself has no impact on higher layer protocols because it
it only isolates NQB traffic from non-NQB. However, traffic only isolates NQB traffic from non-NQB. However, traffic protection
protection of the PHB can have unintended side-effects on higher of the PHB can have unintended side effects on higher layer
layer protocols. Traffic protection introduces the possibility that protocols. Traffic protection introduces the possibility that
microflows classified into the NQB queue could experience out-of- microflows classified into the NQB queue could experience out-of-
order delivery or packet loss if their behavior is not consistent order delivery or packet loss if their behavior is not consistent
with the NQB sender requirements. Out-of-order delivery could be with the NQB sender requirements. Out-of-order delivery could be
particularly likely if the traffic protection algorithm makes particularly likely if the traffic protection algorithm makes
decisions on a packet-by-packet basis. In this scenario, a microflow decisions on a packet-by-packet basis. In this scenario, a microflow
that is (mis)marked as NQB and that causes a queue to form in this that is (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 bottleneck link could see some of its packets forwarded by the NQB
queue, and some of them either discarded or redirected to the QB queue and some of them either discarded or redirected to the QB
queue. In the case of redirection, depending on the queuing delay queue. In the case of redirection, depending on the queuing delay
and scheduling within the network element, this could result in and scheduling within the network element, this could result in
packets being delivered out of order. As a result, the use of the 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 NQB DSCP by a higher layer protocol carries some risk that an
increased amount of out-of-order delivery or packet loss will be increased amount of out-of-order delivery or packet loss will be
experienced. This characteristic provides one disincentive for experienced. This characteristic provides one disincentive for
incorrectly setting the NQB DSCP on traffic that doesn't comply with incorrectly setting the NQB DSCP on traffic that doesn't comply with
the NQB sender requirements. the NQB sender requirements.
Appendix D. Alternative Diffserv Code Points Appendix D. Alternative Diffserv Code Points
In networks where the DSCP 45 (decimal) is already in use for another In networks where the DSCP 45 (decimal) is already in use for another
(e.g., a local-use) purpose, or where specialized PHBs are available (e.g., a local-use) purpose or where specialized PHBs are available
that can meet specific application requirements (e.g., a guaranteed- that can meet specific application requirements (e.g., a guaranteed-
delay path for voice traffic), it could be preferred to use another delay path for voice traffic), use of another DSCP value could be
DSCP. preferred.
In end systems where the choice of using DSCP 45 (decimal) is not 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 available to the application, the CS5 DSCP (40 decimal) could be used
as a fallback. See Section 6.3 for rationale as to why this choice as a fallback. See Section 6.3 for rationale as to why this choice
could be fruitful. could be fruitful.
Acknowledgements Acknowledgements
Thanks to Gorry Fairhurst, Diego Lopez, Stuart Cheshire, Brian Thanks to Gorry Fairhurst, Diego Lopez, Stuart Cheshire, Brian
Carpenter, Bob Briscoe, Greg Skinner, Toke Hoeiland-Joergensen, Luca Carpenter, Bob Briscoe, Greg Skinner, Toke Hoeiland-Joergensen, Luca
Muscariello, David Black, Jerome Henry, Steven Blake, Jonathan Muscariello, David Black, Jerome Henry, Steven Blake, Jonathan
Morton, Roland Bless, Kevin Smith, Martin Dolly and Kyle Rose for Morton, Roland Bless, Kevin Smith, Martin Dolly, and Kyle Rose for
their review comments. Thanks also to Gorry Fairhurst and Ana their review comments. Thanks also to Gorry Fairhurst and Ana
Custura for their input on selection of appropriate DSCPs. Custura for their input on selection of appropriate DSCPs. Thanks to
the following for IESG reviews and comments: Mohamed Boucadair, Ketan
Talaulikar, Mike Bishop, Roman Danyliw, and Éric Vyncke.
Authors' Addresses Authors' Addresses
Greg White Greg White
CableLabs CableLabs
Email: g.white@cablelabs.com Email: g.white@cablelabs.com
Thomas Fossati Thomas Fossati
Linaro Linaro
Email: thomas.fossati@linaro.org Email: thomas.fossati@linaro.org
 End of changes. 201 change blocks. 
716 lines changed or deleted 721 lines changed or added

This html diff was produced by rfcdiff 1.48.