<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" consensus="true" docName="draft-ietf-detnet-data-plane-framework-06" indexInclude="true" ipr="trust200902" number="8938" prepTime="2020-11-30T13:53:02" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-detnet-data-plane-framework-06" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8938" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="DetNet Data Plane Framework">Deterministic Networking (DetNet) Data Plane Framework</title>
    <seriesInfo name="RFC" value="8938" stream="IETF"/>
    <author role="editor" fullname="Balázs Varga" initials="B." surname="Varga">
      <organization showOnFrontPage="true">Ericsson</organization>
      <address>
        <postal>
          <street>Magyar Tudosok krt. 11.</street>
          <city>Budapest</city>
          <country>Hungary</country>
          <code>1117</code>
        </postal>
        <email>balazs.a.varga@ericsson.com</email>
      </address>
    </author>
    <author fullname="János Farkas" initials="J." surname="Farkas">
      <organization showOnFrontPage="true">Ericsson</organization>
      <address>
        <postal>
          <street>Magyar Tudosok krt. 11.</street>
          <city>Budapest</city>
          <country>Hungary</country>
          <code>1117</code>
        </postal>
        <email>janos.farkas@ericsson.com</email>
      </address>
    </author>
    <author fullname="Lou Berger" initials="L." surname="Berger">
      <organization showOnFrontPage="true">LabN Consulting, L.L.C.</organization>
      <address>
        <email>lberger@labn.net</email>
      </address>
    </author>
    <author fullname="Andrew G. Malis" initials="A." surname="Malis">
      <organization showOnFrontPage="true">Malis Consulting</organization>
      <address>
        <email>agmalis@gmail.com</email>
      </address>
    </author>
    <author fullname="Stewart Bryant" initials="S." surname="Bryant">
      <organization showOnFrontPage="true">Futurewei Technologies</organization>
      <address>
        <email>sb@stewartbryant.com</email>
      </address>
    </author>
    <date month="11" year="2020"/>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
        This document provides an overall framework for the Deterministic
        Networking (DetNet)
        data plane.  It covers concepts and considerations that
        are generally common to any DetNet data plane
        specification. It describes related Controller Plane 
        considerations as well.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.  
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by the
            Internet Engineering Steering Group (IESG).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see Section 2 of RFC 7841. 
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8938" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terms-used-in-this-document">Terms Used in This Document</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-abbreviations">Abbreviations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-overview-of-the-detnet-data">Overview of the DetNet Data Plane</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-plane-characteristics">Data Plane Characteristics</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.1.2">
                  <li pn="section-toc.1-1.3.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.1.1"><xref derivedContent="3.1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-plane-technology">Data Plane Technology</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.2.1"><xref derivedContent="3.1.2" format="counter" sectionFormat="of" target="section-3.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-encapsulation">Encapsulation</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-detnet-specific-metadata">DetNet-Specific Metadata</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-detnet-ip-data-plane">DetNet IP Data Plane</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-detnet-mpls-data-plane">DetNet MPLS Data Plane</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.5">
                <t indent="0" pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" format="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-further-detnet-data-plane-c">Further DetNet Data Plane Considerations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.5.2">
                  <li pn="section-toc.1-1.3.2.5.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.5.2.1.1"><xref derivedContent="3.5.1" format="counter" sectionFormat="of" target="section-3.5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-functions-provided-on-a-per">Functions Provided on a Per-Flow Basis</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.5.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.5.2.2.1"><xref derivedContent="3.5.2" format="counter" sectionFormat="of" target="section-3.5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-service-protection-2">Service Protection</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.5.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.5.2.3.1"><xref derivedContent="3.5.3" format="counter" sectionFormat="of" target="section-3.5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-aggregation-considerations">Aggregation Considerations</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.5.2.4">
                    <t indent="0" pn="section-toc.1-1.3.2.5.2.4.1"><xref derivedContent="3.5.4" format="counter" sectionFormat="of" target="section-3.5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-end-system-specific-conside">End-System-Specific Considerations</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.5.2.5">
                    <t indent="0" pn="section-toc.1-1.3.2.5.2.5.1"><xref derivedContent="3.5.5" format="counter" sectionFormat="of" target="section-3.5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-network-considerations">Sub-network Considerations</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-controller-plane-management">Controller Plane (Management and Control) Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-detnet-controller-plane-req">DetNet Controller Plane Requirements</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-generic-controller-plane-co">Generic Controller Plane Considerations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.2.2">
                  <li pn="section-toc.1-1.4.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.1.1"><xref derivedContent="4.2.1" format="counter" sectionFormat="of" target="section-4.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flow-aggregation-control">Flow Aggregation Control</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.2.1"><xref derivedContent="4.2.2" format="counter" sectionFormat="of" target="section-4.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-explicit-routes-2">Explicit Routes</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.3.1"><xref derivedContent="4.2.3" format="counter" sectionFormat="of" target="section-4.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-contention-loss-and-jitter-">Contention Loss and Jitter Reduction</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.4">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.4.1"><xref derivedContent="4.2.4" format="counter" sectionFormat="of" target="section-4.2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bidirectional-traffic">Bidirectional Traffic</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-packet-replication-eliminat">Packet Replication, Elimination, and Ordering Functions (PREOF)</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sec_intro" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
        DetNet (Deterministic Networking) provides the ability to carry
        specified unicast or multicast data flows for real-time applications
        with extremely low packet loss rates and assured maximum end-to-end
        delivery latency.  A description of the general background and concepts
        of DetNet can be found in <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/>.
      </t>
      <t indent="0" pn="section-1-2">
        This document describes the concepts needed by any DetNet data plane
        specification (i.e., the DetNet-specific use of packet header fields) 
        and provides considerations for any corresponding
        implementation.  It covers the building blocks that provide the DetNet
        service, the DetNet service sub‑layer, and the DetNet forwarding
        sub‑layer functions as described in the DetNet architecture
        <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/>.
      </t>
      <t indent="0" pn="section-1-3">
        The DetNet architecture models the DetNet-related data plane functions
        as being decomposed into two sub‑layers: a service sub‑layer and a forwarding
        sub‑layer.  The service sub‑layer is used to provide DetNet service
        protection and reordering. The forwarding sub‑layer leverages traffic
        engineering mechanisms and provides congestion protection (low loss,
        assured latency, and limited out-of-order delivery).  A particular
        forwarding sub‑layer may have capabilities that are not available on
        other forwarding sub‑layers. DetNet makes use of the existing
        forwarding sub‑layers with their respective capabilities and does not
        require 1:1 equivalence between different forwarding sub‑layer
        capabilities.
      </t>
      <t indent="0" pn="section-1-4">
        As part of the service sub‑layer functions, this document describes
        typical DetNet node data plane operation. It describes the functionality
        and operation of the Packet Replication Function (PRF), the Packet
        Elimination Function (PEF), and the Packet Ordering Function (POF) within the service
        sub‑layer. Furthermore, it describes the forwarding sub‑layer.
      </t>
      <t indent="0" pn="section-1-5">
        As defined in <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/>, 
        DetNet flows may be carried over network technologies that can provide
        service characteristics required by DetNet.  For example, DetNet MPLS flows can be carried over IEEE 802.1 Time-Sensitive
  Networking (TSN) sub-networks <xref target="IEEE802.1TSNTG" format="default" sectionFormat="of" derivedContent="IEEE802.1TSNTG"/>. However, IEEE 802.1 TSN support is not required in
  DetNet. TSN frame preemption is an example of a forwarding layer capability
  that is typically not replicated in other forwarding technologies. Most of
  DetNet's benefits can be gained by running over a data-link layer that has
  not been specifically enhanced to support all TSN capabilities, but for such
  networks and traffic mixes, delay and jitter performance may vary due to the
  forwarding sub‑layer's intrinsic properties.
      </t>
      <t indent="0" pn="section-1-6">
        Different application flows, such as Ethernet or IP, can be mapped
        on top of DetNet.  DetNet can optionally reuse header information
        provided by, or shared with, applications. An example of shared header
        fields can be found in <xref target="RFC8939" format="default" sectionFormat="of" derivedContent="RFC8939"/>.
      </t>
      <t indent="0" pn="section-1-7">
        This document also covers
        basic concepts related to the Controller Plane and Operations,
        Administration, and Maintenance (OAM). 
        Data plane OAM specifics are out of scope for this document. 
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-terms-used-in-this-document">Terms Used in This Document</name>
        <t indent="0" pn="section-2.1-1">
          This document uses the terminology established in the DetNet
          architecture <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/>, and
          it is assumed that the reader is familiar with that document
          and its terminology.
        </t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-abbreviations">Abbreviations</name>
        <t indent="0" pn="section-2.2-1">
          The following abbreviations are used in this document:
        </t>
        <dl newline="false" indent="12" spacing="normal" pn="section-2.2-2">
          <dt pn="section-2.2-2.1">BGP</dt>
          <dd pn="section-2.2-2.2">Border Gateway Protocol</dd>
          <dt pn="section-2.2-2.3">CoS</dt>
          <dd pn="section-2.2-2.4">Class of Service</dd>
          <dt pn="section-2.2-2.5">d-CW</dt>
          <dd pn="section-2.2-2.6">DetNet Control Word</dd>
          <dt pn="section-2.2-2.7">DetNet</dt>
          <dd pn="section-2.2-2.8">Deterministic Networking</dd>
          <dt pn="section-2.2-2.9">DN</dt>
          <dd pn="section-2.2-2.10">DetNet</dd>
          <dt pn="section-2.2-2.11">GMPLS</dt>
          <dd pn="section-2.2-2.12">Generalized Multiprotocol Label Switching</dd>
          <dt pn="section-2.2-2.13">GRE</dt>
          <dd pn="section-2.2-2.14">Generic Routing Encapsulation</dd>
          <dt pn="section-2.2-2.15">IPsec</dt>
          <dd pn="section-2.2-2.16">IP Security</dd>
          <dt pn="section-2.2-2.17">L2</dt>
          <dd pn="section-2.2-2.18">Layer 2</dd>
          <dt pn="section-2.2-2.19">LSP</dt>
          <dd pn="section-2.2-2.20">Label Switched Path</dd>
          <dt pn="section-2.2-2.21">MPLS</dt>
          <dd pn="section-2.2-2.22">Multiprotocol Label Switching</dd>
          <dt pn="section-2.2-2.23">OAM</dt>
          <dd pn="section-2.2-2.24">Operations, Administration, and Maintenance</dd>
          <dt pn="section-2.2-2.25">PCEP</dt>
          <dd pn="section-2.2-2.26">Path Computation Element Communication Protocol</dd>
          <dt pn="section-2.2-2.27">PEF</dt>
          <dd pn="section-2.2-2.28">Packet Elimination Function</dd>
          <dt pn="section-2.2-2.29">POF</dt>
          <dd pn="section-2.2-2.30">Packet Ordering Function</dd>
          <dt pn="section-2.2-2.31">PREOF</dt>
          <dd pn="section-2.2-2.32">Packet Replication, Elimination, and Ordering Functions</dd>
          <dt pn="section-2.2-2.33">PRF</dt>
          <dd pn="section-2.2-2.34">Packet Replication Function</dd>
          <dt pn="section-2.2-2.35">PSN</dt>
          <dd pn="section-2.2-2.36">Packet Switched Network</dd>
          <dt pn="section-2.2-2.37">QoS</dt>
          <dd pn="section-2.2-2.38">Quality of Service</dd>
          <dt pn="section-2.2-2.39">S-Label</dt>
          <dd pn="section-2.2-2.40">DetNet "service" label</dd>
          <dt pn="section-2.2-2.41">TDM</dt>
          <dd pn="section-2.2-2.42">Time-Division Multiplexing</dd>
          <dt pn="section-2.2-2.43">TSN</dt>
          <dd pn="section-2.2-2.44">Time-Sensitive Networking</dd>
          <dt pn="section-2.2-2.45">YANG</dt>
          <dd pn="section-2.2-2.46">Yet Another Next Generation</dd>
        </dl>
      </section>
    </section>
    <section anchor="sec_dt_dp" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-overview-of-the-detnet-data">Overview of the DetNet Data Plane</name>
      <t indent="0" pn="section-3-1">
        This document describes how application flows, or App-flows <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/>, are
        carried over DetNet networks. The DetNet architecture <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/> models the DetNet-related 
                data plane functions as decomposed into two sub‑layers: a service
        sub‑layer and a forwarding sub‑layer.
      </t>
      <t indent="0" pn="section-3-2">
        <xref target="ProtStack1" format="default" sectionFormat="of" derivedContent="Figure 1"/>, reproduced from <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/>, 
                shows a logical DetNet service with the two sub‑layers.

      </t>
      <figure anchor="ProtStack1" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-detnet-data-plane-protocol-">DetNet Data Plane Protocol Stack</name>
        <artwork align="center" name="" type="" alt="" pn="section-3-3.1">
   |  packets going  |        ^  packets coming   ^
   v down the stack  v        |   up the stack    |
