<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- Historic references will result in warnings! -->
<!ENTITY RFC1349 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1349.xml">
<!-- References -->
<!ENTITY RFC0791 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.0791.xml">
<!ENTITY RFC2119 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2474 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2474.xml">
<!ENTITY RFC2760 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2760.xml">
<!ENTITY RFC3270 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3270.xml">
<!ENTITY RFC3552 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC2475 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2475.xml">
<!ENTITY RFC3290 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3290.xml">
<!ENTITY RFC4594 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4594.xml">
<!ENTITY RFC5127 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5127.xml">
<!ENTITY RFC5129 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5129.xml">
<!ENTITY RFC5160 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5160.xml">
<!ENTITY RFC8100 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8100.xml">
<!ENTITY RFC8126 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
<!ENTITY RFC8325 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8325.xml">
<!ENTITY RFC8436 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8436.xml">
<!ENTITY RFC8622 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8622.xml">
<!ENTITY I-D.ietf-tsvwg-nqb SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-tsvwg-nqb-03.xml">
<!ENTITY I-D.learmonth-rfc1226-bis SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-learmonth-rfc1226-bis-03.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-ietf-tsvwg-dscp-considerations-01"
     ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="Considerations for assigning a DSCPs">Considerations for
    Assigning a new Recommended DiffServ Codepoint (DSCP)</title>

    <author fullname="Ana Custura" initials="A" surname="Custura">
      <organization>University of Aberdeen</organization>

      <address>
        <postal>
          <street>School of Engineering</street>

          <street>Fraser Noble Building</street>

          <city>Aberdeen</city>

          <region></region>

          <code>AB24 3UE</code>

          <country>UK</country>
        </postal>

        <email>ana@erg.abdn.ac.uk</email>
      </address>
    </author>

    <author fullname="Godred Fairhurst" initials="G" surname="Fairhurst">
      <organization>University of Aberdeen</organization>

      <address>
        <postal>
          <street>School of Engineering</street>

          <street>Fraser Noble Building</street>

          <city>Aberdeen</city>

          <region></region>

          <code>AB24 3UE</code>

          <country>UK</country>
        </postal>

        <email>gorry@erg.abdn.ac.uk</email>
      </address>
    </author>

    <author fullname="Raffaello Secchi" initials="R" surname="Secchi">
      <organization>University of Aberdeen</organization>

      <address>
        <postal>
          <street>School of Engineering</street>

          <street>Fraser Noble Building</street>

          <city>Aberdeen</city>

          <region></region>

          <code>AB24 3UE</code>

          <country>UK</country>
        </postal>

        <email>r.secchi@abdn.ac.uk</email>
      </address>
    </author>

    <date day="24" month="Jan" year="2022" />

    <area>TSVArea</area>

    <workgroup>TSVWG</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
         If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>DSCP DiffServ Codepoints</keyword>

    <abstract>
      <t>This document discusses considerations for assigning a new
      recommended DiffServ Code Point (DSCP). It considers the common
      remarking behaviours that the Diffserv field might be subjected to along
      an Internet path. It also notes some implications of using a specific
      DSCP.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>The Differentiated Services (DiffServ) architecture has been deployed
      in many networks. It provides differentiated traffic forwarding based on
      the value of the Diffserv field <xref target="RFC2474"></xref> carried
      in the IP packet header.</t>

      <t>Internet traffic can be associated with a service class, and
      categorised into Behavior Aggregates [RFC4594]. In IP networks, these
      are associated with a DiffServ Code Point (DSCP) <xref
      target="RFC2474"></xref>. Each DSCP is mapped to a Per Hop Behaviour
      (PHB). A treatment aggregate is concerned only with the forwarding
      treatment of the aggregated traffic, which could be marked with multiple
      DSCPs <xref target="RFC5127"></xref>. Treatment differentiation can be
      realised using a variety of schedulers and queues, and also by
      algorithms that implement access to the physical media.</t>

      <t><figure>
          <artwork><![CDATA[
Application -> Service
Traffic        Class 
                 |
               Behavior  -> DiffServ -> Per Hop
               Aggregate    Codepoint   Behavior
                                          |
                                        Treatment -> Schedule
                                        Aggregate    Queue, Drop

]]></artwork>

          <postamble>Figure showing the role of DSCPs in classifying IP
          traffic for differential network treatment.</postamble>
        </figure></t>

      <t>This document discusses considerations for assigning a new DSCP. It
      considers some commonly observed DSCP remarking behaviours that might be
      experienced along an Internet path. It also describes some packet
      forwarding treatments that a packet with a specific DSCP can expect to
      receive when forwarded across a link or subnetwork.</t>

      <t>The document is motivated by new opportunities to use DiffServ
      end-to-end across multiple domains, such as <xref
      target="I-D.ietf-tsvwg-nqb"></xref>, proposals to build mechanisms using
      DSCPs in other standards-setting organisations, and the desire to use a
      common set of DSCPs across a range of infrastructure (e.g., <xref
      target="RFC8622"></xref><xref target="I-D.ietf-tsvwg-nqb">,</xref>,
      <xref target="I-D.learmonth-rfc1226-bis"></xref>).</t>
    </section>

    <section title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119">RFC 2119</xref>.</t>
    </section>

    <section title="Current usage of DSCPs">
      <t>This section describes current usage of DSCPs.</t>

      <section title="IP-Layer Semantics">
        <t>The DiffServ architecture specifies use of the Diffserv field in
        the IPv4 and IPv6 packet headers to carry one of 64 distinct DSCP
        values. Within a given administrative boundary, each DSCP value can be
        mapped to a distinct PHB<xref target="RFC2474"></xref>. When a new PHB
        is standardized, a recommended DSCP value among those 64 values is
        normally reserved for that PHB.</t>

        <t>The DSCP space is divided into three pools for the purpose of
        assignment and management <xref target="DSCP-registry"></xref>. The
        pools are defined in the following table (where 'x' refers to either a
        bit position with value '0' or '1').<list style="hanging">
            <t hangText="DSCP Pool 1">A pool of 32 codepoints with a format
            0bxxxxx0, to be assigned by IANA Standards Action <xref
            target="RFC8126"></xref>.</t>

            <t hangText="DSCP Pool 2">A pool of 16 codepoints with a format
            0bxxxx11, reserved for experimental or local (private) use by
            network operators (see sections 4.1 and 4.2 of <xref
            target="RFC8126"></xref>.</t>

            <t hangText="DSCP Pool 3">A pool of 16 codepoints with a 0bxxxx01.
            This was initially available for experimental or local use, but
            which was originally specified to be preferentially utilised for
            standardized assignments if Pool 1 is ever exhausted. Pool 3
            codepoints are now utilised for standardized assignments and are
            no longer available for experimental or local use <xref
            target="RFC8436"></xref>.</t>
          </list></t>

        <t>The DiffServ architecture allows forwarding treatments to be
        associated with each DSCP, and the RFC series describes some of these
        as PHBs. Although DSCPs are intended to identify specific treatment
        requirements, multiple DSCPs might also be mapped (aggregated) to the
        same forwarding treatment. Several IP standards map treatment
        aggregates to DSCPs, that might result in remarking: <xref
        target="RFC5160">RFC5160</xref> suggests Meta-QoS-Classes to help
        enable deployment of standardized end-to-end QoS classes.</t>

        <t>Note: A DSCP is sometimes referred to by name, such as "CS1", and
        sometimes by a decimal, hex, or binary value <xref
        target="DSCP-registry"></xref>.</t>
      </section>

      <section title="Network Control Traffic">
        <t>Network Control Traffic is defined as packet flows that are
        essential for stable operation of the administered network (see <xref
        target="RFC4594"></xref>, Section 3). This traffic is marked using a
        set of Class Selector (CS) DSCPs. Such network control traffic is
        often a special case within a provider network, and ingress traffic
        with these DSCP markings can be remarked.</t>

        <t>DSCP CS2 is recommended for the OAM (Operations, Administration,
        and Maintenance) service class (see <xref target="RFC4594"></xref>,
        Section 3.3).</t>

        <t>The DSCP CS6 is recommended for local network control traffic. This
        includes routing protocols and OAM traffic that are essential to
        network operation administration, control and management. Section 3.2
        of <xref target="RFC4594">RFC4594</xref> recommends that "CS6 marked
        packet flows from untrusted sources (for example, end user devices)
        SHOULD be dropped or remarked at ingress to the DiffServ network".</t>

        <t>DSCP CS7 is reserved for future use by network control traffic.
        "CS7 marked packets SHOULD NOT be sent across peering points" <xref
        target="RFC4594"></xref>.</t>
      </section>
    </section>

    <section title="Remarking the DSCP">
      <t>It is a feature of the DiffServ architecture that the Diffserv field
      of packets can be remarked at domain boundaries (see section 2.3.4.2 of
      <xref target="RFC2475">RFC2475</xref>). A DSCP can be remarked at the
      ingress of a DiffServ domain. This can be with or without restoring the
      initial DSCP marking at the egress of the same domain. The Diffserv
      field can also be re-marked based upon common semantics and agreements
      between providers at an exchange point.</t>

      <t>If packets are received that are marked with an unknown or an
      unexpected DSCP, <xref target="RFC2474">RFC2474</xref> recommends
      forwarding the packet using a default (best effort) treatment, but
      without changing the DSCP. This seeks to support incremental DiffServ
      deployment in existing networks as well as preserving DSCP markings by
      routers that have not been configured to support DiffServ. (See also
      <xref target="remark"></xref>).</t>

      <t>Reports measuring existing deployments have categorised DSCP
      remarking <xref target="Custura"></xref> <xref target="Barik"></xref>
      into the following five behaviours:</t>

      <t><list style="hanging">
          <t hangText="Bleach:">bleaches all traffic (sets the DSCP to
          zero);</t>

          <t hangText="Bleach-ToS-Precedence:">set the first three bits of the
          DSCP field to 0b000 (reset the 3 bits of the former ToS Precedence
          field) ;</t>

          <t hangText="Bleach-some-ToS:">set the first three bits of the
          DSCP field to 0b000 (reset the 3 bits of the former ToS Precedence
          field), unless the first two bits of the DSCP field are 0b11;</t>

          <t hangText="Remark-ToS:">set the first three bits of the DSCP field
          to any value different than 0b000 (replace the 3 bits of the former
          ToS Precedence field);</t>

          <t hangText="Bleach-low:">set the last three bits of the DSCP field
          to 0b000;</t>

          <t hangText="Bleach-some-low:">set the last three bits of the DSCP
          field to 0b000, unless the first two bits of the DSCP field are
          0b11;</t>

          <t hangText="Remark:">remarks all traffic to one or more particular
          (non-zero) DSCP values.</t>
        </list></t>

      <section anchor="Bleaching" title="Bleaching the DSCP Field">
        <t>A specific form of remarking occurs when the DiffServ field is
        re-assigned to the default treatment, CS0 (0x00). This results in
        traffic being forwarded using the BE PHB. For example, AF31 (0x1a)
        would be bleached to CS0.</t>

        <t>Resetting all the bits of the DiffServ field to 0 is more prevalent
        at the edge of the network, and rather less common in core networks
        <xref target="Custura"></xref>.</t>
      </section>

      <section title="IP Type of Service manipulations">
        <t>The IETF first defined ToS precedence for IP packets <xref
        target="RFC0791"></xref>, updated by specification as a part of the
        ToS Field <xref target="RFC1349">RFC1349</xref>. Since 1998, this
        practice has been deprecated by <xref target="RFC2474">RFC2474</xref>.
        RFC 2474 defines codepoints 0x xxx000 as the Class Selector
        codepoints, where PHBs selected by these codepoints MUST meet the
        Class Selector PHB Requirements" described in Sec. 4.2.2.2 of that
        RFC.</t>

        <t>However, practices based on ToS semantics have not yet been
        eliminated from Internet, and need to still be considered when making
        new DSCP assignments.</t>

        <section title="Impact of ToS Precedence Bleaching ">
          <t>ToS Precedence Bleaching (/Bleach-ToS-Precedence/) is a practice
          that resets to zero the upper 3 bits of the DSCP field (the former
          ToS Precedence field), leaving the lower bits unchanged (see section
          4.2.1 of <xref target="RFC2474">RFC2474</xref>). This behaviour is
          distinctive of non-DiffServ aware routers and one of the more common
          manipulations of the DiffServ field.</t>

          <figure>
            <preamble></preamble>

            <artwork><![CDATA[
+-+-+-+-+-+-+
|0 0 0|x x x|
+-+-+-+-+-+-+
]]></artwork>

            <postamble>Figure showing the ToS Precedence Bleaching
            (/Bleach-ToS-Precedence/) pathology, based on Section 3 of <xref
            target="RFC1349">RFC1349</xref>.</postamble>
          </figure>

          <t></t>

          <t>If ToS Precedence Bleaching occurs, packets with a DSCP 'x' would
          be remarked and then would be treated according to the PHB specified
          for 'x' &amp; 0x07. For example, AF31 (0x1a) would be remarked to
          DSCP 2 (0x02).</t>

          <t>A variation of this behaviour clears the top three bits of a
          DSCP, unless these have values 0b110 or 0b111 (corresponding to the
          CS6 and CS7 codepoints). As a result, a DSCP value greater than 48
          decimal (0x30) is less likely to be impacted by ToS Precedence
          Bleaching.</t>
        </section>

        <section title="Impact of ToS Precedence Remarking">
          <t>Practices based on ToS Precedence Remarking (/Remark-ToS/) <xref
          target="RFC1349">RFC1349</xref> were deprecated by <xref
          target="RFC2474">RFC2474</xref>. These practices based on ToS
          semantics have not yet been eliminated from deployed networks.</t>

          <figure>
            <preamble></preamble>

            <artwork><![CDATA[
+-+-+-+-+-+-+
|0 0 1|x x x|
+-+-+-+-+-+-+

]]></artwork>

            <postamble>Figure showing an example of ToS Remarking (/Remark/)
            pathology, based on Section 3 of <xref
            target="RFC1349">RFC1349</xref>.</postamble>
          </figure>

          <t>A less common behaviour, ToS precedence remarking sets the upper
          three bits of the DSCP field to a non-zero value corresponding to a
          CS PHB. This behaviour is distinctive of non-DiffServ aware
          routers.</t>

          <t>If remarking occurs, packets are treated using the PHB specified
          for the resulting codepoint. For example, the AF31 DSCP (0x1a) could
          be remarked to either AF11 or AF21.</t>
        </section>
      </section>

      <section anchor="remark" title="Remarking to a Particular DSCP">
        <t>A network device might remark the Diffserv field of an IP packet
        based on a local policy with a specific (set of) DSCPs, /Remark/. This
        is sometimes performed using a Multi-Field (MF) classifier <xref
        target="RFC2475"></xref> <xref target="RFC3290"></xref> <xref
        target="RFC4594"></xref>. For example, a common behaviour is to mark
        all traffic to a single DSCP, thus removing any traffic
        differentiation (see <xref target="Bleaching"></xref>). Bleaching
        (/Bleach/) is a specific example of this that remarks to CS0
        (0x00).</t>

        <t>In another example, some networks do not follow the recommendation
        in <xref target="RFC2475">RFC2475</xref>, and instead remark packets
        with an unknown or unexpected DSCP to the default class, CS0 (0x00) to
        ensure that appropriate DSCPs are used within a DiffServ domain.
        (e.g., see <xref target="RFC8100"></xref>).</t>
      </section>
    </section>

    <section title="Interpretation of the IP DSCP at Lower Layers">
      <t>Transmission systems and subnetworks can, and do, utilise the
      Diffserv field in an IP packet to select a lower layer forwarding
      treatment. In many cases, this use is constrained by designs that
      utilise fewer than 6 bits to express the service class, and therefore
      infer mappings to a smaller L2 QoS field, for example, WiFi or
      Multi-Protocol Label Switching (MPLS).</t>

      <section title="Mapping Specified for IEEE 802">
        <t>&lt;&lt; This section is currently seeking more input. &gt;&gt;</t>
      <section title="Mapping Specified for IEEE 802.1">
        <t>A 3-bit Priority Code Point (PCP) is specified in the IEEE 802.1Q
        tag to mark Ethernet frames to one of eight priority values <xref
        target="IEEE-802-1Q"></xref>. The value zero indicates the default
        best effort treatment, and the value one indicates a background
        traffic class. The remaining values indicate increasing priority.
        Internet control traffic can be marked as six, and network control is
        marked as seven.</t>

        <t>The mapping specified in <xref target="IEEE-802-1Q"></xref> revises
        a previous standard <xref target="IEEE-802-1D"></xref>, in an effort
        to align with Diffserv practice: the traffic types are specified to
        match the first three bits of a suitable DSCP (for example, Voice,
        which has PCP value 5, matches the first three bits of EF). However,
        <xref target="IEEE-802-1D"></xref> maps both PCP1 (Background) and
        PCP2 (Spare) to indicate lower priority than PCP0, RFC 8622.
        Therefore, different behaviour is expected depending on the age of
        deployed devices.</t>
    </section>
      <section title="Mapping Specified for IEEE 802.11">
        <t>Section 6 of <xref target="RFC8325">RFC 8325</xref> provides a
        brief overview of IEEE 802.11 QoS. The IEEE <xref
        target="IEEE-802-11">802.11 standards</xref> provide MAC functions to
        support QoS in WLANs using Access Classes (AC). The upstream User
        Priority (UP) in the 802.11 header has a 3-bit QoS value. A DSCP can
        be mapped to the UP. Most existing WiFi implementations <xref
        target="RFC8325"></xref> use a default mapping that utilises the three
        most significant bits of the DiffServ Field to the 802.11 UP. This is
        then in turn mapped to the four WiFi Multimedia (WMM) Access
        Categories.</t>

       <figure>
          <preamble></preamble>

          <artwork><![CDATA[
+-+-+-+-+-+-+
|x x x|. . .|
+-+-+-+-+-+-+

]]></artwork>

          <postamble>Figure showing the DSCP bits commonly mapped to the UP in
          802.11.</postamble>
        </figure>

        <t></t>
        <t><xref target="RFC8325">RFC8325</xref> notes inconsistencies that
        can result from such remarking, and recommends how to perform this
        remarking. It proposes several recommendations for mapping a DSCP to an IEEE 802.11 UP for
        wired-to-wireless interconnection. The recommendation includes mapping network control traffic CS6 and CS7, as well unassigned codepoints, to UP 0.</t>

        <t>In the upstream direction (wireless-to-wired interconnections, this mapping can result in a specific DSCP remarking pathology.
        Some Access Points (APs) currently use a
        default UP-to-DSCP mapping <xref target="RFC8325">RFC8325</xref>,
        wherein "DSCP values are derived from the layer 2 UP values by
        multiplying the UP values by eight (i.e., shifting the three UP bits
        to the left and adding three additional zeros to generate a 6 bit DSCP
        value). This derived DSCP value is then used for QoS treatment between
        the wireless AP and the nearest classification and marking policy
        enforcement point (which may be the centralized wireless LAN
        controller, relatively deep within the network). Alternatively, in the
        case where there is no other classification and marking policy
        enforcement point, then this derived DSCP value will be used on the
        remainder of the Internet path." This behaviour can result in
        remarking /Reset-low/.</t>

        <figure>
          <preamble></preamble>

          <artwork><![CDATA[
+-+-+-+-+-+-+
|x x x|0 0 0|
+-+-+-+-+-+-+

]]></artwork>

          <postamble>Figure showing the pathology resulting from deriving from UP-to-DSCP mapping in some
         802.11 networks.</postamble>
        </figure>
        <t>
        An alternative to UP-to-DSCP remapping is using 
        the DSCP value of a downstream IP packet (e.g., the Control And Provisioning of Wireless
        Access Points (CAPWAP) protocol, RFC5415, maps an IP packet Diffserv field to the Diffserv field of outer IP headier in a CAPWAP
        tunnel).</t>

        <t>Some current constraints of WiFi mapping are discussed in section 2
        of <xref target="RFC8325"></xref>. A QoS profile can be used to limit
        the maximum DSCP value used for the upstream and downstream
        traffic.</t>

 
    </section>


      </section>

      <section title="Mappings Specified for MPLS">
        <t>&lt;&lt; This section is currently seeking more input. &gt;&gt;</t>

        <t>Multi-Protocol Label Switching (MPLS) specified eight MPLS Traffic
        Classes (TCs), which restricts the number of different treatments
        (e.g., see <xref target="RFC5129"></xref>). RFC 5127 describes
        aggregation of DiffServ TCs <xref target="RFC5127"></xref>, and
        introduces four DiffServ Treatment Aggregates. Traffic marked with
        multiple DSCPs can be forwarded in a single MPLS TC.</t>

        <t>There are three Label-Switched Router (LSR) behaviors: the Pipe,
        the Short Pipe and the Uniform Model <xref target="RFC3270"></xref>.
        These only differ when a LSP performs a push or a pop.</t>

        <section title="Mappings Specified for MPLS">
          <t><xref target="RFC3270">RFC3270</xref> defines a flexible solution
          for support of DiffServ over MPLS networks. This allows an MPLS
          network administrator to select how BAs (marked by DSCPs) are mapped
          onto Label Switched Paths (LSPs) to best match the DiffServ, Traffic
          Engineering and protection objectives within their particular
          network.</t>

          <t>Mappings from the IP DSCP to the MPLS header are defined in
          Section 4.2 of <xref target="RFC3270"></xref>.</t>

          <t>Using the Pipe Model, the "LSP Diff-Serv Information" is conveyed
          to the LSP Egress so that its forwarding treatment can be based on
          the IP DSCP.</t>

          <t>When Penultimate Hop Popping (PHP) is used, the Penultimate LSR
          needs to be aware of the set of PHB to encapsulation mappings for
          the label corresponding to the exposed header to perform DiffServ
          Information Encoding (Section 2.5.2 of <xref
          target="RFC3270">RFC3270</xref>).</t>
        </section>

        <section title="Mappings Specified for MPLS Short Pipe">
          <t>&lt;&lt; This section is currently seeking more input.
          &gt;&gt;</t>

          <t>The Short Pipe Model is an optional variation of the Pipe Model
          <xref target="RFC3270"></xref>.</t>

          <t>ITU-T <xref target="ITU-T-Y-1566">Y.1566</xref> further defined a
          set of four common QoS classes and four auxiliary classes to which a
          DSCP can be mapped when interconnecting Ethernet, IP and MPLS
          networks. <xref target="RFC8100">RFC8100</xref> proposes four
          treatment aggregates for interconnection with four defined DSCPs.
          This was motivated by the requirements of MPLS network operators
          that use Short-Pipe tunnels, but can be applicable to other
          networks, both MPLS and non-MPLS.</t>

          <t>RFC8100 recommends preserving the notion of end-to-end service
          classes, and recommends that the original DSCP marking is not
          changed when treatment aggregates are used. The key requirement is
          that the DSCP at the network ingress is restored at the network
          egress. This is only feasible in general for a small number of
          DSCPs. In this design, packets marked with other DSCPs can be
          re-marked (This can result in the /Remark/ behaviour) or dealt with
          via an additional agreement(s) among the operators of the
          interconnected networks. Use of the MPLS Short Pipe Model favours
          re-marking unexpected DSCP values to zero in the absence of an
          additional agreement(s), as explained in <xref
          target="RFC8100">RFC8100</xref>. This can result in bleaching
          (/Bleach/).</t>

          <figure>
            <preamble></preamble>

            <artwork><![CDATA[
+--------------------------------------+--------+
|  RFC8100                             |  DSCP  |
|  Agg. Class                          |        |
+--------------------------------------+--------+
|Telephony Service Treatment Aggregate |   EF   |
|                                      |   VA   |
+--------------------------------------+--------+
|Bulk Real-Time Treatment Aggregate    |  AF41  |
|                         May be added | (AF42) |
|                         May be added | (AF43) |
+--------------------------------------+--------+
|Assured Elastic Treatment Aggregate   |  AF31  |
|                                      |  AF32  |
|    Reserved for the extension of PHBs| (AF33) |
+--------------------------------------+--------+
|Default / Elastic Treatment Aggregate | BE/CS0 |
+--------------------------------------+--------+
|Network Control: Local Use            |  CS6   |
+--------------------------------------+--------+

]]></artwork>

            <postamble>Figure showing the short-pipe MPLS mapping from RFC
            8100.</postamble>
          </figure>
        </section>
      </section>

      <section title="Mapping Specified for Mobile Networks">
        <t>&lt;&lt; This section is currently seeking more input. &gt;&gt;</t>

        <t>Mobile LTE and 5G standards have evolved from older UMTS standards,
        and are Diffserv aware. LTE (4G) and 5G standards <xref
        target="SA-5G"></xref> identify traffic classes at the interface
        between User Equipment (UE) and the mobile Packet Core network by QCI
        (QoS Class Identifiers) and 5QI (5G QoS Identifier). The 3GPP
        standards do not define or recommend any specific mappings between
        each QCI or 5QI and Diffserv (and mobile QCIs are based on several
        criteria service class definitions). The way packets are mapped at the
        Packet Gateway (P-GW) boundary is determined by operators. However, TS
        23.107 (version 16.0.0, applies to LTE and below) mandates that
        Differentiated Services, defined by IETF, shall be used to
        interoperate with IP backbone networks.</t>

        <t>The GSM Association (GSMA) has defined four aggregated classes and
        seven associated PHBs in their guidelines for IPX Provider networks
        <xref target="GSMA-IR-34">GSMA IR.34</xref>. This was previously
        specified as the Inter-Service Provider IP Backbone Guidelines, and
        provides a mobile ISP to ISP QoS mapping mechanism, and
        interconnection with other IP networks in the general Internet. This
        describes the case where the DSCP marking from a Service Provider
        cannot be trusted (depending on the agreement between the Service
        Provider and its IPX Provider), allowing the IPX Provider to correct
        the DSCP value to a static default value.</t>

        <t><figure>
            <preamble></preamble>

            <artwork><![CDATA[
+---------------+-------+
|  GSMA IR.34   |  PHB  |
|  Agg. Class   |       |
+---------------+-------+
|Conversational |  EF   |
+---------------+-------+
| Streaming     | AF41  |
+---------------+-------+
| Interactive   | AF31  |
+               +-------+
| (ordered by   | AF32  |
+   priority,   +-------+
| AF3 highest)  | AF21  |
+               +-------+
|               | AF11  |
+---------------+-------+
| Background    | CS0   |
+---------------+-------+

]]></artwork>

            <postamble>Figure showing the PHB mapping from <xref
            target="GSMA-IR-34">GSMA IR.34</xref>.</postamble>
          </figure></t>

        <t></t>
      </section>

      <section title="Mappings Specified for Carrier Ethernet">
        <t>&lt;&lt; This section is currently seeking more input. &gt;&gt;</t>

        <t>Metro Ethernet Forum (MEF) provides mappings of DSCP codepoints at
        the IP layer to quality of service markings in the Ethernet frame
        headers <xref target="MEF23.1">MEF 23.1</xref>.</t>
      </section>

      <section title="Remarking as a Side-effect of Another Policy">
        <t>The result of applying a QoS policy (such as matching the IP
        address, or traffic reaching a rate limit) could also result in a
        packet being remarked to a different DSCP (/Remark/) when it is not
        admitted to a service. Traffic marked with an EF and VA DSCP are often
        policed by such policies.</t>

        <t>Policies and L2 procedures can also result in remarking traffic as
        a side-effect of other functions (e.g., in response to DDos).</t>
      </section>

      <section title="Summary">
        <t>&lt;&lt; This section might contain a summary table &gt;&gt;</t>
      </section>
    </section>

    <section title="Considerations for DSCP Selection">
      <t>This section provides advice for the assignment of a new DSCP value.
      It identifies known issues that might influence the finally assigned
      DSCP, followed by a summary of considerations for assignment of a new
      DSCP.</t>

      <section title="Effect of Bleaching">
        <t>New DSCP assignments should consider the impact of bleaching, which
        can limit the ability to provide the expected treatment end-to-end.
        This is particularly important for cases where the codepoint is
        intended to result in lower than best effort treatment, as was the
        case when defining the LE PHB <xref target="RFC8622"></xref>. In this
        case, bleaching, or remarking to "CS0" would result in elevating the
        lower effort traffic to the default class. This is an example of
        priority inversion.</t>
      </section>

      <section title="Where the proposed DSCP &gt; 0x07 (7)">
        <t>Although the IETF specifications require systems to use DSCP
        marking semantics in place of methods based on the former ToS field,
        the current recommendation is that any new assignment where the
        codepoint is greater than 0x07 should consider the semantics
        associated with the resulting DSCP when ToS precedence bleaching is
        experienced. For example, it can be desirable to avoid choosing a DSCP
        that could be remarked to LE, <xref target="RFC8622">Lower
        Effort</xref>, which could otherwise potentially result in a priority
        inversion in the treatment.</t>
      </section>

      <section title="Where the proposed DSCP &lt; 0x07 (7)">
        <t>ToS bleaching can unintentionally result in extra traffic
        aggregated to the same DSCP. For example, after experiencing ToS
        Bleaching, all traffic marked AF11, AF21, AF31 and AF41 would be
        aggregated with traffic marked with DSCP 2 (0x02), increasing the
        volume of traffic which receives the treatment associated with DSCP 2.
        New DiffServ codepoint assignments should consider unexpected
        consequences arising from ToS bleaching.</t>

        <section title="Where the proposed DSCP&amp;&amp;0x07=0x01">
          <t>As a consequence of assigning the LE PHB <xref
          target="RFC8622"></xref>, the IETF allocated the DSCP 000001b from
          Pool 3.</t>

          <t>When making assignments where the DSCP has a format: xxx 001b,
          the case of ToS Precedence Bleaching (/Bleach-ToS-Precedence/) of a
          DSCP to a value of 0x01 needs to be considered. ToS Precedence
          Bleaching will result in demoting the traffic to the lower effort
          traffic class. Care should be taken to consider the implications
          that a DSCP in this category could be remarked as LE.</t>
        </section>
      </section>

      <section title="Impact on deployed infrastructure">
        <t>Behaviour of deployed PHBs and conditioning treatments also needs
        to be considered when assigning a new DSCP. In some domains, a network
        operator can provide transparent transport of unknown or unassigned
        DSCPs across their domain. In other domains, policing can ensure that
        only traffic that matches a policy is permitted to use a specific DSCP
        (e.g., as in MPLS TC).</t>
      </section>

      <section title="Questions to guide discussion of a proposed new DSCP">
        <t>A series of questions emerge that need to be answered when
        considering a proposal to the IETF that requests a new assignment.
        These questions include:</t>

        <t><list style="symbols">
            <t>How is the proposed service class characterised? - What are the
            characteristics of the traffic to be carried? What are the
            expectations for treatment?</t>

            <t>Service Classes that can utilise existing PHBs should use
            assigned DSCPs to mark their traffic: Could the request be met by
            using an existing IETF DSCP? How would the proposed new DSCP be
            used to map traffic to a new or existing PHB?</t>

            <t>Diffserv domains can use the codepoints in Pool 2 for local or
            experimental use, without any IETF specification for the DSCP or
            associated PHB: Could the request be met by using a DSCP chosen
            from Pool 2? Or is the DSCP intended to be used at network interconnections?</t>

            <t>This documents describes some observed marking behaviors (see
            also below): What is the expected effect of currently-deployed
            remarking on the end-to-end service?</t>

            <t>Many DiffServ domains support only a small number of treatment
            aggregates: What are the effects of treatment aggregation on the
            proposed method?</t>

            <t>This documents describes some observed treatments by layers
            below IP: What are the implications of using the proposed DSCP on
            the expected lower layers over which the traffic may be
            forwarded?</t>
          </list></t>

        <t>Specification of a new recommended DSCP requires Standards Action.
        RFC2474 states: "Each standardized PHB MUST have an associated
        RECOMMENDED codepoint". If approved, new IETF assignments are normally
        made by IANA in Pool 1, but the IETF can request assignments to be
        made from Pool 3 <xref target="RFC8436"></xref>.</t>
      </section>
    </section>

    <section anchor="Acknowledgments" title="Acknowledgments">
      <t>The authors acknowledge the helpful discussions and analysis by Greg
      White and Thomas Fossati in a draft concerning NQB. We look forward to
      further comments and review.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>This memo provides information to assist in considering new
      assignments to the IANA DSCP registry
      (https://www.iana.org/assignments/dscp-registry/dscp-registry.xhtml).</t>

      <t>This memo includes no request to IANA, or update to the IANA
      procedures.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The security considerations are discussed in the security
      considerations of each cited RFC.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <!--?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->

      <!-- These are dependent standards necessary to implement/understand this RFC -->

      &RFC2119;

      &RFC2474;

      &RFC2475;

      &RFC3290;

      &RFC4594;

      &RFC5129;

      &RFC8100;

      &RFC8436;

      <reference anchor="DSCP-registry">
        <front>
          <title>Differentiated Services Field Codepoints (DSCP)
          Registry</title>

          <author fullname="IANA">
            <organization>https://www.iana.org/assignments/dscp-registry/dscp-registry.xhtml</organization>
          </author>

          <date />
        </front>
      </reference>
    </references>

    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. - these are not dependent standards -->

      &RFC0791;

      &RFC1349;

      &RFC3270;

      &RFC5127;

      &RFC5160;

      &RFC8325;

      &RFC8126;

      &RFC8622;

      &I-D.ietf-tsvwg-nqb;

      <!--- last informational individual specs and other references -->

      <reference anchor="Custura">
        <front>
          <title>Exploring DSCP modification pathologies in mobile edge
          networks</title>

          <author initials="A." surname="Custura"></author>

          <author initials="A." surname="Venne"></author>

          <author initials="G." surname="Fairhurst"></author>

          <date year="2017" />
        </front>

        <seriesInfo name="TMA" value="" />
      </reference>

      <reference anchor="Barik">
        <front>
          <title>Can WebRTC QoS Work? A DSCP Measurement Study</title>

          <author initials="R." surname="Barik"></author>

          <author initials="M." surname="Welzl"></author>

          <author initials="A." surname="Elmokashfi"></author>

          <author initials="T." surname="Dreibholz"></author>

          <author initials="S." surname="Gjessing"></author>

          <date month="September" year="2018" />
        </front>

        <seriesInfo name="ITC" value="30" />
      </reference>

      <reference anchor="SA-5G">
        <front>
          <title>System Architecture for 5G</title>

          <author>
            <organization>3GPP</organization>
          </author>

          <date year="2019" />
        </front>

        <seriesInfo name="TS" value="23.501" />
      </reference>

      <reference anchor="GSMA-IR-34">
        <front>
          <title>IR.34 Guidelines for IPX Provider networks (Previously
          Inter-Service Provider IP Backbone Guidelines)</title>

          <author>
            <organization>GSM Association</organization>
          </author>

          <date year="2017" />
        </front>

        <seriesInfo name="IR" value="34" />
      </reference>

      <reference anchor="ITU-T-Y-1566">
        <front>
          <title>Quality of Service Mapping and Interconnection Between
          Ethernet, Internet Protocol and Multiprotocol Label Switching
          Networks</title>

          <author>
            <organization>ITU-T</organization>
          </author>

          <date year="2012" />
        </front>

        <seriesInfo name="ITU-T" value="Y.1566" />
      </reference>

      <reference anchor="IEEE-802-11">
        <front>
          <title>Wireless LAN Medium Access Control (MAC) and Physical Layer
          (PHY) Specifications</title>

          <author>
            <organization>IEEE</organization>
          </author>

          <date year="2007" />
        </front>

        <seriesInfo name="IEEE" value="802.11" />
      </reference>

      <reference anchor="IEEE-802-1Q">
        <front>
          <title>IEEE Standard for Local and Metropolitan Area Network--
          Bridges and Bridged Networks</title>

          <author>
            <organization>IEEE</organization>
          </author>

          <date year="2018" />
        </front>

        <seriesInfo name="IEEE" value="802.1Q" />
      </reference>

      <reference anchor="IEEE-802-1D">
        <front>
          <title>IEEE Standard for Local and Metropolitan Area Network-- Media
          Access Control (MAC) Bridges</title>

          <author>
            <organization>IEEE</organization>
          </author>

          <date year="2004" />
        </front>

        <seriesInfo name="IEEE" value="802.1D" />
      </reference>

      <reference anchor="MEF23.1">
        <front>
          <title>MEF Technical Specification MEF 23.1-- Carrier Ethernet Class
          of Service ? Phase 2</title>

          <author>
            <organization>MEF</organization>
          </author>

          <date year="2012" />
        </front>

        <seriesInfo name="MEF" value="23.1" />
      </reference>

      &I-D.learmonth-rfc1226-bis;
    </references>

    <section title="Revision Notes">
      <t>Note to RFC-Editor: please remove this entire section prior to
      publication.</t>

      <t><list style="symbols">
          <t>Individual draft -00</t>

          <t>Individual draft -01; Comments from Martin Duke; Brian Carpenter;
          Ruediger Geib, and revisions to improve language consistency.</t>

          <t>Individual draft -02; Revisions to improve language
          consistency.</t>

          <t>Working Group -00, replacing
          draft-ietf-tsvwg-dscp-considerations-02.</t>
        </list></t>
    </section>

    <section title="Table of DSCP Values">
      <t>This table may help in the discussion of DSCP remarking. The current
      assignments are at: <xref target="IANA"></xref>.</t>

      <t><figure>
          <artwork><![CDATA[
+-------+------+------+------+------+------+------+------+------+
|Hi \ Lo|0b 000|0b 001|0b 010|0b 011|0b 100|0b 101|0b 110|0b 111|
+-------+------+------+------+------+------+------+------+------+
| 0b 000|BE/DE |LE    |  CU  |Pool 3|  CU  |  CU  |  CU  |Pool 3|
|       | CSO  |      |      |LU/EXP|      |      |      |LU/EXP|
+-------+------+------+------+------+------+------+------+------+
| 0b 001|CS1   |  CU  |AF11  |LU/EXP|AF12  |  CU  |AF13  |LU/EXP|
+-------+------+------+------+------+------+------+------+------+
| 0b 010|CS2   |  CU  |AF21  |LU/EXP|AF22  |  CU  |AF23  |LU/EXP|
+-------+------+------+------+------+------+------+------+------+
| 0b 011|CS3   |  CU  |AF31  |LU/EXP|AF32  |  CU  |AF33  |LU/EXP|
+-------+------+------+------+------+------+------+------+------+
| 0b 100|CS4   |  CU  |AF41  |LU/EXP|AF42  |  CU  |AF43  |LU/EXP|
+-------+------+------+------+------+------+------+------+------+
| 0b 101|CS5   |  CU  |  CU  |LU/EXP|VA    |  CU  |EF    |LU/EXP|
+-------+------+------+------+------+------+------+------+------+
| 0b 110|CS6   |  CU  |  CU  |LU/EXP|  CU  |  CU  |  CU  |LU/EXP|
+-------+------+------+------+------+------+------+------+------+
| 0b 111|CS7   |  CU  |  CU  |LU/EXP|  CU  |  CU  |  CU  |LU/EXP|
+-------+------+------+------+------+------+------+------+------+

LU/EXP - Local or Experimental Use
CU - Currently Unassigned (reserved for IANA allocation)

Table: Summary of Currently Assigned DSCP Values

]]></artwork>
        </figure></t>
    </section>

    <section title="Example of operational practice and operator requirements.">
      <t>RFC5127 backbone networks are often over provisioned under stable
      operating conditions. Operating and maintaining a plethora of
      differentiated, DSCP based service differentiations can be operationally
      difficult. Network Operations staff might not be happy to reconfigure
      all or a majority of the backbone routers in response to frequent
      DSCP-to-PHB mapping table configuration changes.</t>

      <t>Instead, operational practice might prefer a simple to configure and
      operate, comprehensible with limited expertise for monitoring and
      debugging.</t>

      <t>- For discussion:</t>

      <t>There are a set of different expectations of traffic sources and
      sinks that set DSCP markings:</t>

      <t><list style="symbols">
          <t>Is the setting behaviour intended to enable a local or sectional
          differential treatment, without expecting end-to-end service
          differentiation? <list style="empty">
              <t>Example: A sender domain that sets DSCPs to influence stream
              playout priorities in receiver browsers, or any/many unknown
              intentions when setting DSCPs.</t>
            </list></t>

          <t>Is the setting behaviour intended to enable a local or sectional
          differential treatment, without expecting end-to-end service
          differentiation?<list style="empty">
              <t>Example: A sender domain that sets DSCPs to influence stream
              playout priorities in receiver browsers, or any/many unknown
              intentions when setting a DSCP.</t>
            </list></t>

          <t>Is the setting behaviour intended to enable end-to-end service
          differentiation with an expectation of interconnection agreements in
          place?<list style="empty">
              <t>Example: Provider interconnection agreements, e.g., for the
              public telephony service.</t>
            </list></t>

          <t>Is the setting behaviour intended to enable end-to-end service
          differentiation without an expectation of interconnection agreements
          in place? <list style="empty">
              <t>Example: The Non-Queue-Building or Lower Effort PHBs.</t>
            </list></t>
        </list></t>
    </section>
  </back>
</rfc>
