DetNet                                                  J. Korhonen, Ed.
Internet-Draft
Intended status: Standards Track                           B. Varga, Ed.
Expires: January 1, April 24, 2019                                         Ericsson
                                                           June 30,
                                                        October 21, 2018

                   DetNet IP Data Plane Encapsulation
                     draft-ietf-detnet-dp-sol-ip-00
                     draft-ietf-detnet-dp-sol-ip-01

Abstract

   This document specifies Deterministic Networking data plane operation
   for IP encapsulated user data.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 1, April 24, 2019.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Terms used in this document . . . . . . . . . . . . . . .   3
     2.2.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .   3
     2.3.  Requirements language . . . . . . . . . . . . . . . . . .   4
   3.  DetNet IP Data Plane Overview . . . . . . . . . . . . . . . .   4
     3.1.  DetNet IP Flow Identification . . . . . . . . . . . . . .   7
     3.2.  DetNet Data Plane Requirements  . . . . . . . . . . . . .   8
   4.  DetNet IP Data Plane Considerations . . . . . . . . . . . . .   8   7
     4.1.  End-system specific considerations  . . . . . . . . . . .   9   8
     4.2.  DetNet domain specific considerations . . . . . . . . . .  10   9
       4.2.1.  DetNet Routers  . . . . . . . . . . . . . . . . . . .  11  10
     4.3.  Networks with multiple technology segments  . . . . . . .  12  11
     4.4.  OAM . . . . . . . . . . . . . . . . . . . . . . . . . . .  12
     4.5.  Class of Service  . . . . . . . . . . . . . . . . . . . .  12
     4.6.  Quality of Service  . . . . . . . . . . . . . . . . . . .  13
     4.7.  Cross-DetNet flow resource aggregation  . . . . . . . . .  14
     4.8.  Time synchronization  . . . . . . . . . . . . . . . . . .  15  14
   5.  Management and control plane considerations . . . . . . . . .  15
     5.1.  Explicit routes . . . . . . . . . . . . . . . . . . . . .  16  15
     5.2.  Service protection  . . . . . . . . . . . . . . . . . . .  16  15
     5.3.  Congestion protection and latency control . . . . . . . .  16  15
     5.4.  Flow aggregation control  . . . . . . . . . . . . . . . .  16  15
     5.5.  Bidirectional traffic . . . . . . . . . . . . . . . . . .  16
   6.  DetNet IP Encapsulation Data Plane Procedures . . . . . . . . . . . . .  17 . .  16
     6.1.  Multi-Path Considerations  DetNet IP Flow Identification Procedures  . . . . . . . .  16
       6.1.1.  IP Header Information . . . . . . . . . . . . . . . .  17
       6.1.2.  Other Protocol Header Information . . . . . . . . . .  18
       6.1.3.  Flow Identification Management and Control
               Information . . . . . . . . . . . . . . . . . . . . .  19
     6.2.  Forwarding Procedures . . . . . . . . . . . . . . . . . .  20
     6.3.  DetNet IP Traffic Treatment Procedures  . . . . . . . . .  20
     6.4.  Aggregation Considerations  . . . . . . . . . . . . . . .  21
   7.  Mapping IP DetNet Flows to IEEE 802.1 TSN . . . . . . . . . .  17  21
     7.1.  TSN Stream ID Mapping . . . . . . . . . . . . . . . . . .  18  22
     7.2.  TSN Usage of FRER . . . . . . . . . . . . . . . . . . . .  18  24
     7.3.  Procedures  . . . . . . . . . . . . . . . . . . . . . . .  25
     7.4.  Management and Control Implications . . . . . . . . . . .  18  25
   8.  Security considerations . . . . . . . . . . . . . . . . . . .  18  25
   9.  IANA considerations . . . . . . . . . . . . . . . . . . . . .  18  25
   10. Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  18  25
   11. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  19  26
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  20  27
     12.1.  Normative references . . . . . . . . . . . . . . . . . .  20  27
     12.2.  Informative references . . . . . . . . . . . . . . . . .  22  29
   Appendix A.  Example of DetNet data plane operation . . . . . . .  24  31
   Appendix B.  Example of pinned paths using IPv6 . . . . . . . . .  24  31
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  24  32

1.  Introduction

   Deterministic Networking (DetNet) is a service that can be offered by
   a network to DetNet flows.  DetNet provides these flows extremely low
   packet loss rates and assured maximum end-to-end delivery latency.
   General background and concepts of DetNet can be found in the DetNet
   Architecture [I-D.ietf-detnet-architecture].

   This document specifies the DetNet data plane operation for IP hosts
   and routers that provide DetNet service to IP encapsulated data.  No
   DetNet specific encapsulation is defined to support IP flows, rather
   existing IP and higher layer protocol header information is used to
   support flow identification and DetNet service delivery.  General background on

   The DetNet Architecture decomposes the use of IP
   headers, DetNet related data plane
   functions into two layers: a service layer and "5-tuples", to identify flows and support Quality of
   Service (QoS) can be found in [RFC3670].  [RFC7657] also provides
   useful background on the delivery differentiated services (DiffServ)
   and "6-tuple" based flow identification.

   The DetNet Architecture decomposes the DetNet related data plane
   functions into two layers: a service layer and a transport layer.
   The service layer is used a transport layer.
   The service layer is used to provide DetNet service protection and
   reordering.  The transport layer is used to provides congestion
   protection (low loss, assured latency, and limited reordering).  As
   no DetNet specific headers are added to support IP DetNet flows, only
   the transport layer functions are supported using the IP DetNet
   defined by this document.  Service protection can be provided on a
   per sub-net basis using technologies such as MPLS
   [I-D.ietf-detnet-dp-sol-mpls] and IEEE802.1 TSN.

   This document provides an overview of the DetNet IP data plane in
   Section 3, considerations that apply to providing DetNet services via
   the DetNet IP data plane in Section 4 and Section 5.  Section 6
   provides the requirements procedures for hosts and routers that support IP-based
   DetNet services.  Finally, Section 7 provides rules for mapping IP-
   based DetNet flows to IEEE 802.1 TSN streams.

2.  Terminology

2.1.  Terms used in this document

   This document uses the terminology and concepts established in the
   DetNet architecture [I-D.ietf-detnet-architecture] the reader is
   assumed to be familiar with that document.

2.2.  Abbreviations

   The following abbreviations used in this document:

   CE            Customer Edge equipment.

   CoS           Class of Service.

   DetNet        Deterministic Networking.

   DF            DetNet Flow.

   L2            Layer-2.

   L3            Layer-3.

   LSP           Label-switched path.

   MPLS          Multiprotocol Label Switching.

   OAM           Operations, Administration, and Maintenance.

   PE            Provider Edge.

   PREOF         Packet Replication, Ordering and Elimination Function.

   PSN           Packet Switched Network.

   PW            Pseudowire.

   QoS           Quality of Service.

   TE            Traffic Engineering.

   TSN           Time-Sensitive Networking, TSN is a Task Group of the
                 IEEE 802.1 Working Group.

2.3.  Requirements language

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

