RFC 8436

Update to IANA Registration Procedures for Pool 3 Values in the Differentiated Services Field Codepoints (DSCP) Registry

πŸ“… published August 2018, from ietf

RFC 8436: Update to IANA Registration Procedures for Pool 3 Values in the Differentiated Services Field Codepoints (DSCP) Registry πŸŽ€

Okay bestie, this one is written by G. Fairhurst from the University of Aberdeen πŸŽ“ and it's a Standards Track document, so it's the real deal πŸ’…. It was published in August 2018, it updates RFC 2474 (it doesn't obsolete anything), and its ISSN is 2070-1721 πŸ“„. It's all about who gets to use the DSCP registry's Pool 3 codepoints, and the answer is about to change πŸ¦‹.

Abstract 🌸

Okay so the Differentiated Services (Diffserv) architecture says the DS field in IPv4 and IPv6 packet headers carries one of 64 distinct differentiated services field codepoint (DSCP) values 🧚. The Internet Assigned Numbers Authority (IANA) keeps a registry of the DSCP values that have been assigned πŸ“‹.

This update to RFC 2474 changes the IANA registration policy for Pool 3 of the registry (aka DSCP values of the form xxxx01) to Standards Action πŸ”₯. That means values get assigned through a Standards Track or Best Current Practice RFC. It also takes away permission for experimental and local use of the codepoints in Pool 3 πŸ’€. Pool 2 Codepoints (aka DSCP values of the form xxxx11) are still available for those purposes 🫢.

Status of This Memo πŸ“œ

This is an Internet Standards Track document ✨.

It's a product of the Internet Engineering Task Force (IETF) 🌈. It represents the consensus of the IETF community, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication πŸ‘‘. If you want more info on Internet Standards, check out Section 2 of RFC 7841 πŸ’œ.

For the current status of this document, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc8436 πŸ¦‹.

Copyright (c) 2018 IETF Trust and the persons identified as the document authors πŸŽ€. All rights reserved ✨.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, which are in effect on the date of publication (see https://trustee.ietf.org/license-info) πŸ“œ. Please read those carefully, because they spell out your rights and restrictions for this document πŸ™ˆ. Code Components pulled out of this document have to include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License πŸ’–.

Table of Contents πŸ“š

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
3.  The Updates to RFC 2474 . . . . . . . . . . . . . . . . . . .   4
4.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
  6.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
  6.2.  Informative References  . . . . . . . . . . . . . . . . .   6
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   6
Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1. Introduction ✨

Okay so the Differentiated Services (Diffserv) [RFC2475] architecture (updated by [RFC3260]) gives you scalable service differentiation across the Internet 🌐. Diffserv uses the six most significant bits of the former IPv4 Type of Service (TOS) octet, or the former IPv6 Traffic Class octet, to carry the DSCP πŸ“. That DSCP value is what picks a Diffserv per-hop behavior (PHB) πŸ’….

That six-bit field can hold 64 distinct codepoints, and the space has been split into three pools for assigning and managing them (see Figure 1) 🧩. Pool 1 has 32 codepoints [RFC2474], which get assigned by Standards Action as defined in [RFC8126] πŸ‘‘. Pool 2 has 16 codepoints reserved for Experimental or Local Use (EXP/LU) as defined in [RFC2474] πŸ§ͺ. Pool 3 also has 16 codepoints, and they were originally specified as "initially available for experimental or local use, but which should be preferentially utilized for standardized assignments if Pool 1 is ever exhausted" by [RFC2474] πŸ¦‹.

+------+-----------------+
| Pool | Codepoint Space |
+------+-----------------+
|  1   |      xxxxx0     |
+------+-----------------+
|  2   |      xxxx11     |
+------+-----------------+
|  3   |      xxxx01     |
+------+-----------------+

Figure 1: Format of the Field for Codepoints Allocated in the Three
        IANA Pools (Where "x" Refers to Either "0" or "1")

As of writing, 22 of the 32 Pool 1 codepoints have been assigned πŸ“Š.

Pool 1 isn't totally used up yet πŸ™ˆ, but there's still a need to assign codepoints for particular PHBs that can't use any of the unassigned values in Pool 1 😭. So this document changes the IANA registration policy of Pool 3 to assignment by Standards Action πŸ”₯. (Section 4.9 of [RFC8126] defines this as "assigned only through Standards Track or Best Current Practice RFCs in the IETF Stream".) ✨

Here's an example. The Lower Effort (LE) PHB [LE-PHB] needs a suitable recommended default codepoint 🌸. The LE PHB is designed to protect best-effort (BE) traffic (packets forwarded with the default PHB) from LE traffic when things get congested (when resources get scarce, best-effort traffic has precedence over LE traffic and is allowed to preempt it) 🚦. In deployed networks, bleaching (i.e. intentionally setting to zero) of the IP Precedence field is still a thing πŸ™ƒ. (Setting the IP Precedence field to zero disables any class-based flow management by routers configured with TOS-based packet processing.) That makes the first three bits of the former TOS byte (now the upper part of the DSCP field) turn into zero 😱. So there's a need to avoid this remapping of the DSCP for the LE PHB by assigning a codepoint that already has a zero value in the first three bits [LE-PHB] πŸ’–.

It's giving priority inversion, bestie πŸ’€. If the LE PHB got one of the currently unused Pool 1 codepoints that has a zero value in the first three bits, any bleaching of the IP Precedence field would also remap other (higher assurance) traffic onto that same DSCP 😭. That could make Diffserv-marked traffic get an unintentional LE treatment for the rest of the Internet path πŸ™…β€β™€οΈ. So it's important to avoid this priority inversion πŸ›‘.

Since no unassigned Pool 1 codepoints have these important properties 😀, the document motivates assigning a Pool 3 codepoint as the default that is recommended for use with this PHB πŸŽ€.

To let the IETF use Pool 3 codepoints, this document asks IANA to manage Pool 3 assignments for DSCP values in Pool 3 through the Standards Action policy [RFC8126] 🫢.

2. Terminology πŸ“–

This document assumes you already know the terminology used in [RFC2475] (updated by [RFC3260]) 🧠.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here πŸ”‘.

3. The Updates to RFC 2474 πŸ› οΈ

This document updates Section 6 of [RFC2474] in the following ways πŸ’….

It updates the following text about the assignment policy:

OLD:  which are initially available for experimental or local use,
   but which should be preferentially utilized for standardized
   assignments if Pool 1 is ever exhausted.

NEW:  which are utilized for standardized assignments (replacing the
   previous availability for experimental or local use).

It also removes the footnote in RFC 2474 that relates to Pool 3 πŸ—‘οΈ:

DELETE:  "(*) may be utilized for future Standards Action allocations
   as necessary"

The new registry assignment policy is shown in Figure 2 ✨.

    Pool  Codepoint Space  Assignment Policy
    ----  ---------------  -----------------
     1         xxxxx0      Standards Action
     2         xxxx11      EXP/LU
     3         xxxx01      Standards Action

     Note for Pool 2: "Reserved for Experimental or Local Use"

      Figure 2: Updated Assignment Policy for the DSCP Registry

4. Security Considerations πŸ”

Security considerations for using DSCP values are covered in the RFCs that define how they get used πŸ“š. This document doesn't present any new security considerations πŸ™Œ.

5. IANA Considerations 🌷

IANA has changed how Pool 3 gets used in the "Differentiated Services Field Codepoints (DSCP)" registry, and will manage this pool through Standards Action, as defined in Section 4.9 of [RFC8126] πŸŽ‰.

IANA has also made the following changes to the "Differentiated Services Field Codepoints (DSCP)" registry, which is available at [Registry] πŸ’–.

IANA has referenced RFC 2474 and Section 4 of RFC 3260 for the overall format of this registry πŸ“‹.

IANA has referenced RFC 2474 and Section 4 of RFC 3260 for Pool 1 πŸ“Œ.

This document doesn't modify the IANA registry text for Pool 2 πŸ§ͺ. That pool keeps the note shown in Figure 2 🌈.

The previous registry text for Pool 3 was:

3 xxxx01 Experimental or local use may be utilized for future
Standards Action allocations as necessary.

and it gets replaced with this registry text:

3 xxxx01 Standards Action.

To manage codepoints in Pool 3, IANA has created and will maintain the "DSCP Pool 3 Codepoints" subregistry πŸ—‚οΈ. Pool 3 of the registry starts out empty, with a format identical to the one used for "DSCP Pool 1 Codepoints" 🧁.

IANA has referenced RFC 2474, Section 4 of RFC 3260, and the current document for Pool 3 πŸ”—.

The registration procedure for Pool 3 is Standards Action, as defined in Section 4.9 of [RFC8126] πŸ¦‹. IANA is expected to normally make assignments from Pool 1 until that pool is exhausted, but it MAY make assignments from Pool 3 when the format of the codepoint has properties that are needed for a specific PHB 🌟. The required characteristics for choosing a requested DSCP value MUST be explained in the IANA Considerations section of the document that requests any assignment from Pool 3 πŸ’….

6. References πŸ“š

6.1. Normative References 🧾

6.2. Informative References 🧾

6.1. Normative References ✨

okay so these are the docs the spec needs you to have read, no skipping 🫢 they're the foundations, bestie 🧱

[Registry]
           IANA, "Differentiated Services Field Codepoints (DSCP)",
           <https://www.iana.org/assignments/dscp-registry/>.

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <https://www.rfc-editor.org/info/rfc2119>.

[RFC2474]  Nichols, K., Blake, S., Baker, F., and D. Black,
           "Definition of the Differentiated Services Field (DS
           Field) in the IPv4 and IPv6 Headers", RFC 2474,
           DOI 10.17487/RFC2474, December 1998,
           <https://www.rfc-editor.org/info/rfc2474>.

[RFC3260]  Grossman, D., "New Terminology and Clarifications for
           Diffserv", RFC 3260, DOI 10.17487/RFC3260, April 2002,
           <https://www.rfc-editor.org/info/rfc3260>.

[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>.

[RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
           2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
           May 2017, <https://www.rfc-editor.org/info/rfc8174>.

6.2. Informative References 🌸

these ones are the extra context era. helpful, not required, but honestly the vibe is better when you read them too πŸ’…

[LE-PHB]   Bless, R., "A Lower Effort Per-Hop Behavior (LE PHB)",
           Work in Progress, draft-ietf-tsvwg-le-phb-05, July 2018.

[RFC2475]  Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
           and W. Weiss, "An Architecture for Differentiated
           Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
           <https://www.rfc-editor.org/info/rfc2475>.

Acknowledgments πŸ™

big thank-you energy to the people who made this possible πŸŽ€

Godred Fairhurst received funding from the European Union's Horizon 2020 research and innovation program 2014-2018 under grant agreement No. 644334 (NEAT). πŸ’œ

Author's Address πŸ¦‹

where to find the author, iykyk 🧚

Godred Fairhurst
University of Aberdeen
Department of Engineering
Fraser Noble Building
Aberdeen  AB24 3UE
United Kingdom

Email: gorry@erg.abdn.ac.uk
URI:   http://www.erg.abdn.ac.uk/
πŸ“¦ where this page comes from