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