3.  DetNet IP Data Plane Overview

   This document describes how IP is used by DetNet nodes, i.e., hosts
   and routers, to identify DetNet flows and provide a DetNet service.
   From a data plane perspective, an end-to-end IP model is followed.
   As mentioned above, existing IP and higher layer protocol header
   information is used to support flow identification and DetNet service
   delivery.

   DetNet uses "6-tuple" based flow identification, where "6-tuple"
   refers to information carried in IP and higher layer protocol
   headers.  General background on the use of IP headers, and
   "5-tuples", to identify flows and support Quality of Service (QoS)
   can be found in [RFC3670].  [RFC7657] also provides useful background
   on the delivery differentiated services (DiffServ) and "6-tuple"
   based flow identification.

   DetNet flow aggregation may be enabled via the use of wildcards,
   masks, prefixes and ranges.  IP tunnels may also be used to support
   flow aggregation.  In these cases, it is expected that DetNet aware
   intermediate nodes will provide DetNet service assurance on the
   aggregate through resource allocation and congestion control
   mechanisms.

   IP  DetNet       Relay                        Relay       IP DetNet
   End System       Node                         Node        End System

   +---------+                                               +---------+
   |  Appl.  |<--------------- End to End Service ---------->|  Appl.  |
   +---------+    ...........                  ...........   +---------+
   | Service |<---: Service :-- DetNet flow ---: Service :-->| Service |
   +---------+    +---------+                  +---------+   +---------+
   |Transport|    |Transport|                  |Transport|   |Transport|
   +-------.-+    +-.-----.-+                  +-.-----.-+   +---.-----+
           :  Link  :      \       ,-----.      /     /  ,-----.  \
           +........+       +-----[  Sub  ]----+      +-[  Sub  ]-+
                                  [Network]             [Network]
                                   `-----'               `-----'

           |<-DN IP->|    |<-----

           |<--------------------- DetNet IP ---->|      |<-DN IP->| -------------------->|

             Figure 1: A Simple DetNet (DN) Enabled IP Network

   Figure 1 illustrates a DetNet enabled IP network.  The DetNet enabled
   end systems originate IP encapsulated traffic that is identified as
   DetNet flows, relay nodes understand the transport requirements of
   the DetNet flow and ensure that node, interface and sub-network
   resources are allocated to ensure DetNet service requirements.  The
   dotted line around the Service component of the Relay Nodes indicates
   that the transit routers are DetNet service aware but do not perform
   any DetNet service layer function, e.g., PREOF.  IEEE 802.1 TSN is an
   example sub-network type which can provide support for DetNet flows
   and service.  The mapping of IP DetNet flows to TSN streams and TSN
   protection mechanisms is covered in Section 7.

   Note: The sub-network can represent a TSN, MPLS or IP network
   segment.

   IP  DetNet       Relay          Transit       Relay       IP DetNet
   End System       Node            Node         Node        End System

   +---------+                                               +---------+
   |  Appl.  |<--------------- End to End Service ---------->|  Appl.  |
   +---------+    .....-----+                  +-----.....   +---------+
   | Service |<---: Service |-- DetNet flow ---| Service :-->| Service |
   |         |    :         |<- DN MPLS flow ->|         :   |         |
   +---------+    +---------+   +---------+    +---------+   +---------+
   |Transport|    |Trp| |Trp|   |Transport|    |Trp| |Trp|   |Transport|
   +-------.-+    +-.-+ +-.-+   +---.---.-+    +-.-+ +-.-+   +---.-----+
           :  Link  :    /  ,-----.  \  :  Link  :    /  ,-----.  \
           +........+    +-[  Sub  ]-+  +........+    +-[   +--[  Sub  ]-+  ]--+
                           [Network]                    [Network]
                            `-----'                      `-----'

           |<-DN IP->|

                         |<---- DetNet MPLS ---->|      |<-DN IP->|
           |<--------------------- DetNet IP -------------------->|

                Figure 2: DetNet (DN) IP Over MPLS Network

   Figure 2 illustrates a variant of Figure 1, with an MPLS based DetNet
   network as a sub-network between the relay nodes.  It shows a more
   complex DetNet enabled IP network where an IP flow is mapped to one
   or more PWs and MPLS (TE) LSPs.  The end systems still originate IP
   encapsulated traffic that is identified as DetNet flows.  The relay
   nodes follow procedures defined in [I-D.ietf-detnet-dp-sol-mpls] to
   map each DetNet flow to MPLS LSPs.  While not shown, relay nodes can
   provide service layer functions such as PREOF over the MPLS transport
   layer, and this is indicated by the solid line for the MPLS facing
   portion of the Service component.  Note that the Transit node is MPLS
   (TE) LSP aware and performs switching based on MPLS labels, and need
   not have any specific knowledge of the DetNet service or the
   corresponding DetNet flow identification.  See
   [I-D.ietf-detnet-dp-sol-mpls] for details on the mapping of IP flows
   to MPLS as well as general support for DetNet services using MPLS.

   IP               Edge                        Edge         IP
   End System       Node                        Node         End System

   +---------+    +.........+                  +.........+   +---------+
   |  Appl.  |<---:Svc Proxy:-- E2E Service ---:Svc Proxy:-->|  Appl.  |
   +---------+    +---------+                  +---------+    +.........+                  +.........+   +---------+
   |   IP    |    |IP | |Svc|<-- DetNet    |<---:IP : :Svc:----- IP flow ->|Svc| |IP |   | ----:Svc: :IP :-->|   IP    |
   +---------+    +---+ +---+                  +---+ +---+   +---------+
   |Transport|    |Trp| |Trp|                  |Trp| |Trp|   |Transport|
   +-------.-+    +-.-+ +-.-+                  +-.-+ +-.-+   +---.-----+
           :  Link  :      \       ,-----.      /     /  ,-----.  \
           +........+       +-----[  Sub  ]---+      +-[  ]----+     +--[  Sub  ]-+  ]--+
                                  [Network]             [Network]
                                   `-----'               `-----'

         |<----IP

         |<--- IP --->|    |<----- |<------ DetNet IP ------>|     |<----IP ------->| |<--- IP --->|

      Figure 3: Non-DetNet aware IP end systems with IP DetNet Domain

   Figure 3 illustrates a another variant of Figure 1 where the end
   systems are not DetNet aware.  In this case, edge nodes sit at the
   boundary of the DetNet domain and act as provide DetNet service proxies for
   the end applications by initiating and terminating DetNet service for
   the
   non-DetNet aware application's IP flows.  The existing header information or an
   approach such as described in Section 4.7 can be used to support
   DetNet flow identification.

3.1.  DetNet IP Flow Identification

   Non-DetNet and DetNet IP flows packets are identified based identical on IP, both IPv4 [RFC0791] and
   IPv6 [RFC8200], header information.  6 header fields are used and
   this set of fields the wire.  From
   data plane perspective, the only difference is commonly referred to as that there is flow-
   associated DetNet information on each DetNet node that defines the
   flow related characteristics and required forwarding behavior.  As
   shown above, edge nodes provide a Service Proxy function that
   "associates" one or more IP header
   "6-tuple".  The 6 fields include flows with the IP source appropriate DetNet flow-
   specific information and destination
   address fields, ensures that the next level protocol or header field, receives the next
   level protocol (e.g.  TCP or UDP) source and destination ports, and proper traffic
   treatment within the IPv4 Type of Service or IPv6 Traffic Class field (i.e., DSCP).
   As part domain.

   Note: The operation of single IEEE802.1 TSN end systems over DetNet flow identification, any of the fields can
   be ignored (wildcarded), and bit masks, prefix based longest match,
   and ranges can also enabled
   IP networks is not described in this document.  While TSN flows could
   be used. encapsulated in IP packets by an IP End System or DetNet flow aggregation may be enabled via Edge Node
   in order to produce DetNet IP flows, the use details of wildcards,
   masks, prefixes and ranges. such are out of
   scope of this document.

4.  DetNet IP tunnels may also be used Data Plane Considerations

   This section provides informative considerations related to support
   flow aggregation.  In these cases, it is expected that DetNet aware
   intermediate nodes will provide providing
   DetNet service assurance to flows which are identified based on their header
   information.  At a high level, the
   aggregate through resource allocation following are provided on a per
   flow basis:

   Congestion protection and congestion control
   mechanisms.

