<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
 which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc    SYSTEM "rfc2629.dtd" [
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<rfc category="std" ipr="trust200902" docName="draft-finn-detnet-architecture-08">
  
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
  
  <?rfc sortrefs="yes"?>
  <?rfc iprnotified-"no" ?>
  <?rfc authorship="yes"?>
  <?rfc tocappendix="yes"?>
  <?rfc strict="yes" ?>
  <!-- give errors regarding ID-nits and DTD validation -->
  <!-- control the table of contents (ToC) -->
  <?rfc toc="yes"?>
  <!-- generate a ToC -->
  <?rfc tocdepth="4"?>
  <!-- the number of levels of subsections in ToC. default: 3 -->
  <!-- control references -->
  <?rfc symrefs="yes"?>
  <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
  <?rfc sortrefs="yes" ?>
  <!-- sort the reference entries alphabetically -->
  <!-- control vertical white space
   (using these PIs as follows is recommended by the RFC Editor) -->
  <?rfc compact="no" ?>
  
  <front>
	<title>Deterministic Networking Architecture</title>
	<author initials="N" surname="Finn" fullname="Norman Finn" >
	  <organization abbrev="Cisco">
		Cisco Systems
	  </organization>
	  <address>
		<postal>
		  <street>170 W Tasman Dr.</street>
		  <city>San Jose</city>
		  <code>95134</code>
		  <region>California</region>
		  <country>USA</country>
		</postal>
		<phone>+1 408 526 4495</phone>
		<email>nfinn@cisco.com</email>
	  </address>
	</author>
	<author initials="P" surname="Thubert" fullname="Pascal Thubert">
	  <organization abbrev="Cisco">
		Cisco Systems
	  </organization>
	  <address>
		<postal>
		  <street>Village d'Entreprises Green Side</street>
		  <street>400, Avenue de Roumanille</street>
		  <street>Batiment T3</street>
		  <city>Biot - Sophia Antipolis</city>
		  <code>06410</code>
		  <country>FRANCE</country>
		</postal>
		<phone>+33 4 97 23 26 34</phone>
		<email>pthubert@cisco.com</email>
	  </address>
	</author>
	<date/>
	
	<area>Internet</area>
	
	<workgroup>DetNet</workgroup>
	
	<abstract>
	  <t>
		Deterministic Networking (DetNet) provides a capability to carry specified unicast or multicast
		data flows for real-time applications with extremely low data loss rates and bounded
		latency.  Techniques used include: 1) reserving data plane resources for individual
		(or aggregated) DetNet flows in some or all of the intermediate nodes (e.g. bridges or routers) along
		the path of the flow; 2) providing explicit routes for DetNet flows that do not
		rapidly 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.  The
		capabilities can be managed by configuration, or by manual or automatic network management.
	  </t>
	</abstract>
  </front>
  
  <middle>
	
	<!-- **************************************************************** -->
	<!-- **************************************************************** -->
	<!-- **************************************************************** -->
	<!-- **************************************************************** -->
	<section anchor='introduction' title="Introduction">
		
      <t>
	    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.
		This is accomplished by dedicating network resources such as link bandwidth
		and buffer space to DetNet flows and/or
		classes of DetNet flows, and by replicating packets along multiple paths.
		Unused reserved resources are available to non-DetNet
		packets.
	  </t><t>
		The <xref target="I-D.ietf-detnet-problem-statement">Deterministic Networking
		Problem Statement</xref> introduces Deterministic Networking, and
		<xref target="I-D.ietf-detnet-use-cases">Deterministic Networking
		Use Cases</xref> summarizes the need for it.
		See <xref target="I-D.dt-detnet-dp-alt"/> for a discussion of specific techniques
		that can be used to identify DetNet Flows and assign them to specific paths
		through a network.
	  </t><t>
		A goal of DetNet is a converged network in all respects.  That is, the presence
		of DetNet flows does not preclude non-DetNet flows, and the benefits offered
		DetNet flows should not, except in extreme cases, prevent existing QoS
		mechanisms from operating in a
		normal fashion, subject to the bandwidth required for the DetNet flows.  A
		single source-destination pair can trade both DetNet and non-DetNet flows.
		End systems and applications need not instantiate special interfaces for DetNet flows.
		Networks are not restricted to certain topologies; connectivity is not restricted.
		Any application that generates a data flow that can be usefully
		characterized as having a maximum bandwidth should be able to take advantage
		of DetNet, as long as the necessary resources can be reserved.  Reservations
		can be made by the application itself, via network management, by an
		applications controller, or by other means.
	  </t><t>
		Many applications of interest to Deterministic Networking require the ability
		to synchronize the clocks in end systems to a sub-microsecond accuracy.  Some
		of the queue control techniques defined in <xref target="QueuingModels"/> also
		require time synchronization among relay and transit nodes.  The means used to achieve
		time synchronization are not addressed in this document.  DetNet should accommodate
		various synchronization techniques and profiles that are defined elsewhere to
		solve exchange time in different market segments.
	  </t><t>
		The present document is an individual contribution, but it is intended by the authors
		for adoption by the DetNet working group.
	  </t>
	</section>
	
	<section title="Terminology">
	  <section title="Terms used in this document">
		  <t>
			The following special terms are used in this document in order to avoid the
			assumption that a given element in the architecture does or does not have
			Internet Protocol stack, functions as a router, bridge, firewall, or otherwise
			plays a particular role at Layer-2 or higher.
			<list hangIndent="8" style="hanging">
			  <t hangText="destination"><vspace blankLines="0"/>
				An end system capable of receiving a DetNet flow.
			  </t>
			  <t hangText="DetNet domain"><vspace blankLines="0"/>
				  The portion of a network that is DetNet aware.  It includes end
				  systems and other DetNet nodes.
			  </t>
			  <t hangText="DetNet flow"><vspace blankLines="0"/>
				A DetNet flow is a sequence of packets to which the DetNet service is
				to be provided.
			  </t>
			  <t hangText="DetNet compound flow and DetNet member flow"><vspace blankLines="0"/>
				A DetNet compound flow is a DetNet flow that has been separated into
				multiple duplicate DetNet member flows, which are eventually merged back
				into a single DetNet compound flow, at the DetNet transport layer.
				"Compound" and "member" are strictly
				relative to each other, not absolutes; a DetNet compound flow comprising
				multiple DetNet member flows can, in turn, be a member of a higher-order compound.
			  </t>
			  <t hangText="DetNet intermediate node"><vspace blankLines="0"/>
				  A DetNet relay node or transit node.
			  </t>
			  <t hangText="DetNet edge node"><vspace blankLines="0"/>
				  An instance of a DetNet relay node that includes either a DetNet
				  service layer proxy function
				  for DetNet service protection (e.g. the addition or removal of packet
				  sequencing information)
				  for one or more end systems, or starts or terminates congestion protection at
				  the DetNet transport layer,
				  analogous to a Label Edge Router (LER).
			  </t>
			  <t hangText="end system"><vspace blankLines="0"/>
				  Commonly called a "host" or "node" in IETF documents, and an "end
				  station" is IEEE 802 documents.  End systems of interest to
				  this document are either sources or destinations of DetNet flows.
				  And end system may or may not be DetNet transport layer aware or
				  DetNet service layer aware.
			  </t>
			  <t hangText="link"><vspace blankLines="0"/>
				  A connection between two DetNet nodes.  It may be composed of a
				  physical link
				  or a sub-network technology that can provide appropriate traffic
				  delivery for DetNet
				  flows.
			  </t>
			  <t hangText="DetNet node"><vspace blankLines="0"/>
				  A DetNet aware end system, transit node, or relay node.
				  "DetNet" may be omitted in some text.
			  </t>
			  <t hangText="Detnet relay node"><vspace blankLines="0"/>
				A DetNet node including a service layer function that interconnects different
				DetNet transport layer paths to provide service protection.  A DetNet relay node
				can be a bridge, a router, a firewall,
				or any other system that participates in the DetNet service
				layer.  It typically incorporates DetNet transport layer functions as
				well, in which case it is collocated with a transit node.
			  </t>
			  <t hangText="reservation"><vspace blankLines="0"/>
				A trail of configuration between source to destination(s) through transit nodes
				and subnets associated with a DetNet flow, to provide congestion protection.
			  </t>
			  <t hangText="DetNet service layer"><vspace blankLines="0"/>
				  The layer at which service protection is provided, either
				  packet sequencing, replication, and elimination (<xref target="Seamless"/>)
				  or network coding (<xref target="PacketEncoding"/>).
			  </t>
			  <t hangText="source"><vspace blankLines="0"/>
				  An end system capable of sourcing a DetNet flow.
			  </t>
			  <t hangText="DetNet transit node"><vspace blankLines="0"/>
				  A node operating at the DetNet transport layer, that utilizes link layer
				  and/or network layer switching across multiple
				  links and/or sub-networks to provide paths for DetNet service layer functions.
				  Optionally provides congestion protection over those paths.
				  An MPLS LSR is an example of a DetNet transit node.
			  </t>
			  <t hangText="DetNet transport layer"><vspace blankLines="0"/>
				  The layer that optionally provides congestion protection for DetNet flows
				  over paths provided by the underlying network.
			  </t>
			</list>
		  </t>
	  </section>
	  <section title="IEEE 802 TSN to DetNet dictionary">
		  <t>
			  This section also serves as a
			  dictionary for translating from the terms used by the IEEE 802 Time-Sensitive
			  Networking (TSN) Task Group to those of the DetNet WG.
			  <list hangIndent="8" style="hanging">
				  <t hangText="Listener"><vspace blankLines="0"/>
					  The IEEE 802 term for a destination of a DetNet flow.
				  </t>
				  <t hangText="relay system"><vspace blankLines="0"/>
					  The IEEE 802 term for a DetNet intermediate node.
				  </t>
				  <t hangText="Stream"><vspace blankLines="0"/>
					  The IEEE 802 term for a DetNet flow.
				  </t>
				  <t hangText="Talker"><vspace blankLines="0"/>
					  The IEEE 802 term for the source of a DetNet flow.
				  </t>
			  </list>
		  </t>
	  </section>
	</section>

      
	<section anchor="ProvidingQoS" title="Providing the DetNet Quality of Service">
		<t>
			The DetNet Quality of Service can be expressed in terms of:
			<list style="symbols">
			<t>
				Minimum and maximum end-to-end latency from source to destination;
            timely delivery and jitter avoidance derive from these constraints
			</t><t>
				Probability of loss of a packet, under various assumptions as to
				the operational states of the nodes and links.
            A derived property is whether it is acceptable to deliver a duplicate
            packet, which is an inherent risk in highly reliable and/or broadcast
            transmissions
				</t>
			</list>
		</t><t>
			It is a distinction of DetNet that it is concerned solely with worst-case values
			for the end-to-end latency.  Average, mean, or typical values are of no interest,
			because they do not affect the ability of a real-time system to perform its
			tasks.  In general, a trivial priority-based queuing scheme will
			give better average latency to a data flow than DetNet, but of course, the worst-case
			latency can be essentially unbounded.
		</t><t>
			Three techniques are used by DetNet to provide these qualities of service:
			<list style="symbols">
				<t>
					Congestion protection (<xref target="Zero"/>).
				</t><t>
					Explicit routes (<xref target="pinned"/>).
				</t><t>
					Service protection.
				</t>
			</list>
		</t><t>
			Congestion protection operates by reserving resources along the path of
			a DetNet Flow, e.g. buffer space or link bandwidth.  Congestion protection
			greatly reduces, or even eliminates entirely, packet loss due to output packet
			congestion within the network, but it can only be
			supplied to a DetNet flow that is limited at the source to a maximum
			packet size and transmission rate.
		</t><t>
			Congestion protection addresses both of the DetNet QoS
			requirements (latency and packet loss).  Given that DetNet nodes
			have a finite amount of buffer space, congestion protection
			necessarily results in a maximum end-to-end latency.  It also addresses the largest
			contribution to packet loss, which is buffer congestion.
		</t><t>
			After congestion, the most important contributions to packet loss are typically from
			random media errors and equipment failures.  Service protection is the name for the
			mechanisms used by DetNet to address these losses.  The mechanisms employed are
			constrained by the requirement to meet the users' latency requirements.
			Packet replication and elimination (<xref target="Seamless"/>) packet encoding
			<xref target="PacketEncoding"/> are described in this document
			to provide service protection; others may be found.  Both mechanisms
			distribute the contents of DetNet flows
			over multiple paths in time and/or space, so that the loss of some of the paths does
			need not cause the loss of any packets.
			The paths are typically (but not necessarily) explicit routes, so that they cannot
			suffer temporary interruptions caused by the reconvergence of routing or bridging protocols.
		</t><t>
			These three techniques can be applied independently, giving eight possible combinations,
			including none (no DetNet), although some combinations are of wider utility than others.
			This separation keeps the protocol stack coherent and maximizes interoperability with
			existing and developing standards in this (IETF) and other
			Standards Development Organizations.  Some examples of typical expected combinations:
			<list style="symbols">
				<t>
					Explicit routes plus service protection are exactly the techniques
					employed by <xref target="HSR-PRP"/>.  Explicit routes are achieved by limiting
					the physical topology of the network, and the sequentialization, replication, and
					duplicate elimination are facilitated by packet tags added at the front or the end
					of Ethernet frames.
				</t><t>
					Congestion protection alone is is offered by IEEE 802.1 Audio Video bridging
					<xref target="IEEE802.1BA-2011"/>.  As long as the network suffers no failures,
					zero congestion loss can be achieved through the use of
					a reservation protocol (MSRP), shapers in every bridge, and a
					bit of network calculus.
				</t><t>
					Using all three together gives maximum protection.
				</t>
			</list>
		</t><t>
			There are, of course, simpler methods available (and employed, today) to achieve
			levels of latency and packet loss that are satisfactory for many applications.
			Prioritization and over-provisioning is one such technique.  However, these
			methods generally work best in the absence of any significant amount of non-critical
			traffic in the network (if, indeed, such traffic is supported at all), or work only if
			the critical traffic constitutes only a small portion of the network's theoretical
			capacity, or work only if all systems are functioning properly, or in the absence of
			actions by end systems that disrupt the network's operations.
		</t><t>
			There are any number of methods in use, defined, or in progress for accomplishing each
			of the above techniques.  It is expected that this DetNet Architecture will assist
			various vendors, users, and/or "vertical"
			Standards Development Organizations (dedicated to a single industry) to make selections
			among the available means of implementing DetNet networks.
		</t>
	<section anchor="Zero" title="Congestion protection">
		<t>
			The primary means by which DetNet achieves its QoS assurances is to reduce, or even completely
			eliminate, congestion at an output port as a cause of packet loss.  Given that a
			DetNet flow cannot be throttled, this can be achieved only by the provision of
			sufficient buffer storage at each hop through the network to ensure that no
			packets are dropped due to a lack of buffer storage.
		</t><t>
			Ensuring adequate buffering requires, in turn, that the source, and every intermediate
			node along the path to the destination (or nearly every node -- see
			<xref target="Incomplete"/>) be careful to regulate its output to not exceed the
			data rate for any DetNet flow, except for brief periods when making up for
			interfering traffic.  Any packet sent ahead of its time potentially adds to the
			number of buffers required by the next hop, and may thus exceed the resources
			allocated for a particular DetNet flow.
		</t><t>
			The low-level mechanisms described in <xref target="QueuingModels"/> provide
			the necessary
			regulation of transmissions by an end system or intermediate node to provide
			congestion protection.  The reservation of the bandwidth and
			buffers for a DetNet flow requires the provisioning described in
			<xref target="Provisioning"/>.
			A DetNet node may have other resources requiring allocation and/or scheduling,
			that might otherwise be over-subscribed and trigger the rejection of a reservation.
		</t>
	</section>
	<section anchor="pinned" title="Explicit routes">
		<t>
			In networks controlled by typical peer-to-peer protocols such as IEEE 802.1 ISIS bridged
			networks or IETF OSPF routed networks, a network topology event in one part of the network
			can impact, at least briefly, the delivery of data in parts of the network remote from the
			failure or recovery event.  Thus, even redundant paths through a network, if controlled by
			the typical peer-to-peer protocols, do not eliminate the chances of brief losses of contact.
		</t><t>
			Many real-time networks rely on physical rings or chains of two-port devices, with
			a relatively simple ring control protocol.  This supports redundant paths for
			service protection with a minimum
			of wiring.  As an additional benefit, ring topologies can often
			utilize different topology management protocols than those used for a mesh network, with
			a consequent reduction in the response time to topology changes.  Of course, this comes
			at some cost in terms of increased hop count, and thus latency, for the typical path.
		</t><t>
			In order to get the advantages of low hop count and still ensure against even very brief
			losses
			of connectivity, DetNet employs explicit routes, where the path taken by a given DetNet flow
			does not change, at least immediately, and likely not at all, in response to network
			topology events.  Service protection
			(<xref target="Seamless"/> or <xref target="PacketEncoding"/>)
			over explicit routes provides a high likelihood of continuous connectivity.
			Explicit routes are commonly used in MPLS TE LSPs.
		</t>
	</section>
	<section anchor="Jitterless" title="Jitter Reduction">
     <t>
     A core objective of DetNet is to enable the convergence of Non-IP networks
     onto a common network infrastructure. This requires the accurate emulation
     of currently deployed mission-specific networks, which
     typically rely on point-to-point analog (e.g. 4-20mA modulation) and 
     serial-digital cables (or buses) for highly reliable, synchronized and
     jitter-free communications. While the latency of analog transmissions is
	 basically the speed of light, legacy serial links are usually slow (in the
     order of Kbps) compared to, say, GigE, and some latency is usually
     acceptable. What is not acceptable is the introduction of excessive jitter,
     which may, for instance, affect the stability of control systems.
     </t>
     <t>Applications that are designed to operate on serial links usually do
     not provide services to recover the jitter, because jitter simply does not
     exists there. Streams of information are expected to be delivered in-order
	 and the precise time of reception influences the processes. In order to
	 converge such existing applications,
	 there is a desire to emulate all properties of the serial cable, such
	 as clock transportation, perfect flow isolation and fixed latency. While minimal
	 jitter (in the form of specifying minimum, as well as maximum, end-to-end latency)
	 is supported by DetNet, there are practical limitations on packet-based networks
	 in this regard. In general, users
	 are encouraged to use, instead of, "do this when you get the packet," a
	 combination of:
	 <list style="symbols">
		 <t>
			 Sub-microsecond time synchronization among all source and destination
			 end systems, and
		 </t><t>
			 Time-of-execution fields in the application packets.
		 </t>
		 </list>
     </t><t>
	   Jitter reduction is provided by the mechanisms described in <xref target="QueuingModels"/>
	   that also provide congestion protection.
	 </t>
	</section>
	<section anchor="Seamless" title="Packet Replication and Elimination">
		<t>
			After congestion loss has been eliminated, the most important causes of packet
			loss are random media and/or memory faults, and equipment failures.
			Both causes of packet loss can be greatly reduced by spreading the data in a
			packet over multiple transmissions.  One such method for service protection
			is described in this section,
			which sends the same packets over multiple paths.  See also <xref target="PacketEncoding"/>.
		</t><t>
			Packet replication and elimination, also known as seamless redundancy <xref target="HSR-PRP"/>,
			or 1+1 hitless protection, is a function of the DetNet service layer.
			It involves three capabilities:
			<list style="symbols">
			  <t>
				Providing sequencing information, once, at or near the source, to the
				packets of a DetNet compound flow.  This may
				be done by adding a sequence number or time stamp as part of DetNet, or may be
				inherent in the packet, e.g. in a transport protocol, or associated to other physical
				properties such as the precise time (and radio channel) of reception of the packet.
				<xref target="pinned"/>.
			  </t><t>
				Replicating these packets into multiple DetNet member flows and, typically,
				sending them along at least two
				different paths to the destination(s), e.g. over the explicit routes of
			  </t><t>
				Eliminating duplicated packets. This may be done at any step along
				the path to save network resources further down, in particular if
				multiple Replication points exist.
				But the most common case is to perform this operation at
				the very edge of the DetNet network, preferably in or near the receiver.
			  </t>
			</list>
		</t><t>
			This function is a "hitless" version of, e.g., the 1+1
			linear protection in <xref target="RFC6372"/>.
			That is, instead of switching from one flow to the other when a failure
			of a flow is detected, DetNet combines both flows, and performs a
			packet-by-packet selection of which to discard, based on sequence number.
		</t><t>
			In the simplest case, this amounts to replicating each packet in a source that
			has two interfaces, and conveying them through the network, along separate paths,
			to the
			similarly dual-homed destinations, that discard the extras.  This ensures that one
			path (with zero congestion loss) remains, even if some intermediate node fails.
			The sequence numbers can also be used for loss detection and for re-ordering.
		</t><t>
			Detnet relay nodes in the network can provide
            replication and elimination
			facilities at various points in the network, so that multiple 
			failures can be accommodated.
		</t><t>
			This is shown in the following figure, where the two relay nodes
			each replicate (R) the DetNet flow on input, sending the DetNet member flows to both the other
			relay node and to the end system, and eliminate duplicates (E) on the output
			interface to the right-hand end system.  Any one link in the network can
			fail, and the Detnet compound flow can still get through.  Furthermore, two links can
			fail, as long as they are in different segments of the network.
		</t>
<figure align="center" anchor="FigSeamless">
<preamble>Packet replication and elimination</preamble>
<artwork align="left"><![CDATA[
             > > > > > > > > > relay > > > > > > > >
            > /------------+ R node E +------------\ >
           > /                  v + ^               \ >
   end    R +                   v | ^                + E end
   system   +                   v | ^                +   system
           > \                  v + ^               / >
            > \------------+ R relay E +-----------/ >
             > > > > > > > > >  node > > > > > > > >
]]></artwork>
</figure>
		<t>
			Note that packet replication and elimination does not react to and correct failures; it is
			entirely passive.  Thus, intermittent failures, mistakenly created packet filters,
			or misrouted data is handled just the same as the equipment failures
			that are detected handled by typical routing and bridging protocols.
		</t><t>
			If packet replication and elimination is used over paths providing congestion protection
			(<xref target="Zero"/>), and member flows that take different-length paths
			through the network are combined, a merge
			point may require extra buffering to equalize the delays over the different paths.  This
			equalization ensures that the resultant compound flow will not exceed its
			contracted bandwidth even after one or the other of the paths is restored
			after a failure.
		</t>
	  </section>
	  <section anchor="PacketEncoding" title="Packet encoding for service protection">
	    <t>
		  There are methods for using multiple paths to provide service protection
		  that involve encoding the information in a
		  packet belonging to a DetNet flow into multiple transmission units, typically
		  combining information from multiple packets into any given transmission unit.
		  Such techniques may be applicable for use as a DetNet service protection technique,
		  assuming that the DetNet users' needs for timeliness of delivery and freedom
		  from interference with misbehaving DetNet flows can be met.
		</t><t>
		  No specific mechanisms are defined here, at this time.  This section will either
		  be enhanced or removed.  Contributions are invited.
		</t>
	  </section>
	</section>
	<section anchor="arch" title="DetNet Architecture">
	  <section anchor="te" title="Traffic Engineering for DetNet">
        <t>
         <xref target="TEAS">Traffic Engineering Architecture and Signaling (TEAS)
         </xref> defines traffic-engineering architectures for generic applicability
         across packet and non-packet networks.
         From TEAS perspective, Traffic Engineering (TE) refers to techniques 
         that enable operators to control how specific traffic flows are treated
         within their networks.
      </t>
		<t>
         Because if its very nature of establishing explicit optimized paths,
         Deterministic Networking can be seen as a new, specialized branch of 
         Traffic Engineering, and inherits its architecture with a separation 
         into planes. 
         </t><t>
         The Deterministic Networking architecture is thus composed
         of three planes, a (User) Application Plane, a Controller Plane, and a
         Network Plane, which echoes that of Figure 1 of
         <xref target="RFC7426">Software-Defined Networking (SDN): 
         Layers and Architecture Terminology</xref>.:
		</t>

<section anchor="appplane" title="The Application Plane">
		<t>
         Per <xref target="RFC7426"/>,
         the Application Plane includes both applications and services. In particular,
         the Application Plane incorporates the User Agent, a specialized application 
         that interacts with the end user / operator and performs requests for 
         Deterministic Networking services via an abstract Flow Management Entity,
         (FME) which may or may not be collocated with (one of) the end systems. 
		</t>
		<t>At the Application Plane, a management interface enables the negotiation of flows between end
			systems. An abstraction of the flow called a Traffic Specification (TSpec) provides the
			representation. This abstraction is used to place a reservation over the (Northbound) Service
			Interface and within the Application plane. 
         It is associated with an abstraction of location, such as IP addresses and DNS
			names, to identify the end systems and eventually specify intermediate nodes.
		</t>
   </section>
	<section anchor="ctrlplane" title="The Controller Plane">
   <t>
         The Controller Plane corresponds to the aggregation of the Control and 
         Management Planes in <xref target="RFC7426"/>, though 
         Common Control and Measurement Plane (CCAMP) <xref target="CCAMP"/> 
         makes an additional distinction between management and measurement.
         When the logical separation of the Control, Measurement and other 
         Management entities is not relevant, the term Controller Plane is used 
         for simplicity to represent them all, and the term controller refers to
         any device operating in that plane, whether is it a Path Computation
         entity or a Network Management entity (NME).
         The Path Computation Element (PCE) <xref target="PCE"/> is a core 
         element of a controller, in charge of computing Deterministic paths
         to be applied in the Network Plane. 
		</t>
		<t>
         A (Northbound) Service Interface enables applications in the Application
         Plane to communicate with the entities in the Controller Plane.
		</t>
		<t>
         One or more PCE(s) collaborate to implement the requests from the FME
			as Per-Flow Per-Hop Behaviors installed in the intermediate nodes for
         each individual flow. The PCEs
         place each flow along a deterministic sequence of intermediate nodes so as
         to respect per-flow constraints such as security and
			latency, and optimize the overall result for metrics such as an 
         abstract aggregated cost. The deterministic sequence can typically be
         more complex than a direct sequence and include redundancy path, with 
         one or more packet replication and elimination points.
		</t>
   </section>
	<section anchor="netplane" title="The Network Plane"><t>
         The Network Plane represents the network devices and protocols as a 
         whole, regardless of the Layer at which the network devices operate.
		 It includes Forwarding Plane (data plane), Application, and
		 Operational Plane (control plane) aspects.
		</t>
      <t>
         The network Plane comprises the Network Interface Cards (NIC) in the 
         end systems, which are typically IP hosts,
         and intermediate nodes, which are typically IP routers and switches.
         Network-to-Network Interfaces such as used for Traffic Engineering 
         path reservation in <xref target="RFC5921"/>,
         as well as User-to-Network Interfaces (UNI) such as provided by
         the Local Management Interface (LMI) between network and end systems, 
         are both part of the Network Plane, both in the control plane and
		 the data plane.
		</t>
      <t>
         A Southbound (Network) Interface enables the entities in the Controller
         Plane to communicate with devices in the Network Plane. This interface
         leverages and extends TEAS to describe the physical topology and 
         resources in the Network Plane.
		</t>
<figure align="center" anchor="NorthSouth">
<preamble>Flow Management Entity</preamble>
<artwork align="left"><![CDATA[
    End                                                     End
    System                                               System

   -+-+-+-+-+-+-+ Northbound -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

             PCE         PCE              PCE              PCE

   -+-+-+-+-+-+-+ Southbound -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

           intermediate  intermed.   intermed.  intermed.
               Node       Node       Node       Node
    NIC                                                     NIC
           intermediate  intermed.   intermed.  intermed.
               Node       Node       Node       Node
]]></artwork>
</figure>
		<t>
			The intermediate nodes (and eventually the end systems NIC) expose their capabilities and physical
			resources to the controller (the PCE), and update the PCE with their dynamic perception of the
			topology, across the Southbound Interface. In return, the PCE(s) set the per-flow
			paths up, providing a Flow Characterization that is more tightly coupled to the intermediate node
			Operation than a TSpec.
		</t><t>
			At the Network plane, intermediate nodes may exchange information regarding the state of the paths,
			between adjacent systems and eventually with the end systems, and forward packets within
			constraints associated to each flow, or, when unable to do so, perform a last resort
			operation such as drop or declassify.
		</t><t>
			This specification focuses on the Southbound interface and the operation of the Network Plane.
		</t>
      </section>
	  </section>
	  <section anchor="DetNetFlows" title="DetNet flows">
		<section anchor="FlowLimits" title="Source guarantees">
		  <t>
			For the purposes of congestion protection,
			DetNet flows can be synchronous or asynchronous.
			In synchronous DetNet flows, at least the intermediate nodes (and possibly
			the end systems) are closely time
			synchronized, typically to better than 1 microsecond.  By transmitting
			packets from different DetNet flows or classes of DetNet flows at different times,
			using repeating schedules synchronized among the intermediate nodes, resources
			such as buffers and link bandwidth can be shared over the time domain
			among different DetNet flows.  There is a tradeoff among techniques for
			synchronous DetNet flows between the burden of fine-grained scheduling and the
			benefit of reducing the required resources, especially buffer space.
		  </t><t>
            In contrast, asynchronous DetNet flows are not coordinated with a fine-grained
			schedule, so relay and end systems must assume worst-case interference
			among DetNet flows contending for buffer resources.
			Asynchronous DetNet flows are characterized by:
			<list style="symbols">
			  <t>
				A maximum packet size;
			  </t><t>
				An observation interval; and
			  </t><t>
				A maximum number of transmissions during that observation interval.
			  </t>
			</list>
		  </t><t>
			These parameters, together with knowledge of the protocol stack used (and thus the
			size of the various headers added to a packet), limit the number of bit times per
			observation interval that the DetNet flow can occupy the physical medium.
		  </t><t>
			The source promises that these limits will not be exceeded.  If the source
			transmits less data than this limit allows, the unused resources such as link
			bandwidth can be made available by the system to non-DetNet packets.  However,
			making those resources available to DetNet packets in other DetNet flows would serve
			no purpose.  Those other DetNet flows have their own dedicated resources, on the
			assumption that all DetNet flows can use all of their resources over a long
			period of time.
		  </t><t>
			Note that there is no provision in DetNet for throttling DetNet flows
			(reducing the transmission rate via feedback); the assumption
			is that a DetNet flow, to be useful, must be delivered in its entirety.  That
			is, while any useful application is written to expect a certain number of lost
			packets, the real-time applications of interest to DetNet demand that the loss of
			data due to the network is extraordinarily infrequent.
		  </t><t>
			Although DetNet strives to minimize the changes required of an application to
			allow it to shift from a special-purpose digital network to an Internet Protocol
			network, one fundamental shift in
			the behavior of network applications is impossible to avoid: the reservation
			of resources before the application starts.
			In the first place, a network cannot deliver finite latency and practically zero
			packet loss to an arbitrarily high offered load.  Secondly, achieving
			practically zero packet loss for unthrottled (though bandwidth limited) DetNet flows
			means that bridges and routers have to dedicate buffer resources to specific
			DetNet flows or to classes of DetNet flows.  The requirements of each reservation have to be
			translated into the parameters that control each system's
			queuing, shaping, and scheduling functions and delivered to the hosts, bridges,
			and routers.
		  </t>
		</section>
		<section anchor="Incomplete" title="Incomplete Networks">
		  <t>
			The presence in the network of transit nodes or subnets that are not fully capable of offering
			DetNet services complicates the ability of the intermediate nodes and/or controller to
			allocate resources, as extra buffering, and thus extra latency, must be allocated
			at points downstream from the non-DetNet intermediate node for a DetNet flow.
		  </t>
		</section>
	  </section>
	  <section anchor="QueuingModels" title="Queuing, Shaping, Scheduling, and Preemption">
		<t>
		  DetNet achieves congestion protection and bounded delivery latency
		  by reserving bandwidth and buffer resources at every hop along
		  the path of the DetNet flow.
		  The reservation itself is not sufficient, however.  Implementors and users of a
		  number of
		  proprietary and standard real-time networks have found that standards for
		  specific data plane techniques are required to enable these assurances to be
		  made in a multi-vendor
		  network.  The fundamental reason is that latency variation in one system results
		  in the need for extra buffer space in the next-hop system(s), which in turn,
		  increases the worst-case per-hop latency.
		</t><t>
		  Standard queuing and transmission selection algorithms allow a central controller
		  to compute the latency contribution
		  of each transit node to the end-to-end latency, to compute the amount of buffer space
		  required in each transit node for each incremental DetNet flow, and most importantly, to
		  translate from a flow specification to a set of values for the managed objects that
		  control each relay or end system.  The IEEE 802 has specified (and is
		  specifying) a set of queuing, shaping, and scheduling algorithms
		  that enable each transit node (bridge or router), and/or a central controller, to
		  compute these values.  These algorithms include:
		  <list style="symbols">
			<t>
			  A credit-based shaper <xref target="IEEE802.1Q-2014"/> Clause 34.
			</t><t>
			  Time-gated queues governed by a rotating time schedule, synchronized among all
			  transit nodes <xref target="IEEE802.1Qbv"/>.
			</t><t>
			  Synchronized double (or triple) buffers driven by synchronized time ticks.
			  <xref target="IEEE802.1Qch"/>.
			</t><t>
			  Pre-emption of an Ethernet packet in transmission by a packet with a more stringent
			  latency requirement, followed by the resumption of the preempted packet
			  <xref target="IEEE802.1Qbu"/>, <xref target="IEEE802.3br"/>.
			</t>
		  </list>
		</t><t>
		  While these techniques are currently embedded in Ethernet and bridging standards,
		  we can note that they are all, except perhaps for packet preemption, equally applicable
		  to other media than Ethernet, and to routers as well as bridges.
		</t>
	  </section>
	  <section anchor="Coexistence" title="Coexistence with normal traffic">
		  <t>
			  A DetNet network supports the dedication of a high proportion (e.g. 75%) of the
			  network bandwidth
			  to DetNet flows.  But, no matter how much is dedicated for DetNet flows, it is
			  a goal of DetNet to coexist with existing Class of Service schemes (e.g., DiffServ).
			  It is also
			  important that non-DetNet traffic not disrupt the DetNet flow, of course (see
			  <xref target="FaultMitigation"/> and <xref target="SecurityConsiderations"/>).
			  For these reasons:
			  <list style="symbols">
				  <t>
					  Bandwidth (transmission opportunities) not utilized by a DetNet flow are available
					  to non-DetNet packets (though not to other DetNet flows).
				  </t><t>
					  DetNet flows can be shaped or scheduled, in order to ensure that the
					  highest-priority non-DetNet
					  packet also is ensured a worst-case latency (at any given hop).
				  </t><t>
					  When transmission opportunities for DetNet flows are scheduled in detail, then
					  the algorithm constructing the schedule should leave sufficient opportunities for
					  non-DetNet packets to satisfy the needs of the users of the network.  Detailed
					  scheduling can also permit the time-shared use of buffer resources by different
					  DetNet flows.
				  </t>
			  </list>
		  </t><t>
			  Ideally, the net effect of the presence of DetNet flows in a network on the non-DetNet
			  packets is primarily a reduction in the available bandwidth.
		  </t>
	  </section>
	  <section anchor="FaultMitigation" title="Fault Mitigation">
		  <t>
			  One key to building robust real-time systems is to reduce the infinite variety of
			  possible failures to a number that can be analyzed with reasonable confidence.  DetNet
			  aids in the process by providing filters and policers to detect DetNet packets received
			  on the wrong interface, or at the wrong time, or in too great a volume, and to then take
			  actions such as discarding the offending packet, shutting down the offending DetNet flow,
			  or shutting down the offending interface.
		  </t><t>
			  It is also essential that filters and service remarking be employed at the network edge
			  to prevent non-DetNet
			  packets from being mistaken for DetNet packets, and thus impinging on the resources
			  allocated to DetNet packets.
		  </t><t>
			  There exist techniques, at present and/or in various stages of standardization, that can
			  perform these fault mitigation tasks that deliver a high probability that misbehaving
			  systems will have zero impact on well-behaved DetNet flows, except of course, for
			  the receiving interface(s) immediately downstream of the misbehaving device.
			  Examples of such techniques include traffic policing functions (e.g.
			  <xref target="RFC2475"/>) and separating flows into per-flow rate-limited queues.
		  </t>
	  </section>
	  <section anchor="StackModel" title="Representative Protocol Stack Model">
		  <t>
			  <xref target="ProtStack1"/> illustrates a conceptual DetNet data plane layering model.  
           One may compare it to that in <xref target="IEEE802.1CB"/>, Annex C, a work in progress.
		  </t>
<figure align="center" anchor="ProtStack1">
<preamble>DetNet data plane protocol stack</preamble>
<artwork align="center"><![CDATA[
  |  packets going  |        ^  packets coming   ^
  v down the stack  v        |   up the stack    |
+----------------------+   +-----------------------+
|        Source        |   |      Destination      |
+----------------------+   +-----------------------+
|    Service layer     |   |     Service layer     |
|  Packet sequencing   |   | Duplicate elimination |
|  Flow duplication    |   |      Flow merging     |
|   Packet encoding    |   |    Packet decoding    |
+----------------------+   +-----------------------+
|   Transport layer    |   |    Transport layer    |
|   Congestion prot.   |   |   Congestion prot.    |
+----------------------+   +-----------------------+
|     Lower layers     |   |     Lower layers      |
+----------------------+   +-----------------------+
           v                           ^
            \_________________________/
]]></artwork>
</figure>
		  <t>
			Not all layers are required for any given application, or even for any
			given network.  The layers are, from top to bottom:
			<list hangIndent="8" style="hanging">
			  <t hangText="Application"><vspace blankLines="0"/>
				Shown as "source" and "destination" in the diagram.
			  </t>
			  <t hangText="OAM"><vspace blankLines="0"/>
				Operations, Administration, and Maintenance leverages in-band and
				out-of-and signaling that validates whether the service is effectively
				obtained within QoS constraints.  OAM is not shown in
				<xref target="ProtStack1"/>; it may reside in any number of the layers.
				OAM
				can involve specific tagging added in the packets for tracing implementation
				or network configuration errors; traceability enables to find whether a
				packet is a replica, which relay node performed the replication, and which
				segment was intended for the replica.
			  </t>
			  <t hangText="Packet sequencing"><vspace blankLines="0"/>
				As part of DetNet service protection, supplies the sequence number for
				packet replication and elimination (<xref target="Seamless"/>).  Peers
				with Duplicate elimination.  This layer is not needed if a higher-layer transport protocol
				is expected to perform any packet sequencing and duplicate elimination
				required by the DetNet flow duplication.
			  </t>
			  <t hangText="Duplicate elimination"><vspace blankLines="0"/>
				As part of the DetNet service layer, based on the sequenced number
				supplied by its peer, packet sequencing,
				Duplicate elimination discards any duplicate packets generated by DetNet
				flow duplication.  It can operate on member flows, compound flows, or both.
				The duplication may also be inferred from other
				information such as the precise time of reception in a scheduled network.
				The duplicate elimination layer may also perform resequencing of packets
				to restore packet order in a
				flow that was disrupted by the loss of packets on one or another of
				the multiple paths taken.
			  </t>
			  <t hangText="Flow duplication"><vspace blankLines="0"/>
				  As part of DetNet service protection, replicates packets that belong to a
				  DetNet compound flow into two or more DetNet member flows.  Note
				  that this function is separate from packet sequencing.  Flow duplication
				  can be an explicit duplication and remarking of packets, or can be performed by,
				  for example, techniques similar to ordinary multicast replication.
				  Peers with DetNet flow merging.
			  </t>
			  <t hangText="Network flow merging"><vspace blankLines="0"/>
				As part of DetNet service protection, merges
				DetNet member flows together for packets coming up the stack belonging to a
				specific DetNet compound flow.
				Peers with DetNet flow duplication.
				DetNet flow merging, together with packet sequencing, duplicate elimination,
				and DetNet flow duplication, performs
				packet replication and elimination (<xref target="Seamless"/>).
			  </t>
			  <t hangText="Packet encoding"><vspace blankLines="0"/>
				As part of DetNet service protection, as an alternative to packet sequencing
				and flow duplication, packet encoding combines the information in
				multiple DetNet packets, perhaps from different DetNet compound flows, and transmits that
				information in packets on different DetNet member Flows.  Peers with Packet decoding.
			  </t>
			  <t hangText="Packet decoding"><vspace blankLines="0"/>
				  As part of DetNet service protection, as an alternative to flow merging and
				  duplicate elimination, packet decoding takes packets from different DetNet member
				  flows, and computes from those packets the original DetNet packets from the
				  compound flows input to packet encoding.  Peers with Packet encoding.
			  </t>
			  <t hangText="Congestio protection"><vspace blankLines="0"/>
				The DetNet transport layer provides congestion protection.  See <xref target="QueuingModels"/>.
				The actual queuing and shaping mechaniss are typically provided by underlying subnet
				layers, but since these are can be closely associated with the means of providing paths
				for DetNet flows (e.g. MPLS LSPs or {VLAN, multicast destination MAC address} pairs),
				the path and the congestion protection are conflated in this figure.
			  </t>
			</list>
		  </t>
		  <t>
			Note that the packet sequencing and duplication elimination functions at the
			source and destination ends of a DetNet compound flow may be performed either
			in the end system or in a DetNet edge node.  The reader must not confuse a DetNet
			edge function with other kinds of edge functions, e.g. an Label Edge Router, although the
			two functions may be performed together.  The DetNet edge function is concerned with
			sequencing packets belonging to DetNet flows.  The LER with encapsulating/decapsulating
			packets for transport, and is considered part of the network underlying the DetNet
			transport layer.
	      </t>
	  </section>
	  <section anchor="Relayering" title="Exporting flow identification">
		<t>
		  An interesting feature of DetNet, and one that invites implementations that
		  can be accused of "layering violations", is the need for lower layers to be
		  aware of specific flows at higher layers, in order to provide specific
		  queuing and shaping services for specific flows.  For example:
		  <list style="symbols">
			  <t>
				A non-IP, strictly L2 source end system X may be sending multiple flows
				to the same L2 destination end system Y.  Those flows may include
				DetNet flows with different QoS requirements, and may include non-DetNet
				flows.
			  </t><t>
				A router may be sending any number of flows to another router.
				Again, those flows may include
				DetNet flows with different QoS requirements, and may include non-DetNet
				flows.
			  </t><t>
				Two routers may be separated by bridges.  For these bridges to perform
				any required per-flow queuing and shaping, they must be able to identify
				the individual flows.
			  </t><t>
				A Label Edge Router (LERs) may have a Label Switched
				Path (LSP) set up for handling traffic
				destined for a particular IP address carrying only non-DetNet flows.  If
				a DetNet flow to that same address is requested, a separate LSP may be
				needed, in order that all of the Label Switch Routers (LSRs) along the
				path to the destination give that flow special queuing and shaping.
			  </t>
		  </list>
		</t><t>
		  The need for a lower-level DetNet node to be aware of individual higher-layer
		  flows is not unique to DetNet.  But, given the endless complexity of layering
		  and relayering over tunnels that is available to network designers, DetNet
		  needs to provide a model for flow identification that is at least somewhat
		  better than packet inspection.  That is not to say that packet inspection
		  to layer 4 or 5 addresses
		  will not be used, or the capability standardized; but, there are alternatives.
		</t><t>
		  A DetNet relay node can connect DetNet flows on different paths using different
		  flow identification methods.  For example:
		  <list style="symbols">
			<t>
			  A single unicast DetNet flow passing from router A through a bridged network
			  to router B may be assigned a {VLAN, multicast destination MAC address} pair that is
			  unique within that bridged network.  The bridges can then identify the
			  flow without accessing higher-layer headers.  Of course, the receiving router
			  must recognize and accept that multicast MAC address.
			</t><t>
			  A DetNet flow passing from LSR A to LSR B may be assigned a different
			  label than that used for other flows to the same IP destination.
			</t>
		  </list>
		</t><t>
		  In any of the above cases, it is possible that an existing DetNet flow can
		  be used as a carrier for multiple DetNet sub-flows.  (Not to be confused
		  with DetNet compound vs. member flows.)  Of course, this requires that the
		  aggregate DetNet flow be provisioned properly to carry the sub-flows.
		</t><t>
		  Thus, rather than packet inspection, there is the option to export
		  higher-layer information to the lower layer.  The requirement to support
		  one or the other method for flow identification (or both) is the essential
		  complexity that DetNet brings to existing control plane models.
		</t>
	  </section>
	  <section anchor="Advertising" title="Advertising resources, capabilities and adjacencies">
		<t>
		  There are three classes of information that a central controller
		  or decentralized control plane needs to
		  know that can only be obtained from the end systems and/or transit nodes
		  in the network.  When using a peer-to-peer control plane, some of this
		  information may be required by a system's neighbors in the network.
		  <list style="symbols"><t>
			Details of the system's capabilities that are required in order to
			accurately allocate that system's resources, as well as other systems'
			resources.  This includes, for example, which specific queuing and
			shaping algorithms are implemented (<xref target="QueuingModels"/>),
			the number of buffers dedicated for DetNet allocation, and the worst-case
			forwarding delay.
		  </t><t>
			The dynamic state of an end or transit node's DetNet resources.
		  </t><t>
			The identity of the system's neighbors, and the characteristics of the
			link(s) between the systems, including the length (in nanoseconds) of
			the link(s).
		  </t>
		  </list>
		</t>
	  </section>
	  <section anchor="Provisioning" title="Provisioning model">
		<section anchor="pce" title="Centralized Path Computation and Installation">
		  <t>
			  A centralized routing model, such as provided with a PCE (<xref
				  target="RFC4655">RFC 4655</xref>), enables global and
			per-flow optimizations. (See <xref target="te"/>.)
			The model is attractive but a number of issues are
			left to be solved.
			In particular:
			<list style="symbols"> <t>Whether and how the path computation can
			  be installed by 1) an end device or 2) a Network Management entity,
			</t><t>
			  And how
			  the path is set up, either by installing state at each hop with a direct
			  interaction between the forwarding device and the PCE, or along a path by
			  injecting a source-routed request at one end of the path.
			</t> </list>
		  </t>
		</section>
		<section anchor="dc" title="Distributed Path Setup">
		  <t> Significant work on distributed path setup can be leveraged from MPLS Traffic 
        Engineering, in both its GMPLS and non-GMPLS forms.  The protocols within scope are
        <xref target="RFC3209">Resource ReSerVation Protocol</xref> <xref target="RFC3473"/>(RSVP-TE), <xref target="RFC4203">OSPF-TE</xref> <xref target="RFC5392"/>
        and <xref target="RFC5307">ISIS-TE</xref> <xref target="RFC5316"/>.  These should be viewed as starting points as there are feature specific extensions defined that may be applicable to DetNet.
		  </t><t>
			  In a Layer-2 only environment, or as part of a layered approach to a
			  mixed environment, IEEE 802.1 also has work, either completed
			  or in progress.  <xref target="IEEE802.1Q-2014"/> Clause 35 describes
			  SRP, a peer-to-peer protocol for Layer-2 roughly analogous to
			  <xref target="RFC2205">RSVP</xref>.  
           <xref target="IEEE802.1Qca"/> defines how ISIS can
			  provide multiple disjoint paths or distribution trees.  Also in progress
			  is <xref target="IEEE802.1Qcc"/>, which expands the capabilities
			  of SRP.
		  </t><t>
			  The integration/interaction of the DetNet control layer with an underlying
			  IEEE 802.1 sub-network control layer will need to be defined.
		  </t>
		</section>
	  </section>
	  <section anchor="Scaling" title="Scaling to larger networks">
		<t>
		  Reservations for individual DetNet flows require considerable state information in
		  each transit node, especially when adequate fault mitigation
		  (<xref target="FaultMitigation"/>) is required.  The DetNet data plane, in order to
		  support larger numbers of DetNet flows, must support the aggregation of DetNet flows
		  into tunnels, which themselves can be viewed by the transit nodes' data planes
		  largely as individual DetNet flows.  Without such aggregation, the per-relay
		  system may limit the scale of DetNet networks.
		</t>
	  </section>
	  <section anchor="Islands" title="Connected islands vs. networks">
		<t>
		  Given that users have deployed examples of the IEEE 802.1 TSN TG standards, which
		  provide capabilities similar to DetNet, it is obvious to ask whether the IETF
		  DetNet effort can be limited to providing Layer-2 connections (VPNs) between islands of
		  bridged TSN networks.  While this capability is certainly useful to some
		  applications, and must not be precluded by DetNet, tunneling alone is not a
		  sufficient goal for the DetNet WG.  As shown in the
		  <xref target="I-D.ietf-detnet-use-cases">Deterministic
		  Networking Use Cases draft</xref>,
		  there are already deployments of Layer-2 TSN networks that are encountering
		  the well-known problems of over-large broadcast domains.  Routed solutions, and
		  combinations routed/bridged solutions, are both required.
		</t>
	  </section>
	</section>
	
	<section anchor="Compatibility" title="Compatibility with Layer-2">
		<t>
		  Standards providing similar
		  capabilities for bridged networks (only) have been and are being generated in the
		  IEEE 802 LAN/MAN Standards Committee.  The present architecture
		  describes an abstract model that can be applicable both at Layer-2
		  and Layer-3, and over links not defined by IEEE 802.  It is the intention
		  of the authors (and hopefully, as this draft progresses, of the DetNet
		  Working Group) that IETF and IEEE 802 will coordinate their work, via
		  the participation of common individuals, liaisons, and other means,
		  to maximize the compatibility of their outputs.
		</t><t>
			DetNet enabled end systems and intermediate nodes can be interconnected by
			sub-networks, i.e., Layer-2 technologies.
			These sub-networks will
			provide DetNet compatible service for support of DetNet traffic.
			Examples of sub-networks include 802.1TSN and a point-to-point OTN link.
			Of course, multi-layer DetNet systems may be possible too, where one
			DetNet appears as a sub-network, and provides service to, a higher layer
			DetNet system.
		</t>
	</section>
	
	<section anchor="Questions" title="Open Questions">
	  <t>
		There are a number of architectural questions that will have to be resolved
		before this document can be submitted for publication.  Aside from the obvious
		fact that this present draft is subject to change, there are specific questions
		to which the authors wish to direct the readers' attention.
	  </t>
	  <section anchor="FlatControl" title="Flat vs. hierarchical control">
		<t>
		  Boxes that are solely routers or solely bridges are rare in today's market.
		  In a multi-tenant data center, multiple users' virtual Layer-2/Layer-3 topologies
		  exist simultaneously, implemented on a network whose physical topology bears
		  only accidental resemblance to the virtual topologies.
		</t><t>
		  While the forwarding topology (the bridges and routers) are an important
		  consideration for a DetNet Flow Management Entity (<xref target="appplane"/>),
		  so is the purely physical topology.  Ultimately, the model used by the
		  management entities is based on boxes, queues, and links.  The authors
		  hope that the work of the TEAS WG will help to clarify exactly what model
		  parameters need to be traded between the intermediate nodes and the controller(s).
		</t>
	  </section>
	  <section anchor="PeerPeerProt" title="Peer-to-peer reservation protocol">
		<t>
		  As described in <xref target="dc"/>, the DetNet WG needs to decide whether
		  to support a peer-to-peer protocol for a source and a destination
		  to reserve resources for a DetNet stream.  Assuming that enabling the
		  involvement of the source and/or destination is desirable (see
		  <xref target="I-D.ietf-detnet-use-cases">Deterministic Networking Use Cases</xref>),
		  it remains to decide whether the DetNet WG will make it possible to deploy at least some
		  DetNet capabilities in a network using only a peer-to-peer protocol, without
		  a central controller.
		</t><t>
		  (Note that a UNI (see <xref target="netplane"/>) between an end system and a
		  DetNet edge node, for sources and/or listeners to
		  request DetNet services, can be either the first hop of a per-to-peer reservation
		  protocol, or can be deflected by the DetNet edge node to a central controller
		  for resolution.  Similarly, a decision by a central controller can be effected
		  by the controller instructing the end system or DetNet edge node to initiate
		  a per-to-peer protocol activity.)
		</t>
	  </section>
	  <section anchor="WirelessMedia" title="Wireless media interactions">
		  <t>
			<xref target="I-D.ietf-detnet-use-cases">Deterministic Networking Use Cases</xref>
			illustrates cases where wireless media are needed in a DetNet network.  Some wireless
			media in general use, such as IEEE 802.11 <xref target="IEEE802.1Q-2014"/>,
			have significantly higher packet loss rates than typical wired media, such as
			<xref target="IEEE802.3-2012">Ethernet</xref>.  IEEE 802.11 includes support for
			such features as MAC-layer acknowledgements and retransmissions.
		  </t><t>
			The techniques described in <xref target="ProvidingQoS"/> are likely to improve
			the ability of a mixed wired/wireless network to offer the DetNet QoS features.
			The interaction of these techniques with the features of specific wireless
			media, although they may be significant, cannot be addressed in this document.
			It remains to be decided to what extent the DetNet WG will address them, and to
			what extent other WGs, e.g. 6TiSCH, will do so.
		  </t>
	  </section>
	</section>
	
	<section anchor="SecurityConsiderations" title="Security Considerations">
	  
		<t>
		  Security in the context of Deterministic Networking has an added
			dimension; the time of delivery of a packet can be just as important
			as the contents of the packet, itself.  A man-in-the-middle attack,
			for example, can impose, and then systematically adjust, additional
			delays into a link, and thus disrupt or subvert a real-time
			application without having to crack any encryption methods employed.
			See <xref target="RFC7384"/> for an
			exploration of this issue in a related context.
		</t><t>
			Furthermore, in a control system where millions of dollars of equipment, or even
			human lives, can be lost if the DetNet QoS is not delivered, one must consider
			not only simple equipment failures, where the box or wire instantly becomes
			perfectly silent, but bizarre errors such as can be caused by software failures.
			Because there is essential no limit to the kinds of failures that can occur,
			protecting against realistic equipment failures is indistinguishable, in most
			cases, from protecting against malicious behavior, whether accidental or intentional.
			See also <xref target="FaultMitigation"/>.
		</t>
	  <t>Security must cover:
		<list style="symbols"> <t>
		  the protection of the signaling protocol
		</t><t>
		  the authentication and authorization of the controlling systems
		</t><t>
		  the identification and shaping of the DetNet flows
		</t> </list>
		
	  </t>
	</section>
	<section title="Privacy Considerations">
	  <t>
		DetNet is provides a Quality of Service (QoS), and as such, does not directly
		raise any new privacy considerations.
	  </t><t>
		However, the requirement for every (or almost every) node along the path of
		a DetNet flow to identify DetNet flows may present an additional attack
		surface for privacy, should the DetNet paradigm be found useful in broader
		environments.
	  </t>
	</section>
	
	<section title="IANA Considerations">
	  <t>This document does not require an action from IANA.
	  </t>
	</section>
	
	
	<section title="Acknowledgements">
	  <t>The authors wish to thank Jouni Korhonen, Erik Nordmark, George Swallow,
		Rudy Klecka, Anca Zamfir, David Black, Thomas Watteyne, Shitanshu Shah,
		Craig Gunther, Rodney Cummings, Bal&aacute;zs Varga, Wilfried Steiner,
      Marcel Kiessling, Karl Weber, J&aacute;nos Farkas, Ethan Grossman,
      Pat Thaler, Lou Berger, and especially Michael Johas Teener,
	  for their various contribution with this work.
     </t>
	</section>
	
	<section title="Access to IEEE 802.1 documents">
		<t>
			To access password protected IEEE 802.1 drafts, see the
			IETF IEEE 802.1 information page at
			https://www.ietf.org/proceedings/52/slides/bridge-0/tsld003.htm.
		</t>
	</section>
	
  </middle>
  
  <back>
	<references title='Informative References'>
	  
	  <?rfc include='reference.I-D.svshah-tsvwg-deterministic-forwarding'?>
	  <?rfc include='reference.I-D.ietf-roll-rpl-industrial-applicability'?>
	  <?rfc include='reference.I-D.ietf-6tisch-tsch'?>
	  <?rfc include='reference.I-D.ietf-6tisch-architecture'?>
	  <?rfc include='reference.I-D.ietf-detnet-problem-statement'?>
	  <?rfc include='reference.I-D.ietf-detnet-use-cases'?>
	  <?rfc include='reference.I-D.dt-detnet-dp-alt'?>
	  <?rfc include='reference.RFC.2205'?>
	  <?rfc include='reference.RFC.2475'?>
	  <?rfc include='reference.RFC.3209'?>
	  <?rfc include='reference.RFC.3473'?>
	  <?rfc include='reference.RFC.4203'?>
	  <?rfc include='reference.RFC.5307'?>
	  <?rfc include='reference.RFC.5316'?>
	  <?rfc include='reference.RFC.5392'?>
	  <?rfc include='reference.RFC.4655'?>
	  <?rfc include='reference.RFC.5673'?>
	  <?rfc include='reference.RFC.5921'?>
	  <?rfc include='reference.RFC.6372'?>
	  <?rfc include='reference.RFC.7384'?>
	  <?rfc include='reference.RFC.7426'?>
	  
	  <reference anchor="IEEE802.1CB"
		target="http://www.ieee802.org/1/files/private/cb-drafts/">
		<front>
		  <title>Frame Replication and Elimination for Reliability (IEEE Draft P802.1CB)</title>
		  <author>
			<organization>IEEE</organization>
		  </author>
		  <date year="2016" />
		</front>
	  </reference>
     
	  <reference anchor="IEEE802.1Qca"
		  target="https://standards.ieee.org/findstds/standard/802.1Qca-2015.html">
		  <front>

     <title>IEEE 802.1Qca Bridges and Bridged Networks - Amendment 24: Path Control and Reservation</title>
     <author>
      <organization>IEEE 802.1</organization>
     </author>
     <date month="June" year="2015"/>
    </front>
    <seriesInfo name="IEEE P802.1Qca/D2.1" value="P802.1Qca"/>
    <format type="PDF" target="http://www.ieee802.org/1/files/private/ca-drafts/d2/802-1Qca-d2-1.pdf"/>
   </reference>
   

	  <reference anchor="IEEE802.1Qcc"
		  target="http://www.ieee802.org/1/files/private/cc-drafts/">
		  <front>
			  <title>Stream Reservation Protocol (SRP) Enhancements and Performance Improvements</title>
			  <author>
				  <organization>IEEE</organization>
			  </author>
			  <date year="2016" />
		  </front>
	  </reference>

	  <reference anchor="IEEE802.1Qbu"
		  target="http://www.ieee802.org/1/files/private/bu-drafts/">
		  <front>
			  <title>Frame Preemption</title>
			  <author>
				  <organization>IEEE</organization>
			  </author>
			  <date year="2016" />
		  </front>
	  </reference>
	  
	  <reference anchor="IEEE802.1Qbv"
		  target="http://www.ieee802.org/1/files/private/bv-drafts/">
		  <front>
			  <title>Enhancements for Scheduled Traffic</title>
			  <author>
				  <organization>IEEE</organization>
			  </author>
			  <date year="2016" />
		  </front>
	  </reference>
	  
	  <reference anchor="IEEE802.1AS-2011"
		target="http://standards.ieee.org/getIEEE802/download/802.1AS-2011.pdf">
		<front>
		  <title>Timing and Synchronizations (IEEE 802.1AS-2011)</title>
		  <author>
			<organization>IEEE</organization>
		  </author>
		  <date year="2011" />
		</front>
	  </reference>
	  
	  <reference anchor="IEEE802.1BA-2011"
		target="http://standards.ieee.org/getIEEE802/download/802.1BA-2011.pdf">
		<front>
		  <title>AVB Systems (IEEE 802.1BA-2011)</title>
		  <author>
			<organization>IEEE</organization>
		  </author>
		  <date year="2011" />
		</front>
	  </reference>
	  
	  <reference anchor="IEEE802.1Q-2014"
		target="http://standards.ieee.org/getieee802/download/802-1Q-2014.pdf">
		<front>
		  <title>MAC Bridges and VLANs (IEEE 802.1Q-2014</title>
		  <author>
			<organization>IEEE</organization>
		  </author>
		  <date year="2014" />
		</front>
	  </reference>
	  
	  <reference anchor="IEEE802.1Qch"
		  target="http://www.ieee802.org/1/files/private/ch-drafts/">
		  <front>
			  <title>Cyclic Queuing and Forwarding</title>
			  <author>
				  <organization>IEEE</organization>
			  </author>
			  <date year="2016" />
		  </front>
	  </reference>
	  
	  <reference anchor="IEEE802.3-2012"
		  target="http://standards.ieee.org/getieee802/download/802.3-2012.pdf">
		  <front>
			  <title>IEEE Stabdard for Ethernet</title>
			  <author>
				  <organization>IEEE</organization>
			  </author>
			  <date year="2012" />
		  </front>
	  </reference>

	  <reference anchor="IEEE802.3br"
		  target="http://www.ieee802.org/3/br/">
		  <front>
			  <title>Interspersed Express Traffic</title>
			  <author>
				  <organization>IEEE</organization>
			  </author>
			  <date year="2016" />
		  </front>
	  </reference>
	  
	  <reference anchor="IEEE802.11-2012"
		  target="http://standards.ieee.org/getieee802/download/802.11-2012.pdf">
		  <front>
			  <title>Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</title>
			  <author>
				  <organization>IEEE</organization>
			  </author>
			  <date year="2012" />
		  </front>
	  </reference>
	  
	  <reference anchor="ISA95"
		  target="https://www.isa.org/isa95/">
		  <front>
			  <title>Enterprise-Control System Integration Part 1: Models and Terminology</title>
			  <author>
				  <organization>ANSI/ISA</organization>
			  </author>
			  <date  year="2000" />
		  </front>
	  </reference>
	  
	  <reference anchor="ISA100.11a"
		target=" http://www.isa100wci.org/en-US/Documents/PDF/3405-ISA100-WirelessSystems-Future-broch-WEB-ETSI.aspx">
		<front>
		  <title>ISA100.11a, Wireless Systems for Automation, also IEC 62734</title>
		  <author>
			<organization>ISA/IEC</organization>
		  </author>
		  <date  year="2011" />
		</front>
	  </reference>
	  
	  <reference anchor="IEEE802.1TSNTG" target="http://www.IEEE802.org/1/pages/avbridges.html">
		<front>
		  <title>IEEE 802.1 Time-Sensitive Networks Task Group</title>
		  <author>
			<organization>IEEE Standards Association</organization>
		  </author>
		  <date year="2013" />
		</front>
	  </reference>
	  
	  <reference anchor="IEEE802154e">
		<front>
		  <title>IEEE std. 802.15.4e, Part. 15.4: Low-Rate Wireless Personal Area Networks (LR-WPANs) Amendment 1: MAC sublayer</title>
		  <author>
			<organization>IEEE standard for Information Technology</organization>
		  </author>
		  <date month="April" year="2012"/>
		</front>
	  </reference>
	  <reference anchor="IEEE802154">
		<front>
		  <title>IEEE std. 802.15.4, Part. 15.4: Wireless Medium Access Control
			(MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless
			Personal Area Networks</title>
		  <author>
			<organization>IEEE standard for Information Technology</organization>
		  </author>
		  <date month="June" year="2011"/>
		</front>
	  </reference>
	  
	  <reference anchor="WirelessHART">
		<front>
		  <title>Industrial Communication Networks - Wireless Communication
			Network and Communication Profiles - WirelessHART - IEC 62591</title>
		  <author>
			<organization>www.hartcomm.org</organization>
		  </author>
		  <date year="2010" />
		</front>
	  </reference>
	  <reference anchor="HART">
		<front>
		  <title>Highway Addressable Remote Transducer, a group of
			specifications for industrial process and control devices
			administered by the HART Foundation</title>
		  <author>
			<organization>www.hartcomm.org</organization>
		  </author>
		  <date></date>
		</front>
	  </reference>
	  <reference anchor="ODVA">
		<front>
		  <title>The organization that supports network technologies built on
			the Common Industrial Protocol (CIP) including EtherNet/IP.</title>
		  <author>
			<organization>http://www.odva.org/</organization>
		  </author>
		  <date></date>
		</front>
	  </reference>
	  
	  <reference anchor="AVnu">
		<front>
		  <title>The AVnu Alliance tests and certifies devices for
			interoperability, providing a simple and reliable networking
			solution for AV network implementation based on the Audio
			Video Bridging (AVB) standards.</title>
		  <author>
			<organization>http://www.avnu.org/</organization>
		  </author>
		  <date></date>
		</front>
	  </reference>
	  
	  <reference anchor="Profinet"  target="http://us.profinet.com/technology/profinet/">
		<front>
		  <title>PROFINET is a standard for industrial networking in
			automation. </title>
		  <author>
			<organization>http://us.profinet.com/technology/profinet/</organization>
		  </author>
		  <date></date>
		</front>
	  </reference>
	  
	  <reference anchor="HSR-PRP" target="http://webstore.iec.ch/webstore/webstore.nsf/artnum/046615!opendocument">
		<front>
		  <title>High availability seamless redundancy (HSR) is a further
			development of the PRP approach, although HSR functions primarily
			as a protocol for creating media redundancy while PRP, as described
			in the previous section, creates network redundancy.
			PRP and HSR are both described in the IEC 62439 3 standard.</title>
		  <author>
			<organization>IEC</organization>
		  </author>
		  <date></date>
		</front>
	  </reference>
      <reference anchor="TEAS" target="https://datatracker.ietf.org/doc/charter-ietf-teas/">
         <front>
            <title>Traffic Engineering Architecture and Signaling</title>
            <author>
               <organization>IETF</organization>
            </author>
            <date></date>
         </front>
      </reference>
      <reference anchor="PCE" target="https://datatracker.ietf.org/doc/charter-ietf-pce/">
         <front>
            <title>Path Computation Element</title>
            <author>
               <organization>IETF</organization>
            </author>
            <date></date>
         </front>
      </reference>
      <reference anchor="CCAMP" target="https://datatracker.ietf.org/doc/charter-ietf-ccamp/">
         <front>
            <title>Common Control and Measurement Plane</title>
            <author>
               <organization>IETF</organization>
            </author>
            <date></date>
         </front>
      </reference>
	</references>
  </back>
</rfc>