+-----------------------+   +-----------------------+
|        Source         |   |      Destination      |
+-----------------------+   +-----------------------+
|   Service sub-layer:  |   |   Service sub-layer:  |
|   Packet sequencing   |   | Duplicate elimination |
|    Flow replication   |   |      Flow merging     |
|    Packet encoding    |   |    Packet decoding    |
+-----------------------+   +-----------------------+
| Forwarding sub-layer: |   | Forwarding sub-layer: |
|  Resource allocation  |   |  Resource allocation  |
|    Explicit routes    |   |    Explicit routes    |
+-----------------------+   +-----------------------+
|     Lower layers      |   |     Lower layers      |
+-----------------------+   +-----------------------+
            v                           ^
             \_________________________/</artwork>
      </figure>
      <t indent="0" pn="section-3-4">
         The DetNet forwarding sub‑layer may be directly provided by the DetNet
         service sub‑layer -- for example, by IP tunnels or MPLS. 
         Alternatively, an overlay approach
         may be used in which the packet is natively carried between key nodes
         within the DetNet network (say, between PREOF nodes), and a sub‑layer is
         used to provide the information needed to reach the next hop in the
         overlay.
      </t>
      <t indent="0" pn="section-3-5">
         The forwarding sub‑layer provides the QoS-related functions needed by
         the DetNet flow. It may do this directly through the use of queuing
         techniques and traffic engineering methods, or it may do this through
         the assistance of its underlying connectivity. For example, it may call
         upon Ethernet TSN capabilities defined in IEEE 802.1 TSN <xref target="IEEE802.1TSNTG" format="default" sectionFormat="of" derivedContent="IEEE802.1TSNTG"/>.  The forwarding sub‑layer uses
         buffer resources for packet queuing, as well as reservation and
         allocation of bandwidth capacity resources. 
      </t>
      <t indent="0" pn="section-3-6">
         The service sub‑layer provides additional support beyond the
         connectivity function of the forwarding sub‑layer. See 
         <xref target="PREOF" format="default" sectionFormat="of" derivedContent="Section 4.3"/> regarding PREOF.  The POF uses sequence numbers
         added to packets, enabling a range of packet order protection from
         simple ordering and dropping out-of-order packets to more complex
         reordering of a fixed number of out-of-order, minimally delayed
         packets.  Reordering requires buffer resources and has an impact on the
         delay and jitter of packets in the DetNet flow.        
      </t>
      <t indent="0" pn="section-3-7">
         The method of instantiating each of the layers is specific to the 
         particular DetNet data plane method, and more than one approach may 
         be applicable to a given network type.
      </t>
      <section anchor="sec_dp_char" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-data-plane-characteristics">Data Plane Characteristics</name>
        <t indent="0" pn="section-3.1-1">
        The data plane has two major characteristics: the technology and 
        the encapsulation, as discussed below.
        </t>
        <section anchor="sec_dp_tech" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.1">
          <name slugifiedName="name-data-plane-technology">Data Plane Technology</name>
          <t indent="0" pn="section-3.1.1-1">
         The DetNet data plane is provided by the DetNet service and forwarding         sub‑layers. 
         The DetNet service sub‑layer
         generally provides its functions for the DetNet application flows by using or applying
         existing standardized headers and/or encapsulations.  The DetNet
         forwarding sub‑layer may provide capabilities leveraging that same
         header or encapsulation technology (e.g., DN IP or DN MPLS), or it
         may be achieved via other technologies, as shown in <xref target="dn_svc_encaps" format="default" sectionFormat="of" derivedContent="Figure 2"/> below.
         DetNet is currently defined for operation over packet-switched (IP)
          networks or label-switched (MPLS) networks.  
          </t>
        </section>
        <section anchor="sec_dp_encap" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.2">
          <name slugifiedName="name-encapsulation">Encapsulation</name>
          <t indent="0" pn="section-3.1.2-1">
          DetNet encodes specific flow attributes
          (flow identity and sequence number) in packets. 
          For example, in DetNet IP, 
          zero encapsulation is used, and no sequence number
          is available; in DetNet MPLS, DetNet-specific information may be added
          explicitly to the packets in the form of an S-Label and a d-CW
          <xref target="DetNet-MPLS" format="default" sectionFormat="of" derivedContent="DetNet-MPLS"/>.
          </t>
          <t indent="0" pn="section-3.1.2-2">
                 The encapsulation of a DetNet flow allows it to be sent over a   
                 data plane technology other than its native type.          
                 DetNet uses header information to perform traffic classification, 
                 i.e., identify DetNet flows, and provide DetNet service and 
                 forwarding functions. As mentioned above, DetNet may add headers, 
                 as is the case for DN MPLS, or may use headers that are already 
                 present, as is the case for DN IP.                 
           <xref target="dn_svc_encaps" format="default" sectionFormat="of" derivedContent="Figure 2"/> illustrates some relationships 
           between the components.
          </t>
          <figure anchor="dn_svc_encaps" align="left" suppress-title="false" pn="figure-2">
            <name slugifiedName="name-detnet-service-examples">DetNet Service Examples</name>
            <artwork align="center" name="" type="" alt="" pn="section-3.1.2-3.1">
                          +-----+
                          | TSN |
     +-------+          +-+-----+-+
     | DN IP |          | DN MPLS |
  +--+--+----+----+   +-+---+-----+-+
  | TSN | DN MPLS |   | TSN | DN IP |
  +-----+---------+   +-----+-------+</artwork>
          </figure>
          <t indent="0" pn="section-3.1.2-4">
           The use of encapsulation is also required if additional information
           (metadata) is needed by the DetNet data plane and either (1) there is 
           no ability to include it in the client data packet or (2) the
           specification of the client data plane does not permit the
           modification of the packet to include additional data. An example of
           such metadata is the inclusion of a sequence number required by 
           PREOF.
          </t>
          <t indent="0" pn="section-3.1.2-5">
           Encapsulation may also be used to carry or aggregate flows for equipment with limited
           DetNet capability.
          </t>
        </section>
      </section>
      <section anchor="sec_dp_metadata" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-detnet-specific-metadata">DetNet-Specific Metadata</name>
        <t indent="0" pn="section-3.2-1">
          The DetNet data plane can provide or carry the following metadata: 
        </t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.2-2">
          <li pn="section-3.2-2.1" derivedCounter="1.">   
            Flow-ID
          </li>
          <li pn="section-3.2-2.2" derivedCounter="2.">   
            Sequence number
          </li>
        </ol>
        <t indent="0" pn="section-3.2-3">
          The DetNet data plane framework supports a Flow-ID (for identification of the 
          flow or aggregate flow) and/or a sequence number (for PREOF) for each 
          DetNet flow. The Flow-ID is used by both the service and forwarding sub‑layers, 
          but the sequence number is only used by the service layer. Metadata can also be 
          used for OAM indications and instrumentation of DetNet data plane 
          operation.
        </t>
        <t indent="0" pn="section-3.2-4">
          Metadata inclusion can be implicit or explicit.  Explicit inclusions
          involve a dedicated header field that is used to include metadata
          in a DetNet packet.  In the implicit method, part of an already-existing
          header field is used to encode the metadata.
        </t>
        <t indent="0" pn="section-3.2-5">
          Explicit inclusion of metadata is possible through the use of
          IP options or IP extension headers. New IP options are almost impossible
          to get standardized or to deploy in an operational network and will
          not be discussed further in this text. IPv6 extension headers are
          finding popularity in current IPv6 development work, particularly
          in connection with Segment Routing of IPv6 (SRv6) and IP OAM. The design
          of a new IPv6 extension header or the modification of an existing one is
          a technique available in the toolbox of the DetNet IP data plane designer.
        </t>
        <t indent="0" pn="section-3.2-6">
          Explicit inclusion of metadata in an IP packet is also possible
          through the inclusion of an MPLS label stack and the MPLS d-CW,
          using one of the methods for carrying MPLS over IP <xref target="DetNet-MPLS-over-UDP-IP" format="default" sectionFormat="of" derivedContent="DetNet-MPLS-over-UDP-IP"/>. This is described in more
          detail in <xref target="subnet_considerations" format="default" sectionFormat="of" derivedContent="Section 3.5.5"/>.
        </t>
        <t indent="0" pn="section-3.2-7">
          Implicit metadata in IP can be included through the use of the network
          programming paradigm <xref target="SRv6-Network-Prog" format="default" sectionFormat="of" derivedContent="SRv6-Network-Prog"/>, in which the
          suffix of an IPv6 address is used to encode additional information
          for use by the network of the receiving host. 
        </t>
        <t indent="0" pn="section-3.2-8">
          An MPLS example of explicit metadata is the sequence number
          used by PREOF, or even the case where all the 
          essential information is included in the DetNet-over-MPLS 
          label stack (the d-CW and the DetNet S-Label).
        </t>
      </section>
      <section anchor="sec_dt_ip_dp" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-detnet-ip-data-plane">DetNet IP Data Plane</name>
        <t indent="0" pn="section-3.3-1">
          An IP data plane may operate natively or through the use of an
          encapsulation. 
          Many types of IP encapsulation can satisfy DetNet requirements,
          and it is anticipated that more than one encapsulation
          may be deployed -- for example, GRE, IPsec.
        </t>
        <t indent="0" pn="section-3.3-2">
          One method of operating an IP DetNet data plane without encapsulation
          is to use 6-tuple-based flow identification, where "6-tuple" refers
          to information carried in IP-layer and higher-layer protocol headers.
          General background on the use of IP headers and 6-tuples to
          identify flows and support QoS can be found in
          <xref target="RFC3670" format="default" sectionFormat="of" derivedContent="RFC3670"/>. The extra field in the
	  6-tuple is the DSCP field in the packet. <xref target="RFC7657" format="default" sectionFormat="of" derivedContent="RFC7657"/> provides
          useful background on differentiated services (Diffserv)
          and tuple-based flow identification.  DetNet flow aggregation may
          be enabled via the use of wildcards, masks, prefixes, and ranges.  The
          operation of this method is described in detail in <xref target="RFC8939" format="default" sectionFormat="of" derivedContent="RFC8939"/>.
        </t>
        <t indent="0" pn="section-3.3-3">
          The DetNet forwarding plane may use explicit route capabilities and
          traffic engineering capabilities to provide a forwarding sub‑layer
          that is responsible for providing resource allocation and explicit
          routes.  It is possible to include such information in a native IP
          packet either explicitly or implicitly.
        </t>
      </section>
      <section anchor="sec_dt_mpls_dp" numbered="true" toc="include" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-detnet-mpls-data-plane">DetNet MPLS Data Plane</name>
        <t indent="0" pn="section-3.4-1">
          MPLS provides a forwarding sub‑layer for traffic over implicit
          and explicit paths to the point in the network where the next
          DetNet service sub‑layer action needs to take place. It does this
          through the use of a stack of one or more labels with various
          forwarding semantics.
        </t>
        <t indent="0" pn="section-3.4-2">
          MPLS also provides the ability to identify a service instance
          that is used to process the packet through the use of a label that
          maps the packet to a service instance.
        </t>
        <t indent="0" pn="section-3.4-3">
          In cases where metadata is needed to process an MPLS-encapsulated
          packet at the service sub‑layer, the d-CW <xref target="DetNet-MPLS" format="default" sectionFormat="of" derivedContent="DetNet-MPLS"/> can be used.  Although such d-CWs
          are frequently 32 bits long, there is no architectural constraint on
          the size of this structure -- only the requirement that it be fully
          understood by all parties operating on it in the DetNet service
          sub‑layer.  The operation of this method is described in detail in
          <xref target="DetNet-MPLS" format="default" sectionFormat="of" derivedContent="DetNet-MPLS"/>.
        </t>
      </section>
      <section anchor="further_dn_dp_consid" numbered="true" toc="include" removeInRFC="false" pn="section-3.5">
        <name slugifiedName="name-further-detnet-data-plane-c">Further DetNet Data Plane Considerations</name>
        <t indent="0" pn="section-3.5-1">
    This section provides informative considerations related to
    providing DetNet service to flows that are identified
    based on their header information. 
        </t>
        <section anchor="further_dn_dp_pf" numbered="true" toc="include" removeInRFC="false" pn="section-3.5.1">
          <name slugifiedName="name-functions-provided-on-a-per">Functions Provided on a Per-Flow Basis</name>
          <t indent="0" pn="section-3.5.1-1">
        At a high level, the following functions are provided on a per-flow basis.
          </t>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.1.1">
            <name slugifiedName="name-reservation-and-allocation-">Reservation and Allocation of Resources</name>
            <t indent="0" pn="section-3.5.1.1-1">
        Resources might be reserved in order to make them available for allocation to specific DetNet 
        flows. This can eliminate packet contention and packet loss for DetNet
        traffic. This also can reduce jitter for DetNet traffic.  Resources
        allocated to a DetNet flow protect it from other traffic flows. On the
        other hand, it is assumed that DetNet flows behave in accordance with the
        reserved traffic profile. It must be possible to detect misbehaving DetNet flows
                and to ensure that they do not compromise QoS of other flows.
        Queuing, policing, and shaping policies can be used to ensure
        that the allocation of resources reserved for DetNet is met. 
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.1.2">
            <name slugifiedName="name-explicit-routes">Explicit Routes</name>
            <t indent="0" pn="section-3.5.1.2-1">
        A flow can be routed over a specific, precomputed path. This allows control of network
        delay by steering the packet with the ability to influence the physical
        path. Explicit routes complement reservation by ensuring that a
        consistent path can be associated with its resources for the duration
        of that path.  Coupled with the traffic mechanism, this limits
        misordering and bounds latency. Explicit route computation can
        encompass a wide set of constraints and can optimize the path for a certain
        characteristic, e.g., highest bandwidth or lowest jitter.  In these cases,
        the "best" path for any set of characteristics may not be a shortest
        path.  The selection of the path can take into account multiple network
        metrics. Some of these metrics are measured and distributed by the
        routing system as traffic engineering metrics.
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.1.3">
            <name slugifiedName="name-service-protection">Service Protection</name>
            <t indent="0" pn="section-3.5.1.3-1">
        Service protection involves the use of multiple packet streams using
        multiple paths -- for example, 1+1 or
        1:1 linear protection.  For DetNet, this primarily relates to packet
        replication and elimination capabilities. 
        MPLS offers a number of protection schemes. 
        MPLS hitless protection can be used to switch traffic to an already-established path 
        in order to restore delivery rapidly after a failure. 
        Path changes, even in the case of failure recovery, can lead to the out-of-order delivery of data requiring POFs either
        within the DetNet service or at a high layer in the application
        traffic.  Establishment of new paths after a failure is out of scope
        for DetNet services.
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.1.4">
            <name slugifiedName="name-network-coding">Network Coding</name>
            <t indent="0" pn="section-3.5.1.4-1">
        Network Coding <xref target="nwcrg" format="default" sectionFormat="of" derivedContent="nwcrg"/>,
              not to be confused with network programming,
        comprises
        several techniques where multiple data flows are encoded. These
        resulting flows can then be sent on different paths. The encoding
        operation can combine flows and error recovery information.  When the
        encoded flows are decoded and recombined, the original flows can be
        recovered.  Note that Network Coding uses an alternative to 
        packet-by-packet PREOF. Therefore, for certain network topologies and traffic
        loads, Network Coding can be used to improve a network's throughput,
        efficiency, latency, and scalability, as well as resilience to
        partition, attacks, and eavesdropping, as compared to traditional
        methods. DetNet could use Network Coding as an alternative to
        other means of protection.  Network Coding is often applied in wireless
        networks and is being explored for other network types.
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.1.5">
            <name slugifiedName="name-load-sharing">Load-Sharing</name>
            <t indent="0" pn="section-3.5.1.5-1">
        The use of packet-by-packet load-sharing of the same DetNet flow over
        multiple paths is not recommended, except for the cases listed above
        where PREOF are utilized to improve protection of traffic and maintain order.
        Packet-by-packet load-sharing, e.g., via Equal-Cost Multipath (ECMP)
        or Unequal-Cost Multipath (UCMP), impacts ordering and,
        possibly, jitter.
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.1.6">
            <name slugifiedName="name-troubleshooting">Troubleshooting</name>
            <t indent="0" pn="section-3.5.1.6-1">
      DetNet leverages many different forwarding sub‑layers, each of which 
          supports various tools to troubleshoot connectivity -- for example,
          identification of misbehaving flows. The DetNet service layer can 
          leverage existing mechanisms to troubleshoot or monitor flows, such as 
          those in use by IP and MPLS networks.  At the Application layer, a client 
          of a DetNet service can use existing techniques to detect and monitor 
          delay and loss.
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.1.7">
            <name slugifiedName="name-flow-recognition-for-analyt">Flow Recognition for Analytics</name>
            <t indent="0" pn="section-3.5.1.7-1">
       Network analytics can be inherited from the technologies of the service 
          and forwarding sub‑layers.  At the DetNet service edge, packet and bit 
          counters (e.g., sent, received, dropped, out of sequence) can be 
          maintained.
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.1.8">
            <name slugifiedName="name-correlation-of-events-with-">Correlation of Events with Flows</name>
            <t indent="0" pn="section-3.5.1.8-1">
      The provider of a DetNet service may provide other capabilities to 
          monitor flows, such as more detailed loss statistics and timestamping 
          of events.  Details regarding these capabilities are out of scope 
          for this document.
            </t>
          </section>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.5.2">
          <name slugifiedName="name-service-protection-2">Service Protection</name>
          <t indent="0" pn="section-3.5.2-1">
      Service protection allows DetNet services to increase reliability and
      maintain a desired level of service assurance in the case of network
      congestion or network failure.  DetNet relies on the underlying technology capabilities
      for various protection schemes.  Protection schemes enable partial or
      complete coverage of the network paths and active protection with
      combinations of the PRF, PEF, and POF.
          </t>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.2.1">
            <name slugifiedName="name-linear-service-protection">Linear Service Protection</name>
            <t indent="0" pn="section-3.5.2.1-1">
        An example DetNet MPLS network fragment and its packet flow are illustrated in
        <xref target="dn_protection_flow" format="default" sectionFormat="of" derivedContent="Figure 3"/>.
            </t>
            <figure anchor="dn_protection_flow" align="left" suppress-title="false" pn="figure-3">
              <name slugifiedName="name-example-of-packet-flow-prot">Example of Packet Flow Protected by DetNet</name>
              <artwork align="center" name="" type="" alt="" pn="section-3.5.2.1-2.1">
   1      1.1       1.1      1.2.1    1.2.1      1.2.2