3.2.  DetNet Data Plane Requirements

   Two major groups of scenarios can be distinguished which require flow
   identification during transport:

   1.  DetNet function related scenarios:

       Congestion protection and latency control:

          Usage latency control:

      Usage of allocated resources (queuing, policing, shaping) to
      ensure that the congestion-related loss and latency/jitter
      requirements of a DetNet flow are met.

   Explicit routes: a reservation that maps a flow to

      Use of a specific
          path, which also path for a flow.  This limits miss-ordering and jitter.  The
          spreading of a single DetNet flow across multiple paths, e.g.,
          via ECMP, also impacts ordering and end-to-end jitter, and as
          such use of multiple paths for support of a single DetNet flow
          is is out
      can improve delivery of scope this document. deterministic latency.

   Service protection:

      Which in the case of this document translates to changing the
      explicit path after a failure is detected while maintaining in order to restore
      delivery of the required DetNet service characteristics.  Path
      changes, even in the case of failure recovery, can lead to the out
      of order delivery of data.

      Note: DetNet PREOF is not provided by the mechanisms defined in
      this document.

   2.  OAM function related scenarios:

   Load sharing:

      Generally, distributing packets of the same DetNet flow over
      multiple paths is not recommended.  Such load sharing, e.g., via
      ECMP or UCMP, impacts ordering and end-to-end jitter.

   Troubleshooting:

      For example, identify to support identification of misbehaving flows.

   Recognize flow(s) for analytics:

      For example, increase counters.

   Correlate events with flows:

      For example, volume above threshold.

4.  DetNet IP Data Plane Considerations

   This section provides informative considerations related to providing
   DetNet services via IP. unexpected loss.

4.1.  End-system specific considerations

   Data-flows requiring DetNet service are generated and terminated on
   end systems.  This document deals only with IP end systems.  The specific
   protocols used by an IP end system are specific to an application. application and
   end systems peer with end systems using the same application
   encapsulation format.  This said, DetNet's use of 6-tuple IP flow
   identification means that DetNet must be aware of not only the format
   of the IP header, but also of the next protocol carried within an IP
   packet.

   When IP end systems are DetNet aware, no application-level or
   service-level proxy functions are needed inside the DetNet domain, so
   end systems peer with end systems using the same application
   encapsulation format (see Figure 4).

             +-----+
             |  X  |                               +-----+
             +-----+                               |  X  |
             |  IP |               ________        +-----+
             +-----+     _____    /        \       |  IP |
                    \   /     \__/          \___   +-----+
                     \ /                        \ /
                      0========= flow-1 =========0_
                      |                             \
                       \                             |
                       0========== flow-2 ==========0
                      / \                        __/ \
               +-----+   \__ domain.
   For DetNet domain  /     \
               |  X  |      \         __       /       +-----+
               +-----+       \_______/  \_____/        |  X  |
               |  IP |                                 +-----+
               +-----+                                 | unaware IP |
                                                       +-----+

                Figure 4: End-systems and end systems service-level proxy functions are
   needed inside the DetNet domain domain.

   End systems need to ensure that DetNet service requirements are met
   when processing packets associated with a DetNet flow.  When
   transporting packets, this generally means that packets are appropriately
   shaped on transmission and received appropriate traffic treatment on
   the connected sub-network, see Section 4.6 and Section 4.2.1 for more
   details.  When receiving packets, this
   generally means that there are
   appropriate local node resources, e.g., buffers, to receive and
   process a DetNet flow packets.

4.2.  DetNet domain specific considerations

   As a general rule, DetNet IP domains need to be able to forward any
   DetNet flow identified by the IP 6-tuple.  Doing otherwise would
   limit end system encapsulation format.  From a practical standpoint
   this means that all nodes along the end-to-end path of a DetNet flows
   need to agree on what fields are used for flow identification, and
   the transport protocols (e.g., TCP/UDP/IPsec) which can be used to
   identify 6-tuple protocol ports.

   [Editor's note: Update accordingly.  BV to take a pass at update.]

   From a connection type perspective three two scenarios are identified:

   1.  Directly  DN attached: end system is directly connected to an edge
       node.

   2.  Indirectly attached: node or
       end system is behind a (L2-TSN / L3-DetNet)
       sub-networks.

   3. sub-network.  (See ES1 and ES2 in figure
       below)

   2.  DN integrated: end system is part of the DetNet domain.  (See ES3
       in figure below)

   L3 (IP) end systems may use any of these connection types, however L2 end
   systems may use only the first two (directly or indirectly attached). types.  DetNet
   domain MUST allow communication between any end-systems of using the
   same type (L2-L2, L3-L3), encapsulation format, independent of their connection type and
   DetNet capability.  However, directly attached and indirectly  DN attached end systems have no knowledge about
   the DetNet domain and its encapsulation format at all. format.  See Figure 5 4 for L3
   end system connection scenarios.

                                               ____+----+
                       +----+        _____    /    | ES3|
                       | ES1|____   /     \__/     +----+___
                       +----+    \ /                        \
                                  +                          |
                          ____     \                        _/
            +----+     __/    \     +__    DetNet domain   /
            | ES2|____/  L2/L3 |___/   \         __     __/
            +----+    \_______/         \_______/  \___/

               Figure 5: 4: Connection types of L3 end systems

4.2.1.  DetNet Routers

   Within a DetNet domain, the DetNet enabled IP Routers interconnect
   links and sub-networks to support end-to-end delivery of DetNet
   flows.  From a DetNet architecture perspective, these routers are
   DetNet relays, as they must be DetNet service aware.  Such routers
   identify DetNet flows based on the IP 6-tuple, and ensure that the
   DetNet service required traffic treatment is provided both on the
   node and on any attached sub-network.

   This solution provides DetNet functions end to end, but does so on a
   per link and sub-network basis.  Congestion protection and latency
   control and the resource allocation (queuing, policing, shaping) are
   supported using the underlying link / sub net specific mechanisms.
   However, service protections (packet replication and packet
   emilination
   elimination functions) are not provided at the DetNet layer end to
   end.  But such service protection can be provided on a per underlying
   L2 link and sub-network basis.

                     +------+                         +------+
                     |  X   |                         |  X   |
                     +======+                         +------+
          End-system |  IP  |                         |  IP  |
                -----+------+-------+======+---     --+======+--
          DetNet                    |L2/SbN|          |L2/SbN|
                                    +------+          +------+

   Figure 6: 5: Encapsulation of DetNet Routing in simplified IP service L3
                                end-systems

   Note: the

   The DetNet Service Flow MUST be mapped to the link / sub-
   network sub-network
   specific resources using an underlying system specific means.  This
   implies each DetNet aware node on path MUST look into the transported
   DetNet Service Flow packet and utilize e.g., a 5- (or 6-) tuple to
   find out the required mapping within a node.

   As noted earlier, the Service Protection is done within each link / sub-
   network
   sub-network independently using the domain specific mechanisms (due
   the lack of a unified end to end sequencing information that would be
   available for intermediate nodes).  Therefore, service protection (if
   any) cannot be provided end-to-end, only within sub-networks.  This
   is shown for a three sub-network scenario in Figure 6, where each
   sub-network can provide service protection between its borders.

                                    ______
                          ____     /      \__
               ____      /     \__/          \___   ______
   +----+   __/    +====+                       +==+      \     +----+
   |src |__/ SubN1  )   |                       |  \ SubN3 \____| dst|
   +----+  \_______/    \       Sub-Network2    |   \______/    +----+
                         \_                    _/
                           \         __     __/
                            \_______/  \___/

             +---+        +---------E--------+      +-----+
   +----+    |   |        |         |        |      |     |      +----+
   |src |----R   E--------R     +---+        E------R     E------+ dst|
   +----+    |   |        |     |            |      |     |      +----+
             +---+        +-----R------------+      +-----+

    Figure 6: Replication and elimination in sub-networks for DetNet IP
                                 networks

   If end to end service protection is desired that can be implemented,
   for example, by the DetNet end systems using Layer-4 (L4) transport
   protocols or application protocols.  However, these are out of scope
   of this document.

   [Editor's note: the service protection to be clarified further.]

4.3.  Networks with multiple technology segments

   There are network scenarios, where the DetNet domain contains
   multiple technology segments (IEEE 802.1 TSN, MPLS) and all those
   segments are under the same administrative control (see Figure 7).
   Furthermore, DetNet nodes may be interconnected via TSN segments.

   DetNet routers ensure that detnet service requirements are met per
   hop by allocating local resources, both receive and transmit, and by
   mapping the service requirements of each flow to appropriate sub-
   network mechanisms.  Such mapping is sub-network technology specific.
   The mapping of IP DetNet Flows to MPLS is covered
   [I-D.ietf-detnet-dp-sol-mpls].  The mapping of IP DetNet Flows to
   IEEE 802.1 TSN is covered in Section 7.

                                      ______
                            _____    /      \__
               ____        /     \__/          \___    ______
   +----+   __/    +======+                        +==+      \   +----+
   |src |__/  Seg1  )     |                        |  \  Seg3 \__| dst|
   +----+  \_______+      \        Segment-2       |   \+_____/  +----+
                    \======+__                    _+===/
                              \         __     __/
                               \_______/  \___/

         Figure 7: DetNet domains and multiple technology segments

