draft-ietf-tsvwg-nqb-05.txt   draft-ietf-tsvwg-nqb-06.txt 
Transport Area Working Group G. White Transport Area Working Group G. White
Internet-Draft CableLabs Internet-Draft CableLabs
Intended status: Standards Track T. Fossati Intended status: Standards Track T. Fossati
Expires: 8 September 2021 ARM Expires: 13 January 2022 ARM
7 March 2021 12 July 2021
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-05 draft-ietf-tsvwg-nqb-06
Abstract Abstract
This document specifies properties and characteristics of a Non- This document specifies properties and characteristics of a Non-
Queue-Building Per-Hop Behavior (NQB PHB). The purpose of this NQB Queue-Building Per-Hop Behavior (NQB PHB). The purpose of this NQB
PHB is to provide a separate queue that enables low latency and, when PHB is to provide a separate queue that enables smooth, low-data-
possible, low loss for application-limited traffic flows that would rate, application-limited traffic flows, which would ordinarily share
ordinarily share a queue with capacity-seeking traffic. This PHB is a queue with bursty and capacity-seeking traffic, to avoid the
implemented without prioritization and without rate policing, making latency, latency variation and loss caused by such traffic. This PHB
it suitable for environments where the use of either these features is implemented without prioritization and without rate policing,
may be restricted. The NQB PHB has been developed primarily for use making it suitable for environments where the use of either these
by access network segments, where queuing delays and queuing loss features may be restricted. The NQB PHB has been developed primarily
caused by Queue-Building protocols are manifested, but its use is not for use by access network segments, where queuing delays and queuing
limited to such segments. In particular, applications to cable loss caused by Queue-Building protocols are manifested, but its use
broadband links and mobile network radio and core segments are is not limited to such segments. In particular, applications to
discussed. This document defines a standard Differentiated Services cable broadband links, Wi-Fi links, and mobile network radio and core
Code Point (DSCP) to identify Non-Queue-Building flows. segments are discussed. This document recommends a specific
Differentiated Services Code Point (DSCP) to identify Non-Queue-
Building flows.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 8 September 2021. This Internet-Draft will expire on 13 January 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 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 (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text extracted from this document must include Simplified BSD License text
as described in Section 4.e of the Trust Legal Provisions and are as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4
3. Non-Queue-Building Behavior . . . . . . . . . . . . . . . . . 4 3. Non-Queue-Building Behavior . . . . . . . . . . . . . . . . . 4
4. The NQB PHB and its Relationship to the DiffServ 4. The NQB PHB and its Relationship to the Diffserv
Architecture . . . . . . . . . . . . . . . . . . . . . . 4 Architecture . . . . . . . . . . . . . . . . . . . . . . 5
5. DSCP Marking of NQB Traffic . . . . . . . . . . . . . . . . . 5 5. DSCP Marking of NQB Traffic . . . . . . . . . . . . . . . . . 6
5.1. End-to-end usage and DSCP Re-marking . . . . . . . . . . 6 5.1. End-to-end usage and DSCP Re-marking . . . . . . . . . . 7
5.2. Aggregation of the NQB PHB with other DiffServ PHBs . . . 8 5.2. Aggregation of the NQB PHB with other Diffserv PHBs . . . 8
6. Non-Queue-Building PHB Requirements . . . . . . . . . . . . . 9 6. Non-Queue-Building PHB Requirements . . . . . . . . . . . . . 8
7. Impact on Higher Layer Protocols . . . . . . . . . . . . . . 10 7. Impact on Higher Layer Protocols . . . . . . . . . . . . . . 9
8. The NQB PHB and Tunnels . . . . . . . . . . . . . . . . . . . 10 8. The NQB PHB and Tunnels . . . . . . . . . . . . . . . . . . . 10
9. Relationship to L4S . . . . . . . . . . . . . . . . . . . . . 11 9. Relationship to L4S . . . . . . . . . . . . . . . . . . . . . 10
10. Configuration and Management . . . . . . . . . . . . . . . . 11 10. Configuration and Management . . . . . . . . . . . . . . . . 11
11. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 11 11. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 11
11.1. DOCSIS Access Networks . . . . . . . . . . . . . . . . . 11 11.1. DOCSIS Access Networks . . . . . . . . . . . . . . . . . 11
11.2. Mobile Networks . . . . . . . . . . . . . . . . . . . . 12 11.2. Mobile Networks . . . . . . . . . . . . . . . . . . . . 11
11.3. WiFi Networks . . . . . . . . . . . . . . . . . . . . . 12 11.3. WiFi Networks . . . . . . . . . . . . . . . . . . . . . 12
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 11.3.1. Interoperability with Existing WiFi Networks . . . . 12
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
14. Security Considerations . . . . . . . . . . . . . . . . . . . 14 14. Security Considerations . . . . . . . . . . . . . . . . . . . 14
15. Informative References . . . . . . . . . . . . . . . . . . . 15 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 15.1. Normative References . . . . . . . . . . . . . . . . . . 14
15.2. Informative References . . . . . . . . . . . . . . . . . 15
Appendix A. DSCP Remarking Pathologies . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
This document defines a Differentiated Services (DS) per-hop behavior This document defines a Differentiated Services per-hop behavior
(PHB) called "Non-Queue-Building Per-Hop Behavior" (NQB PHB), which (PHB) called "Non-Queue-Building Per-Hop Behavior" (NQB PHB), which
is intended to enable networks to provide low latency and low loss isolates traffic flows that are relatively low data rate and that do
for traffic flows that are relatively low data rate and that do not not themselves materially contribute to queueing delay and loss,
themselves materially contribute to queueing delay and loss. Such allowing them to avoid the queuing delays and losses caused by other
Non-Queue-Building flows (for example: interactive voice and video, traffic. Such Non-Queue-Building flows (for example: interactive
gaming, machine to machine applications) are application limited voice, gaming, machine-to-machine applications) are application
flows that are distinguished from traffic flows managed by an end-to- limited flows that are distinguished from traffic flows managed by an
end congestion control algorithm. end-to-end congestion control algorithm.
The vast majority of packets that are carried by broadband access The vast majority of packets that are carried by broadband access
networks are, in fact, managed by an end-to-end congestion control networks are managed by an end-to-end congestion control algorithm,
algorithm, such as Reno, Cubic or BBR. These congestion control such as Reno, Cubic or BBR. These congestion control algorithms
algorithms attempt to seek the available capacity of the end-to-end attempt to seek the available capacity of the end-to-end path (which
path (which can frequently be the access network link capacity), and can frequently be the access network link capacity), and in doing so
in doing so generally overshoot the available capacity, causing a generally overshoot the available capacity, causing a queue to build-
queue to build-up at the bottleneck link. This queue build up up at the bottleneck link. This queue build up results in queuing
results in queuing delay (variable latency) and possibly packet loss delay (variable latency) and possibly packet loss that affects all of
that affects all of the applications that are sharing the bottleneck the applications that are sharing the bottleneck link.
link.
In contrast to traditional congestion-controlled applications, there In contrast to traditional congestion-controlled applications, there
are a variety of relatively low data rate applications that do not are a variety of relatively low data rate applications that do not
materially contribute to queueing delay and loss, but are nonetheless materially contribute to queueing delay and loss, but are nonetheless
subjected to it by sharing the same bottleneck link in the access subjected to it by sharing the same bottleneck link in the access
network. Many of these applications may be sensitive to latency or network. Many of these applications may be sensitive to latency or
latency variation, as well as packet loss, and thus produce a poor latency variation, as well as packet loss, and thus produce a poor
quality of experience in such conditions. quality of experience in such conditions.
Active Queue Management (AQM) mechanisms (such as PIE [RFC8033], Active Queue Management (AQM) mechanisms (such as PIE [RFC8033],
skipping to change at page 3, line 38 skipping to change at page 3, line 47
experience for latency sensitive applications, but there are experience for latency sensitive applications, but there are
practical limits to the amount of improvement that can be achieved practical limits to the amount of improvement that can be achieved
without impacting the throughput of capacity-seeking applications, without impacting the throughput of capacity-seeking applications,
particularly when only a few of such flows are present. particularly when only a few of such flows are present.
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 in order that traffic in bottleneck links and queuing them separately in order that
both classes can deliver satisfactory quality of experience for their both classes can deliver satisfactory quality of experience for their
applications. applications.
To be clear, a network implementing the NQB PHB solely provides
isolation for traffic classified as behaving in conformance with the
NQB DSCP (and optionally enforces that behavior). It is the NQB
senders' behavior itself which results in low latency and low loss.
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 BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Non-Queue-Building Behavior 3. Non-Queue-Building Behavior
There are many applications that send traffic at relatively low data There are many applications that send traffic at relatively low data
rates and/or in a fairly smooth and consistent manner such that they rates and/or in a fairly smooth and consistent manner such that they
are highly unlikely to exceed the available capacity of the network are highly unlikely to exceed the available capacity of the network
path between source and sink. These applications do not cause queues path between source and sink. These applications do not on their own
to form in network buffers, but nonetheless can be subjected to cause queues to form in network buffers, but nonetheless can be
packet delay and delay variation as a result of sharing a network subjected to packet delay and delay variation as a result of sharing
buffer with applications that do cause queues to form. Many of these a network buffer with applications that do cause queues to form.
applications are negatively affected by excessive packet delay and Many of these applications are negatively affected by excessive
delay variation. Such applications are ideal candidates to be queued packet delay and delay variation. Such applications are ideal
separately from the applications that are the cause of queue buildup, candidates to be queued separately from the applications that are the
latency and loss. cause of queue buildup, latency and loss.
These Non-queue-building (NQB) flows are typically UDP flows that These Non-queue-building (NQB) flows are typically UDP flows that
don't seek the capacity of the link (examples: online games, voice don't seek the maximum capacity of the link (examples: online games,
chat, DNS lookups, real-time IoT analytics data). Here the data rate voice chat, DNS lookups, real-time IoT analytics data). Here the
is limited by the application itself rather than by network capacity data rate is limited by the application itself rather than by network
- in many cases these applications only send a few packets per RTT. capacity - these applications send, at most, the equivalent of a few
well-spaced packets per RTT, even if the packets are not actually
RTT-clocked. In today's network this corresponds to an instantaneous
data rate (packet size divided by packet inter-arrival time) of no
more than about 1 Mbps (e.g. no more than one 1250 B packet every 10
ms), but there is no precise bound since it depends on the conditions
in which the application is operating.
Note that, while such flows ordinarily don't implement a traditional
congestion control mechanism, they nonetheless are expected to comply
with existing guidance for safe deployment on the Internet, for
example the requirements in [RFC8085] and Section 2 of [RFC3551]
(also see the circuit breaker limits in Section 4.3 of [RFC8083] and
the description of inelastic pseudowires in Section 4 of [RFC7893]).
To be clear, the description of NQB flows in this document should not
be interpreted as suggesting that such flows are in any way exempt
from this responsibility.
In contrast, Queue-building (QB) flows include traffic which uses TCP In contrast, Queue-building (QB) flows include traffic which uses TCP
or QUIC, with Cubic, Reno or other TCP congestion control algorithms or QUIC, with Cubic, Reno or other TCP congestion control algorithms
that probe for the link capacity and induce latency and loss as a that probe for the link capacity and induce latency and loss as a
result. result. Other types of QB flows include those that frequently send
at a high burst rate (e.g. several consecutive packets sent well in
excess of 1 Mbps) even if the long-term average data rate is much
lower.
4. The NQB PHB and its Relationship to the DiffServ Architecture 4. The NQB PHB and its 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 [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 quantitatively or in a relative sense (i.e. priority). The either quantitatively or in a relative sense (i.e. 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) of recommended interpretations of the values (Diffserv Code Points) of
the field, and standardized treatments (traffic conditioning and per- the field, and standardized treatments (traffic conditioning and per-
hop-behaviors) that can be implemented to satisfy the performance hop-behaviors) that can be implemented to satisfy the performance
requirements of traffic so marked. requirements of traffic so marked.
While this architecture is powerful, and can be configured to meet While this architecture is powerful, and can be configured to meet
the performance requirements of a variety of applications and traffic the performance requirements of a variety of applications and traffic
categories, or to achieve differentiated service offerings, it has categories, or to achieve differentiated service offerings, it has
proven problematic to enable its use for these purposes end-to-end proven problematic to enable its use for these purposes end-to-end
across the Internet. across the Internet.
This difficulty is in part due to the fact that meeting (in an end- This difficulty is in part due to the fact that meeting (in an end-
to-end context) the performance requirements of an application to-end context) the performance requirements of an application
involves all of the networks in the path agreeing on what those involves all of the networks in the path agreeing on what those
requirements are, and sharing an interest in meeting them. In many requirements are, and sharing an interest in meeting them. In many
cases this is made more difficult due to the fact that the cases this is made more difficult due to the fact that the
performance "requirements" are not hard ones (e.g. applications will performance "requirements" are not strict ones (e.g. applications
degrade in some manner as loss/latency/jitter increase), so the will degrade in some manner as loss/latency/jitter increase), so the
importance of meeting them for any particular application involves a importance of meeting them for any particular application in some
judgment as to the value of avoiding some amount of degradation in cases involves a judgment as to the value of avoiding some amount of
quality for that application in exchange for an increase in the degradation in quality for that application in exchange for an
degradation of another application. increase in the degradation of another application.
Further, in many cases the implementation of DiffServ PHBs involves Further, in many cases the implementation of Diffserv PHBs has
prioritization of service classes with respect to one another, which historically involved prioritization of service classes with respect
results in the need to limit access to higher priority classes via to one another, which sets up the zero-sum game alluded to in the
mechanisms such as access control, admission control, traffic previous paragraph, and results in the need to limit access to higher
conditioning and rate policing, and/or to meter and bill for carriage priority classes via mechanisms such as access control, admission
of such traffic. These mechanisms can be difficult or impossible to control, traffic conditioning and rate policing, and/or to meter and
implement in an end-to-end context. bill for carriage of such traffic. These mechanisms can be difficult
or impossible to implement in an end-to-end context.
Finally, some jurisdictions impose regulations that limit the ability Finally, some jurisdictions impose regulations that limit the ability
of networks to provide differentiation of services, in large part of networks to provide differentiation of services, in large part
based on the understanding that doing so ordinarily involves based on the belief that doing so necessarily involves prioritization
prioritization or privileged access to bandwidth, and thus a benefit or privileged access to bandwidth, and thus a benefit to one class of
to one class of traffic always comes at the expense of another. traffic always comes at the expense of another.
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, and thus could conceivably be deployed
end-to-end across the Internet. The intent of the NQB DSCP is that end-to-end across the Internet. The intent of the NQB DSCP is that
it signals verifiable behavior as opposed to wants and needs. Also, it signals verifiable behavior as opposed to wants and needs. Also,
the NQB traffic is to be given a separate queue with equal priority the NQB traffic is to be given a separate queue with priority equal
as default traffic, and given no reserved bandwidth other than the to default traffic, and given no reserved bandwidth other than the
bandwidth that it shares with default traffic. As a result, the NQB bandwidth that it shares with default traffic. As a result, the NQB
PHB does not aim to meet specific application performance PHB does not aim to meet specific application performance
requirements, nor does it aim to provide a differentiated service requirements. Instead the goal of the NQB PHB is to provide
class as defined in [RFC4594]. Instead the goal of the NQB PHB is to statistically better loss, latency, and jitter performance for
provide statistically better loss, latency, and jitter performance traffic that is itself only an insignificant contributor to those
for traffic that is not itself the cause of those degradations. degradations. These attributes eliminate many of the tradeoffs that
These attributes eliminate the inherent value judgments that underlie underlie the handling of differentiated service classes in the
the handling of differentiated service classes in the DiffServ Diffserv architecture as it has traditionally been defined. They
architecture as it has traditionally been defined, they also also significantly simplify access control and admission control
significantly simplify access control and admission control
functions, reducing them to simple verification of behavior. functions, reducing them to simple verification of behavior.
5. DSCP Marking of NQB Traffic 5. DSCP Marking of NQB Traffic
Applications that align with the description of NQB behavior in the Applications that align with the description of NQB behavior in the
preceding section SHOULD identify themselves to the network using a preceding section SHOULD identify themselves to the network using a
DiffServ Code Point (DSCP) of 42 so that their packets can be queued Diffserv Code Point (DSCP) of 45 (decimal) so that their packets can
separately from QB flows. The choice of the value 42 is motivated in be queued separately from QB flows. If the application's traffic
part by the desire to achieve separate queuing in existing WiFi exceeds more than a few packets per RTT, or exceeds approximately 1
networks (see Section 11.3). Mbps on an instantaneous (inter-packet) basis, the application SHOULD
NOT mark its traffic with the NQB DSCP. In such a case, the
There are many application flows that fall very neatly into one or application SHOULD instead implement a congestion control mechanism,
the other of these two categories: NQB and QB, but there are also for example as described in Section 3.1 of [RFC8085] or
application flows that may be in a gray area in between (e.g. they
are NQB on higher-speed links, but QB on lower-speed links). If
there is uncertainty as to whether an application's traffic aligns
with the description of NQB behavior in the preceding section, the
application SHOULD NOT mark its traffic with the NQB DSCP. In such a
case, the application SHOULD instead implement a congestion control
mechanism, for example as described in [RFC8085] or
[I-D.ietf-tsvwg-ecn-l4s-id]. [I-D.ietf-tsvwg-ecn-l4s-id].
The choice of the value 45 is motivated in part by the desire to
achieve separate queuing in existing WiFi networks (see
Section 11.3).
It is worthwhile to note again that the NQB designation and marking It is worthwhile to note again that the NQB designation and marking
is intended to convey verifiable traffic behavior, not needs or is intended to convey verifiable traffic behavior, not needs or
wants. Also, it is important that incentives are aligned correctly, wants. Also, it is important that incentives are aligned correctly,
i.e. that there is a benefit to the application in marking its i.e. that there is a benefit to the application in marking its
packets correctly, and no benefit to an application in intentionally packets correctly, and a disadvantage (or at least no benefit) to an
mismarking its traffic. Thus, a useful property of nodes that application in intentionally mismarking its traffic. Thus, a useful
support separate queues for NQB and QB flows would be that for NQB property of nodes (i.e. network switches and routers) that support
flows, the NQB queue provides better performance than the QB queue; separate queues for NQB and QB flows would be that for NQB flows, the
and for QB flows, the QB queue provides better performance than the NQB queue provides better performance than the QB queue; and for QB
NQB queue. By adhering to these principles, there is no incentive flows, the QB queue provides better performance than the NQB queue
for senders to mismark their traffic as NQB, and further, any (this is discussed further in Section 6 and Section 14). By adhering
mismarking can be identified by the network. to these principles, there is no incentive for senders to mismark
their traffic as NQB, and further, any mismarking can be identified
by the network.
Along these lines, nodes that do not support the NQB PHB SHOULD treat Along these lines, nodes that do not support the NQB PHB SHOULD treat
NQB marked traffic the same as traffic marked "Default", and SHOULD NQB marked traffic the same as traffic marked "Default", and SHOULD
preserve the NQB marking. In shallow-buffered backbone and core preserve the NQB marking. In backbone and core network switches
network switches, and nodes that do not typically experience (particularly if shallow-buffered), and nodes that do not typically
congestion, treating NQB marked traffic the same as "Default" may be experience congestion, treating NQB marked traffic the same as
sufficient to preserve latency performance for NQB traffic. "Default" may be sufficient to preserve latency performance for NQB
traffic.
5.1. End-to-end usage and DSCP Re-marking 5.1. End-to-end usage and DSCP Re-marking
In contrast to some existing standard PHBs, many of which are In contrast to some existing standard PHBs, many of which are
typically only meaningful within a DiffServ Domain (e.g. an AS or an typically only meaningful within a Diffserv Domain (e.g. an AS or an
enterprise network), this PHB is expected to be used end-to-end enterprise network), this PHB is expected to be used end-to-end
across the Internet, wherever suitable operator agreements apply. across the Internet, wherever suitable operator agreements apply.
Under the [RFC2474] model, this requires that the corresponding DSCP Under the [RFC2474] model, this requires that the corresponding DSCP
is recognized by all operators and mapped across their boundaries is recognized by all operators and mapped across their boundaries
accordingly. accordingly.
Absent an explicit agreement to the contrary, networks that support Absent an explicit agreement to the contrary, networks that support
the NQB PHB SHOULD preserve a DSCP marking distinction between NQB the NQB PHB SHOULD preserve a DSCP marking distinction between NQB
traffic and Default traffic when forwarding via an interconnect from traffic and Default traffic when forwarding via an interconnect from
or to another network. To facilitate the default treatment of NQB or to another network. To facilitate the default treatment of NQB
traffic in backbones and core networks, networks SHOULD remap NQB traffic in backbones and core networks, networks SHOULD remap NQB
traffic (DSCP 42) to DSCP 2 prior to interconnection, unless agreed traffic (DSCP 45) to DSCP 5 prior to interconnection, unless agreed
otherwise between the interconnecting partners. The fact that this otherwise between the interconnecting partners. The fact that this
PHB is intended for end-to-end usage does not preclude networks from PHB is intended for end-to-end usage does not preclude networks from
mapping the NQB DSCP to a value other than 42 or 2 for internal mapping the NQB DSCP to a value other than 45 or 5 for internal
usage, as long as the appropriate NQB DSCP is restored when usage, as long as the appropriate NQB DSCP is restored when
forwarding to another network. Additionally, it is not precluded for forwarding to another network. Additionally, interconnecting
interconnecting networks to negotiate (via an SLA or some other networks are not precluded from negotiating (via an SLA or some other
agreement) a different DSCP to use to signal NQB across the agreement) a different DSCP to use to signal NQB across the
interconnect. interconnect.
In order to enable interoperability with WiFi equipment, networks In order to enable interoperability with WiFi equipment, networks
SHOULD remap NQB traffic (e.g. DSCP 2) to DSCP 42 prior to a SHOULD remap NQB traffic (e.g. DSCP 5) to DSCP 45 prior to a
customer access link, subject to the safeguards described in customer access link, subject to the safeguards described in
Section 11.3. Section 11.3.
Thus, this document recommends two DSCPs to designate NQB, the value Thus, this document recommends two DSCPs to designate NQB, the value
42 for use by hosts and in WiFi networks, and the value 2 for use 45 for use by hosts and in WiFi networks, and the value 5 for use
across network interconnections. across network interconnections.
Some network operators typically bleach (zero out) the DiffServ field 5.2. Aggregation of the NQB PHB with other Diffserv PHBs
on ingress into their network [Custura][Barik], and in some cases
apply their own DSCP for internal usage. Bleaching the NQB DSCP is
not expected to cause harm to default traffic, but it will severely
limit the ability to provide NQB treatment end-to-end. Reports on
existing deployments of DSCP manipulation [Custura][Barik] categorize
the remarking behaviors into the following six policies: bleach all
traffic (set DSCP to zero), set the top three bits (the former
Precedence bits) on all traffic to 0b000, 0b001, or 0b010, set the
low three bits on all traffic to 0b000, or remark all traffic to a
particular (non-zero) DSCP value.
Regarding the DSCP value of 42, there were no observations of DSCP
manipulation reported in which traffic was marked 42 by any of these
policies. Thus it appears that these remarking policies would be
unlikely to result in QB traffic being marked as NQB (42). In terms
of the fate of NQB-marked traffic that is subjected to one of these
policies, the result would be that NQB marked traffic would be
indistinguishable from some subset (possibly all) of other traffic.
In the policies where all traffic is remarked using the same (zero or
non-zero) DSCP, the ability for a subsequent network hop to
differentiate NQB traffic via DSCP would clearly be lost entirely.
In the policies where the top three bits are overwritten, NQB would
receive the same marking as AF41, AF31, AF21, AF11 (as well as the
currently unassigned DSCPs 50 and 58), with all of these code points
getting mapped to DSCP=2, AF11 or AF21 (depending on the overwrite
value used). Since the recommended usage of the standardized code
points in that list include high throughput data for store and
forward applications (and it is impossible to predict what future use
would be assigned to the currently unassigned values) it would seem
inadvisable for a node to attempt to treat all such traffic as if it
were NQB marked. For the policy in which the low three bits are set
to 0b000, the NQB value would be mapped to CS5 and would be
indistinguishable from CS5, VA, EF (and the unassigned DSCPs 41, 43,
45). Traffic marked using the existing standardized DSCPs in this
list are likely to share the same general properties as NQB traffic
(non capacity-seeking, very low data rate or relatively low and
consistent data rate). Furthermore, as this remarking policy results
in an overt enforcement of the IP Precedence compatibility
configuration discussed in [RFC4594] Section 1.5.4, and to the extent
that this compatibility is maintained in the future, any future
recommended usages of the currently unassigned DSCPs in that list
would be likely to similarly be somewhat compatible with NQB
treatment. Here there may be an opportunity for a node to provide
the NQB PHB or the CS5 PHB and retain some of the benefits of NQB
marking. As a result, nodes supporting the NQB PHB MAY additionally
classify CS5 marked traffic into the NQB queue.
Regarding the DSCP value of 2, some of these remappings are more
problematic. In particular, in policies where the top three bits are
overwritten with 0b000, the DSCP values AF41, AF31, AF21, and AF11
(as well as the currently unassigned DSCPs 50 and 58) would all get
mapped to the NQB value.
5.2. Aggregation of the NQB PHB with other DiffServ PHBs
Networks and nodes that aggregate service classes as discussed in Networks and nodes that aggregate service classes as discussed in
[RFC5127] and [RFC8100] may not be able to provide a PDB/PHB that [RFC5127] and [RFC8100] may not be able to provide a PDB/PHB that
meets the requirements of this document. In these cases it is meets the requirements of this document. In these cases it is
recommended that NQB-marked traffic be aggregated with standard, recommended that NQB-marked traffic be aggregated into the Elastic
elastic, best-effort traffic, although in some cases a network Treatment Aggregate (for [RFC5127] networks) or the Default / Elastic
operator may instead choose to aggregate NQB traffic with Real-Time Treatment Aggregate (for [RFC8100] networks), although in some cases
traffic. Either approach comes with trade-offs: aggregating with a network operator may instead choose to aggregate NQB traffic into
best-effort could result in a degradation of loss/latency/jitter the (Bulk) Real-Time Treatment Aggregate. Either approach comes with
performance, while aggregating with Real-Time may create an incentive trade-offs: aggregating with Default/Elastic traffic could result in
for mismarking of non-compliant traffic. In either case, [RFC5127] a degradation of loss/latency/jitter performance for NQB traffic,
requires that such aggregations preserve the notion of each end-to- while aggregating with Real-Time risks creating an incentive for
end service class that is aggregated, and recommends preservation of mismarking of non-compliant traffic as NQB. In either case, the NQB
the DSCP as a way of accomplishing this. Compliance with this DSCP SHOULD be preserved in order to limit the negative impact that
recommendation would serve to limit the negative impact that such such networks would have on end-to-end performance for NQB traffic.
networks would have on end-to-end performance for NQB traffic. This aligns with recommendations in [RFC5127].
Nodes that support the NQB PHB may choose to aggregate other service Nodes that support the NQB PHB may choose to aggregate other service
classes into the NQB queue. Candidate service classes for this classes into the NQB queue. Candidate service classes for this
aggregation would include those that carry inelastic traffic that has aggregation would include those that carry inelastic traffic that has
low to very-low tolerance for loss, latency and/or jitter as low to very-low tolerance for loss, latency and/or jitter as
discussed in [RFC4594]. These could include Telephony, Signaling, discussed in [RFC4594]. These could include Telephony (EF/VA),
Real-Time Interactive and Broadcast Video. Signaling (CS5), Real-Time Interactive (CS4) and Broadcast Video
(CS3).
6. Non-Queue-Building PHB Requirements 6. Non-Queue-Building PHB Requirements
A node supporting the NQB PHB makes no guarantees on latency or data A node supporting the NQB PHB makes no guarantees on latency or data
rate for NQB marked flows, but instead aims to provide a bound on rate for NQB marked flows, but instead aims to provide a bound on
queuing delay for as many such marked flows as it can, and shed load queuing delay for as many such marked flows as it can, and shed load
when needed. when needed.
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 queue-building building traffic separate from any queue used for queue-building
traffic. traffic.
NQB traffic, in aggregate, SHOULD NOT be rate limited or rate policed NQB traffic, in aggregate, SHOULD NOT be rate limited or rate policed
separately from queue-building traffic of equivalent importance. separately from queue-building traffic of equivalent importance.
The NQB queue SHOULD be given equal priority compared to queue- The NQB queue SHOULD be given equivalent forwarding preference
building traffic of equivalent importance. The node SHOULD provide a compared to queue-building traffic of equivalent importance. The
scheduler that allows QB and NQB traffic of equivalent importance to node SHOULD provide a scheduler that allows QB and NQB traffic of
share the link in a fair manner, e.g. a deficit round-robin scheduler equivalent importance to share the link in a fair manner, e.g. a
with equal weights. Compliance with these recommendations helps to deficit round-robin scheduler with equal weights. Compliance with
ensure that there are no incentives for QB traffic to be mismarked as these recommendations helps to ensure that there are no incentives
NQB. for QB traffic to be mismarked as NQB.
A node supporting the NQB PHB SHOULD treat traffic marked as Default A node supporting the NQB PHB SHOULD treat traffic marked as Default
(DSCP=0) as QB traffic having equivalent importance to the NQB marked (DSCP=0) as QB traffic having equivalent importance to the NQB marked
traffic. A node supporting the NQB DSCP MUST support the ability to traffic. A node supporting the NQB DSCP MUST support the ability to
configure the classification criteria that are used to identify QB configure the classification criteria that are used to identify QB
and NQB traffic having equivalent importance. and NQB traffic of equivalent importance.
The NQB queue SHOULD have a buffer size that is significantly smaller The NQB queue SHOULD have a buffer size that is significantly smaller
than the buffer provided for QB traffic. It is expected that most QB than the buffer provided for QB traffic (e.g. single-digit
traffic is optimized to make use of a relatively deep buffer (e.g. on milliseconds). It is expected that most QB traffic is engineered to
work well when the network provides a relatively deep buffer (e.g. on
the order of tens or hundreds of ms) in nodes where support for the the order of tens or hundreds of ms) in nodes where support for the
NQB PHB is advantageous (i.e. bottleneck nodes). Providing a NQB PHB is advantageous (i.e. bottleneck nodes). Providing a
similarly deep buffer for the NQB queue would be at cross purposes to similarly deep buffer for the NQB queue would be at cross purposes to
providing very low queueing delay, and would erode the incentives for providing very low queueing delay, and would erode the incentives for
QB traffic to be marked correctly. QB traffic to be marked correctly.
It is possible that due to an implementation error or It is possible that due to an implementation error or
misconfiguration, a QB flow would end up getting mismarked as NQB, or misconfiguration, a QB flow would end up getting mismarked as NQB, or
vice versa. In the case of an NQB flow that isn't marked as NQB and vice versa. In the case of an NQB flow that isn't marked as NQB and
ends up in the QB queue, it would only impact its own quality of ends up in the QB queue, it would only impact its own quality of
service, and so it seems to be of lesser concern. However, a QB flow service, and so it seems to be of lesser concern. However, a QB flow
that is mismarked as NQB would cause queuing delays and/or loss for that is mismarked as NQB would cause queuing delays and/or loss for
all of the other flows that are sharing the NQB queue. all of the other flows that are sharing the NQB queue.
To prevent this situation from harming the performance of the real To prevent this situation from harming the performance of the real
NQB flows, network elements that support differentiating NQB traffic NQB flows, network elements that support differentiating NQB traffic
SHOULD support a "traffic protection" function that can identify QB SHOULD support a "traffic protection" function that can identify QB
flows that are mismarked as NQB, and reclassify those flows/packets flows that are mismarked as NQB, and either reclassify those flows/
to the QB queue. Such a function SHOULD be implemented in an packets to the QB queue or discard the offending traffic. Such a
objective and verifiable manner, basing its decisions upon the function SHOULD be implemented in an objective and verifiable manner,
behavior of the flow rather than on application-layer constructs. basing its decisions upon the behavior of the flow rather than on
One example algorithm can be found in application-layer constructs. One example algorithm can be found in
[I-D.briscoe-docsis-q-protection]. There are some situations where [I-D.briscoe-docsis-q-protection]. There are some situations where
such function may not be necessary. For example, a network element such function may not be necessary. For example, a network element
designed for use in controlled environments (e.g. enterprise LAN) may designed for use in controlled environments (e.g. enterprise LAN) may
not require a traffic protection function. Similarly, flow queueing not require a traffic protection function. Additionally, some
systems obviate the need for an explicit traffic protection function. networks may prefer to police the application of the NQB DSCP at the
Additionally, some networks may prefer to police the application of ingress edge, so that in-network traffic protection is not needed.
the NQB DSCP at the ingress edge, so that in-network traffic
protection is not needed.
7. Impact on Higher Layer Protocols 7. Impact on Higher Layer Protocols
Network elements that support the NQB PHB and that support traffic Network elements that support the NQB PHB and that support traffic
protection as discussed in the previous section introduce the protection as discussed in the previous section introduce the
possibility that flows classified into the NQB queue could experience possibility that flows classified into the NQB queue could experience
out of order delivery. This is particularly true if the traffic out of order delivery or packet loss if their behavior is not
consistent with NQB. This is particularly true if the traffic
protection algorithm makes decisions on a packet-by-packet basis. In protection algorithm makes decisions on a packet-by-packet basis. In
this scenario, a flow that is (mis)marked as NQB and that causes a this scenario, a flow that is (mis)marked as NQB and that causes a
queue to form in this bottleneck link could see some of its packets queue to form in this bottleneck link could see some of its packets
forwarded by the NQB queue, and some of them redirected to the QB forwarded by the NQB queue, and some of them either discarded or
queue. Depending on the queueing latency and scheduling within the redirected to the QB queue. In the case of redirection, depending on
network element, this could result in packets being delivered out of the queueing latency and scheduling within the network element, this
order. As a result, the use of the NQB DSCP by a higher layer could result in packets being delivered out of order. As a result,
protocol carries some risk that out of order delivery will be the use of the NQB DSCP by a higher layer protocol carries some risk
experienced. that an increased amount of out of order delivery or packet loss will
be experienced. This characteristic provides one disincentive for
mis-marking of traffic.
8. The NQB PHB and Tunnels 8. The NQB PHB 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, potentially improving the possibility of achieving at tunnel egress, potentially improving the possibility of achieving
NQB treatment in subsequent nodes. NQB treatment in subsequent nodes.
As is discussed in [RFC2983], tunnel protocols that are sensitive to As is discussed in [RFC2983], tunnel protocols that are sensitive to
reordering can result in undesirable interactions if multiple DSCP reordering can result in undesirable interactions if multiple DSCP
PHBs are signaled for traffic within a tunnel instance. This is true PHBs are signaled for traffic within a tunnel instance. This is true
for NQB marked traffic as well. If a tunnel contains a mix of QB and for NQB marked traffic as well. If a tunnel contains a mix of QB and
NQB traffic, and this is reflected in the outer DSCP in a network NQB traffic, and this is reflected in the outer DSCP in a network
that supports the NQB PHB, it would be necessary to avoid a that supports the NQB PHB, it would be necessary to avoid a
reordering-sensitive tunnel protocol in order to avoid these reordering-sensitive tunnel protocol.
undesirable interactions.
9. Relationship to L4S 9. Relationship to L4S
Traffic flows marked with the NQB DSCP as described in this draft are Traffic flows marked with the NQB DSCP as described in this draft are
intended to be compatible with [I-D.ietf-tsvwg-l4s-arch], with the intended to be compatible with [I-D.ietf-tsvwg-l4s-arch], with the
result being that NQB traffic and L4S traffic can share the low- result being that NQB traffic and L4S traffic can share the low-
latency queue in an L4S dual-queue node latency queue in an L4S DualQ node
[I-D.ietf-tsvwg-aqm-dualq-coupled]. Compliance with the DualQ [I-D.ietf-tsvwg-aqm-dualq-coupled]. Compliance with the DualQ
coupled AQM requirements is considered sufficient to enable fair Coupled AQM requirements (Section 2.5 of
allocation of bandwidth between the QB and NQB queues. [I-D.ietf-tsvwg-aqm-dualq-coupled]) is considered sufficient to
enable fair allocation of bandwidth between the QB and NQB queues.
10. Configuration and Management 10. Configuration and Management
As required above, nodes supporting the NQB PHB provide for the As required above, nodes supporting the NQB PHB provide for the
configuration of classifiers that can be used to differentiate configuration of classifiers that can be used to differentiate
between QB and NQB traffic of equivalent importance. The default for between QB and NQB traffic of equivalent importance. The default for
such classifiers is recommended to be the assigned NQB DSCP (to such classifiers is recommended to be the assigned NQB DSCP (to
identify NQB traffic) and the Default (0) DSCP (to identify QB identify NQB traffic) and the Default (0) DSCP (to identify QB
traffic). traffic).
skipping to change at page 11, line 43 skipping to change at page 11, line 30
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
configured pair of rate shapers that are applied to the user's configured pair of rate shapers that are applied to the user's
traffic. In such networks, the quality of service that each traffic. In such networks, the quality of service that each
application receives, and as a result, the quality of experience that application receives, and as a result, the quality of experience that
it generates for the user is influenced by the characteristics of the it generates for the user is influenced by the characteristics of the
access network link. access network link.
To support the NQB PHB, cable broadband services MUST be configured To support the NQB PHB, cable broadband services MUST be configured
to provide a separate queue for NQB marked traffic. The NQB queue to provide a separate queue for NQB marked traffic. The NQB queue
MUST be configured to share the service's rate shaping bandwidth with MUST be configured to share the service's rate shaped bandwidth with
the queue for QB traffic. the queue for QB traffic.
11.2. Mobile Networks 11.2. Mobile Networks
Historically, mobile networks have been configured to bundle all Historically, mobile networks have been configured to bundle all
flows to and from the Internet into a single "default" EPS bearer flows to and from the Internet into a single "default" EPS bearer
whose buffering characteristics are not compatible with low-latency whose buffering characteristics are not compatible with low-latency
traffic. The established behaviour is rooted partly in the desire to traffic. The established behaviour is rooted partly in the desire to
prioritise operators' voice services over competing over-the-top prioritise operators' voice services over competing over-the-top
services and partly in the fact that the addition of bearers was services and partly in the fact that the addition of bearers was
skipping to change at page 12, line 26 skipping to change at page 12, line 7
allowing a more suitable treatment of Internet real-time flows. allowing a more suitable treatment of Internet real-time flows.
To support the NQB PHB, the mobile network SHOULD be configured to To support the NQB PHB, the mobile network SHOULD be configured to
give UEs a dedicated, low-latency, non-GBR, EPS bearer, e.g. one with give UEs a dedicated, low-latency, non-GBR, EPS bearer, e.g. one with
QCI 7, in addition to the default EPS bearer; or a Data Radio Bearer QCI 7, in addition to the default EPS bearer; or a Data Radio Bearer
with 5QI 7 in a 5G system (see Table 5.7.4-1: Standardized 5QI to QoS with 5QI 7 in a 5G system (see Table 5.7.4-1: Standardized 5QI to QoS
characteristics mapping in [SA-5G]). characteristics mapping in [SA-5G]).
A packet carrying the NQB DSCP SHOULD be routed through the dedicated A packet carrying the NQB DSCP SHOULD be routed through the dedicated
low-latency EPS bearer. A packet that has no associated NQB marking low-latency EPS bearer. A packet that has no associated NQB marking
SHOULD be routed through the default EPS bearer. SHOULD NOT be routed through the dedicated low-latency EPS bearer.
11.3. WiFi Networks 11.3. WiFi Networks
WiFi networking equipment compliant with 802.11e/n/ac generally WiFi networking equipment compliant with 802.11e/n/ac/ax [IEEE802-11]
supports either four or eight transmit queues and four sets of generally supports either four or eight transmit queues and four sets
associated Enhanced Multimedia Distributed Control Access (EDCA) of associated Enhanced Multimedia Distributed Control Access (EDCA)
parameters (corresponding to the four WiFi Multimedia (WMM) Access parameters (corresponding to the four WiFi Multimedia (WMM) Access
Categories) that are used to enable differentiated media access Categories) that are used to enable differentiated media access
characteristics. characteristics. As discussed in [RFC8325], most existing WiFi
implementations use a default DSCP to User Priority mapping that
utilizes the most significant three bits of the Diffserv Field to
select "User Priority" which is then mapped to the four WMM Access
Categories. [RFC8325] also provides an alternative mapping that more
closely aligns with the DSCP recommendations provided by the IETF.
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, WiFi equipment SHOULD map the NQB document, to support the NQB PHB, WiFi equipment SHOULD map the NQB
codepoint 42 into a separate queue that shares an Access Category codepoint 45 into a separate queue that shares an Access Category
with default traffic (i.e. the Best Effort Access Category). with default traffic (i.e. the Best Effort Access Category).
While some WiFi equipment may be capable (in some cases via firmware 11.3.1. Interoperability with Existing WiFi Networks
update) of supporting the NQB PHB requirements, many currently
deployed devices cannot be configured in this way. As a result the
remainder of this section discusses interoperability with these
existing WiFi networks, as opposed to PHB compliance.
WiFi implementations typically utilize the IP DSCP field to select a While some existing WiFi equipment may be capable (in some cases via
transmit queue, but should be considered as Non-Differentiated firmware update) of supporting the NQB PHB requirements, many
Services-Compliant Nodes as described in Section 4 of [RFC2475] currently deployed devices cannot be configured in this way. As a
because in widely deployed WiFi networks, this transmit queue result the remainder of this section discusses interoperability with
selection is a local implementation characteristic that is not part these existing WiFi networks, as opposed to PHB compliance.
of a consistently operated DiffServ domain or region. As discussed
in [RFC8325], most existing WiFi implementations use a default DSCP
to User Priority mapping that utilizes the most significant three
bits of the DiffServ Field to select "User Priority" which is then
mapped to the four WMM Access Categories. [RFC8325] also provides an
alternative mapping that more closely aligns with the DSCP
recommendations provided by the IETF.
In order to increase the likelihood that NQB traffic is provided a In order to increase the likelihood that NQB traffic is provided a
separate queue from QB traffic in existing WiFi equipment that uses separate queue from QB traffic in existing WiFi equipment that uses
the default mapping, the 42 code point is recommended for NQB. This the default mapping, the 45 code point is recommended for NQB. This
maps NQB to UP_5 which is in the "Video" Access Category. Similarly, maps NQB to UP_5 which is in the "Video" Access Category. While this
systems that utilize [RFC8325], SHOULD map the recommended NQB code DSCP to User Priority mapping enables these WiFi systems to support
point 42 to UP_5 in the "Video" Access Category. While this DSCP to the NQB PHB requirement for segregated queuing, it does not support
User Priority mapping can enable WiFi systems to support the NQB PHB the remaining NQB PHB requirements in Section 6. The ramifications
requirement for segregated queuing, many currently deployed WiFi of, and remedies for this are discussed further below.
systems may not be capable of supporting the remaining NQB PHB
requirements in Section 6. This is discussed further below.
Existing WiFi devices are unlikely to support a traffic protection Existing WiFi devices are unlikely to support a traffic protection
algorithm, so traffic mismarked as NQB is not likely to be detected algorithm, so traffic mismarked as NQB is not likely to be detected
and remedied by such devices. and remedied by such devices.
Furthermore, in their default configuration, existing WiFi devices Furthermore, in their default configuration, existing WiFi devices
utilize EDCA parameters that result in statistical prioritization of utilize EDCA parameters that result in statistical prioritization of
the "Video" Access Category above the "Best Effort" Access Category. the "Video" Access Category above the "Best Effort" Access Category.
If left unchanged, this would violate the NQB PHB requirement for If left unchanged, this would violate the NQB PHB requirement for
equal prioritization, and could erode the principle of alignment of equal prioritization, and could erode the principle of alignment of
skipping to change at page 13, line 48 skipping to change at page 13, line 21
ISP delivering traffic to a customer's home network), the network ISP delivering traffic to a customer's home network), the network
operator should presume that the existing WiFi equipment does not operator should presume that the existing WiFi equipment does not
support the safeguards that are provided by the NQB PHB requirements, support the safeguards that are provided by the NQB PHB requirements,
and thus should take precautions to prevent issues. When the data and thus should take precautions to prevent issues. When the data
rate of the access network segment is less than the expected data rate of the access network segment is less than the expected data
rate of the WiFi network, this is unlikely to be an issue. However, rate of the WiFi network, this is unlikely to be an issue. However,
if the access network rate exceeds the expected rate of the WiFi if the access network rate exceeds the expected rate of the WiFi
network, the operator SHOULD deploy a policing function on NQB marked network, the operator SHOULD deploy a policing function on NQB marked
traffic that minimizes the potential for negative impacts on traffic traffic that minimizes the potential for negative impacts on traffic
marked Default, for example by limiting the rate of such traffic to a marked Default, for example by limiting the rate of such traffic to a
set fraction of the customer's service rate. set fraction of the customer's service rate, with excess traffic
either dropped or re-marked as Default.
As an additional safeguard, and to prevent the inadvertent As an additional safeguard, and to prevent the inadvertent
introduction of problematic traffic into unmanaged WiFi networks, introduction of problematic traffic into unmanaged WiFi networks,
network equipment that is intended to deliver traffic into unmanaged network equipment that is intended to deliver traffic into unmanaged
WiFi networks (e.g. an access network gateway for a residential ISP) WiFi networks (e.g. an access network gateway for a residential ISP)
MUST by default ensure that NQB traffic is marked with a DSCP that MUST by default ensure that NQB traffic is marked with a DSCP that
selects the "Best Effort" Access Category. Such equipment MUST selects the "Best Effort" Access Category. Such equipment MUST
support the ability to configure the remapping, so that (when support the ability to configure the remapping, so that (when
appropriate safeguards are in place) traffic can be delivered as NQB- appropriate safeguards are in place) traffic can be delivered as NQB-
marked. marked.
Similarly, systems that utilize [RFC8325] but that are unable to
fully support the PHB requirements, SHOULD map the recommended NQB
code point 45 (or the locally determined alternative) to UP_5 in the
"Video" Access Category.
12. Acknowledgements 12. Acknowledgements
Thanks to Brian Carpenter, Bob Briscoe, Greg Skinner, Toke Hoeiland- Thanks to Stuart Cheshire, Brian Carpenter, Bob Briscoe, Greg
Joergensen, Luca Muscariello, David Black, Sebastian Moeller, Skinner, Toke Hoeiland-Joergensen, Luca Muscariello, David Black,
Ruediger Geib, Jerome Henry, Steven Blake, Jonathan Morton, Roland Sebastian Moeller, Ruediger Geib, Jerome Henry, Steven Blake,
Bless, Kevin Smith, Martin Dolly, and Kyle Rose for their review Jonathan Morton, Roland Bless, Kevin Smith, Martin Dolly, and Kyle
comments. Rose for their review comments. Thanks also to Gorry Fairhurst, Ana
Custura, and Ruediger Geib for their input on selection of
appropriate DSCPs.
13. IANA Considerations 13. IANA Considerations
This document requests that IANA assign the Differentiated Services This document requests that IANA assign the Differentiated Services
Field Codepoints (DSCP) 2 ('0b000010', 0x02) and 42 ('0b101010', Field Codepoints (DSCP) 5 ('0b000101', 0x05) and 45 ('0b101101',
0x2A) from the "Differentiated Services Field Codepoints (DSCP)" 0x2D) from the "Differentiated Services Field Codepoints (DSCP)"
registry (https://www.iana.org/assignments/dscp-registry/) ("DSCP registry (https://www.iana.org/assignments/dscp-registry/) ("DSCP
Pool 1 Codepoints", Codepoint Space xxxxx0, Standards Action) to Pool 3 Codepoints", Codepoint Space xxxx01, Standards Action) as the
denote Non-Queue-Building behavior. RECOMMENDED codepoints for Non-Queue-Building behavior.
14. Security Considerations 14. Security Considerations
There is no incentive for an application to mismark its packets as When the NQB PHB is fully supported in bottleneck links, there is no
NQB (or vice versa). If a queue-building flow were to mark its incentive for an application to mismark its packets as NQB (or vice
packets as NQB, it could experience excessive packet loss (in the versa). If a queue-building flow were to mark its packets as NQB, it
case that traffic protection is not supported by a node) or it could would be unlikely to receive a benefit by doing so, and it could
receive no benefit (in the case that traffic protection is experience excessive packet loss, excessive latency variation and/or
supported). If a non-queue-building flow were to fail to mark its excessive out-of-order delivery (depending on the nature of the
packets as NQB, it could suffer the latency and loss typical of traffic protection function). If a non-queue-building flow were to
sharing a queue with capacity seeking traffic. fail to mark its packets as NQB, it could suffer the latency and loss
typical of sharing a queue with capacity seeking traffic.
In order to preserve low latency performance for NQB traffic, In order to preserve low latency performance for NQB traffic,
networks that support the NQB PHB will need to ensure that mechanisms networks that support the NQB PHB will need to ensure that mechanisms
are in place to prevent malicious NQB-marked traffic from causing are in place to prevent malicious NQB-marked traffic from causing
excessive queue delays. This document recommends the implementation excessive queue delays. This document recommends the implementation
of a traffic protection mechanism to achieve this goal, but of a traffic protection mechanism to achieve this goal, but
recognizes that other options may be more desirable in certain recognizes that other options may be more desirable in certain
situations. situations.
Notwithstanding the above, the choice of DSCP for NQB does allow
existing WiFi networks to readily (and by default) support some of
the PHB requirements, but without a traffic protection function, and
(when left in the default state) by giving NQB traffic higher
priority than QB traffic. This does open up the NQB marking to
potential abuse on these WiFi links, but since these existing WiFi
networks already give one quarter of the DSCP space this same
treatment, and further they give another quarter of the DSCP space
even higher priority, the NQB DSCP does not seem to be of any greater
risk for abuse than these others.
The NQB signal is not integrity protected and could be flipped by an The NQB signal is not integrity protected and could be flipped by an
on-path attacker. This might negatively affect the QoS of the on-path attacker. This might negatively affect the QoS of the
tampered flow. tampered flow.
15. Informative References 15. References
15.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474,
DOI 10.17487/RFC2474, December 1998,
<https://www.rfc-editor.org/info/rfc2474>.
[RFC2983] Black, D., "Differentiated Services and Tunnels",
RFC 2983, DOI 10.17487/RFC2983, October 2000,
<https://www.rfc-editor.org/info/rfc2983>.
[RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage
Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085,
March 2017, <https://www.rfc-editor.org/info/rfc8085>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8325] Szigeti, T., Henry, J., and F. Baker, "Mapping Diffserv to
IEEE 802.11", RFC 8325, DOI 10.17487/RFC8325, February
2018, <https://www.rfc-editor.org/info/rfc8325>.
15.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", ITC 30, September 2018.
[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", TMA ,
2017. 2017.
[I-D.briscoe-docsis-q-protection] [I-D.briscoe-docsis-q-protection]
skipping to change at page 16, line 5 skipping to change at page 16, line 24
ietf-tsvwg-ecn-l4s-id-12.txt>. ietf-tsvwg-ecn-l4s-id-12.txt>.
[I-D.ietf-tsvwg-l4s-arch] [I-D.ietf-tsvwg-l4s-arch]
Briscoe, B., Schepper, K., Bagnulo, M., and G. White, "Low Briscoe, B., Schepper, K., Bagnulo, M., and G. White, "Low
Latency, Low Loss, Scalable Throughput (L4S) Internet Latency, Low Loss, Scalable Throughput (L4S) Internet
Service: Architecture", Work in Progress, Internet-Draft, Service: Architecture", Work in Progress, Internet-Draft,
draft-ietf-tsvwg-l4s-arch-08, 15 November 2020, draft-ietf-tsvwg-l4s-arch-08, 15 November 2020,
<http://www.ietf.org/internet-drafts/draft-ietf-tsvwg-l4s- <http://www.ietf.org/internet-drafts/draft-ietf-tsvwg-l4s-
arch-08.txt>. arch-08.txt>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [IEEE802-11]
Requirement Levels", BCP 14, RFC 2119, IEEE-SA, "IEEE 802.11-2020", IEEE 802, December 2020,
DOI 10.17487/RFC2119, March 1997, <https://standards.ieee.org/standard/802_11-2020.html>.
<https://www.rfc-editor.org/info/rfc2119>.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474,
DOI 10.17487/RFC2474, December 1998,
<https://www.rfc-editor.org/info/rfc2474>.
[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>.
[RFC2983] Black, D., "Differentiated Services and Tunnels", [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
RFC 2983, DOI 10.17487/RFC2983, October 2000, Video Conferences with Minimal Control", RFC 3551, July
<https://www.rfc-editor.org/info/rfc2983>. 2003, <https://www.rfc-editor.org/info/rfc3551>.
[RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration [RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration
Guidelines for DiffServ Service Classes", RFC 4594, Guidelines for Diffserv Service Classes", RFC 4594,
DOI 10.17487/RFC4594, August 2006, DOI 10.17487/RFC4594, August 2006,
<https://www.rfc-editor.org/info/rfc4594>. <https://www.rfc-editor.org/info/rfc4594>.
[RFC5127] Chan, K., Babiarz, J., and F. Baker, "Aggregation of [RFC5127] Chan, K., Babiarz, J., and F. Baker, "Aggregation of
Diffserv Service Classes", RFC 5127, DOI 10.17487/RFC5127, Diffserv Service Classes", RFC 5127, DOI 10.17487/RFC5127,
February 2008, <https://www.rfc-editor.org/info/rfc5127>. February 2008, <https://www.rfc-editor.org/info/rfc5127>.
[RFC7893] Stein, Y(J)., Black, D., and B. Briscoe, "Pseudowire
Congestion Considerations", RFC 7893, June 2016,
<https://www.rfc-editor.org/info/rfc7893>.
[RFC8033] Pan, R., Natarajan, P., Baker, F., and G. White, [RFC8033] Pan, R., Natarajan, P., Baker, F., and G. White,
"Proportional Integral Controller Enhanced (PIE): A "Proportional Integral Controller Enhanced (PIE): A
Lightweight Control Scheme to Address the Bufferbloat Lightweight Control Scheme to Address the Bufferbloat
Problem", RFC 8033, DOI 10.17487/RFC8033, February 2017, Problem", RFC 8033, DOI 10.17487/RFC8033, February 2017,
<https://www.rfc-editor.org/info/rfc8033>. <https://www.rfc-editor.org/info/rfc8033>.
[RFC8034] White, G. and R. Pan, "Active Queue Management (AQM) Based [RFC8034] White, G. and R. Pan, "Active Queue Management (AQM) Based
on Proportional Integral Controller Enhanced PIE) for on Proportional Integral Controller Enhanced PIE) for
Data-Over-Cable Service Interface Specifications (DOCSIS) Data-Over-Cable Service Interface Specifications (DOCSIS)
Cable Modems", RFC 8034, DOI 10.17487/RFC8034, February Cable Modems", RFC 8034, DOI 10.17487/RFC8034, February
2017, <https://www.rfc-editor.org/info/rfc8034>. 2017, <https://www.rfc-editor.org/info/rfc8034>.
[RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage [RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control:
Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, Circuit Breakers for Unicast RTP Sessions", RFC 8083,
March 2017, <https://www.rfc-editor.org/info/rfc8085>. March 2017, <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>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[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>.
[RFC8325] Szigeti, T., Henry, J., and F. Baker, "Mapping Diffserv to
IEEE 802.11", RFC 8325, DOI 10.17487/RFC8325, February
2018, <https://www.rfc-editor.org/info/rfc8325>.
[SA-5G] 3GPP, "System Architecture for 5G", TS 23.501, 2019. [SA-5G] 3GPP, "System Architecture for 5G", TS 23.501, 2019.
Appendix A. DSCP Remarking Pathologies
Some network operators typically bleach (zero out) the Diffserv field
on ingress into their network [Custura][Barik], and in some cases
apply their own DSCP for internal usage. Bleaching the NQB DSCP is
not expected to cause harm to default traffic, but it will severely
limit the ability to provide NQB treatment end-to-end. Reports on
existing deployments of DSCP manipulation [Custura][Barik] categorize
the re-marking behaviors into the following six policies: bleach all
traffic (set DSCP to zero), set the top three bits (the former
Precedence bits) on all traffic to 0b000, 0b001, or 0b010, set the
low three bits on all traffic to 0b000, or remark all traffic to a
particular (non-zero) DSCP value.
Regarding the DSCP values of 5 & 45, there were no observations of
DSCP manipulation reported in which traffic was marked 5 or 45 by any
of these policies. Thus it appears that these re-marking policies
would be unlikely to result in QB traffic being marked as NQB (45).
In terms of the fate of NQB-marked traffic that is subjected to one
of these policies, the result would be that NQB marked traffic would
be indistinguishable from some subset (possibly all) of other
traffic. In the policies where all traffic is remarked using the
same (zero or non-zero) DSCP, the ability for a subsequent network
hop to differentiate NQB traffic via DSCP would clearly be lost
entirely.
In the policies where the top three bits are overwritten, both NQB
values (5 & 45) would receive the same marking as would the currently
unassigned Pool 3 DSCPs 13,21,29,37,53,61, with all of these code
points getting mapped to DSCP=5, 13 or 21 (depending on the overwrite
value used). Since none of the DSCPs in the preceding lists are
currently assigned by IANA, and they all are set aside for Standards
Action, it is believed that they are not widely used currently, but
this may vary based on local-usage.
For the policy in which the low three bits are set to 0b000, the NQB
(45) value would be mapped to CS5 and would be indistinguishable from
CS5, VA, EF (and the unassigned DSCPs 41, 42, 43). Traffic marked
using the existing standardized DSCPs in this list are likely to
share the same general properties as NQB traffic (non capacity-
seeking, very low data rate or relatively low and consistent data
rate). Similarly, any future recommended usage for DSCPs 41, 42, 43
would likely be somewhat compatible with NQB treatment, assuming that
IP Precedence compatibility (see Section 1.5.4 of [RFC4594]) is
maintained in the future. Here there may be an opportunity for a
node to provide the NQB PHB or the CS5 PHB to CS5-marked traffic and
retain some of the benefits of NQB marking. This could be another
motivation to (as discussed in Section 5.2) classify CS5-marked
traffic into NQB queue. For this same re-marking policy, the NQB (5)
value would be mapped to CS0/default and would be indistinguishable
from CS0, LE (and the unassigned DSCPs 2,3,4,6,7). In this case, NQB
traffic is likely to be given default treatment in all subsequent
nodes, which would eliminate the ability to provide NQB treatment in
those nodes, but would be relatively harmless otherwise.
Authors' Addresses Authors' Addresses
Greg White Greg White
CableLabs CableLabs
Email: g.white@cablelabs.com Email: g.white@cablelabs.com
Thomas Fossati Thomas Fossati
ARM ARM
 End of changes. 75 change blocks. 
302 lines changed or deleted 368 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/