CE1----EN1--------R1-------R2-------R3--------EN2-----CE2
         \           1.2.1 /                  /
          \1.2     /------+                  /
           +------R4------------------------+
                     1.2.2</artwork>
            </figure>
            <t indent="0" pn="section-3.5.2.1-3">
     In <xref target="dn_protection_flow" format="default" sectionFormat="of" derivedContent="Figure 3"/>, the numbers are used to identify the
     instance of a packet.  Packet 1 is the original packet. Packets 1.1 and
     1.2 are two first-generation copies of packet 1, packet 1.2.1 is a
     second-generation copy of packet 1.2, and so on.  Note that these numbers never appear in
     the packet and are not to be confused with sequence numbers, labels, or any
     other identifiers that appear in the packet.  They simply indicate the
     generation number of the original packet so that its passage through the
     network fragment can be identified for the reader.
            </t>
            <t indent="0" pn="section-3.5.2.1-4">
     Customer Equipment device CE1 sends a packet into the DetNet-enabled network.  This
     is packet 1.  Edge Node EN1 encapsulates the packet as a DetNet packet and
     sends it to Relay Node R1 (packet 1.1).  EN1 makes a copy of the packet
     (1.2), encapsulates it, and sends this copy to Relay Node R4.
            </t>
            <t indent="0" pn="section-3.5.2.1-5">