4.4.  OAM

   [Editor's note: This section is TBD] TBD.  OAM may be dropped from this
   document and left for future study.]

4.5.  Class of Service

   [Editor's note: this section is TBD]

   Class and quality of service, i.e., CoS and QoS, are terms that are
   often used interchangeably and confused.  In the context of DetNet,
   CoS is used to refer to mechanisms that provide traffic forwarding
   treatment based on aggregate group basis and QoS is used to refer to
   mechanisms that provide traffic forwarding treatment based on a
   specific DetNet flow basis.  Examples of existing network level CoS
   mechanisms include DiffServ which is enabled by IP header
   differentiated services code point (DSCP) field [RFC2474] and MPLS
   label traffic class field [RFC5462], and at Layer-2, by IEEE 802.1p
   priority code point (PCP).

   CoS for DetNet flows carried in PWs and MPLS is provided using the
   existing MPLS Differentiated Services (DiffServ) architecture
   [RFC3270].  Both E-LSP and L-LSP MPLS DiffServ modes MAY be used to
   support DetNet flows.  The Traffic Class field (formerly the EXP
   field) of an MPLS label follows the definition of [RFC5462] and
   [RFC3270].  The Uniform, Pipe, and Short Pipe DiffServ tunneling and
   TTL processing models are described in [RFC3270] and [RFC3443] and
   MAY be used for MPLS LSPs supporting DetNet flows.  MPLS ECN MAY also
   be used as defined in ECN [RFC5129] and updated by [RFC5462].

   CoS for DetNet flows carried in IPv6 is provided using the standard
   differentiated services code point (DSCP) field [RFC2474] and related
   mechanisms.  The 2-bit explicit congestion notification (ECN)
   [RFC3168] field MAY also be used.

   One additional consideration for DetNet nodes which support CoS
   services is that they MUST ensure that the CoS service classes do not
   impact the congestion protection and latency control mechanisms used
   to provide DetNet QoS.  This requirement is similar to requirement
   for MPLS LSRs to that CoS LSPs do not impact the resources allocated
   to TE LSPs via [RFC3473].

4.6.  Quality of Service

   [Editor's note: Keep this section.  We should document the used
   technologies but the detailed discussion may go somewhere else.  We
   should start having it here and then decide whether to move to some
   other document.]

   Quality of Service (QoS) mechanisms for flow specific traffic
   treatment typically includes a guarantee/agreement for the service,
   and allocation of resources to support the service.  Example QoS
   mechanisms include discrete resource allocation, admission control,
   flow identification and isolation, and sometimes path control,
   traffic protection, shaping, policing and remarking.  Example
   protocols that support QoS control include Resource ReSerVation
   Protocol (RSVP) [RFC2205] (RSVP) and RSVP-TE [RFC3209] and [RFC3473].
   The existing MPLS mechanisms defined to support CoS [RFC3270] can
   also be used to reserve resources for specific traffic classes.

   In addition to explicit routes, and packet replication and
   elimination, DetNet provides zero congestion loss and bounded latency
   and jitter.  As described in [I-D.ietf-detnet-architecture], there
   are different mechanisms that maybe used separately or in combination
   to deliver a zero congestion loss service.  These mechanisms are
   provided by the either the MPLS or IP layers, and may be combined
   with the mechanisms defined by the underlying network layer such as
   802.1TSN.

   A baseline set of QoS capabilities for DetNet flows carried in PWs
   and MPLS can provided by MPLS with Traffic Engineering (MPLS-TE)
   [RFC3209] and [RFC3473].  TE LSPs can also support explicit routes
   (path pinning).  Current service definitions for packet TE LSPs can
   be found in "Specification of the Controlled Load Quality of
   Service", [RFC2211], "Specification of Guaranteed Quality of
   Service", [RFC2212], and "Ethernet Traffic Parameters", [RFC6003].
   Additional service definitions are expected in future documents to
   support the full range of DetNet services.  In all cases, the
   existing label-based marking mechanisms defined for TE-LSPs and even
   E-LSPs are use to support the identification of flows requiring
   DetNet QoS.

   QoS for DetNet service flows carried in IP MUST be provided locally
   by the DetNet-aware hosts and routers supporting DetNet flows.  Such
   support will leverage the underlying network layer such as 802.1TSN.
   The traffic control mechanisms used to deliver QoS for IP
   encapsulated DetNet flows are expected to be defined in a future
   document.  From an encapsulation perspective, the combination of the
   "6 tuple" i.e., the typical 5 tuple enhanced with the DSCP code,
   uniquely identifies a DetNet service flow.

   Packets that are marked with a DetNet Class of Service value, but
   that have not been the subject of a completed reservation, can
   disrupt the QoS offered to properly reserved DetNet flows by using
   resources allocated to the reserved flows.  Therefore, the network
   nodes of a DetNet network must:

   o  Defend the DetNet QoS by discarding or remarking (to a non-DetNet
      CoS) packets received that are not the subject of a completed
      reservation.

   o  Not use a DetNet reserved resource, e.g. a queue or shaper
      reserved for DetNet flows, for any packet that does not carry a
      DetNet Class of Service marker.

4.7.  Cross-DetNet flow resource aggregation

   [Editor's note: Aggregation is FFS.  The addregation can be provided
   via encapsulation or header wildcards]

   The ability to aggregate individual flows, and their associated
   resource control, into a larger aggregate is an important technique
   for improving scaling of control in the data, management and control
   planes.  This document identifies the traffic identification related
   aspects of aggregation of DetNet flows.  The resource control and
   management aspects of aggregation (including the queuing/shaping/
   policing implications) will be covered in other documents.  The data
   plane implications of aggregation are independent for PW/MPLS and IP
   encapsulated DetNet flows.

   DetNet flows transported via IP have more limited aggregation
   options, due to the available traffic flow identification fields of
   the IP solution.  One available approach is to manage the resources
   associated with a DSCP identified traffic class and to map (remark)
   individually controlled DetNet flows onto that traffic class.  This
   approach also requires that nodes support aggregation ensure that
   traffic from aggregated LSPs are placed (shaped/policed/enqueued) in
   a fashion that ensures the required DetNet service is preserved.

   In both the MPLS and IP cases, additional details of the traffic
   control capabilities needed at a DetNet-aware node may be covered in
   the new service descriptions mentioned above or in separate future
   documents.  Management and control plane mechanisms will also need to
   ensure that the service required on the aggregate flow (H-LSP or
   DSCP) are provided, which may include the discarding or remarking
   mentioned in the previous sections.

4.8.  Time synchronization

   While time synchronization can be important both from the perspective
   of operating the DetNet network itself and from the perspective of
   DetNet-based applications, time synchronization is outside the scope
   of this document.  This said, a DetNet node can also support time
   synchronization or distribution mechanisms.

   For example, [RFC8169] describes a method of recording the packet
   queuing time in an MPLS LSR on a packet by per packet basis and
   forwarding this information to the egress edge system.  This allows
   compensation for any variable packet queuing delay to be applied at
   the packet receiver.  Other mechanisms for IP networks are defined
   based on IEEE Standard 1588 [IEEE1588], such as ITU-T [G.8275.1] and
   [G.8275.2].

   A more detailed discussion of time synchronization is outside the
   scope of this document.

5.  Management and control plane considerations

   [Editor's note: This section needs to be different for MPLS and IP
   solutions.  Most solutions are technology dependant.] dependent.]

   While management plane and control plane are traditionally considered
   separately, from the Data Plane perspective there is no practical
   difference based on the origin of flow provisioning information.
   This document therefore does not distinguish between information
   provided by a control plane protocol, e.g., RSVP-TE [RFC3209] and
   [RFC3473], or by a network management mechanisms, e.g., RestConf
   [RFC8040] and YANG [RFC7950].

   [Editor's note: This section is a work in progress.  discuss here
   what kind of enhancements are needed for DetNet and specifically for
   PREOF and DetNet zero congest loss and latency control.  Need to
   cover both traffic control (queuing) and connection control (control
   plane).]

5.1.  Explicit routes

   [Editor's note: this is TBD.]

5.2.  Service protection

   [Editor's note: this is TBD.]

5.3.  Congestion protection and latency control

   [Editor's note: this is TBD.]

5.4.  Flow aggregation control

   [Editor's note: this is TBD.]

5.5.  Bidirectional traffic

   [Editor's note: This is managed at the management plane or controller
   level.]

   Some DetNet applications generate bidirectional traffic.  While the
   DetNet data plane must support bidirectional DetNet flows, there are
   no special bidirectional features with respect to the data plane
   other than need for the two directions take the same paths.  That is
   to say that bidirectional DetNet flows are solely represented at the
   management and control plane levels, without specific support or
   knowledge within the DetNet data plane.  Fate sharing and associated
   vs co-routed bidirectional flows can be managed at the control level.
   Note, that there is no stated requirement for bidirectional DetNet
   flows to be supported using the same 6-tuple in each direction.
   Control mechanisms will need to support such bidirectional flows but
   such mechanisms are out of scope of this document.  An example
   control plane solution for MPLS can be found in [RFC7551].

6.  DetNet IP Encapsulation Data Plane Procedures

   [Editor's note: RFC2119 conformance language goes here Need to
   support

   This section provides DetNet IP data plane procedures.  These
   procedures have been divided into the following areas: flow
   identification, forwarding and traffic treatment.  Flow
   identification Based on 4 includes those procedures related to matching IP and
   higher layer protocol header fields {ip addrs,
   dscp, nct protocol} need information to support port DetNet flow (state)
   information and service requirements.  Flow identification is also
   sometimes called Traffic classification, for TCP/UDP,
   IPsec spi (?), what else?  Service proxies -- basically same from
   data plane, different from management map example see [RFC5777].
   Forwarding includes those procedures related to local resources]

6.1.  Multi-Path Considerations

   [Note: talk about implications of ECMP/LAG/parallel links -- perhaps
   just say support for such is not covered in next hop selection
   and delivery.  Traffic treatment includes those procedures related to
   providing an identified flow with the document.]

7.  Mapping IP required DetNet service.

   DetNet Flows to IEEE 802.1 TSN

   [Editor's note: This section is TBD - it covers how IP data plane procedures also have implications on the control
   and management of DetNet flows
   operate over an IEEE 802.1 TSN sub-network.  BV to take a pass at
   filling and these are also covered in this section]

   The Time-Sensitive Networking (TSN) Task Group of the IEEE 802.1
   Working Group have defined (and are defining)
   section.  Specifically this section identifies a number of amendments
   to IEEE 802.1Q [IEEE8021Q] that provide zero congestion loss and
   bounded latency in bridged networks.  IEEE 802.1CB [IEEE8021CB]
   defines packet replication and elimination functions
   information elements that should
   prove both compatible with will require support via the management and useful to,
   control interfaces supported by a DetNet networks.

   As is the case node.  The specific
   mechanism used for DetNet, a Layer 2 network node such support is out of the scope of this document.
   A summary of the management and control related information
   requirements is included.  Conformance language is not used in the
   summary as a bridge it applies to future mechanisms such as those that may need be
   provided in YANG models [YANG-REF-TBD].

6.1.  DetNet IP Flow Identification Procedures

   IP and higher layer protocol header information is used to identify the specific
   DetNet flows.  All DetNet implementations that support this document
   MUST identify individual DetNet flows based on the set of information
   identified in this section.  Note, that additional flow
   identification requirements, e.g., to which a packet
   belongs support other higher layer
   protocols, may be defined in order future.

   The configuration and control information used to provide the TSN/DetNet QoS for that packet.  It
   also will likely need identify an
   individual DetNet flow MUST be ordered by an implementation.
   Implementations MUST support a CoS marking, such as fixed order when identifying flows,
   and MUST identify a DetNet flow by the priority field first set of an
   IEEE Std 802.1Q VLAN tag, to give the packet proper service.

   Although matching flow
   information.

   Implementations of this document MUST support DetNet flow
   identification when the implementation is acting as a DetNet end
   systems, a relay node or as an edge node.

6.1.1.  IP Header Information

   Implementations of this document MUST support DetNet flow
   identification methods described based on IP header information.  The IPv4 header is
   defined in IEEE 802.1CB
   [IEEE8021CB] are flexible, [RFC0791] and the IPv6 is defined in fact, include IP 5-tuple [RFC8200].

6.1.1.1.  Source Address Field

   Implementations of this document MUST support DetNet flow
   identification methods, based on the baseline TSN standards assume Source Address field of an IP packet.
   Implementations SHOULD support longest prefix matching for this
   field, see [RFC1812] and [RFC7608].  Note that every
   Ethernet frame belonging to a TSN stream (i.e.  DetNet flow) carries a multicast destination MAC address that is unique to prefix length of
   zero (0) effectively means that flow
   within the bridged network over which it field is carried.  Furthermore,
   IEEE 802.1CB [IEEE8021CB] describes three methods by which a packet
   sequence number can be encoded in ignored.

6.1.1.2.  Destination Address Field

   Implementations of this document MUST support DetNet flow
   identification based on the Destination Address field of an Ethernet frame.

   Ensuring IP
   packet.  Implementations SHOULD support longest prefix matching for
   this field, see [RFC1812] and [RFC7608].  Note that a prefix length
   of zero (0) effectively means that the proper Ethernet VLAN tag priority and field is ignored.

   Note: using IP multicast destination
   MAC address is also allowed.

6.1.1.3.  IPv4 Protocol and IPv6 Next Header Fields

   Implementations of this document MUST support DetNet flow
   identification based on the IPv4 Protocol field when processing IPv4
   packets, and the IPv6 Next Header Field when processing IPv6 packets.
   An implementation MUST support flow identification based based the
   next protocol values defined in Section 6.1.2.  Other, non-zero
   values, SHOULD be used for flow identification.  Implementations
   SHOULD allow for these fields to be ignored for a specific DetNet
   flow.

6.1.1.4.  IPv4 Type of Service and IPv6 Traffic Class Fields

   These fields are used to support Differentiated Services [RFC2474]
   and Explicit Congestion Notification [RFC3168].  Implementations of
   this document MUST support DetNet flow identification based on the
   IPv4 Type of Service field when processing IPv4 packets, and the IPv6
   Traffic Class Field when processing IPv6 packets.  Implementations
   MUST support bimask based matching, where one (1) values in the
   bitmask indicate which subset of the bits in the field are to be used
   in determining a DetNet/TSN packet may require further
   clarification match.  Note that a zero (0) value as a bitmask
   effectively means that these fields are ignored.

6.1.1.5.  IPv6 Flow Label Field

   [Authors note: the use of the customary L2/L3 transformations carried out by
   routers and edge IPv6 flow label switches.  Edge nodes may also have is TBD this section
   requires discussion.  Flow label based mapping requires src/dst
   adress mapping as well.]

   Implementations of this document SHOULD support identification of
   DetNet flows based on the IPv6 Flow Label field.  Implementations
   that support matching based on this field MUST allow for this fields
   to be ignored for a specific DetNet flow.  When this fields is used
   to identify a specific DetNet flow, implementations MAY exclude the
   IPv6 Next Header field and next header information as part of DetNet
   flow identification.

6.1.2.  Other Protocol Header Information

   Implementations of this document MUST support DetNet flow
   identification based on header information identified in this
   section.  Support for TCP, UDP and IPsec flows are defined.  Future
   documents are expected to define support for other protocols.

   [Authors note: Other candidate protocols include IP in IP, GRE, DCCP
   - should and of these be required supported?]

6.1.2.1.  TCP and UDP

   DetNet flow identification for TCP [RFC0793] and UDP [RFC0768] is
   done based on the Source and Destination Port fields carried in each
   protocol's header.  These fields share a common format and common
   DetNet flow identification procedures.

6.1.2.1.1.  Source Port Field

   Implementations of this document MUST support DetNet flow
   identification based on the Source Port field of a TCP or UDP packet.
   Implementations MUST support flow identification based on a
   particular value carried in the field, i.e., an exact.
   Implementations SHOULD support range-based port matching.
   Implementation MUST also allow for the field to be ignored for a
   specific DetNet flow.

6.1.2.1.2.  Destination Port Field

   Implementations of this document MUST support DetNet flow
   identification based on the Destination Port field of a TCP or UDP
   packet.  Implementations MUST support flow identification based on a
   particular value carried in the field, i.e., an exact.
   Implementations SHOULD support range-based port matching.
   Implementation MUST also allow for the field to be ignored for a
   specific DetNet flow.

6.1.2.2.  IPsec AH and ESP

   IPsec Authentication Header (AH) [RFC4302] and Encapsulating Security
   Payload (ESP) [RFC4303] share a common format for the Security
   Parameters Index (SPI) field.  Implementations MUST support flow
   identification based on a particular value carried in the field,
   i.e., an exact.  Implementation SHOULD also allow for the field to be
   ignored for a specific DetNet flow.

6.1.3.  Flow Identification Management and Control Information

   The following summarizes the set of information that is needed to
   identify an individual DetNet flow:

   o  IPv4 and IPv6 source address field.

   o  IPv4 and IPv6 source address prefix length, where a zero (0) value
      effectively means that the address field is ignored.

   o  IPv4 and IPv6 destination address field.

   o  IPv4 and IPv6 destination address prefix length, where a zero (0)
      effectively means that the address field is ignored.

   o  IPv4 protocol field.  A limited set of values is allowed, and the
      ability to ignore this field, e.g., via configuration of the value
      zero (0), is desirable.

   o  IPv6 next header field.  A limited set of values is allowed, and
      the ability to ignore this field, e.g., via configuration of the
      value zero (0), is desirable.

   o  IPv4 Type of Service and IPv6 Traffic Class Fields.

   o  IPv4 Type of Service and IPv6 Traffic Class Field Bitmask, where a
      zero (0) effectively means that theses fields are ignored.

   o  IPv6 flow label field.  This field can be optionally used for
      matching.  When used, can be exclusive of matching against the
      next header field.

   o  TCP and UDP Source Port.  Exact and wildcard matching is required.
      Port ranges can optionally be used.

   o  TCP and UDP Destination Port.  Exact and wildcard matching is
      required.  Port ranges can optionally be used.

   Information identifying a DetNet flow is ordered and implementations
   use the first match.  This can, for example, be used to provide a
   DetNet service for a specific UDP flow, with unique Source and
   Destination Port field values, while providing a different service
   for all other flows with that same UDP Destination Port value.

6.2.  Forwarding Procedures

   General requirements for IP nodes are defined in [RFC1122], [RFC1812]
   and [RFC6434], and are not modified by this document.  The typical
   next-hop selection process is impacted by DetNet.  Specifically,
   implementations of this document SHALL use management and control
   information to select the one or more outgoing interfaces and next
   hops to be used for a packet belonging to a DetNet flow.

   The use of multiple paths or links, e.g., ECMP, to support a single
   DetNet flow will generally be avoided in order to meet DetNet service
   requirements.

   The above implies that management and control functions will be
   defined to support this requirement, e.g., see [YANG-REF-TBD].

6.3.  DetNet IP Traffic Treatment Procedures

   Implementations if this document MUST ensure that a DetNet flow
   receives the traffic treatment that is provisioned for it via
   management and control functions, e.g., via [YANG-REF-TBD].  General
   information on DetNet service can be found in
   [I-D.ietf-detnet-flow-information-model].  Typical mechanisms used to
   provide different treatment to different flows includes the
   allocation of system resources (such as queues and buffers) and
   provisioning or related parameters (such as shaping, and policing).
   Support can also be provided via an underlying network technology
   such as MPLS [I-D.ietf-detnet-dp-sol-mpls] and IEEE802.1 TSN
   Section 7.  Other than in the TSN case, the specific mechanisms used
   by a DetNet node to ensure DetNet service delivery requirements are
   met for supported DetNet flows is outside the scope of this document.

6.4.  Aggregation Considerations

   The use of prefixes, wildcards, bimasks, and port ranges allows a
   DetNet node to aggregate DetNet flows.  This aggregation can take
   place within a single node, when that node maintains state about both
   the aggregated and component flows.  It can also take place between
   nodes, where one node maintains state about only flow aggregates
   while the other node maintains state on all or a portion of the
   component flows.  In either case, the management or control function
   that provisions the aggregate flows must ensure that adequate
   resources are allocated and configured to provide combined service
   requirements of the component flows.  As DetNet is concerned about
   latency and jitter, more than just bandwidth needs to be considered.

7.  Mapping IP DetNet Flows to IEEE 802.1 TSN

   [Editor's note: This section is TBD - it covers how IP DetNet flows
   operate over an IEEE 802.1 TSN sub-network.  BV to take a pass at
   filling in this section]

   This section covers how IP DetNet flows operate over an IEEE 802.1
   TSN sub-network.  Figure 8 illustrates such a scenario, where two IP
   (DetNet) nodes are interconnected by a TSN sub-network.  Node-1 is
   single homed and Node-2 is dual-homed.  IP nodes can be (1) IP DetNet
   End System, (2) IP DetNet Edge or Relay node or (3) IP End System.

       IP (DetNet)                  IP (DetNet)
         Node-1                       Node-2

      ...........                  ...........
   <--: Service :-- DetNet flow ---: Service :-->
      +---------+                  +---------+
      |Transport|                  |Transport|
      +-------.-+    <-TSN Str->   +-.-----.-+
               \      ,-------.     /     /
                +----[ TSN-Sub ]---+     /
                     [ Network ]--------+
                      `-------'
   <----------------- DetNet IP ---------------->

      Figure 8: DetNet (DN) Enabled IP Network over a TSN sub-network

   The Time-Sensitive Networking (TSN) Task Group of the IEEE 802.1
   Working Group have defined (and are defining) a number of amendments
   to IEEE 802.1Q [IEEE8021Q] that provide zero congestion loss and
   bounded latency in bridged networks.  Furthermore IEEE 802.1CB
   [IEEE8021CB] defines frame replication and elimination functions for
   reliability that should prove both compatible with and useful to,
   DetNet networks.  All these functions have to identify flows those
   require TSN treatment.

   As is the case for DetNet, a Layer 2 network node such as a bridge
   may need to identify the specific DetNet flow to which a packet
   belongs in order to provide the TSN/DetNet QoS for that packet.  It
   also may need additional marking, such as the priority field of an
   IEEE Std 802.1Q VLAN tag, to give the packet proper service.

   TSN capabilities of the TSN sub-network are made available for IP
   (DetNet) flows via the protocol interworking function defined in IEEE
   802.1CB [IEEE8021CB].  For example, applied on the TSN edge port
   connected to the IP (DetNet) node it can convert an ingress unicast
   IP (DetNet) flow to use a specific multicast destination MAC address
   and VLAN, in order to direct the packet through a specific path
   inside the bridged network.  A similar interworking pair at the other
   end of the TSN sub-network would restore the packet to its original
   destination MAC address and VLAN.

   Placement of TSN functions depends on the TSN capabilities of nodes.
   IP (DetNet) Nodes may or may not support TSN functions.  For a given
   TSN Stream (i.e., DetNet flow) an IP (DetNet) node is treated as a
   Talker or a Listener inside the TSN sub-network.

7.1.  TSN Stream ID Mapping

   IP DetNet Flow and TSN Stream mapping is based on the active Stream
   Identification function, that operates at the frame level.  IEEE
   802.1CB [IEEE8021CB] defines an Active Destination MAC and VLAN
   Stream identification function, what can replace some Ethernet header
   fields namely (1) the destination MAC-address, (2) the VLAN-ID and
   (3) priority parameters with alternate values.  Replacement is
   provided for the frame passed down the stack from the upper layers or
   up the stack from the lower layers.

   Active Destination MAC and VLAN Stream identification can be used
   within a Talker to set flow identity or a Listener to recover the
   original addressing information.  It can be used also in a TSN bridge
   that is providing translation as a proxy service for an End System.
   As a result IP (DetNet) flows can be mapped to use a particular {MAC-
   address, VLAN} pair to match the Stream in the TSN sub-network.

   From the TSN sub-network perspective IP DetNet nodes without any TSN
   functions can be treated as TSN-unaware Talker or Listener.  In such
   cases relay nodes in the TSN sub-network MUST modify the Ethernet
   encapsulation of the IP DetNet flow (e.g., MAC translation, VLAN-ID
   setting, Sequence number addition, etc.) to allow proper TSN specific
   handling of the flow inside the sub-network.  This is illustrated in
   Figure 9.

       IP (DetNet)
         Node-1
      <--------->

      ...........
   <--: Service :-- DetNet flow ------------------
      +---------+
      |Transport|
      +---------+    +---------------+
      |   L2    |    | L2 Relay with |<--- TSN ----
      |         |    | TSN function  |    Stream
      +----.----+    +--.---------.--+
            \__________/           \______

      TSN-unaware
       Talker /          TSN-Bridge
       Listener             Relay
                   <-------- TSN sub-network -------

             Figure 9: IP (DetNet) node without TSN functions

   IP (DetNet) nodes being TSN-aware can be treated as a combination of
   a TSN-unaware Talker/Listener and a TSN-Relay, as shown in Figure 10.
   In such cases the IP (DetNet) node MUST provide the TSN sub-network
   specific Ethernet encapsulation over the link(s) towards the sub-
   network.  An TSN-aware IP (DetNet) node MUST support the following
   TSN components:

   1.  For recognizing flows:

       *  Stream Identification

   2.  For FRER used inside the TSN domain, additionally:

       *  Sequencing function

       *  Sequence encode/decode function

   3.  For FRER when the node is a replication or elimination point,
       additionally:

       *  Stream splitting function
       *  Individual recovery function

   [Editor's note: Should we added here requirements regarding IEEE
   802.1Q C-VLAN component?]

                   IP (DetNet)
                                     Node-2
      <---------------------------------->

      ...........
   <--: Service :-- DetNet flow ------------------
      +---------+
      |Transport|
      +---------+    +---------------+
      |   L2    |    | L2 Relay with |<--- TSN ---
      |         |    | TSN function  |    Stream
      +----.----+    +--.------.---.-+
            \__________/        \   \______
                                 \_________
      TSN-unaware
       Talker /          TSN-Bridge
       Listener             Relay
                                         <----- TSN Sub-network -----
      <------ TSN-aware Tlk/Lstn ------->

              Figure 10: IP (DetNet) node with TSN functions

   A Stream identification component MUST be able to move
   sequence number fields among Layer 2, PW, instantiate the
   following functions (1) Active Destination MAC and IPv6 encapsulations.

7.1.  TSN VLAN Stream ID Mapping

   [Editor's Note: This section covers
   identification function, (2) IP Stream identification function and
   (3) the data plane aspects related managed objects in Clause 9 of mapping
   an IEEE 802.1CB
   [IEEE8021CB].  IP DetNet flow to one or more TSN Stream-IDs.] Stream identification function provides a 6-tuple
   match.

   The Sequence encode/decode function MUST support the Redundancy tag
   (R-TAG) format as per Clause 7.8 of IEEE 802.1CB [IEEE8021CB].

7.2.  TSN Usage of FRER

   [Core point]

   TSN Streams support supporting DetNet flows may use Frame Replication and
   Elimination for Redundancy (FRER) [802.1CB] based on the loss service
   requirements of the TSN Stream, which is derived from the DetNet
   service requirements of the DetNet mapped flow.  The specific
   operation of the FRER is not modified by the use of DetNe DetNet and follows
   IEEE 802.1CB [IEEE8021CB].

   FRER function and the provided service recovery is available only
   within the TSN sub-network (as shown in Figure 6) as the Stream-ID
   and the TSN sequence number are not valid outside the sub-network.
   An IP (DetNet) node represents a L3 border and as such it terminates
   all related information elements encoded in the L2 frames.

7.3.  Procedures

   [Editor's note: This section is TBD - covers required behavior of
   DetNet node using a TSN underlay.]

7.4.  Management and Control Implications

   [Editor's note: This section is TBD Covers Creation, mapping, removal
   of TSN Stream IDs, related parameters and,when needed, configuration
   of FRER.  Supported by management/control plane.]

8.  Security considerations

   The security considerations of DetNet in general are discussed in
   [I-D.ietf-detnet-architecture] and [I-D.ietf-detnet-security].  Other
   security considerations will be added in a future version of this
   draft.

9.  IANA considerations

   TBD.

10.  Contributors

   RFC7322 limits the number of authors listed on the front page of a
   draft to a maximum of 5, far fewer than the 20 individuals below who
   made important contributions to this draft.  The editor wishes to
   thank and acknowledge each of the following authors for contributing
   text to this draft.  See also Section 11.

      Loa Andersson
      Huawei
      Email: loa@pi.nu

      Yuanlong Jiang
      Huawei
      Email: jiangyuanlong@huawei.com

      Norman Finn
      Huawei
      3101 Rio Way
      Spring Valley, CA  91977
      USA
      Email: norman.finn@mail01.huawei.com

      Janos Farkas
      Ericsson
      Magyar Tudosok krt. 11
      Budapest  1117
      Hungary
      Email: janos.farkas@ericsson.com

      Carlos J. Bernardos
      Universidad Carlos III de Madrid
      Av. Universidad, 30
      Leganes, Madrid  28911
      Spain
      Email: cjbc@it.uc3m.es

      Tal Mizrahi
      Marvell
      6 Hamada st.
      Yokneam
      Israel
      Email: talmi@marvell.com

      Lou Berger
      LabN Consulting, L.L.C.
      Email: lberger@labn.net

11.  Acknowledgements

   The author(s) ACK and NACK.

   The following people were part of the DetNet Data Plane Solution
   Design Team:

      Jouni Korhonen
      Janos Farkas

      Norman Finn

      Balazs Varga

      Loa Andersson

      Tal Mizrahi

      David Mozes

      Yuanlong Jiang

      Carlos J.  Bernardos

   The DetNet chairs serving during the DetNet Data Plane Solution
   Design Team:

      Lou Berger

      Pat Thaler

   Thanks for Stewart Bryant for his extensive review of the previous
   versions of the document.

12.  References

12.1.  Normative references

   [RFC0768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768,
              DOI 10.17487/RFC0768, August 1980,
              <https://www.rfc-editor.org/info/rfc768>.

   [RFC0791]  Postel, J., "Internet Protocol", STD 5, RFC 791,
              DOI 10.17487/RFC0791, September 1981,
              <https://www.rfc-editor.org/info/rfc791>.

   [RFC0793]  Postel, J., "Transmission Control Protocol", STD 7,
              RFC 793, DOI 10.17487/RFC0793, September 1981,
              <https://www.rfc-editor.org/info/rfc793>.

   [RFC1812]  Baker, F., Ed., "Requirements for IP Version 4 Routers",
              RFC 1812, DOI 10.17487/RFC1812, June 1995,
              <https://www.rfc-editor.org/info/rfc1812>.

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

   [RFC2211]  Wroclawski, J., "Specification of the Controlled-Load
              Network Element Service", RFC 2211, DOI 10.17487/RFC2211,
              September 1997, <https://www.rfc-editor.org/info/rfc2211>.

   [RFC2212]  Shenker, S., Partridge, C., and R. Guerin, "Specification
              of Guaranteed Quality of Service", RFC 2212,
              DOI 10.17487/RFC2212, September 1997,
              <https://www.rfc-editor.org/info/rfc2212>.

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

   [RFC3168]  Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
              of Explicit Congestion Notification (ECN) to IP",
              RFC 3168, DOI 10.17487/RFC3168, September 2001,
              <https://www.rfc-editor.org/info/rfc3168>.

   [RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
              and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
              Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
              <https://www.rfc-editor.org/info/rfc3209>.

   [RFC3270]  Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
              P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
              Protocol Label Switching (MPLS) Support of Differentiated
              Services", RFC 3270, DOI 10.17487/RFC3270, May 2002,
              <https://www.rfc-editor.org/info/rfc3270>.

   [RFC3443]  Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing
              in Multi-Protocol Label Switching (MPLS) Networks",
              RFC 3443, DOI 10.17487/RFC3443, January 2003,
              <https://www.rfc-editor.org/info/rfc3443>.

   [RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Resource ReserVation Protocol-
              Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
              DOI 10.17487/RFC3473, January 2003,
              <https://www.rfc-editor.org/info/rfc3473>.

   [RFC5129]  Davie, B., Briscoe, B., and J. Tay, "Explicit Congestion
              Marking in MPLS",

   [RFC4302]  Kent, S., "IP Authentication Header", RFC 5129, 4302,
              DOI 10.17487/RFC5129, January
              2008, <https://www.rfc-editor.org/info/rfc5129>. 10.17487/RFC4302, December 2005,
              <https://www.rfc-editor.org/info/rfc4302>.

   [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)",
              RFC 4303, DOI 10.17487/RFC4303, December 2005,
              <https://www.rfc-editor.org/info/rfc4303>.

   [RFC5462]  Andersson, L. and R. Asati, "Multiprotocol Label Switching
              (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
              Class" Field", RFC 5462, DOI 10.17487/RFC5462, February
              2009, <https://www.rfc-editor.org/info/rfc5462>.

   [RFC6003]  Papadimitriou, D., "Ethernet Traffic Parameters",
              RFC 6003, DOI 10.17487/RFC6003, October 2010,
              <https://www.rfc-editor.org/info/rfc6003>.

   [RFC7608]  Boucadair, M., Petrescu, A., and F. Baker, "IPv6 Prefix
              Length Recommendation for Forwarding", BCP 198, RFC 7608,
              DOI 10.17487/RFC7608, July 2015,
              <https://www.rfc-editor.org/info/rfc7608>.

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

   [RFC8200]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", STD 86, RFC 8200,
              DOI 10.17487/RFC8200, July 2017,
              <https://www.rfc-editor.org/info/rfc8200>.

12.2.  Informative references

   [G.8275.1]
              International Telecommunication Union, "Precision time
              protocol telecom profile for phase/time synchronization
              with full timing support from the network", ITU-T
              G.8275.1/Y.1369.1 G.8275.1, June 2016,
              <https://www.itu.int/rec/T-REC-G.8275.1/en>.

   [G.8275.2]
              International Telecommunication Union, "Precision time
              protocol telecom profile for phase/time synchronization
              with partial timing support from the network", ITU-T
              G.8275.2/Y.1369.2 G.8275.2, June 2016,
              <https://www.itu.int/rec/T-REC-G.8275.2/en>.

   [I-D.ietf-detnet-architecture]
              Finn, N., Thubert, P., Varga, B., and J. Farkas,
              "Deterministic Networking Architecture", draft-ietf-
              detnet-architecture-05
              detnet-architecture-08 (work in progress), May September 2018.

   [I-D.ietf-detnet-dp-sol-mpls]
              Korhonen, J., J. and B. Varga, B., "DetNet MPLS Data Plane
              Encapsulation", draft-ietf-detnet-dp-sol-mpls-00 (work in
              progress), July 2018.

   [I-D.ietf-detnet-flow-information-model]
              Farkas, J., Varga, B., rodney.cummings@ni.com, r., Jiang,
              Y., and Y. Zha, "DetNet Flow Information Model", draft-
              ietf-detnet-flow-information-model-01 (work in progress),
              March 2018.

   [I-D.ietf-detnet-security]
              Mizrahi, T., Grossman, E., Hacker, A., Das, S., Dowdell,
              J., Austad, H., Stanton, K., and N. Finn, "Deterministic
              Networking (DetNet) Security Considerations", draft-ietf-
              detnet-security-02
              detnet-security-03 (work in progress), April October 2018.

   [IEEE1588]
              IEEE, "IEEE 1588 Standard for a Precision Clock
              Synchronization Protocol for Networked Measurement and
              Control Systems Version 2", 2008.

   [IEEE8021CB]
              Finn, N., "Draft Standard for Local and metropolitan area
              networks - Seamless Redundancy", IEEE P802.1CB
              /D2.1 P802.1CB, December 2015,
              <http://www.ieee802.org/1/files/private/cb-drafts/
              d2/802-1CB-d2-1.pdf>.

   [IEEE8021Q]
              IEEE 802.1, "Standard for Local and metropolitan area
              networks--Bridges and Bridged Networks (IEEE Std 802.1Q-
              2014)", 2014, <http://standards.ieee.org/about/get/>.

   [RFC1122]  Braden, R., Ed., "Requirements for Internet Hosts -
              Communication Layers", STD 3, RFC 1122,
              DOI 10.17487/RFC1122, October 1989,
              <https://www.rfc-editor.org/info/rfc1122>.

   [RFC2205]  Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
              Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
              Functional Specification", RFC 2205, DOI 10.17487/RFC2205,
              September 1997, <https://www.rfc-editor.org/info/rfc2205>.

   [RFC3670]  Moore, B., Durham, D., Strassner, J., Westerinen, A., and
              W. Weiss, "Information Model for Describing Network Device
              QoS Datapath Mechanisms", RFC 3670, DOI 10.17487/RFC3670,
              January 2004, <https://www.rfc-editor.org/info/rfc3670>.

   [RFC5777]  Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M.,
              Ed., and A. Lior, "Traffic Classification and Quality of
              Service (QoS) Attributes for Diameter", RFC 5777,
              DOI 10.17487/RFC5777, February 2010,
              <https://www.rfc-editor.org/info/rfc5777>.

   [RFC6434]  Jankiewicz, E., Loughney, J., and T. Narten, "IPv6 Node
              Requirements", RFC 6434, DOI 10.17487/RFC6434, December
              2011, <https://www.rfc-editor.org/info/rfc6434>.

   [RFC7551]  Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE
              Extensions for Associated Bidirectional Label Switched
              Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015,
              <https://www.rfc-editor.org/info/rfc7551>.

   [RFC7657]  Black, D., Ed. and P. Jones, "Differentiated Services
              (Diffserv) and Real-Time Communication", RFC 7657,
              DOI 10.17487/RFC7657, November 2015,
              <https://www.rfc-editor.org/info/rfc7657>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [RFC8169]  Mirsky, G., Ruffini, S., Gray, E., Drake, J., Bryant, S.,
              and A. Vainshtein, "Residence Time Measurement in MPLS
              Networks", RFC 8169, DOI 10.17487/RFC8169, May 2017,
              <https://www.rfc-editor.org/info/rfc8169>.

Appendix A.  Example of DetNet data plane operation

   [Editor's note: Add a simplified example of DetNet data plane and how
   labels etc work in the case of MPLS-based PSN and utilizing PREOF.
   The figure is subject to change depending on the further DT decisions
   on the label handling..]

Appendix B.  Example of pinned paths using IPv6

   TBD.

Authors' Addresses

   Jouni Korhonen (editor)

   Email: jouni.nospam@gmail.com

   Balazs Varga (editor)
   Ericsson
   Magyar Tudosok krt. 11.
   Budapest  1117
   Hungary

   Email: balazs.a.varga@ericsson.com