<?xml version='1.0'?>   
    <!DOCTYPE rfc SYSTEM 'rfc2629.dtd' [ 
    	<!ENTITY rfc2629 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml'> 
		]>
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-xiong-detnet-qos-policy-02"
     ipr="trust200902">
  <!-- ***** FRONT MATTER ***** -->
  <front>
    <title abbrev="DetNet QoS Policy">DetNet QoS Policy</title>

	 <author fullname="Quan Xiong" initials="Q" surname="Xiong">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street>No.6 Huashi Park Rd</street>
          
          <city>Wuhan</city>
          
          <region>Hubei</region>
  
          <code>430223</code>

          <country>China</country>
        </postal>

        <phone>+86 27 83531060</phone>

        <email>xiong.quan@zte.com.cn</email>
      </address>
    </author>
	
	<author fullname="Jinghai Yu" initials="J" surname="Yu">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street>50 Software Avenue, YuHuaTai District</street>
          
          <city>Nanjing</city>
          
          <region>Jiangsu</region>
  
          <code>210012</code>

          <country>China</country>
        </postal>

        <phone>+86 025 26774049</phone>

        <email>yu.jinghai@zte.com.cn</email>
      </address>
    </author>
	
	<author fullname="Peng Liu" initials="P" surname="Liu">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street></street>
          
          <city>Beijing</city>
          
          <region></region>
  
          <code>100053</code>

          <country>China</country>
        </postal>

        <phone></phone>

        <email>liupengyjy@chinamobile.com</email>
      </address>
    </author>
	
	<author fullname="Fengwei Qin" initials="F" surname="Qin">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street></street>
          
          <city>Beijing</city>
          
          <region></region>
  
          <code></code>

          <country>China</country>
        </postal>

        <phone></phone>

        <email>qinfengwei@chinamobile.com</email>
      </address>
    </author>
	
    
	<date month="November" year="2019"/>	
    <area>route</area>
    <workgroup>DeNet WG</workgroup>
    <keyword>DetNet, QoS</keyword>
    <abstract>
      <t>This document proposes a Quality of Service (QoS) policy to apply Differentiated 
	  Services (DiffServ) model for Deterministic Networking (DetNet) and defines a DetNet 
	  DiffServ mechanism including DetNet IP and MPLS encapsulation.</t>
 
    </abstract>
  </front>

  <!-- ***** MIDDLE MATTER ***** -->


  <middle>
    <section title="Introduction">
	  
	  <t>As defined in <xref target="RFC8655"></xref>, 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.
	  DetNet and non-DetNet packets may be allowed to transmitted in the same network 
	  and more than one DetNet flows which has different priorities may be forwarded 
	  through the DetNet domain. The DetNet Class of Service (CoS) should be taken 
	  into consideration to provide Quality of Service (QoS) for DetNet services. </t>
	
	  <t>As discussed in <xref target="I-D.ietf-detnet-mpls"></xref> and <xref target="I-D.ietf-detnet-ip"></xref>, 
	  Differentiated Services (DiffServ) can provide traffic forwarding treatment 
	  for DetNet networks. The DiffServ architecture as specified in <xref target="RFC2475"></xref> 
	  defined a model that traffic entering a DiffServ domain is classified and 
	  conditioned at the boundaries and marked with a DiffServ Code Point (DSCP) 
	  defined in <xref target="RFC2474"></xref>. The DSCP is used at transit nodes 
	  to select the Per Hop Behavior (PHB) that determines the scheduling treatment. 
	  And <xref target="RFC3270"></xref> provide a solution to support DiffServ for traffic marked 
	  with Traffic Class (TC) <xref target="RFC5462"></xref> transported over an MPLS network.</t>

      <t>This document proposes a QoS policy to apply DiffServ model for DetNet 
	  networks and defines a DetNet DiffServ mechanism including DetNet IP and MPLS
	  encapsulation.</t>

     
    <section title= "Requirements Language"> 
      <t> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref target="RFC2119"></xref>.</t>
    </section>
	
	<section title= "Terminology">
      <t>The terminology is defined as <xref target="RFC8655"></xref>, <xref target="RFC3270"></xref>,
	  <xref target="RFC2475"></xref> and <xref target="RFC2474"></xref>.</t>
    </section>
	</section>
    
    <section title= "DetNet DiffServ Overview">
	
	  <t>The DetNet network needs to be capable of supporting differentiated 
	  services dividing to one or more contiguous DiffServ domains.  The key 
	  components within a DiffServ domain including traffic classification and 
	  conditioning functions, and PHB-based forwarding. The customers may specify 
	  packet classification policy, traffic profiles and actions to DetNet flows 
	  which are in-profile or out-of-profile at the boundary. The DiffServ domains 
	  may support different PHB groups internally and different codepoint->PHB 
	  mappings at the transit nodes. The DetNet DiffServ process for packets is 
	  as Figure 1 shown.</t>

	<figure  align="center">
          <artwork align="center"><![CDATA[

                   +---------+
                   |  Meter  |-----------------------------------+
            +----->| (DetNet |------------------+                |
            |      | Profile)|--+               |                |
            |      +---------+  |               |                |
            |                   V               V                V
DetNet+------------+     +----------+     +------------+     +---------+
Flow  | Classifier |     |  Marker  |     |Shaper/Order|     | Queuing |
=====>| (DetNet    |====>| (DetNet  |====>|  Dropper/  |====>| (DetNet |
      |  BA/MF)    |     |  DSCP)   |     | Scheduler/ |     |  PHB)   |                                 
      +------------+     +----------+     +------------+     +---------+
				  
        Figure 1: Overview of a DetNet DiffServ mechanism
   
   ]]></artwork>
<postamble></postamble>
       </figure>
	
	<section title= "DetNet Classifiers">
   
      <t>As defined in <xref target="RFC2475"></xref>, packet classifiers select packets in a traffic 
	  stream based on the information of packet header including two types of
      classifiers, the BA (Behavior Aggregate) and MF (Multi-Field) Classifier.
	  The difference is that the BA classifies packets based on the CoS field 
	  and the latter one based on more other header fields.</t>
	  
	  <t>In DetNet DiffServ model, BA and MF can be applied for packets classification.
	  After classification, the flows can be seperated from DetNet and non-DetNet.
	  As specified in <xref target="I-D.ietf-detnet-ip"></xref>, no DetNet specific encapsulation
	  is defined to support DetNet IP flow identification and DetNet service 
	  delivery. So the DetNet IP classifiers is the same as defined in <xref target="RFC2474"></xref>
      and <xref target="RFC2475"></xref>. As defined in <xref target="I-D.ietf-detnet-mpls"></xref>, DetNet service Label 
	  (S-Label) is used to identify a DetNet flow and forwarding labels (F-Labels) 
	  are used to provide LSP-based connectivity in DetNet MPLS header. The S-Label 
	  and F-Labels can be used in combination with MPLS TC filed in MF classifier. 
	  And DetNet MPLS BA classifier select packets based on the MPLS TC field only 
	  as defined in <xref target="RFC5462"></xref>.</t>
	  
	</section>

	<section title= "DetNet Traffic Conditioners">
	  <t>As mentioned in <xref target="RFC8655"></xref>, DetNet flows can be shaped or scheduled. 
	  The rate limiting of DetNet traffic and the starvation avoiding of non-DetNet 
	  traffic, e.g., at the ingress of the DetNet domain must be applied by traffic 
	  policing and shaping functions. As <xref target="RFC2475"></xref> defined, the traffic conditioner may 
	  contain four elements: meter, marker, shaper and dropper. Traffic conditioning 
	  performs metering, shaping, policing and/or re-marking to ensure the traffic 
	  which entering the DiffServ domain conforms to the service provisioning policy. 
	  </t>
	  
	  <t>In DetNet, the traffic policing and conditioning SHOULD include meter,
      marker, shaper, dropper, scheduler and order. A meter with a DetNet Profile 
	  is used to measure the DetNet flows selected by a DetNet classifier and 
	  the result of the meter with respect to a packet may be used to trigger a 
	  DetNet action including a marking, shaping, dropping, scheduling or ordering. 
	  A marker is used to set the Cos field of a DetNet packet to a DetNet DSCP 
	  (section 2.3), mapping the marked packet to a DetNet PHB. A Shaper may apply 
	  specific shaping algorithms implemented by DetNet network, e.g., credit-based 
	  shaper [IEEE802.1Qav]. A dropper is used to discard some of the non-DetNet 
	  packets to provide the QoS of the DetNet flows when congestion occurs.</t> 

	<section title= "Scheduler">
	  <t>As decribed in <xref target="RFC8655"></xref>, the DetNet flows can be scheduled
	  to achieve time-based synchronization for scheduled traffic. This document 
	  proposes a new type of action for DetNet traffic conditioning named Scheduler
	  action. A scheduler may apply specific scheduling and related Queuing algorithms
	  implemented by DetNet network, e.g., Time-gated queues [IEEE802.1Qbv] and Cyclic 
	  Queuing and Forwarding [IEEE802.1Qch]. </t>
	</section>

	<section title= "Order">
	  <t>As defined in <xref target="I-D.ietf-detnet-mpls"></xref>, DetNet control word (d-CW) 
	  containing sequencing information for packet replication and duplicate 
	  elimination purposes. Sequence Number is different packet-by-packet. 
	  Based on Detnet MPLS date plane encapsulation, this document proposes 
	  a new type of action for DetNet traffic conditioning named order action 
	  which used to reorder the packets within a DetNet flow that are received 
	  out of order.</t>
	  
    </section>	  
	</section>
	
	<section title= "DetNet DSCP">
	  <t> The DetNet DSCP carried in CoS field in IP header and TC field in MPLS
	  header may be uesd to mark packets at ingress nodes and select a DetNet PHB
	  (section 2.4) at transit nodes. DetNet DSCP MUST be defined to one or more 
	  particular values, which MUST be unique for codepoints in the standard space. </t>
	  
	  <t>[Ed.note: We need to define one or more DetNet DSCP values and related DetNet
	  PHB for DetNet-specific treatment.]</t>
	  
	</section>
   
    <section title= "DetNet PHB">
	  <t>As specified in <xref target="RFC2475"></xref>, per-hop behaviors are defined to permit a 
	  reasonably granular means of allocating buffer and bandwidth resources 
	  at each node among competing traffic streams. PHB groups will usually 
	  share a common constraint such as a packet scheduling or buffer management
      policy. According to <xref target="RFC4594"></xref>, Default Forwarding (DF) PHB, Assured 
	  Forwarding (AF) PHBs, Expedited Forwarding (EF) PHB and Class Selector (CS) 
	  PHBs have been defined to provide forwarding treatment. These PHBs can
	  be used to forward DetNet flows based on the requirement.</t>
	  
	  <t>This document defines a new type of Deterministic Networking (DN) PHB 
	  which is intended for traffic requiring extremely low data loss rates and 
	  bounded latency for DetNet. The DN PHB may include a set of PHB classes, e.g.,
	  DN1,DN2,etc. And the number of the class is the same with the DetNet DSCP values.
	  The DSCP in IP header and TC in MPLS header should be mapped to DN PHB with 
	  the relevant PHB specification which may be completed in future discussion.</t> 
	  
	</section>
	
	<section title= "DetNet Queuing">
	<t>As discussed in <xref target="RFC8655"></xref>,the nodes in DetNet network 
	  shall queue each received packets to one of the potential transmission ports 
	  and provide storage for queued packets, awaiting to submit these for transmission. 
	  A port provides one or more queues corresponding to the number of traffic 
	  classes. The queuing mechanism should be configured and implemented to DetNet
	  nodes.</t>
	  
	  <t>As defined in <xref target="RFC4594"></xref>, Priority Queuing (PQ) was defined to queue the 
	  packets in priority sequence and Rate Queuing (RQ)selects packets according 
	  to the specified rate including Weighted Fair Queuing (WFQ) and Weighted 
	  Round Robin (WRR). Active Queue Management (AQM) also be defined to use 
	  packet dropping or marking to manage the depth of a queue.</t> 

	  <t>As per IEEE 802.1 WG, queuing and transmission selection algorithms 
	  also can be used for queue scheduling in DetNet network.</t> 
	  
	</section>
	
	</section>
	
	
    <section title= "DetNet IP DiffServ Consideration">
      
	  <t>As specified in <xref target="I-D.ietf-detnet-ip"></xref>, no DetNet specific encapsulation
	  is defined to support DetNet IP flow identification and DetNet service 
	  delivery. So the DetNet IP classification is the same as defined in <xref target="RFC2474"></xref>
      and <xref target="RFC2475"></xref>. But the recommended DetNet DSCP may be uesd to mark packets to select a 
	  DetNet PHB and the transit nodes should implement mechanisms performing 
	  the PHB. The mapping of DSCP to PHBs MUST be configurable. Implementations 
	  should support the recommended codepoint-to-PHB mappings in their default 
	  configuration. </t>
	  
	</section>
	
    <section title= "DetNet MPLS DiffServ Consideration">
	
	  <t>As defined in <xref target="I-D.ietf-detnet-mpls"></xref>, DetNet S-Label and F-Labels
	  can be used in combination with MPLS TC filed in MF classifier. The BA 
	  classifier is the same with the <xref target="RFC3270"></xref>.</t>
	  
      <t>Two types of LSPs including Explicitly TC-encoded-PSC LSP (E-LSP) and
	  Label-Only-Inferred-PSC LSP (L-LSP) follows the definition of <xref target="RFC3270"></xref> and 
	  can be used to support DetNet explicit routes in MPLS-TE LSP. A E-LSP can be 
	  used to support one or more DetNet flows and a L-LSP can be established for 
	  one flow. E-LSP and L-LSP can use a signaled TC->PHB mapping to forward packets
	  whose corresponding PHBs are defined in this document.</t>
	 
	  <t>In DetNet MPLS network, DetNet Layer Two Service is supported in TSN over
	  MPLS. The LSP egressing over egde nodes can use the preconfigured PHB->802.1 
	  mapping as defined in <xref target="RFC3270"></xref>.</t>
	  
	  <t>As specified in <xref target="RFC3270"></xref>, there may be more than one LSP carrying the 
	  same flow. Two or more LSPs can be merged into one LSP at one egressing 
	  LSR. It can be used to perform the packet replication (PRF) at ingress nodes
	  and the packet elimination (PEF) at the egress nodes in DetNet DiffServ model.
	  The order action which defined in this document can be used for packet ordering 
	  functionality (POF).</t>
	
	</section>

    <section anchor="Security" title="Security Considerations">
    <t>TBD.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
    <t>TBD.</t>
    </section>
     
    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>TBD.</t>
    </section>
    
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>

    <references title="Informative References">
     <?rfc include='reference.RFC.2475'?>
     </references>
     
     <references title="Normative References">
     <?rfc include='reference.RFC.2119'?>
	  <?rfc include='reference.RFC.2474'?>
	  <?rfc include='reference.RFC.4594'?>
	  <?rfc include='reference.RFC.3270'?>
	  <?rfc include='reference.RFC.5462'?>
	  <?rfc include='reference.RFC.8655'?>
	  <?rfc include='reference.I-D.ietf-detnet-ip'?>
	  <?rfc include='reference.I-D.ietf-detnet-mpls'?>
	 </references>
      
    
 
  </back>
</rfc>