Note that R1 may be directly attached to EN1, or there may be one or more
nodes on the path that, for clarity, are not shown in <xref target="dn_protection_flow" format="default" sectionFormat="of" derivedContent="Figure 3"/>.  The same
holds true for any other path between two DetNet entities as shown in
the figure.
            </t>
            <t indent="0" pn="section-3.5.2.1-6">
     Relay Node R4 has been configured to send one copy of the packet to Relay
     Node R2 (packet 1.2.1) and one copy to Edge Node EN2 (packet 1.2.2).
            </t>
            <t indent="0" pn="section-3.5.2.1-7">
     R2 receives packet copy 1.2.1 before packet copy 1.1 arrives and, having
     been configured to perform packet elimination on this DetNet flow, forwards
     packet 1.2.1 to Relay Node R3.  Packet copy 1.1 is of no further use and so
     is discarded by R2.
            </t>
            <t indent="0" pn="section-3.5.2.1-8">
     Edge Node EN2 receives packet copy 1.2.2 from R4 before it receives packet
     copy 1.2.1 from R2 via Relay Node R3.  EN2 therefore strips any DetNet
     encapsulation from packet copy 1.2.2 and forwards the packet to CE2.  When
     EN2 receives packet copy 1.2.1 later on, the copy is discarded.
            </t>
            <t indent="0" pn="section-3.5.2.1-9">
     The above is of course illustrative of many network scenarios that can be
     configured. 
            </t>
            <t indent="0" pn="section-3.5.2.1-10">
     This example also illustrates a 1:1 protection scheme, meaning there is
     traffic over each segment of the end-to-end path. Local DetNet
     relay nodes determine which packets are eliminated and which packets are
     forwarded.  A 1+1 scheme where only one path is used for traffic at a
     time could use the same topology. In this case, there is no PRF,
     and traffic is switched upon detection of failure.  An OAM scheme that
     monitors the paths to detect the loss of a path or traffic is required to
     initiate the switch.  A POF may still be used in this case to
     prevent misordering of packets. In both cases, the protection paths are
     established and maintained for the duration of the DetNet service.
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.2.2">
            <name slugifiedName="name-path-differential-delay">Path Differential Delay</name>
            <t indent="0" pn="section-3.5.2.2-1">
     In the preceding example, proper operation of duplicate
     elimination and the reordering of packets are dependent
     on the number of out-of-order packets that can be
     buffered and the difference in delay of the arriving packets.
     DetNet uses flow-specific requirements (e.g., maximum
     number of out-of-order packets, maximum latency
     of the flow) for configuration of POF-related buffers.
     If the differential delay between paths is excessively large 
     or there is excessive misordering of the packets, then packets may
     be dropped instead of being reordered.
     Likewise, the PEF
     uses the sequence number to identify duplicate packets, and large
     differential delays combined with high numbers of packets may exceed 
     the PEF's ability to work properly.
            </t>
          </section>
          <section numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.2.3">
            <name slugifiedName="name-ring-service-protection">Ring Service Protection</name>
            <t indent="0" pn="section-3.5.2.3-1">
     Ring protection may also be supported if the underlying technology
     supports it. Many of the same concepts apply; however, rings are normally
     1+1 protection for data efficiency reasons. <xref target="RFC8227" format="default" sectionFormat="of" derivedContent="RFC8227"/> provides an example of an MPLS Transport Profile (MPLS-TP) data plane that supports ring protection.
            </t>
          </section>
        </section>
        <section anchor="aggregation" numbered="true" toc="include" removeInRFC="false" pn="section-3.5.3">
          <name slugifiedName="name-aggregation-considerations">Aggregation Considerations</name>
          <t indent="0" pn="section-3.5.3-1">
  The DetNet data plane also allows for the aggregation of DetNet flows, which
  can improve scalability by reducing the per-hop state.  How this is accomplished is data
  plane or control plane dependent.  When DetNet flows are aggregated, transit
  nodes provide service to the aggregate and not on a per-DetNet-flow basis.
  When aggregating DetNet flows, the flows should be compatible, i.e., the same or
  very similar QoS and CoS characteristics.  In this case, nodes performing
  aggregation will ensure that per-flow service requirements are achieved.
          </t>
          <t indent="0" pn="section-3.5.3-2">
  If bandwidth reservations are used, the reservation should be the 
  sum of all the individual reservations; in other words, the reservations 
  should not add up to an oversubscription of bandwidth reservation. If 
  maximum delay bounds are used, the system should ensure that the aggregate 
  does not exceed the delay bounds of the individual flows.
          </t>
          <t indent="0" pn="section-3.5.3-3">
 When
  an encapsulation is used, the choice of reserving a maximum resource level and
  then tracking the services in the aggregated service or adjusting the
  aggregated resources as the services are added is implementation and
  technology specific.
          </t>
          <t indent="0" pn="section-3.5.3-4">
  DetNet flows at edges must be able to handle rejection to an aggregation
  group due to lack of resources as well as conditions where 
  requirements are not satisfied.
          </t>
          <section anchor="ip-agg" numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.3.1">
            <name slugifiedName="name-ip-aggregation">IP Aggregation</name>
            <t indent="0" pn="section-3.5.3.1-1">
   IP aggregation has both data plane and Controller Plane aspects. For the
   data plane, flows may be aggregated for treatment based on shared
   characteristics such as 6-tuple <xref target="RFC8939" format="default" sectionFormat="of" derivedContent="RFC8939"/>.  
   Alternatively, an IP encapsulation may be
   used to tunnel an aggregate number of DetNet flows between relay nodes.
            </t>
          </section>
          <section anchor="mpls-agg" numbered="true" toc="exclude" removeInRFC="false" pn="section-3.5.3.2">
            <name slugifiedName="name-mpls-aggregation">MPLS Aggregation</name>
            <t indent="0" pn="section-3.5.3.2-1">
   MPLS aggregation also has data plane and Controller Plane aspects.  MPLS 
   flows are often tunneled in a forwarding sub‑layer, under the reservation 
   associated with that MPLS tunnel.
            </t>
          </section>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.5.4">
          <name slugifiedName="name-end-system-specific-conside">End-System-Specific Considerations</name>
          <t indent="0" pn="section-3.5.4-1">
   Data flows requiring DetNet service are generated and terminated on
   end systems. Encapsulation depends on the application and its
   preferences. For example, in a DetNet MPLS domain, the sub‑layer functions use the d-CWs,
   S-Labels, and F-Labels <xref target="DetNet-MPLS" format="default" sectionFormat="of" derivedContent="DetNet-MPLS"/> to provide DetNet services. However, an
   application may exchange further flow-related parameters (e.g.,
   timestamps) that are not provided by DetNet functions.
          </t>
          <t indent="0" pn="section-3.5.4-2">
   As a general rule, DetNet domains are capable of forwarding any
   DetNet flows, and the DetNet domain does not mandate the
   encapsulation format for end systems or edge nodes. Unless 
   some form of proxy is present, end systems peer with similar end systems
   using the same application encapsulation format.  For example, as
   shown in <xref target="fig_es_connect" format="default" sectionFormat="of" derivedContent="Figure 4"/>, IP applications peer with
   IP applications, and Ethernet applications peer with Ethernet
   applications.
          </t>
          <figure anchor="fig_es_connect" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-end-systems-and-the-detnet-">End Systems and the DetNet MPLS Domain</name>
            <artwork align="center" name="" type="" alt="" pn="section-3.5.4-3.1">
+-----+
|  X  |                               +-----+
+-----+                               |  X  |
| Eth |               ________        +-----+
+-----+     _____    /        \       | Eth |
       \   /     \__/          \___   +-----+
        \ /                        \ /
         0======== tunnel-1 ========0_
         |                             \
          \                             |
          0========= tunnel-2 =========0
         / \                        __/ \
  +-----+   \__ DetNet MPLS domain /     \
  |  X  |      \         __       /       +-----+
  +-----+       \_______/  \_____/        |  X  |
  |  IP |                                 +-----+
  +-----+                                 |  IP |
                                          +-----+</artwork>
          </figure>
        </section>
        <section anchor="subnet_considerations" numbered="true" toc="include" removeInRFC="false" pn="section-3.5.5">
          <name slugifiedName="name-sub-network-considerations">Sub-network Considerations</name>
          <t indent="0" pn="section-3.5.5-1">
     Any of the DetNet service types may be transported by another
     DetNet service. MPLS nodes may be interconnected by different sub-network
     technologies, which may include point-to-point links. Each of these
     sub-network technologies needs to provide appropriate service to DetNet
     flows.  In some cases, e.g., on dedicated point-to-point links or TDM
     technologies, all that is required is for a DetNet node to appropriately
     queue its output traffic.  In other cases, DetNet nodes will need to map
     DetNet flows to the flow semantics (i.e., identifiers) and mechanisms used
     by an underlying sub-network technology.  <xref target="fig_dn_mpls_sn_ex" format="default" sectionFormat="of" derivedContent="Figure 5"/> shows several examples of
     sub-network encapsulations that can be used to carry DetNet MPLS flows over different
     sub-network technologies.  L2 represents a generic Layer 2 encapsulation
     that might be used on a point-to-point link.  TSN represents the
     encapsulation used on an IEEE 802.1 TSN network, as described in <xref target="DetNet-MPLS-over-TSN" format="default" sectionFormat="of" derivedContent="DetNet-MPLS-over-TSN"/>.  UDP/IP represents the encapsulation
     used on a DetNet IP PSN, as described in <xref target="DetNet-MPLS-over-UDP-IP" format="default" sectionFormat="of" derivedContent="DetNet-MPLS-over-UDP-IP"/>.
          </t>
          <figure anchor="fig_dn_mpls_sn_ex" align="left" suppress-title="false" pn="figure-5">
            <name slugifiedName="name-example-detnet-mpls-encapsu">Example DetNet MPLS Encapsulations in Sub-networks</name>
            <artwork align="center" name="" type="" alt="" pn="section-3.5.5-2.1">
                   +------+  +------+  +------+
App-flow           |  X   |  |  X   |  |  X   |
             +-----+======+--+======+--+======+-----+
DetNet-MPLS        | d-CW |  | d-CW |  | d-CW |
                   +------+  +------+  +------+
                   |Labels|  |Labels|  |Labels|
             +-----+======+--+======+--+======+-----+
Sub-network        |  L2  |  | TSN  |  | UDP  |
                   +------+  +------+  +------+
                                       |  IP  |
                                       +------+
                                       |  L2  |
                                       +------+</artwork>
          </figure>
        </section>
      </section>
    </section>
    <section anchor="cp_considerations" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-controller-plane-management">Controller Plane (Management and Control) Considerations</name>
      <section anchor="control-management-requirements" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-detnet-controller-plane-req">DetNet Controller Plane Requirements</name>
        <t indent="0" pn="section-4.1-1">
        The Controller Plane corresponds to the aggregation of the Control and
        Management Planes discussed in <xref target="RFC7426" format="default" sectionFormat="of" derivedContent="RFC7426"/> and
        <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/>.  While more details regarding any DetNet Controller
        Plane are out of scope for this document, there are particular
        considerations and requirements for the Controller Plane that result from the unique
        characteristics of the DetNet architecture and
        data plane as defined herein.
        </t>
        <t indent="0" pn="section-4.1-2">
        The primary requirements of the DetNet Controller Plane are
        that it must be able to:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-3">
          <li pn="section-4.1-3.1">
            Instantiate DetNet flows in a DetNet domain (which may, for example,
            include some or all of the following: explicit path determination, link
            bandwidth reservations, restricting flows to IEEE 802.1 TSN
            links, node buffer and other resource reservations,
            specification of required queuing disciplines along the
            path, ability to manage bidirectional flows, etc.) as needed
            for a flow.
          </li>
          <li pn="section-4.1-3.2">
            In the case of MPLS, manage DetNet S-Label and F-Label allocation
            and distribution. In cases where the DetNet MPLS encapsulation is 
            being used, see <xref target="DetNet-MPLS" format="default" sectionFormat="of" derivedContent="DetNet-MPLS"/>.
          </li>
          <li pn="section-4.1-3.3">
            Support DetNet flow aggregation.
          </li>
          <li pn="section-4.1-3.4">
            Advertise static and dynamic node and link resources such
            as capabilities and adjacencies to other network nodes (for
            dynamic signaling approaches) or to network controllers (for
            centralized approaches).
          </li>
          <li pn="section-4.1-3.5">
            Scale to handle the number of DetNet flows expected in a
            domain (which may require per-flow signaling or
            provisioning).
          </li>
          <li pn="section-4.1-3.6">
            Provision flow identification information at each of the nodes
            along the path. Flow identification may differ, depending on the
            location in the network and the DetNet functionality (e.g., transit
            node vs. relay node).
          </li>
        </ul>
        <t indent="0" pn="section-4.1-4">
        These requirements, as stated earlier, could be satisfied using
        distributed control protocol signaling (such as RSVP-TE),
        centralized network management provisioning mechanisms (BGP, PCEP, YANG, <xref target="I-D.ietf-detnet-flow-information-model" format="default" sectionFormat="of" derivedContent="DetNet-Flow-Info"/>, etc.), or hybrid
        combinations of the two, and could also make use of MPLS-based
        segment routing.
        </t>
        <t indent="0" pn="section-4.1-5">
        In the abstract, the results of either distributed signaling
        or centralized provisioning are equivalent from a DetNet data plane
 perspective -- flows are instantiated, explicit routes
        are determined, resources are reserved, and packets are
        forwarded through the domain using the DetNet data plane.
        </t>
        <t indent="0" pn="section-4.1-6">
        However, from a practical and implementation standpoint, Controller Plane alternatives are not
        equivalent at all. Some approaches are more scalable than others in
        terms of signaling load on the network. Some alternatives can take advantage of
        global tracking of resources in the DetNet domain for better overall
        network resource optimization. Some solutions are more resilient than others if
        link, node, or management equipment failures occur. While a detailed
        analysis of the control plane alternatives is out of scope for this
        document, the requirements from this document can be used as the basis
        of a future analysis of the alternatives.
        </t>
      </section>
      <section anchor="gen_cp_considerations" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-generic-controller-plane-co">Generic Controller Plane Considerations</name>
        <t indent="0" pn="section-4.2-1">
      This section covers control plane considerations that are
      independent of the data plane technology used for DetNet service
      delivery.
        </t>
        <t indent="0" pn="section-4.2-2">
      While the management plane and the control plane are traditionally
      considered separately, from a data plane perspective, there is no
      practical difference based on the origin of flow-provisioning
      information, and the DetNet architecture <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/> refers to these collectively
      as the "Controller Plane".  This document therefore does not
      distinguish between information provided by distributed control plane protocols (e.g., RSVP-TE <xref target="RFC3209" format="default" sectionFormat="of" derivedContent="RFC3209"/> <xref target="RFC3473" format="default" sectionFormat="of" derivedContent="RFC3473"/>) or centralized network management mechanisms
      (e.g., RESTCONF <xref target="RFC8040" format="default" sectionFormat="of" derivedContent="RFC8040"/>, YANG <xref target="RFC7950" format="default" sectionFormat="of" derivedContent="RFC7950"/>, PCEP <xref target="I-D.ietf-pce-pcep-extension-for-pce-controller" format="default" sectionFormat="of" derivedContent="PCECC"/>), or any
      combination thereof. Specific considerations and requirements for
      the DetNet Controller Plane are discussed in <xref target="control-management-requirements" format="default" sectionFormat="of" derivedContent="Section 4.1"/>.
        </t>
        <t indent="0" pn="section-4.2-3">
      Each respective data plane document also covers the control plane considerations
      for that technology.  For example, <xref target="RFC8939" format="default" sectionFormat="of" derivedContent="RFC8939"/> also covers IP
      control plane normative considerations, and <xref target="DetNet-MPLS" format="default" sectionFormat="of" derivedContent="DetNet-MPLS"/> also  covers MPLS control plane
      normative considerations.         
        </t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2.1">
          <name slugifiedName="name-flow-aggregation-control">Flow Aggregation Control</name>
          <t indent="0" pn="section-4.2.1-1">
        Flow aggregation means that multiple App-flows are served by a single new DetNet
        flow.  There are many techniques to achieve aggregation. For example, 
                in the case of IP, IP flows that share 6-tuple attributes or flow 
                identifiers at the DetNet sub‑layer can be grouped.
                Another example includes aggregation accomplished through the use of
                hierarchical LSPs in MPLS and tunnels.
          </t>
          <t indent="0" pn="section-4.2.1-2">
        Control of aggregation involves a set of procedures listed here.  
        Aggregation may use some or all of these capabilities, and the order may vary:
          </t>
          <dl newline="true" spacing="normal" indent="3" pn="section-4.2.1-3">
            <dt pn="section-4.2.1-3.1">Traffic engineering resource collection and distribution:</dt>
            <dd pn="section-4.2.1-3.2">Available resources are tracked through control plane or
               management plane databases and distributed amongst controllers
               or nodes that can manage resources.</dd>
            <dt pn="section-4.2.1-3.3">Path computation and resource allocation:</dt>
            <dd pn="section-4.2.1-3.4">When DetNet services are provisioned or requested, one or more
               paths meeting the requirements are selected and the resources
               verified and recorded.</dd>
            <dt pn="section-4.2.1-3.5">Resource assignment and data plane coordination:</dt>
            <dd pn="section-4.2.1-3.6">The assignment of resources along the path depends on the technology and 
           includes assignment of specific links, coordination of 
           queuing, and other traffic management capabilities such as policing and shaping.</dd>
            <dt pn="section-4.2.1-3.7">Assigned resource recording and updating:</dt>
            <dd pn="section-4.2.1-3.8">Depending on the specific technology, the assigned resources are 
           updated and distributed in the databases, preventing oversubscription.</dd>
          </dl>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2.2">
          <name slugifiedName="name-explicit-routes-2">Explicit Routes</name>
          <t indent="0" pn="section-4.2.2-1">
        Explicit routes are used to ensure that packets are routed through the
        resources that have been reserved for them and hence provide the
        DetNet application with the required service.  A requirement for the
        DetNet Controller Plane will be the ability to assign a particular
        identified DetNet IP flow to a path through the DetNet domain that has
        been assigned the required per-node resources.  This provides the
        appropriate traffic treatment for the flow and also includes particular
        links as a part of the path that are able to support the DetNet flow.
        For example, by using IEEE 802.1 TSN links (as discussed in
        <xref target="DetNet-MPLS-over-TSN" format="default" sectionFormat="of" derivedContent="DetNet-MPLS-over-TSN"/>), DetNet parameters can be maintained.
        Further considerations and requirements for the DetNet Controller Plane
        are discussed in <xref target="control-management-requirements" format="default" sectionFormat="of" derivedContent="Section 4.1"/>.
          </t>
          <t indent="0" pn="section-4.2.2-2">
        Whether configuring, calculating, and instantiating these
        routes is a single-stage or multi-stage process, or is performed in a
        centralized or distributed manner, is out of scope for this
        document.
          </t>
          <t indent="0" pn="section-4.2.2-3">
        There are several approaches that could be used to provide
        explicit routes and resource allocation in the DetNet
        forwarding sub‑layer. For example:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2.2-4">
            <li pn="section-4.2.2-4.1">
            The path could be explicitly set up by a controller that
            calculates the path and explicitly configures each node along that
            path with the appropriate forwarding and resource allocation
            information.
          </li>
            <li pn="section-4.2.2-4.2">
            The path could use a distributed control plane such as
            <xref target="RFC2205" format="default" sectionFormat="of" derivedContent="RFC2205">RSVP</xref> or RSVP-TE <xref target="RFC3473" format="default" sectionFormat="of" derivedContent="RFC3473"/> extended to support DetNet IP flows.
          </li>
            <li pn="section-4.2.2-4.3">
            The path could be implemented using IPv6-based segment
            routing when extended to support resource allocation.
          </li>
          </ul>
          <t indent="0" pn="section-4.2.2-5">
        See <xref target="control-management-requirements" format="default" sectionFormat="of" derivedContent="Section 4.1"/> for
        further discussion of these alternatives. In addition, 
        <xref target="RFC2386" format="default" sectionFormat="of" derivedContent="RFC2386"/> contains useful background information 
        on QoS-based routing, and <xref target="RFC5575" format="default" sectionFormat="of" derivedContent="RFC5575"/>
	(which will be 
        updated by <xref target="I-D.ietf-idr-rfc5575bis" format="default" sectionFormat="of" derivedContent="Flow-Spec-Rules"/>) discusses 
        a specific mechanism used by BGP for traffic flow specification 
        and policy-based routing.
          </t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2.3">
          <name slugifiedName="name-contention-loss-and-jitter-">Contention Loss and Jitter Reduction</name>
          <t indent="0" pn="section-4.2.3-1">
        This document does
        not specify the mechanisms needed to eliminate packet contention or packet loss
        or to reduce jitter for DetNet flows at the DetNet forwarding
        sub‑layer.  The ability to manage node and link resources to
        be able to provide these functions is a necessary part of
        the DetNet Controller Plane. It is also necessary to be
        able to control the required queuing mechanisms used to
        provide these functions along a flow's path through the
        network. See  <xref target="RFC8939" format="default" sectionFormat="of" derivedContent="RFC8939"/> and <xref target="control-management-requirements" format="default" sectionFormat="of" derivedContent="Section 4.1"/> for further
        discussion of these requirements. Some forms of protection
        may minimize packet loss or change 
        jitter characteristics in the cases where packets are reordered when out-of-order packets are received at the service sub‑layer.   
          </t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2.4">
          <name slugifiedName="name-bidirectional-traffic">Bidirectional Traffic</name>
          <t indent="0" pn="section-4.2.4-1">
        In many cases, DetNet flows can be considered unidirectional and
        independent. However, there are cases where the DetNet service requires
        bidirectional traffic from a DetNet application service perspective.  IP and
        MPLS typically treat each direction separately and do not force
        interdependence of each direction.  The IETF MPLS Working Group has
studied bidirectional traffic requirements. The definitions provided in <xref target="RFC5654" format="default" sectionFormat="of" derivedContent="RFC5654"/> are useful to illustrate terms such as
        associated bidirectional flows and co-routed bidirectional flows.
  MPLS
        defines a point-to-point associated bidirectional LSP as consisting of
        two unidirectional point-to-point LSPs, one from A to B and the other
        from B to A, which are regarded as providing a single logical
        bidirectional forwarding path.  This is analogous to standard IP
        routing.  MPLS defines a point-to-point co-routed bidirectional LSP as
        an associated bidirectional LSP that satisfies the additional
        constraint that its two unidirectional component LSPs follow the same
        path (in terms of both nodes and links) in both directions.  An
        important property of co-routed bidirectional LSPs is that their
        unidirectional component LSPs share fate.  In both types of
        bidirectional LSPs, resource reservations may differ in each direction.
        The concepts of associated bidirectional flows and co‑routed
        bidirectional flows can also be applied to DetNet IP flows.
          </t>
          <t indent="0" pn="section-4.2.4-2">
        While the DetNet IP data plane must support bidirectional
        DetNet flows, there are no special bidirectional features with
        respect to the data plane other than the need for the two
        directions of a co‑routed bidirectional flow to take the same
        path. That is to say, bidirectional DetNet flows are
        solely represented at the management plane and control plane levels,
        without specific support or knowledge within the DetNet data
        plane.  Fate-sharing and associated or co‑routed
        bidirectional flows can be managed at the control level.
          </t>
          <t indent="0" pn="section-4.2.4-3">
        DetNet's use of PREOF may increase the complexity of using co‑routing 
        bidirectional flows, because if PREOF are used, the replication points 
        in one direction would have to match the elimination points in the 
        other direction, and vice versa. In such cases, the optimal points for 
        these functions in one direction may not match the optimal points in 
        the other, due to network and traffic constraints.
        Furthermore, due to the per-packet service protection nature, 
        bidirectional forwarding may not be ensured. 
        The first packet of received member flows is selected by the 
        elimination function independently of which path it has taken 
        through the network.
          </t>
          <t indent="0" pn="section-4.2.4-4">
        Control and management mechanisms need to support bidirectional flows,
        but the specification of such mechanisms is out of scope for this
        document. Example control plane solutions for MPLS can be found in <xref target="RFC3473" format="default" sectionFormat="of" derivedContent="RFC3473"/>, <xref target="RFC6387" format="default" sectionFormat="of" derivedContent="RFC6387"/>, and <xref target="RFC7551" format="default" sectionFormat="of" derivedContent="RFC7551"/>.  These requirements are included in <xref target="control-management-requirements" format="default" sectionFormat="of" derivedContent="Section 4.1"/>.
          </t>
        </section>
      </section>
      <section anchor="PREOF" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-packet-replication-eliminat">Packet Replication, Elimination, and Ordering Functions (PREOF)</name>
        <t indent="0" pn="section-4.3-1">
        The Controller Plane protocol solution required for managing the
        processing of PREOF is outside the scope of this document. That
        said, it should be noted that the ability to determine, for a
        particular flow, optimal packet replication and elimination
        points in the DetNet domain requires explicit support. There may
        be existing capabilities that can be used or extended -- for example, GMPLS
        end-to-end recovery <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> and GMPLS segment
        recovery <xref target="RFC4873" format="default" sectionFormat="of" derivedContent="RFC4873"/>.
        </t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1">
    Security considerations for DetNet are described in detail in
    <xref target="DetNet-Security" format="default" sectionFormat="of" derivedContent="DetNet-Security"/>. General security considerations
    for the DetNet architecture are described in <xref target="RFC8655" format="default" sectionFormat="of" derivedContent="RFC8655"/>. This section
    considers architecture-level DetNet security considerations applicable to all data planes.
      </t>
      <t indent="0" pn="section-5-2">
        Part of what makes DetNet unique is its ability to provide specific and 
        reliable QoS (delivering data flows with extremely low 
        packet loss rates and bounded end-to-end delivery latency), and the 
        security-related aspects of protecting that QoS are 
        similarly unique.
      </t>
      <t indent="0" pn="section-5-3">
     As for all communications protocols,
         the primary consideration for the data plane is to maintain
     integrity of data and delivery of the associated DetNet service traversing
     the DetNet network.
     Application flows can be protected through whatever means is
     provided by the underlying technology. For example, encryption may be
     used, such as that provided by IPsec <xref target="RFC4301" format="default" sectionFormat="of" derivedContent="RFC4301"/> for IP
     flows and/or by an underlying sub-network using MACsec
     <xref target="IEEE802.1AE-2018" format="default" sectionFormat="of" derivedContent="IEEE802.1AE-2018"/> for Ethernet (Layer 2) flows.
      </t>
      <t indent="0" pn="section-5-4">
     At the management and control levels, DetNet flows are identified on a
     per-flow basis, which may provide Controller Plane
     attackers with additional information about the data flows (when
     compared to Controller Planes that do not include per-flow identification).
     This is an inherent property of DetNet that has security
     implications that should be considered when determining if DetNet is
     a suitable technology for any given use case.
      </t>
      <t indent="0" pn="section-5-5">
     To provide uninterrupted availability of the DetNet
     service, provisions can be made against DoS attacks and delay
     attacks. To protect against DoS attacks, excess traffic due to
     malicious or malfunctioning devices can be prevented or mitigated --
     for example, through the use of existing mechanisms such as policing and shaping applied at
     the input of a DetNet domain. To prevent DetNet packets from
     being delayed by an entity external to a DetNet domain, DetNet
     technology definitions can allow for the mitigation of
     man-in-the-middle attacks -- for example, through the use of
     authentication and authorization of devices within the DetNet domain.
      </t>
      <t indent="0" pn="section-5-6">
         In order to prevent or mitigate DetNet attacks on other networks via 
         flow escape, edge devices can, for example, use existing mechanisms such 
         as policing and shaping applied at the output of a DetNet domain.
      </t>
    </section>
    <section anchor="iana" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">
     This document has no IANA actions.
      </t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-pce-pcep-extension-for-pce-controller" to="PCECC"/>
    <displayreference target="I-D.ietf-detnet-flow-information-model" to="DetNet-Flow-Info"/>
    <displayreference target="I-D.ietf-idr-rfc5575bis" to="Flow-Spec-Rules"/>
    <references pn="section-7">
      <name slugifiedName="name-references">References</name>
      <references pn="section-7.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC8655" target="https://www.rfc-editor.org/info/rfc8655" quoteTitle="true" derivedAnchor="RFC8655">
          <front>
            <title>Deterministic Networking Architecture</title>
            <author initials="N." surname="Finn" fullname="N. Finn">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Thubert" fullname="P. Thubert">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Varga" fullname="B. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Farkas" fullname="J. Farkas">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="October"/>
            <abstract>
              <t indent="0">This document provides the overall architecture for Deterministic Networking (DetNet), which provides a capability to carry specified unicast or multicast data flows for real-time applications with extremely low data loss rates and bounded latency within a network domain.  Techniques used include 1) reserving data-plane resources for individual (or aggregated) DetNet flows in some or all of the intermediate nodes along the path of the flow, 2) providing explicit routes for DetNet flows that do not immediately change with the network topology, and 3) distributing data from DetNet flow packets over time and/or space to ensure delivery of each packet's data in spite of the loss of a path.  DetNet operates at the IP layer and delivers service over lower-layer technologies such as MPLS and Time- Sensitive Networking (TSN) as defined by IEEE 802.1.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8655"/>
          <seriesInfo name="DOI" value="10.17487/RFC8655"/>
        </reference>
      </references>
      <references pn="section-7.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-detnet-flow-information-model" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-detnet-flow-information-model-11" derivedAnchor="DetNet-Flow-Info">
          <front>
            <title>DetNet Flow Information Model</title>
            <author fullname="Balázs Varga">
              <organization showOnFrontPage="true">Ericsson</organization>
            </author>
            <author fullname="János Farkas">
              <organization showOnFrontPage="true">Ericsson</organization>
            </author>
            <author fullname="Rodney Cummings">
              <organization showOnFrontPage="true">National Instruments</organization>
            </author>
            <author fullname="Yuanlong Jiang">
              <organization showOnFrontPage="true">Huawei Technologies Co., Ltd.</organization>
            </author>
            <author fullname="Don Fedyk">
              <organization showOnFrontPage="true">LabN Consulting, L.L.C.</organization>
            </author>
            <date month="October" day="21" year="2020"/>
            <abstract>
              <t indent="0">   This document describes flow and service information model for
   Deterministic Networking (DetNet).  These models are defined for IP
   and MPLS DetNet data planes

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-detnet-flow-information-model-11"/>
          <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-ietf-detnet-flow-information-model-11.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="DetNet-MPLS" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-detnet-mpls-13" derivedAnchor="DetNet-MPLS">
          <front>
            <title>DetNet Data Plane: MPLS</title>
            <author initials="B" surname="Varga" fullname="Balazs Varga" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Farkas" fullname="Janos Farkas">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L" surname="Berger" fullname="Lou Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Malis" fullname="Andrew Malis">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Bryant" fullname="Stewart Bryant">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Korhonen" fullname="Jouni Korhonen">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" day="11" year="2020"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-detnet-mpls-13"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="DetNet-MPLS-over-TSN" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-detnet-mpls-over-tsn-04" derivedAnchor="DetNet-MPLS-over-TSN">
          <front>
            <title>DetNet Data Plane: MPLS over IEEE 802.1 Time Sensitive Networking (TSN)</title>
            <author initials="B" surname="Varga" fullname="Balazs Varga" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Farkas" fullname="Janos Farkas">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Malis" fullname="Andrew Malis">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Bryant" fullname="Stewart Bryant">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="November" day="2" year="2020"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-detnet-mpls-over-tsn-04"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="DetNet-MPLS-over-UDP-IP" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-detnet-mpls-over-udp-ip-07" derivedAnchor="DetNet-MPLS-over-UDP-IP">
          <front>
            <title>DetNet Data Plane: MPLS over UDP/IP</title>
            <author initials="B" surname="Varga" fullname="Balazs Varga" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Farkas" fullname="Janos Farkas">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L" surname="Berger" fullname="Lou Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Malis" fullname="Andrew Malis">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Bryant" fullname="Stewart Bryant">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" day="11" year="2020"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-detnet-mpls-over-udp-ip-07"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="DetNet-Security" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-detnet-security-12" derivedAnchor="DetNet-Security">
          <front>
            <title>Deterministic Networking (DetNet) Security Considerations</title>
            <author initials="E" surname="Grossman" fullname="Ethan Grossman" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T" surname="Mizrahi" fullname="Tal Mizrahi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Hacker" fullname="Andrew Hacker">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" day="2" year="2020"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-detnet-security-12"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-idr-rfc5575bis" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-idr-rfc5575bis-27" derivedAnchor="Flow-Spec-Rules">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author fullname="Christoph Loibl">
              <organization showOnFrontPage="true">next layer Telekom GmbH</organization>
            </author>
            <author fullname="Susan Hares">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author fullname="Robert Raszuk">
              <organization showOnFrontPage="true">Bloomberg LP</organization>
            </author>
            <author fullname="Danny McPherson">
              <organization showOnFrontPage="true">Verisign</organization>
            </author>
            <author fullname="Martin Bacher">
              <organization showOnFrontPage="true">T-Mobile Austria</organization>
            </author>
            <date month="October" day="15" year="2020"/>
            <abstract>
              <t indent="0">   This document defines a Border Gateway Protocol Network Layer
   Reachability Information (BGP NLRI) encoding format that can be used
   to distribute traffic Flow Specifications.  This allows the routing
   system to propagate information regarding more specific components of
   the traffic aggregate defined by an IP destination prefix.

   It also specifies BGP Extended Community encoding formats, that can
   be used to propagate Traffic Filtering Actions along with the Flow
   Specification NLRI.  Those Traffic Filtering Actions encode actions a
   routing system can take if the packet matches the Flow Specification.

   Additionally, it defines two applications of that encoding format:
   one that can be used to automate inter-domain coordination of traffic
   filtering, such as what is required in order to mitigate
   (distributed) denial-of-service attacks, and a second application to
   provide traffic filtering in the context of a BGP/MPLS VPN service.
   Other applications (e.g. centralized control of traffic in a SDN or
   NFV context) are also possible.  Other documents may specify Flow
   Specification extensions.

   The information is carried via BGP, thereby reusing protocol
   algorithms, operational experience, and administrative processes such
   as inter-provider peering agreements.

   This document obsoletes both RFC5575 and RFC7674.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-rfc5575bis-27"/>
          <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-ietf-idr-rfc5575bis-27.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="IEEE802.1AE-2018" target="https://ieeexplore.ieee.org/document/8585421" quoteTitle="true" derivedAnchor="IEEE802.1AE-2018">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks-Media Access Control (MAC) Security</title>
            <author>
              <organization showOnFrontPage="true">IEEE</organization>
            </author>
            <date month="December" year="2018"/>
          </front>
          <seriesInfo name="IEEE Std" value="802.1AE-2018"/>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8585421"/>
        </reference>
        <reference anchor="IEEE802.1TSNTG" target="https://1.ieee802.org/tsn/" quoteTitle="true" derivedAnchor="IEEE802.1TSNTG">
          <front>
            <title>Time-Sensitive Networking (TSN) Task Group</title>
            <author>
              <organization showOnFrontPage="true">IEEE</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="nwcrg" target="https://datatracker.ietf.org/rg/nwcrg/about" quoteTitle="true" derivedAnchor="nwcrg">
          <front>
            <title>Coding for efficient NetWork Communications Research Group (nwcrg)</title>
            <author>
              <organization showOnFrontPage="true">IRTF</organization>
            </author>
          </front>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-extension-for-pce-controller" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-pce-pcep-extension-for-pce-controller-08" derivedAnchor="PCECC">
          <front>
            <title>PCEP Procedures and Protocol Extensions for Using PCE as a Central Controller (PCECC) of LSPs</title>
            <author fullname="Zhenbin Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Shuping Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Mahendra Singh Negi">
              <organization showOnFrontPage="true">RtBrick Inc</organization>
            </author>
            <author fullname="Quintin Zhao">
              <organization showOnFrontPage="true">Etheric Networks</organization>
            </author>
            <author fullname="Chao Zhou">
              <organization showOnFrontPage="true">HPE</organization>
            </author>
            <date month="November" day="1" year="2020"/>
            <abstract>
              <t indent="0">   The Path Computation Element (PCE) is a core component of Software-
   Defined Networking (SDN) systems.  It can compute optimal paths for
   traffic across a network and can also update the paths to reflect
   changes in the network or traffic demands.

   PCE was developed to derive paths for MPLS Label Switched Paths
   (LSPs), which are supplied to the head end of the LSP using the Path
   Computation Element Communication Protocol (PCEP).  But SDN has a
   broader applicability than signaled MPLS and GMPLS traffic-engineered
   (TE) networks, and the PCE may be used to determine paths in a range
   of use cases.  PCEP has been proposed as a control protocol for use
   in these environments to allow the PCE to be fully enabled as a
   central controller.

   A PCE-based Central Controller (PCECC) can simplify the processing of
   a distributed control plane by blending it with elements of SDN and
   without necessarily completely replacing it.  Thus, the LSP can be
   calculated/set up/initiated and the label forwarding entries can also
   be downloaded through a centralized PCE server to each network device
   along the path, while leveraging the existing PCE technologies as
   much as possible.

   This document specifies the procedures and PCEP extensions for using
   the PCE as the central controller.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-extension-for-pce-controller-08"/>
          <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-ietf-pce-pcep-extension-for-pce-controller-08.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC2205" target="https://www.rfc-editor.org/info/rfc2205" quoteTitle="true" derivedAnchor="RFC2205">
          <front>
            <title>Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification</title>
            <author initials="R." surname="Braden" fullname="R. Braden" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Zhang" fullname="L. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Berson" fullname="S. Berson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Herzog" fullname="S. Herzog">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Jamin" fullname="S. Jamin">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="September"/>
            <abstract>
              <t indent="0">This memo describes version 1 of RSVP, a resource reservation setup protocol designed for an integrated services Internet.  RSVP provides receiver-initiated setup of resource reservations for multicast or unicast data flows, with good scaling and robustness properties. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2205"/>
          <seriesInfo name="DOI" value="10.17487/RFC2205"/>
        </reference>
        <reference anchor="RFC2386" target="https://www.rfc-editor.org/info/rfc2386" quoteTitle="true" derivedAnchor="RFC2386">
          <front>
            <title>A Framework for QoS-based Routing in the Internet</title>
            <author initials="E." surname="Crawley" fullname="E. Crawley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Nair" fullname="R. Nair">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Rajagopalan" fullname="B. Rajagopalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Sandick" fullname="H. Sandick">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1998" month="August"/>
            <abstract>
              <t indent="0">This document describes some of the QoS-based routing issues and requirements, and proposes a framework for QoS-based routing in the Internet.  This memo provides information for the Internet community. It does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2386"/>
          <seriesInfo name="DOI" value="10.17487/RFC2386"/>
        </reference>
        <reference anchor="RFC3209" target="https://www.rfc-editor.org/info/rfc3209" quoteTitle="true" derivedAnchor="RFC3209">
          <front>
            <title>RSVP-TE: Extensions to RSVP for LSP Tunnels</title>
            <author initials="D." surname="Awduche" fullname="D. Awduche">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Berger" fullname="L. Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Gan" fullname="D. Gan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Li" fullname="T. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Srinivasan" fullname="V. Srinivasan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Swallow" fullname="G. Swallow">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2001" month="December"/>
            <abstract>
              <t indent="0">This document describes the use of RSVP (Resource Reservation Protocol), including all the necessary extensions, to establish label-switched paths (LSPs) in MPLS (Multi-Protocol Label Switching).  Since the flow along an LSP is completely identified by the label applied at the ingress node of the path, these paths may be treated as tunnels.  A key application of LSP tunnels is traffic engineering with MPLS as specified in RFC 2702.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3209"/>
          <seriesInfo name="DOI" value="10.17487/RFC3209"/>
        </reference>
        <reference anchor="RFC3473" target="https://www.rfc-editor.org/info/rfc3473" quoteTitle="true" derivedAnchor="RFC3473">
          <front>
            <title>Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions</title>
            <author initials="L." surname="Berger" fullname="L. Berger" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2003" month="January"/>
            <abstract>
              <t indent="0">This document describes extensions to Multi-Protocol Label Switching (MPLS) Resource ReserVation Protocol - Traffic Engineering (RSVP-TE) signaling required to support Generalized MPLS.  Generalized MPLS extends the MPLS control plane to encompass time-division (e.g., Synchronous Optical Network and Synchronous Digital Hierarchy, SONET/SDH), wavelength (optical lambdas) and spatial switching (e.g., incoming port or fiber to outgoing port or fiber).  This document presents a RSVP-TE specific description of the extensions.  A generic functional description can be found in separate documents.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3473"/>
          <seriesInfo name="DOI" value="10.17487/RFC3473"/>
        </reference>
        <reference anchor="RFC3670" target="https://www.rfc-editor.org/info/rfc3670" quoteTitle="true" derivedAnchor="RFC3670">
          <front>
            <title>Information Model for Describing Network Device QoS Datapath Mechanisms</title>
            <author initials="B." surname="Moore" fullname="B. Moore">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Durham" fullname="D. Durham">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Strassner" fullname="J. Strassner">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Westerinen" fullname="A. Westerinen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Weiss" fullname="W. Weiss">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2004" month="January"/>
            <abstract>
              <t indent="0">The purpose of this document is to define an information model to describe the quality of service (QoS) mechanisms inherent in different network devices, including hosts.  Broadly speaking, these mechanisms describe the properties common to selecting and conditioning traffic through the forwarding path (datapath) of a network device.  This selection and conditioning of traffic in the datapath spans both major QoS architectures: Differentiated Services and Integrated Services.  This document should be used with the QoS Policy Information Model (QPIM) to model how policies can be defined to manage and configure the QoS mechanisms (i.e., the classification, marking, metering, dropping, queuing, and scheduling functionality) of devices.  Together, these two documents describe how to write QoS policy rules to configure and manage the QoS mechanisms present in the datapaths of devices.  This document, as well as QPIM, are information models.  That is, they represent information independent of a binding to a specific type of repository</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3670"/>
          <seriesInfo name="DOI" value="10.17487/RFC3670"/>
        </reference>
        <reference anchor="RFC4301" target="https://www.rfc-editor.org/info/rfc4301" quoteTitle="true" derivedAnchor="RFC4301">
          <front>
            <title>Security Architecture for the Internet Protocol</title>
            <author initials="S." surname="Kent" fullname="S. Kent">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Seo" fullname="K. Seo">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005" month="December"/>
            <abstract>
              <t indent="0">This document describes an updated version of the "Security Architecture for IP", which is designed to provide security services for traffic at the IP layer.  This document obsoletes RFC 2401 (November 1998).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4301"/>
          <seriesInfo name="DOI" value="10.17487/RFC4301"/>
        </reference>
        <reference anchor="RFC4872" target="https://www.rfc-editor.org/info/rfc4872" quoteTitle="true" derivedAnchor="RFC4872">
          <front>
            <title>RSVP-TE Extensions in Support of End-to-End Generalized Multi-Protocol Label Switching (GMPLS) Recovery</title>
            <author initials="J.P." surname="Lang" fullname="J.P. Lang" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Papadimitriou" fullname="D. Papadimitriou" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="May"/>
            <abstract>
              <t indent="0">This document describes protocol-specific procedures and extensions for Generalized Multi-Protocol Label Switching (GMPLS) Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE) signaling to support end-to-end Label Switched Path (LSP) recovery that denotes protection and restoration.  A generic functional description of GMPLS recovery can be found in a companion document, RFC 4426.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4872"/>
          <seriesInfo name="DOI" value="10.17487/RFC4872"/>
        </reference>
        <reference anchor="RFC4873" target="https://www.rfc-editor.org/info/rfc4873" quoteTitle="true" derivedAnchor="RFC4873">
          <front>
            <title>GMPLS Segment Recovery</title>
            <author initials="L." surname="Berger" fullname="L. Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Bryskin" fullname="I. Bryskin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Papadimitriou" fullname="D. Papadimitriou">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="May"/>
            <abstract>
              <t indent="0">This document describes protocol specific procedures for GMPLS (Generalized Multi-Protocol Label Switching) RSVP-TE (Resource ReserVation Protocol - Traffic Engineering) signaling extensions to support label switched path (LSP) segment protection and restoration. These extensions are intended to complement and be consistent with the RSVP-TE Extensions for End-to-End GMPLS Recovery (RFC 4872). Implications and interactions with fast reroute are also addressed. This document also updates the handling of NOTIFY_REQUEST objects.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4873"/>
          <seriesInfo name="DOI" value="10.17487/RFC4873"/>
        </reference>
        <reference anchor="RFC5575" target="https://www.rfc-editor.org/info/rfc5575" quoteTitle="true" derivedAnchor="RFC5575">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author initials="P." surname="Marques" fullname="P. Marques">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Sheth" fullname="N. Sheth">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Raszuk" fullname="R. Raszuk">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Greene" fullname="B. Greene">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Mauch" fullname="J. Mauch">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="McPherson" fullname="D. McPherson">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="August"/>
            <abstract>
              <t indent="0">This document defines a new Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute traffic flow specifications.  This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.</t>
              <t indent="0">Additionally, it defines two applications of that encoding format: one that can be used to automate inter-domain coordination of traffic filtering, such as what is required in order to mitigate (distributed) denial-of-service attacks, and a second application to provide traffic filtering in the context of a BGP/MPLS VPN service.</t>
              <t indent="0">The information is carried via the BGP, thereby reusing protocol algorithms, operational experience, and administrative processes such as inter-provider peering agreements.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5575"/>
          <seriesInfo name="DOI" value="10.17487/RFC5575"/>
        </reference>
        <reference anchor="RFC5654" target="https://www.rfc-editor.org/info/rfc5654" quoteTitle="true" derivedAnchor="RFC5654">
          <front>
            <title>Requirements of an MPLS Transport Profile</title>
            <author initials="B." surname="Niven-Jenkins" fullname="B. Niven-Jenkins" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Brungard" fullname="D. Brungard" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Betts" fullname="M. Betts" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Sprecher" fullname="N. Sprecher">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Ueno" fullname="S. Ueno">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="September"/>
            <abstract>
              <t indent="0">This document specifies the requirements of an MPLS Transport Profile (MPLS-TP).  This document is a product of a joint effort of the International Telecommunications Union (ITU) and IETF to include an MPLS Transport Profile within the IETF MPLS and PWE3 architectures to support the capabilities and functionalities of a packet transport network as defined by International Telecommunications Union - Telecommunications Standardization Sector (ITU-T).</t>
              <t indent="0">This work is based on two sources of requirements: MPLS and PWE3 architectures as defined by IETF, and packet transport networks as defined by ITU-T.</t>
              <t indent="0">The requirements expressed in this document are for the behavior of the protocol mechanisms and procedures that constitute building blocks out of which the MPLS Transport Profile is constructed.  The requirements are not implementation requirements.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5654"/>
          <seriesInfo name="DOI" value="10.17487/RFC5654"/>
        </reference>
        <reference anchor="RFC6387" target="https://www.rfc-editor.org/info/rfc6387" quoteTitle="true" derivedAnchor="RFC6387">
          <front>
            <title>GMPLS Asymmetric Bandwidth Bidirectional Label Switched Paths (LSPs)</title>
            <author initials="A." surname="Takacs" fullname="A. Takacs">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Berger" fullname="L. Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Caviglia" fullname="D. Caviglia">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Fedyk" fullname="D. Fedyk">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Meuric" fullname="J. Meuric">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="September"/>
            <abstract>
              <t indent="0">This document defines a method for the support of GMPLS asymmetric bandwidth bidirectional Label Switched Paths (LSPs).  The approach presented is applicable to any switching technology and builds on the original Resource Reservation Protocol (RSVP) model for the transport of traffic-related parameters.  This document moves the experiment documented in RFC 5467 to the standards track and obsoletes RFC 5467. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6387"/>
          <seriesInfo name="DOI" value="10.17487/RFC6387"/>
        </reference>
        <reference anchor="RFC7426" target="https://www.rfc-editor.org/info/rfc7426" quoteTitle="true" derivedAnchor="RFC7426">
          <front>
            <title>Software-Defined Networking (SDN): Layers and Architecture Terminology</title>
            <author initials="E." surname="Haleplidis" fullname="E. Haleplidis" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Pentikousis" fullname="K. Pentikousis" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Denazis" fullname="S. Denazis">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Hadi Salim" fullname="J. Hadi Salim">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Meyer" fullname="D. Meyer">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O." surname="Koufopavlou" fullname="O. Koufopavlou">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="January"/>
            <abstract>
              <t indent="0">Software-Defined Networking (SDN) refers to a new approach for network programmability, that is, the capacity to initialize, control, change, and manage network behavior dynamically via open interfaces.  SDN emphasizes the role of software in running networks through the introduction of an abstraction for the data forwarding plane and, by doing so, separates it from the control plane.  This separation allows faster innovation cycles at both planes as experience has already shown.  However, there is increasing confusion as to what exactly SDN is, what the layer structure is in an SDN architecture, and how layers interface with each other.  This document, a product of the IRTF Software-Defined Networking Research Group (SDNRG), addresses these questions and provides a concise reference for the SDN research community based on relevant peer-reviewed literature, the RFC series, and relevant documents by other standards organizations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7426"/>
          <seriesInfo name="DOI" value="10.17487/RFC7426"/>
        </reference>
        <reference anchor="RFC7551" target="https://www.rfc-editor.org/info/rfc7551" quoteTitle="true" derivedAnchor="RFC7551">
          <front>
            <title>RSVP-TE Extensions for Associated Bidirectional Label Switched Paths (LSPs)</title>
            <author initials="F." surname="Zhang" fullname="F. Zhang" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Jing" fullname="R. Jing">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Gandhi" fullname="R. Gandhi" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="May"/>
            <abstract>
              <t indent="0">This document describes Resource Reservation Protocol (RSVP) extensions to bind two point-to-point unidirectional Label Switched Paths (LSPs) into an associated bidirectional LSP.  The association is achieved by defining new Association Types for use in ASSOCIATION and in Extended ASSOCIATION Objects. One of these types enables independent provisioning of the associated bidirectional LSPs on both sides, while the other enables single-sided provisioning.  The REVERSE_LSP Object is also defined to enable a single endpoint to trigger creation of the reverse LSP and to specify parameters of the reverse LSP in the single-sided provisioning case.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7551"/>
          <seriesInfo name="DOI" value="10.17487/RFC7551"/>
        </reference>
        <reference anchor="RFC7657" target="https://www.rfc-editor.org/info/rfc7657" quoteTitle="true" derivedAnchor="RFC7657">
          <front>
            <title>Differentiated Services (Diffserv) and Real-Time Communication</title>
            <author initials="D." surname="Black" fullname="D. Black" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Jones" fullname="P. Jones">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="November"/>
            <abstract>
              <t indent="0">This memo describes the interaction between Differentiated Services (Diffserv) network quality-of-service (QoS) functionality and real- time network communication, including communication based on the Real-time Transport Protocol (RTP).  Diffserv is based on network nodes applying different forwarding treatments to packets whose IP headers are marked with different Diffserv Codepoints (DSCPs). WebRTC applications, as well as some conferencing applications, have begun using the Session Description Protocol (SDP) bundle negotiation mechanism to send multiple traffic streams with different QoS requirements using the same network 5-tuple.  The results of using multiple DSCPs to obtain different QoS treatments within a single network 5-tuple have transport protocol interactions, particularly with congestion control functionality (e.g., reordering).  In addition, DSCP markings may be changed or removed between the traffic source and destination.  This memo covers the implications of these Diffserv aspects for real-time network communication, including WebRTC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7657"/>
          <seriesInfo name="DOI" value="10.17487/RFC7657"/>
        </reference>
        <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950" quoteTitle="true" derivedAnchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author initials="M." surname="Bjorklund" fullname="M. Bjorklund" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="August"/>
            <abstract>
              <t indent="0">YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8040" target="https://www.rfc-editor.org/info/rfc8040" quoteTitle="true" derivedAnchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author initials="A." surname="Bierman" fullname="A. Bierman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Bjorklund" fullname="M. Bjorklund">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Watsen" fullname="K. Watsen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="January"/>
            <abstract>
              <t indent="0">This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC8227" target="https://www.rfc-editor.org/info/rfc8227" quoteTitle="true" derivedAnchor="RFC8227">
          <front>
            <title>MPLS-TP Shared-Ring Protection (MSRP) Mechanism for Ring Topology</title>
            <author initials="W." surname="Cheng" fullname="W. Cheng">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Wang" fullname="L. Wang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Li" fullname="H. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="van Helvoort" fullname="H. van Helvoort">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Dong" fullname="J. Dong">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="August"/>
            <abstract>
              <t indent="0">This document describes requirements, architecture, and solutions for MPLS-TP Shared-Ring Protection (MSRP) in a ring topology for point- to-point (P2P) services.  The MSRP mechanism is described to meet the ring protection requirements as described in RFC 5654.  This document defines the Ring Protection Switching (RPS) protocol that is used to coordinate the protection behavior of the nodes on an MPLS ring.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8227"/>
          <seriesInfo name="DOI" value="10.17487/RFC8227"/>
        </reference>
        <reference anchor="RFC8939" target="https://www.rfc-editor.org/info/rfc8939" quoteTitle="true" derivedAnchor="RFC8939">
          <front>
            <title>Deterministic Networking (DetNet) Data Plane: IP</title>
            <author initials="B" surname="Varga" fullname="Balazs Varga" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Farkas" fullname="Janos Farkas">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L" surname="Berger" fullname="Lou Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Fedyk" fullname="Don Fedyk">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Bryant" fullname="Stewart Bryant">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="November" year="2020"/>
          </front>
          <seriesInfo name="RFC" value="8939"/>
          <seriesInfo name="DOI" value="10.17487/RFC8939"/>
        </reference>
        <reference anchor="SRv6-Network-Prog" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-26" derivedAnchor="SRv6-Network-Prog">
          <front>
            <title>SRv6 Network Programming</title>
            <author initials="C" surname="Filsfils" fullname="Clarence Filsfils" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P" surname="Camarillo" fullname="Pablo Camarillo" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Leddy" fullname="John Leddy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Voyer" fullname="Daniel Voyer">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Matsushima" fullname="Satoru Matsushima">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Z" surname="Li" fullname="Zhenbin Li">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="November" day="26" year="2020"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-network-programming-26"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="acks" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">
    The authors wish to thank <contact fullname="Pat Thaler"/>, <contact fullname="Norman Finn"/>, <contact fullname="Loa Andersson"/>, <contact fullname="David Black"/>, <contact fullname="Rodney Cummings"/>, <contact fullname="Ethan Grossman"/>, <contact fullname="Tal Mizrahi"/>, <contact fullname="David Mozes"/>, <contact fullname="Craig Gunther"/>, <contact fullname="George Swallow"/>, <contact fullname="Yuanlong Jiang"/>, and
    <contact fullname="Carlos J. Bernardos"/> for their various contributions
    to this work.
      </t>
    </section>
    <section anchor="contrib" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.b-1">
    The following people contributed substantially to the content of this
    document:</t>
      <ul empty="true" spacing="compact" bare="false" indent="3" pn="section-appendix.b-2">
        <li pn="section-appendix.b-2.1">
          <t indent="0" pn="section-appendix.b-2.1.1"><contact fullname="Don Fedyk"/></t>
        </li>
        <li pn="section-appendix.b-2.2">
          <t indent="0" pn="section-appendix.b-2.2.1"><contact fullname="Jouni Korhonen"/></t>
        </li>
      </ul>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author role="editor" fullname="Balázs Varga" initials="B." surname="Varga">
        <organization showOnFrontPage="true">Ericsson</organization>
        <address>
          <postal>
            <street>Magyar Tudosok krt. 11.</street>
            <city>Budapest</city>
            <country>Hungary</country>
            <code>1117</code>
          </postal>
          <email>balazs.a.varga@ericsson.com</email>
        </address>
      </author>
      <author fullname="János Farkas" initials="J." surname="Farkas">
        <organization showOnFrontPage="true">Ericsson</organization>
        <address>
          <postal>
            <street>Magyar Tudosok krt. 11.</street>
            <city>Budapest</city>
            <country>Hungary</country>
            <code>1117</code>
          </postal>
          <email>janos.farkas@ericsson.com</email>
        </address>
      </author>
      <author fullname="Lou Berger" initials="L." surname="Berger">
        <organization showOnFrontPage="true">LabN Consulting, L.L.C.</organization>
        <address>
          <email>lberger@labn.net</email>
        </address>
      </author>
      <author fullname="Andrew G. Malis" initials="A." surname="Malis">
        <organization showOnFrontPage="true">Malis Consulting</organization>
        <address>
          <email>agmalis@gmail.com</email>
        </address>
      </author>
      <author fullname="Stewart Bryant" initials="S." surname="Bryant">
        <organization showOnFrontPage="true">Futurewei Technologies</organization>
        <address>
          <email>sb@stewartbryant.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
