draft-ietf-tsvwg-nqb-02.txt   draft-ietf-tsvwg-nqb-03.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: March 26, 2021 ARM Expires: May 6, 2021 ARM
September 22, 2020 November 2, 2020
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-02 draft-ietf-tsvwg-nqb-03
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 low latency and, when
possible, low loss for application-limited traffic flows that would possible, low loss for application-limited traffic flows that would
ordinarily share a queue with capacity-seeking traffic. This PHB is ordinarily share a queue with capacity-seeking traffic. This PHB is
implemented without prioritization and without rate policing, making implemented without prioritization and without rate policing, making
it suitable for environments where the use of either these features it suitable for environments where the use of either these features
skipping to change at page 1, line 45 skipping to change at page 1, line 45
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 March 26, 2021. This Internet-Draft will expire on May 6, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 25 skipping to change at page 2, line 25
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Overview: Non-Queue-Building Flows . . . . . . . . . . . . . 3 3. Overview: Non-Queue-Building Flows . . . . . . . . . . . . . 3
4. DSCP Marking of NQB Traffic . . . . . . . . . . . . . . . . . 4 4. The NQB PHB and its Relationship to the DiffServ Architecture 4
4.1. End-to-end usage and DSCP Re-marking . . . . . . . . . . 5 5. DSCP Marking of NQB Traffic . . . . . . . . . . . . . . . . . 5
5. Non-Queue-Building PHB Requirements . . . . . . . . . . . . . 6 5.1. End-to-end usage and DSCP Re-marking . . . . . . . . . . 6
6. Impact on Higher Layer Protocols . . . . . . . . . . . . . . 7 5.2. Aggregation of the NQB PHB with other DiffServ PHBs . . . 7
7. Relationship to L4S . . . . . . . . . . . . . . . . . . . . . 7 6. Non-Queue-Building PHB Requirements . . . . . . . . . . . . . 8
8. Configuration and Management . . . . . . . . . . . . . . . . 8 7. Impact on Higher Layer Protocols . . . . . . . . . . . . . . 9
9. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8. The NQB PHB and Tunnels . . . . . . . . . . . . . . . . . . . 10
9.1. DOCSIS Access Networks . . . . . . . . . . . . . . . . . 8 9. Relationship to L4S . . . . . . . . . . . . . . . . . . . . . 10
9.2. Mobile Networks . . . . . . . . . . . . . . . . . . . . . 8 10. Configuration and Management . . . . . . . . . . . . . . . . 10
9.3. WiFi Networks . . . . . . . . . . . . . . . . . . . . . . 9 11. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 10
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 11.1. DOCSIS Access Networks . . . . . . . . . . . . . . . . . 10
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 11.2. Mobile Networks . . . . . . . . . . . . . . . . . . . . 11
12. Security Considerations . . . . . . . . . . . . . . . . . . . 10 11.3. WiFi Networks . . . . . . . . . . . . . . . . . . . . . 11
13. Informative References . . . . . . . . . . . . . . . . . . . 11 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
14. Security Considerations . . . . . . . . . . . . . . . . . . . 13
15. Informative References . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
This document defines a Differentiated Services (DS) per-hop behavior This document defines a Differentiated Services (DS) 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 is intended to enable networks to provide low latency and low loss
for traffic flows that are relatively low data rate and that do not for traffic flows that are relatively low data rate and that do not
themselves materially contribute to queueing delay and loss. Such themselves materially contribute to queueing delay and loss. Such
Non-Queue-Building flows (for example: interactive voice and video, Non-Queue-Building flows (for example: interactive voice and video,
gaming, machine to machine applications) are application limited gaming, machine to machine applications) are application limited
skipping to change at page 4, line 18 skipping to change at page 4, line 21
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 capacity of the link (examples: online games, voice
chat, DNS lookups, real-time IoT analytics data). Here the data rate chat, DNS lookups, real-time IoT analytics data). Here the data rate
is limited by the Application itself rather than by network capacity is limited by the Application itself rather than by network capacity
- in many cases these applications only send a few packets per RTT. - in many cases these applications only send a few packets per RTT.
In contrast, Queue-building (QB) flows include traffic which uses the In contrast, Queue-building (QB) flows include traffic which uses the
Traditional TCP or QUIC, with BBR or other TCP congestion Traditional TCP or QUIC, with BBR or other TCP congestion
controllers. controllers.
4. DSCP Marking of NQB Traffic 4. The NQB PHB and its Relationship to the DiffServ Architecture
Applications that align with the above description of NQB behavior The IETF has defined the Differentiated Services architecture
SHOULD identify themselves to the network using a DiffServ Code Point [RFC2475] with the intention that it allows traffic to be marked in
(DSCP) so that their packets can be queued separately from QB flows. manner that conveys the performance requirements of that traffic
either quantitatively or in a relative sense (i.e. priority). The
architecture defines the use of the DiffServ field [RFC2474] for this
purpose, and numerous RFCs have been written that describe both
standardized and recommended interpretations of the values (DiffServ
Code Points) of the field, and of the treatments (traffic
conditioning and per-hop-behaviors) that can be implemented to
satisfy the performance requirements of traffic so marked.
While this architecture is powerful, and can be configured to meet
the performance requirements of a variety of applications and traffic
categories, or to achieve differentiated service offerings, it has
proven problematic to enable its use for these purposes end-to-end
across the Internet.
This difficulty is in part due to the fact that meeting (in an end-
to-end context) the performance requirements of an application
involves all of 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 difficult due to the fact that the
performance "requirements" are not hard ones (e.g. applications will
degrade in some manner as loss/latency/jitter increase), so the
importance of meeting them for any particular application involves a
judgment as to the value of avoiding some amount of degradation in
quality for that application in exchange for an increase in the
degradation of another application.
Further, in many cases the implementation of DiffServ PHBs involves
prioritization of service classes with respect to one another, which
results in the need to limit access to higher priority classes via
mechanisms such as access control, admission control, traffic
conditioning and rate policing, and/or to meter and bill for carriage
of such traffic. These mechanisms can be difficult or impossible to
implement in an end-to-end context.
Finally, some jurisdictions impose regulations that limit the ability
of networks to provide differentiation of services, in large part
based on the understanding that doing so ordinarily involves
prioritization or privileged access to bandwidth, and thus a benefit
to one class of traffic always comes at the expense of another.
In contrast, the NQB PHB has been designed with the goal that it
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
it signals verifiable behavior as opposed to wants and needs. Also,
the NQB traffic is to be given a separate queue with equal priority
as default traffic, and given no reserved bandwidth other than the
bandwidth that it shares with default traffic. As a result, the NQB
PHB does not aim to meet specific application performance
requirements, nor does it aim to provide a differentiated service
class as defined in [RFC4594]. Instead the goal of the NQB PHB is to
provide statistically better loss, latency, and jitter performance
for traffic that is not itself the cause of those degradations.
These attributes eliminate the inherent value judgments that underlie
the handling of differentiated service classes in the DiffServ
architecture as it has traditionally been defined, they also
significantly simplify access control and admission control
functions, reducing them to simple verification of behavior.
5. DSCP Marking of NQB Traffic
Applications that align with the description of NQB behavior in the
preceding section SHOULD identify themselves to the network using a
DiffServ Code Point (DSCP) so that their packets can be queued
separately from QB flows.
There are many application flows that fall very neatly into one or There are many application flows that fall very neatly into one or
the other of these categories, but there are also application flows the other of these categories, but there are also application flows
that may be in a gray area in between (e.g. they are NQB on higher- that may be in a gray area in between (e.g. they are NQB on higher-
speed links, but QB on lower-speed links). speed links, but QB on lower-speed links).
If there is uncertainty as to whether an application's traffic aligns If there is uncertainty as to whether an application's traffic aligns
with the description of NQB behavior in the preceding section, the with the description of NQB behavior in the preceding section, the
application SHOULD NOT mark its traffic with the NQB DSCP. In such a application SHOULD NOT mark its traffic with the NQB DSCP. In such a
case, the application SHOULD instead implement a congestion control case, the application SHOULD instead implement a congestion control
mechanism, for example as described in [RFC8085] or mechanism, for example as described in [RFC8085] or
[I-D.ietf-tsvwg-ecn-l4s-id]. [I-D.ietf-tsvwg-ecn-l4s-id].
This document recommends a DSCP of 42 (0x2A) to identify packets of This document recommends a DSCP of 42 (0x2A) to identify packets of
NQB flows. NQB flows.
It is worthwhile to note that the NQB designation and marking is It is worthwhile to note again that the NQB designation and marking
intended to convey verifiable traffic behavior, not needs or wants. is intended to convey verifiable traffic behavior, not needs or
Also, it is important that incentives are aligned correctly, i.e. wants. Also, it is important that incentives are aligned correctly,
that there is a benefit to the application in marking its packets i.e. that there is a benefit to the application in marking its
correctly, and no benefit to an application in intentionally packets correctly, and no benefit to an application in intentionally
mismarking its traffic. Thus, a useful property of nodes that mismarking its traffic. Thus, a useful property of nodes that
support separate queues for NQB and QB flows would be that for NQB support separate queues for NQB and QB flows would be that for NQB
flows, the NQB queue provides better performance than the QB queue; flows, the NQB queue provides better performance than the QB queue;
and for QB flows, the QB queue provides better performance than the and for QB flows, the QB queue provides better performance than the
NQB queue. By adhering to these principles, there is no incentive NQB queue. By adhering to these principles, there is no incentive
for senders to mismark their traffic as NQB, and further, any for senders to mismark their traffic as NQB, and further, any
mismarking can be identified by the network. mismarking can be identified by the network.
4.1. End-to-end usage and DSCP Re-marking 5.1. End-to-end usage and DSCP Re-marking
In contrast to the existing standard DSCPs, many of which are In contrast to the existing standard DSCPs, 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 DSCP is expected to be used end-to-end enterprise network), this DSCP is expected to be used end-to-end
across the Internet. Some network operators typically bleach (zero across the Internet. Some network operators typically bleach (zero
out) the DiffServ field on ingress into their network out) the DiffServ field on ingress into their network
[Custura][Barik], and in some cases apply their own DSCP for internal [Custura][Barik], and in some cases apply their own DSCP for internal
usage. Networks that support the NQB PHB SHOULD preserve the NQB 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. Absent an explicit agreement to the
contrary, networks that support the NQB PHB SHOULD preserve the NQB
DSCP when forwarding via an interconnect from or to another network. DSCP when forwarding via an interconnect from or to another network.
Bleaching the NQB DSCP is not expected to cause harm to default
traffic, but it will severely limit the ability to provide NQB The fact that this DSCP is intended for end-to-end usage does not
treatment end-to-end. preclude networks from mapping the NQB DSCP to some other value for
internal usage, as long as the NQB DSCP is restored when forwarding
to another network. Additionally, it is not precluded for
interconnecting networks to negotiate (via an SLA or some other
agreement) a different DSCP to use to signal NQB across the
interconnect.
Reports on existing deployments of DSCP manipulation [Custura][Barik] Reports on existing deployments of DSCP manipulation [Custura][Barik]
categorize the remarking behaviors into the following six policies: categorize the remarking behaviors into the following six policies:
bleach all traffic (set DSCP to zero), set the top three bits (the 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 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 the low three bits on all traffic to 0b000, or remark all traffic to
a particular (non-zero) DSCP value. There were no observations a particular (non-zero) DSCP value. There were no observations
reported in which traffic was marked 42 by any of these policies. reported in which traffic was marked 42 by any of these policies.
Thus it appears that these remarking policies would be unlikely to Thus it appears that these remarking policies would be unlikely to
result in QB traffic being marked as NQB. In terms of the fate of result in QB traffic being marked as NQB. In terms of the fate of
NQB-marked traffic that is subjected to one of these policies, the NQB-marked traffic that is subjected to one of these policies, the
result would be that NQB marked traffic would be indistinguishable result would be that NQB marked traffic would be indistinguishable
from some subset (possibly all) of other traffic. In the policies from some subset (possibly all) of other traffic. In the policies
where all traffic is remarked using the same (zero or non-zero) DSCP, where all traffic is remarked using the same (zero or non-zero) DSCP,
the ability for a subsequent network hop to differentiate NQB traffic the ability for a subsequent network hop to differentiate NQB traffic
via DSCP would clearly be lost entirely. In the policies where the via DSCP would clearly be lost entirely. In the policies where the
top three bits are overwritten, NQB would receive the same marking as top three bits are overwritten, NQB would receive the same marking as
AF41, AF31, AF21, AF11 (as well as the currently unassigned DSCPs 2, AF41, AF31, AF21, AF11 (as well as the currently unassigned DSCPs 2,
skipping to change at page 5, line 36 skipping to change at page 7, line 15
Thus it appears that these remarking policies would be unlikely to Thus it appears that these remarking policies would be unlikely to
result in QB traffic being marked as NQB. In terms of the fate of result in QB traffic being marked as NQB. In terms of the fate of
NQB-marked traffic that is subjected to one of these policies, the NQB-marked traffic that is subjected to one of these policies, the
result would be that NQB marked traffic would be indistinguishable result would be that NQB marked traffic would be indistinguishable
from some subset (possibly all) of other traffic. In the policies from some subset (possibly all) of other traffic. In the policies
where all traffic is remarked using the same (zero or non-zero) DSCP, where all traffic is remarked using the same (zero or non-zero) DSCP,
the ability for a subsequent network hop to differentiate NQB traffic the ability for a subsequent network hop to differentiate NQB traffic
via DSCP would clearly be lost entirely. In the policies where the via DSCP would clearly be lost entirely. In the policies where the
top three bits are overwritten, NQB would receive the same marking as top three bits are overwritten, NQB would receive the same marking as
AF41, AF31, AF21, AF11 (as well as the currently unassigned DSCPs 2, AF41, AF31, AF21, AF11 (as well as the currently unassigned DSCPs 2,
50, 58), with all of these codepoints getting mapped to DSCP=2, AF11 50, 58), with all of these code points getting mapped to DSCP=2, AF11
or AF21 (depending on the overwrite value used). Since the or AF21 (depending on the overwrite value used). Since the
recommended usage of the standardized codepoints in that list include recommended usage of the standardized code points in that list
high throughput data for store and forward applications (and it is include high throughput data for store and forward applications (and
impossible to predict what future use would be assigned to the it is impossible to predict what future use would be assigned to the
currently unassigned values) it would seem inadvisable for a node to 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 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 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, would be mapped to CS5 and would be indistinguishable from CS5, VA,
EF (and the unassigned DSCPs 41, 43, 45). Traffic marked using the EF (and the unassigned DSCPs 41, 43, 45). Traffic marked using the
existing standardized DSCPs in this list are likely to share the same existing standardized DSCPs in this list are likely to share the same
general properties as NQB traffic (non capacity-seeking, very low general properties as NQB traffic (non capacity-seeking, very low
data rate or relatively low and consistent data rate). Furthermore, data rate or relatively low and consistent data rate). Furthermore,
as this remarking policy results in an overt enforcement of the IP as this remarking policy results in an overt enforcement of the IP
Precedence compatibility configuration discussed in [RFC4594] Precedence compatibility configuration discussed in [RFC4594]
Section 1.5.4, and to the extent that this compatibility is Section 1.5.4, and to the extent that this compatibility is
maintained in the future, any future recommended usages of the maintained in the future, any future recommended usages of the
currently unassigned DSCPs in that list would be likely to similarly currently unassigned DSCPs in that list would be likely to similarly
be somewhat compatible with NQB treatment. Here there may be an 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 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 retain some of the benefits of NQB marking. As a result, nodes
supporting the NQB PHB MAY additionally classify CS5 marked traffic supporting the NQB PHB MAY additionally classify CS5 marked traffic
into the NQB queue. into the NQB queue.
5. Non-Queue-Building PHB Requirements Note: Unless agreed otherwise between the interconnecting partners,
interconnects that implement [RFC8100] for DiffServ interconnection
would consider the NQB DSCP as an unrecognized or unsupported DSCP,
and would thus re-mark it to CS0.
5.2. Aggregation of the NQB PHB with other DiffServ PHBs
Networks and nodes that aggregate service classes as discussed in
[RFC5127] may not be able to provide a PDB/PHB that meets the
requirements of this document. In these cases it is recommended that
NQB-marked traffic be aggregated with standard, elastic, best-effort
traffic, although in some cases a network operator may instead choose
to aggregate NQB traffic with Real-Time traffic. Either approach
comes with trade-offs: aggregating with best-effort could result in a
degradation of loss/latency/jitter performance, while aggregating
with Real-Time may create an incentive for mismarking of non-
compliant traffic. In either case, [RFC5127] requires that such
aggregations preserve the notion of each end-to-end service class
that is aggregated, and recommends preservation of the DSCP as a way
of accomplishing this. Compliance with this recommendation would
serve to limit the negative impact that such networks would have on
end-to-end performance for NQB traffic.
Nodes that support the NQB PHB may choose to aggregate other service
classes into the NQB queue. Candidate service classes for this
aggregation would include those that carry inelastic traffic that has
low to very-low tolerance for loss, latency and/or jitter as
discussed in [RFC4594]. These could include Network Control,
Telephony, Signaling, Real-Time Interactive and Broadcast Video.
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 the queue used for queue-building
traffic. traffic.
skipping to change at page 7, line 24 skipping to change at page 9, line 32
One example algorithm can be found in 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. Similarly, flow queueing
systems obviate the need for an explicit traffic protection function. systems obviate the need for an explicit traffic protection function.
Additionally, some networks may prefer to police the application of Additionally, some networks may prefer to police the application of
the NQB DSCP at the ingress edge, so that in-network traffic the NQB DSCP at the ingress edge, so that in-network traffic
protection is not needed. protection is not needed.
6. 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. 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 redirected to the QB
queue. Depending on the queueing latency and scheduling within the queue. Depending on the queueing latency and scheduling within the
network element, this could result in packets being delivered out of network element, this could result in packets being delivered out of
order. As a result, the use of the NQB DSCP by a higher layer order. As a result, the use of the NQB DSCP by a higher layer
protocol carries some risk that out of order delivery will be protocol carries some risk that out of order delivery will be
experienced. experienced.
7. Relationship to L4S 8. The NQB PHB and Tunnels
[RFC2983] discusses tunnel models that support DiffServ. It
describes a "uniform model" in which the inner DSCP is copied to the
outer header at encapsulation, and the outer DSCP is copied to the
inner header at decapsulation. It also describes a "pipe model" in
which the outer DSCP is not copied to the inner header at
decapsulation. Both models can be used in conjunction with the NQB
PHB. In the case of the pipe model, any DSCP manipulation (re-
marking) of the outer header by intermediate nodes would be discarded
at tunnel egress, potentially improving the possibility of achieving
NQB treatment in subsequent nodes.
As is discussed in [RFC2983] tunnel protocols that are sensitive to
reordering can result in undesirable interactions if multiple DSCP
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
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
reordering-sensitive tunnel protocol in order to avoid these
undesirable interactions.
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 dual-queue 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 is considered sufficient to enable fair
allocation of bandwidth between the QB and NQB queues. allocation of bandwidth between the QB and NQB queues.
8. 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).
9. Use Cases 11. Example Use Cases
9.1. DOCSIS Access Networks 11.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
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 shaping bandwidth with
the queue for QB traffic. the queue for QB traffic.
9.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
prohibitive due to expense. Of late, said consideration seems to prohibitive due to expense. Of late, said consideration seems to
have lost momentum (e.g., with the rise in Multi-RAB (Radio Access have lost momentum (e.g., with the rise in Multi-RAB (Radio Access
Bearer) devices) and the incentives might now be aligned towards Bearer) devices) and the incentives might now be aligned towards
skipping to change at page 9, line 9 skipping to change at page 11, line 39
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 be routed through the default EPS bearer.
9.3. WiFi Networks 11.3. WiFi Networks
WiFi networking equipment compliant with 802.11e generally supports WiFi networking equipment compliant with 802.11e generally supports
either four or eight transmit queues and four sets of associated either four or eight transmit queues and four sets of associated
Enhanced Multimedia Distributed Control Access (EDCA) parameters Enhanced Multimedia Distributed Control Access (EDCA) parameters
(corresponding to the four WiFi Multimedia (WMM) Access Categories) (corresponding to the four WiFi Multimedia (WMM) Access Categories)
that are used to enable differentiated media access characteristics. that are used to enable differentiated media access characteristics.
While some WiFi equipment may be capable (in some cases via firmware
update) of supporting the NQB PHB requirements by providing a
separate queue for NQB marked traffic that shares an Access Category
with default traffic, many currently deployed devices cannot be
configured in this way.
Implementations typically utilize the IP DSCP field to select a Implementations typically utilize the IP DSCP field to select a
transmit queue, but should be considered as Non-Differentiated transmit queue, but should be considered as Non-Differentiated
Services-Compliant Nodes as described in Section 4 of [RFC2475] Services-Compliant Nodes as described in Section 4 of [RFC2475]
because this transmit queue selection is a local implementation because in widely deployed WiFi networks, this transmit queue
characteristic that is not part of a consistently operated DiffServ selection is a local implementation characteristic that is not part
domain or region. As a result this document discusses of a consistently operated DiffServ domain or region. As a result
interoperability with WiFi networks, as opposed to PHB compliance. this document discusses interoperability with these existing WiFi
networks, in addition to PHB compliance.
As discussed in [RFC8325], most existing WiFi implementations use a As discussed in [RFC8325], most existing WiFi implementations use a
default DSCP to User Priority mapping that utilizes the most default DSCP to User Priority mapping that utilizes the most
significant three bits of the DiffServ Field to select "User significant three bits of the DiffServ Field to select "User
Priority" which is then mapped to the four WMM Access Categories. In Priority" which is then mapped to the four WMM Access Categories. In
order to increase the likelihood that NQB traffic is provided a order to increase the likelihood that NQB traffic is provided a
separate queue from QB traffic in existing WiFi equipment, the 42 separate queue from QB traffic in existing WiFi equipment, the 42
codepoint is preferred for NQB. This would map NQB to UP_5 which is code point is preferred for NQB. This would map NQB to UP_5 which is
in the "Video" Access Category. Similarly, systems that utilize in the "Video" Access Category. Similarly, systems that utilize
[RFC8325], SHOULD map the NQB codepoint to UP_5 in the "Video" Access [RFC8325], SHOULD map the NQB code point to UP_5 in the "Video"
Category. Access Category.
While the DSCP to User Priority mapping can enable WiFi systems to While the DSCP to User Priority mapping can enable WiFi systems to
support the NQB PHB requirement for segregated queuing, many support the NQB PHB requirement for segregated queuing, many
currently deployed WiFi systems may not be capable of supporting the currently deployed WiFi systems may not be capable of supporting the
remaining NQB PHB requirements in Section 5. This is discussed remaining NQB PHB requirements in Section 6. This is discussed
further below. 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
skipping to change at page 10, line 25 skipping to change at page 13, line 16
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 remap the NQB DSCP to Default. Such equipment MUST MUST by default remap the NQB DSCP to Default. 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.
10. Acknowledgements 12. Acknowledgements
Thanks to Bob Briscoe, Greg Skinner, Toke Hoeiland-Joergensen, Luca Thanks to Bob Briscoe, Greg Skinner, Toke Hoeiland-Joergensen, Luca
Muscariello, David Black, Sebastian Moeller, Ruediger Geib, Jerome Muscariello, David Black, Sebastian Moeller, Ruediger Geib, Jerome
Henry, Steven Blake, Jonathan Morton, Roland Bless, Kevin Smith, Henry, Steven Blake, Jonathan Morton, Roland Bless, Kevin Smith,
Martin Dolly, and Kyle Rose for their review comments. Martin Dolly, and Kyle Rose for their review comments.
11. IANA Considerations 13. IANA Considerations
This document assigns the Differentiated Services Field Codepoint This document assigns the Differentiated Services Field Codepoint
(DSCP) 42 ('0b101010', 0x2A) from the "Differentiated Services Field (DSCP) 42 ('0b101010', 0x2A) from the "Differentiated Services Field
Codepoints (DSCP)" registry (https://www.iana.org/assignments/dscp- Codepoints (DSCP)" registry (https://www.iana.org/assignments/dscp-
registry/) ("DSCP Pool 1 Codepoints", Codepoint Space xxxxx0, registry/) ("DSCP Pool 1 Codepoints", Codepoint Space xxxxx0,
Standards Action) to denote Non-Queue-Building behavior. Standards Action) to denote Non-Queue-Building behavior.
12. Security Considerations 14. Security Considerations
There is no incentive for an application to mismark its packets as There is no incentive for an application to mismark its packets as
NQB (or vice versa). If a queue-building flow were to mark its NQB (or vice versa). If a queue-building flow were to mark its
packets as NQB, it could experience excessive packet loss (in the packets as NQB, it could experience excessive packet loss (in the
case that traffic protection is not supported by a node) or it could case that traffic protection is not supported by a node) or it could
receive no benefit (in the case that traffic protection is receive no benefit (in the case that traffic protection is
supported). If a non-queue-building flow were to fail to mark its supported). If a non-queue-building flow were to fail to mark its
packets as NQB, it could suffer the latency and loss typical of packets as NQB, it could suffer the latency and loss typical of
sharing a queue with capacity seeking traffic. sharing a queue with capacity seeking traffic.
skipping to change at page 11, line 14 skipping to change at page 14, line 9
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.
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.
13. Informative References 15. 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 11, line 44 skipping to change at page 14, line 39
[I-D.ietf-tsvwg-ecn-l4s-id] [I-D.ietf-tsvwg-ecn-l4s-id]
Schepper, K. and B. Briscoe, "Identifying Modified Schepper, K. and B. Briscoe, "Identifying Modified
Explicit Congestion Notification (ECN) Semantics for Explicit Congestion Notification (ECN) Semantics for
Ultra-Low Queuing Delay (L4S)", draft-ietf-tsvwg-ecn-l4s- Ultra-Low Queuing Delay (L4S)", draft-ietf-tsvwg-ecn-l4s-
id-10 (work in progress), March 2020. id-10 (work in progress), March 2020.
[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", draft-ietf-tsvwg-l4s-arch-06 (work Service: Architecture", draft-ietf-tsvwg-l4s-arch-07 (work
in progress), March 2020. in progress), October 2020.
[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,
"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",
RFC 2983, DOI 10.17487/RFC2983, October 2000,
<https://www.rfc-editor.org/info/rfc2983>.
[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
Diffserv Service Classes", RFC 5127, DOI 10.17487/RFC5127,
February 2008, <https://www.rfc-editor.org/info/rfc5127>.
[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 [RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage
Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085,
March 2017, <https://www.rfc-editor.org/info/rfc8085>. March 2017, <https://www.rfc-editor.org/info/rfc8085>.
[RFC8100] Geib, R., Ed. and D. Black, "Diffserv-Interconnection
Classes and Practice", RFC 8100, DOI 10.17487/RFC8100,
March 2017, <https://www.rfc-editor.org/info/rfc8100>.
[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>.
[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 [RFC8325] Szigeti, T., Henry, J., and F. Baker, "Mapping Diffserv to
 End of changes. 35 change blocks. 
59 lines changed or deleted 213 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/