rfc9435v3.txt | rfc9435.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) A. Custura | Internet Engineering Task Force (IETF) A. Custura | |||
Request for Comments: 9435 G. Fairhurst | Request for Comments: 9435 G. Fairhurst | |||
Category: Informational R. Secchi | Category: Informational R. Secchi | |||
ISSN: 2070-1721 University of Aberdeen | ISSN: 2070-1721 University of Aberdeen | |||
May 2023 | July 2023 | |||
Considerations for Assigning a New Recommended Differentiated Services | Considerations for Assigning a New Recommended Differentiated Services | |||
Code Point (DSCP) | Code Point (DSCP) | |||
Abstract | Abstract | |||
This document discusses considerations for assigning a new | This document discusses considerations for assigning a new | |||
recommended Differentiated Services Code Point (DSCP) for a standard | recommended Differentiated Services Code Point (DSCP) for a standard | |||
Per-Hop Behavior (PHB). It considers the common observed re-marking | Per-Hop Behavior (PHB). It considers the common observed re-marking | |||
behaviors that the Diffserv field might be subjected to along an | behaviors that the Diffserv field might be subjected to along an | |||
skipping to change at line 203 ¶ | skipping to change at line 203 ¶ | |||
assignments (replacing the previous availability for experimental | assignments (replacing the previous availability for experimental | |||
or local use)" [RFC8436]. [RFC8622] assigned 0x01 from this pool | or local use)" [RFC8436]. [RFC8622] assigned 0x01 from this pool | |||
and consequentially updated [RFC4594]. Any future request to | and consequentially updated [RFC4594]. Any future request to | |||
assign 0x05 would be expected to similarly update [RFC4594]. | assign 0x05 would be expected to similarly update [RFC4594]. | |||
Note that [RFC4594] previously recommended a Local Use of DSCP values | Note that [RFC4594] previously recommended a Local Use of DSCP values | |||
0x01, 0x03, 0x05, and 0x07 (codepoints with the format of 0b000xx1), | 0x01, 0x03, 0x05, and 0x07 (codepoints with the format of 0b000xx1), | |||
until this was updated by [RFC8436]. | until this was updated by [RFC8436]. | |||
The DSCP space is shown in the following table. Each row corresponds | The DSCP space is shown in the following table. Each row corresponds | |||
to one setting of the the first three bits of the DSCP field, and | to one setting of the first three bits of the DSCP field, and each | |||
each column to one setting of the the last three bits of the DSCP | column to one setting of the last three bits of the DSCP field. | |||
field. | ||||
+--------+------+---------+----+---------+----+---------+----+ | +--------+------+---------+----+---------+----+---------+----+ | |||
| 56/CS7 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | | | 56/CS7 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | | |||
+--------+------+---------+----+---------+----+---------+----+ | +--------+------+---------+----+---------+----+---------+----+ | |||
| 48/CS6 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | | | 48/CS6 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | | |||
+--------+------+---------+----+---------+----+---------+----+ | +--------+------+---------+----+---------+----+---------+----+ | |||
| 40/CS5 | 41 | 42 | 43 | 44/VA | 45 | 46/EF | 47 | | | 40/CS5 | 41 | 42 | 43 | 44/VA | 45 | 46/EF | 47 | | |||
+--------+------+---------+----+---------+----+---------+----+ | +--------+------+---------+----+---------+----+---------+----+ | |||
| 32/CS4 | 33 | 34/AF41 | 35 | 36/AF42 | 37 | 38/AF43 | 39 | | | 32/CS4 | 33 | 34/AF41 | 35 | 36/AF42 | 37 | 38/AF43 | 39 | | |||
+--------+------+---------+----+---------+----+---------+----+ | +--------+------+---------+----+---------+----+---------+----+ | |||
skipping to change at line 392 ¶ | skipping to change at line 391 ¶ | |||
4.2. IP Type of Service Manipulations | 4.2. IP Type of Service Manipulations | |||
The IETF first defined ToS precedence for IP packets in [RFC0791] and | The IETF first defined ToS precedence for IP packets in [RFC0791] and | |||
updated it to be part of the ToS field in [RFC1349]. Since 1998, | updated it to be part of the ToS field in [RFC1349]. Since 1998, | |||
this practice has been deprecated by [RFC2474]. [RFC2474] defines | this practice has been deprecated by [RFC2474]. [RFC2474] defines | |||
DSCPs 0bxxx000 as the Class Selector codepoints, where PHBs selected | DSCPs 0bxxx000 as the Class Selector codepoints, where PHBs selected | |||
by these codepoints MUST meet the "Class Selector PHB Requirements" | by these codepoints MUST meet the "Class Selector PHB Requirements" | |||
described in Section 4.2.2.2 of [RFC2474]. | described in Section 4.2.2.2 of [RFC2474]. | |||
However, a recent survey reports practices based on ToS semantics | A recent survey reports practices based on ToS semantics have not yet | |||
have not yet been eliminated from the Internet and need to still be | been eliminated from the Internet and need to still be considered | |||
considered when making new DSCP assignments [Cus17]. | when making new DSCP assignments [Cus17]. | |||
4.2.1. Impact of ToS Precedence Bleaching | 4.2.1. Impact of ToS Precedence Bleaching | |||
Bleaching of the ToS Precedence field (see Section 4) resets the | Bleaching of the ToS Precedence field (see Section 4) resets the | |||
first three bits of the DSCP field to zero (the former ToS Precedence | first three bits of the DSCP field to zero (the former ToS Precedence | |||
field), leaving the last three bits unchanged (see Section 4.2.1 of | field), leaving the last three bits unchanged (see Section 4.2.1 of | |||
[RFC2474]). A Diffserv node can be configured in a way that results | [RFC2474]). A Diffserv node can be configured in a way that results | |||
in this re-marking. This re-marking can also occur when packets are | in this re-marking. This re-marking can also occur when packets are | |||
processed by a router that is not configured with Diffserv (e.g., | processed by a router that is not configured with Diffserv (e.g., | |||
configured to operate on the former ToS Precedence field [RFC0791]). | configured to operate on the former ToS Precedence field [RFC0791]). | |||
skipping to change at line 597 ¶ | skipping to change at line 596 ¶ | |||
both PCP1 (Background) and PCP2 (Spare) to indicate lower priority | both PCP1 (Background) and PCP2 (Spare) to indicate lower priority | |||
than PCP0, and some other devices do not assign a lower priority to | than PCP0, and some other devices do not assign a lower priority to | |||
PCP1. | PCP1. | |||
5.1.2. Mapping Specified for IEEE 802.11 | 5.1.2. Mapping Specified for IEEE 802.11 | |||
Section 6 of [RFC8325] provides a brief overview of IEEE 802.11 QoS. | Section 6 of [RFC8325] provides a brief overview of IEEE 802.11 QoS. | |||
The IEEE 802.11 standards [IEEE-802.11] provide Media Access Control | The IEEE 802.11 standards [IEEE-802.11] provide Media Access Control | |||
(MAC) functions to support QoS in WLANs using Access Categories | (MAC) functions to support QoS in WLANs using Access Categories | |||
(ACs). The upstream UP in the 802.11 header has a 3-bit QoS value. | (ACs). The upstream UP in the 802.11 header has a 3-bit QoS value. | |||
A DSCP can be mapped to the UP. [RFC8622] described the adding of | A DSCP can be mapped to the UP. [RFC8622] added a mapping for the LE | |||
mapping for the LE DSCP, mapping this to AC_BK (Background) | DSCP to AC_BK (Background). | |||
Most current Wi-Fi implementations use a default mapping that maps | Most current Wi-Fi implementations use a default mapping that maps | |||
the first three bits of the DSCP to the 802.11 UP value. This is an | the first three bits of the DSCP to the 802.11 UP value. This is an | |||
example of equipment still classifying on ToS Precedence (which could | example of equipment still classifying on ToS Precedence (which could | |||
be seen as a simple method to map IP layer Diffserv to layers | be seen as a simple method to map IP layer Diffserv to layers | |||
offering only 3-bit QoS codepoints). Then, in turn, this is mapped | offering only 3-bit QoS codepoints). Then, in turn, this is mapped | |||
to the four Wi-Fi Multimedia (WMM) Access Categories. The Wi-Fi | to the four Wi-Fi Multimedia (WMM) Access Categories. The Wi-Fi | |||
Alliance has also specified a more flexible mapping that follows | Alliance has also specified a more flexible mapping that follows | |||
[RFC8325] and provides functions at an Access Point (AP) to re-mark | [RFC8325] and provides functions at an Access Point (AP) to re-mark | |||
packets as well as a QoS Map that maps each DSCP to an AC | packets as well as a QoS Map that maps each DSCP to an AC | |||
skipping to change at line 634 ¶ | skipping to change at line 633 ¶ | |||
dependent on the direction in which a packet is forwarded. It | dependent on the direction in which a packet is forwarded. It | |||
provides recommendations for mapping a DSCP to an IEEE 802.11 UP for | provides recommendations for mapping a DSCP to an IEEE 802.11 UP for | |||
interconnection between wired and wireless networks. The | interconnection between wired and wireless networks. The | |||
recommendation in Section 5.1.2 maps network control traffic, CS6 and | recommendation in Section 5.1.2 maps network control traffic, CS6 and | |||
CS7, as well as unassigned DSCPs, to UP 0 when forwarding in the | CS7, as well as unassigned DSCPs, to UP 0 when forwarding in the | |||
upstream direction (wireless-to-wired). It also recommends mapping | upstream direction (wireless-to-wired). It also recommends mapping | |||
CS6 and CS7 traffic to UP 7 when forwarding in the downstream | CS6 and CS7 traffic to UP 7 when forwarding in the downstream | |||
direction (Section 4.1 of [RFC8325]). | direction (Section 4.1 of [RFC8325]). | |||
For other UPs, [RFC8325] recommends a mapping in the upstream | For other UPs, [RFC8325] recommends a mapping in the upstream | |||
direction that derives the DSCP from the value of the UP multiplied | direction (wireless-to-wired interconnections) that derives the DSCP | |||
by 8. This mapping can result in a specific DSCP re-marking | from the value of the UP multiplied by 8. This mapping, currently | |||
behavior. | used by some Access Points (APs), can result in a specific DSCP re- | |||
marking behavior: | ||||
In the upstream direction (wireless-to-wired interconnections), this | ||||
mapping can result in a specific DSCP re-marking behavior. Some | ||||
Access Points (APs) currently use a default UP-to-DSCP mapping | ||||
[RFC8325]: | ||||
| wherein DSCP values are derived from UP values by multiplying the | | wherein DSCP values are derived from UP values by multiplying the | |||
| UP values by 8 (i.e., shifting the three UP bits to the left and | | UP values by 8 (i.e., shifting the three UP bits to the left and | |||
| adding three additional zeros to generate a DSCP value). This | | adding three additional zeros to generate a DSCP value). This | |||
| derived DSCP value is then used for QoS treatment between the | | derived DSCP value is then used for QoS treatment between the | |||
| wireless AP and the nearest classification and marking policy | | wireless AP and the nearest classification and marking policy | |||
| enforcement point (which may be the centralized wireless LAN | | enforcement point (which may be the centralized wireless LAN | |||
| controller, relatively deep within the network). Alternatively, | | controller, relatively deep within the network). Alternatively, | |||
| in the case where there is no other classification and marking | | in the case where there is no other classification and marking | |||
| policy enforcement point, then this derived DSCP value will be | | policy enforcement point, then this derived DSCP value will be | |||
skipping to change at line 668 ¶ | skipping to change at line 663 ¶ | |||
+-+-+-+-+-+-+ | +-+-+-+-+-+-+ | |||
|x x x|0 0 0| | |x x x|0 0 0| | |||
+-+-+-+-+-+-+ | +-+-+-+-+-+-+ | |||
Figure 5: Bits in the Diffserv Field Modified by Re-marking | Figure 5: Bits in the Diffserv Field Modified by Re-marking | |||
Observed as a Result of UP-to-DSCP Mapping in Some 802.11 | Observed as a Result of UP-to-DSCP Mapping in Some 802.11 | |||
Networks | Networks | |||
An alternative to UP-to-DSCP remapping uses the DSCP value of a | An alternative to UP-to-DSCP remapping uses the DSCP value of a | |||
downstream IP packet (e.g., the Control and Provisioning of Wireless | downstream IP packet (e.g., the Control and Provisioning of Wireless | |||
Access Points (CAPWAP) protocol [RFC5415] maps an IP packet Diffserv | Access Points, CAPWAP, protocol [RFC5415] maps an IP packet Diffserv | |||
field to the Diffserv field of the outer IP header in a CAPWAP | field to the Diffserv field of the outer IP header in a CAPWAP | |||
tunnel). | tunnel). | |||
Some current constraints of Wi-Fi mapping are discussed in Section 2 | Some current constraints of Wi-Fi mapping are discussed in Section 2 | |||
of [RFC8325]. A QoS profile can be used to limit the maximum DSCP | of [RFC8325]. A QoS profile can be used to limit the maximum DSCP | |||
value used for the upstream and downstream traffic. | value used for the upstream and downstream traffic. | |||
5.2. Diffserv and MPLS | 5.2. Diffserv and MPLS | |||
Multi-Protocol Label Switching (MPLS) specified eight MPLS Traffic | Multi-Protocol Label Switching (MPLS) specified eight MPLS Traffic | |||
Classes (TCs), which restrict the number of different treatments | Classes (TCs), which restrict the number of different treatments | |||
[RFC5129]. [RFC5127] describes the aggregation of Diffserv TCs and | [RFC5129]. [RFC5127] describes the aggregation of Diffserv service | |||
introduces four Diffserv TAs. Traffic marked with multiple DSCPs can | classes and introduces four Diffserv TAs. Traffic marked with | |||
be forwarded in a single MPLS TC. | multiple DSCPs can be forwarded in a single MPLS TC. | |||
There are three Label Switching Router (LSR) models: the Pipe, the | There are three Label Switching Router (LSR) models: the Pipe, the | |||
Short Pipe, and the Uniform Model [RFC3270]. In the Uniform and Pipe | Short Pipe, and the Uniform Model [RFC3270]. In the Uniform and Pipe | |||
models, the egress MPLS router forwards traffic based on the received | models, the egress MPLS router forwards traffic based on the received | |||
MPLS TC. The Uniform Model includes an egress DSCP rewrite. With | MPLS TC. The Uniform Model includes an egress DSCP rewrite. With | |||
the Short Pipe Model, the egress MPLS router forwards traffic based | the Short Pipe Model, the egress MPLS router forwards traffic based | |||
on the Diffserv DSCP as present at the egress router. If the domain | on the Diffserv DSCP as present at the egress router. If the domain | |||
supports IP and MPLS QoS differentiation, controlled behavior | supports IP and MPLS QoS differentiation, controlled behavior | |||
requires the DSCP of an (outer) IP header to be assigned or re- | requires the DSCP of an (outer) IP header to be assigned or re- | |||
written by all domain ingress routers to conform with the domain's | written by all domain ingress routers to conform with the domain's | |||
skipping to change at line 950 ¶ | skipping to change at line 945 ¶ | |||
1. Networks containing misconfigured devices that do not comply | 1. Networks containing misconfigured devices that do not comply | |||
with the relevant RFCs. | with the relevant RFCs. | |||
2. Networks containing devices that implement an obsolete | 2. Networks containing devices that implement an obsolete | |||
specification or contain software bugs. | specification or contain software bugs. | |||
3. Networks containing devices that re-mark the DSCP as a result | 3. Networks containing devices that re-mark the DSCP as a result | |||
of lower layer interactions. | of lower layer interactions. | |||
The DSCP re-marking corresponding to the Bleach-ToS-Precedence | The DSCP re-marking corresponding to the Bleach-ToS-Precedence | |||
Section 4 observed behavior can arise for various reasons, one of | (Section 4) observed behavior can arise for various reasons, one of | |||
which is old equipment that precedes Diffserv. The same re-marking | which is old equipment that precedes Diffserv. The same re-marking | |||
can also arise in some cases when traffic conditioning is provided by | can also arise in some cases when traffic conditioning is provided by | |||
Diffserv routers at operator boundaries or as a result of | Diffserv routers at operator boundaries or as a result of | |||
misconfiguration. | misconfiguration. | |||
6.5. Considerations to Guide the Discussion of a Proposed New DSCP | 6.5. Considerations to Guide the Discussion of a Proposed New DSCP | |||
A series of questions emerge that need to be answered when | A series of questions emerge that need to be answered when | |||
considering a proposal to the IETF that requests a new assignment. | considering a proposal to the IETF that requests a new assignment. | |||
These questions include: | These questions include: | |||
skipping to change at line 1143 ¶ | skipping to change at line 1138 ¶ | |||
<https://lists.freebsd.org/pipermail/freebsd- | <https://lists.freebsd.org/pipermail/freebsd- | |||
stable/2010-July/057710.html>. | stable/2010-July/057710.html>. | |||
[MEF-23.1] MEF, "Implementation Agreement MEF 23.1 Carrier Ethernet | [MEF-23.1] MEF, "Implementation Agreement MEF 23.1 Carrier Ethernet | |||
Class of Service - Phase 2", MEF 23.1, January 2012, | Class of Service - Phase 2", MEF 23.1, January 2012, | |||
<https://mef.net/Assets/Technical_Specifications/PDF/ | <https://mef.net/Assets/Technical_Specifications/PDF/ | |||
MEF_23.1.pdf>. | MEF_23.1.pdf>. | |||
[NQB-PHB] White, G. and T. Fossati, "A Non-Queue-Building Per-Hop | [NQB-PHB] White, G. and T. Fossati, "A Non-Queue-Building Per-Hop | |||
Behavior (NQB PHB) for Differentiated Services", Work in | Behavior (NQB PHB) for Differentiated Services", Work in | |||
Progress, Internet-Draft, draft-ietf-tsvwg-nqb-17, 25 | Progress, Internet-Draft, draft-ietf-tsvwg-nqb-18, 10 July | |||
March 2023, <https://datatracker.ietf.org/doc/html/draft- | 2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | |||
ietf-tsvwg-nqb-17>. | tsvwg-nqb-18>. | |||
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, | [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, | |||
DOI 10.17487/RFC0791, September 1981, | DOI 10.17487/RFC0791, September 1981, | |||
<https://www.rfc-editor.org/info/rfc791>. | <https://www.rfc-editor.org/info/rfc791>. | |||
[RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - | [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - | |||
Communication Layers", STD 3, RFC 1122, | Communication Layers", STD 3, RFC 1122, | |||
DOI 10.17487/RFC1122, October 1989, | DOI 10.17487/RFC1122, October 1989, | |||
<https://www.rfc-editor.org/info/rfc1122>. | <https://www.rfc-editor.org/info/rfc1122>. | |||
End of changes. 9 change blocks. | ||||
25 lines changed or deleted | 20 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |