<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.9 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-eckert-detnet-criteria-assessment-00" category="info" submissionType="IETF" tocDepth="5" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="detnet-criteria">Criteria and Assessment for DetNet Services Forwarding Plane Methods</title>

    <author initials="T." surname="Eckert" fullname="Toerless Eckert">
      <organization>Futurewei Technologies USA</organization>
      <address>
        <postal>
          <street>2220 Central Expressway</street>
          <city>Santa Clara</city>
          <code>CA 95050</code>
          <country>USA</country>
        </postal>
        <email>tte@cs.fau.de</email>
      </address>
    </author>

    <date year="2023" month="March" day="06"/>

    
    <workgroup>DETNET</workgroup>
    

    <abstract>


<t>This memo proposes methods to define, document and assess common criteria
for the evaluation of forwarding plane mechanisms intended to be used
within the DetNet WG as well as by implementers, operators and vendors
that need to compare and select such mechanisms.</t>

<t>This document is not intended to become an RFC but does at this point in time
soslely intend to help the process of documentation, assessment and comparison.
The goals of this memo may change in later revisions.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="I-D.ietf-detnet-scaling-requirements"/> defines a range of requirements
in support of scaling DetNet deployment along various parameters including
the size of the network and the number of DetNet flows to be supported. 
Understanding how the variety of currently existing as well as new, proposed
forwarding mechanisms do match these requirements does require to start
defining quantifyable criteria and assess how each specific mechanism does
meet the criteria. This document proposes how to do this.</t>

</section>
<section anchor="goals"><name>Goals</name>

<t>The criteria should be descriptive so that operators can assess the feasibility and
benefits of an assessed method without necessarily having to understand the exact
behavior of the mechanism. This implies that some duplication of assessments may be
appropriate such as using benefits and challenges as criteria, even if they are
coupled because of the ame underlying root cause.</t>

<t>The criteria should be descriptive so that vendors of network and controller plane
equipment can assess the feasibility and challenges of mechanisms for implementation,
especially with respect to on-chip cost as well as scale aspects - speed of network links,
latency/jitter of links, total number of flows to be supported, and so on. These criteria
tend to require more detail assessment as hopefully necessary for operators.</t>

<t>One of the meta goals of assessments is to find the minimum number of higher-level criteria
sufficient for operators, but currently this is not possible. For example, the authors
consider it to be impossible to specify agreeable criteria for an assessment such as
"can be supported in 400Gbps ++ switches/routers without additional device cost". But more
explicit detail criteria which do add up to such assessments can be specified.</t>

</section>
<section anchor="assessment-criteria"><name>Assessment Criteria</name>

<section anchor="general"><name>General</name>

<t>Criteria: Name (/version/instances)</t>

<t>Description: Summary of the methods benefits and goals.</t>

<t>Criteria: Reference(s)</t>

</section>
<section anchor="service-characteristics"><name>Service Characteristics</name>

<section anchor="latency"><name>Latency</name>

<t>Criteria: Latency guarantee: NA / Bounded or Heuristic</t>

<t>Explanation: If the method assessed supports deterministically bounded latency, then
this criteria is "Bounded". Else it is "NA" or "Heuristic".</t>

<t>Example: <xref target="I-D.stein-srtsn"/> proposes a method resulting in heuristic latency guarantees.
the maximum latency can not 100% be guaranteed by the proposed forwarding mechanisms,
but only with a very high probability (depending on traffic characteristics).</t>

</section>
<section anchor="jitter"><name>Jitter</name>

<t>Criteria: Hop-by-hop jitter bounds: in-time / on-time / &lt;other&gt;</t>

<t>Explanation: This criteria assesses coarsly the jitter behavior of the method.
An on-time method does not delay packets on a per-hop basis to reduce jitter of
packets across the hop. In the absence of competing traffic, packets of a flow that
do not exceed the flows permitted traffic model parameters are forwarded without
any delay. On-time methods have the largest possible jitter, but the shortest possible
delay in no-load situations. On-time methods do reduce per-hop jitter through buffering.
They have the lowest "possible" jitter, but a latency (mostly) independent on load.
If neither in-time no on-time sufficiently characterizes the jitter behavior, new "&lt;other&gt;"
classification terms should be introduced. If easily possible, the explanation
should provide some numeric description of the jitter behavior.</t>

<t>Discussion: This criteria specifically asks for the hop-by-hop behavior, because
every on-time mechanism can be converted into an in-time mechanism by add-on
mechanisms such as receiver endpoint playout buffers using sender generated timestamps
to delay processing up to the known bounded latency time. But such ad-on mechanisms
would introduce for example the need for end-to-end clock synchronization and may hence
negate benefits of the choosen method - and should therefore the evaluated separately.</t>

<t>Example: In <xref target="UBS"/>, hop-by-hop jitter is on-time, and minimum latency is likely the minimum
latency possible for any algorithm with linear hop-by-hop calculus. In <xref target="CQF"/> and <xref target="I-D.eckert-detnet-tcqf"/>,
jitter is in the order of the cycle time T and hence minimal, and latency therefore close
to the bounded latency.</t>

</section>
</section>
<section anchor="network-applicability"><name>Network Applicability</name>

<t>Criteria: Intended / applicable for IP / IPv6 / MPLS (subset)</t>

<t>Criteria: Intended for 100Gbps networks and faster (Yes/No)</t>

<t>Criteria: Requires new on-the-wire packet header fields (Yes/No/Optional)</t>

<t>Criteria: Latency requirements for links</t>

<t>Description: This assessment is to specify and describe the latency requirements for links. Some methods can only support links with tight latency limits, such as <xref target="CQF"/>.</t>

<t>Criteria: Jitter requirements/impact for wireline links</t>

<t>Description: Link jitter on wireline links may occur because of packet loss and recovery by FEC (such as on ATM links), or link length variation, such as "hanging" links on poles (up to 30% between noon and midnight in observed cases). This criteria should describe the impact of such known wireline jitter impacts (and their feasibility) on the method.</t>

<t>Criteria: Jitter requirements/impact for radio links</t>

<t>Description: Radio links typically are subject to high, unpredictable loss and he use of link-layer retransmissions which cause higher latency for such retransmitted packets. While these behaviors do typically not impact the assessed mechanism itself, they can impact the necessary parameters and limit of applicability of the method for such radio links. This criteria is meant to describe this.</t>

<t>Discussion: The distinction between wireline and radio links is somewhat artificial in so far as that all jitter mitigation techniques are  applicable across transmission media, but practically, this distinction helps to keep the wireline descriptions simpler, and given how DetNet services over radio links is laregly less well understood, this distinction matches also the difference in likelyhood of initial adoption/relevance.</t>

</section>
<section anchor="node-clocking"><name>Node Clocking</name>

<t>Criteria: Asynchronous: Yes / No (No =~ Asynchronuous)</t>

<t>Explanation: A forwarding mechanism can claim to be asynchronuous if it can support
unlimited "Maximum Time Interval Error" (MTIE) towards neighboring nodes. In other
words, the clocks between adjacent nodes may drift/wander over time unlimited. If
this is not the case, then the method should be called synchronous for this criteria.</t>

<t>TSN <xref target="ATS"/> is an example of an asynchronuous mechanism. TSN <xref target="CQF"/> is an example of a
synchronuous mechanism.</t>

<t>Criteria: MTIE impact on jitter and bounded latency</t>

<t>Explanation: The MTIE of adjacent clock has a quantifyable impact on the achievable
per-hop bounded latency and jitter. This criteria is intended to provide a characterization
of this impact. At this point in time it is unclear what the most easily feasible
absolute metric(s) are to perform this characterization, so this memo proposes an
informal description, including absolute comparisons to the impact on pre-existing
reference methods. Hopefully it will be possible to derive at more well defined
metrics in later versions of this document.</t>

<t>Note: The MTIE will not be the only parameter of importance here, but also the
frequency of of clock variation within the MTI. The appropriate metric for this
is also TBD.</t>

<t>For easier assessment, it can be helpfull to provide minimum MTIE/drift-speed requirements
for a 1 Gbps network vs. a 100 Gbps network to make it easy to compare numbers
across mechanisms for these real-world numbers.</t>

</section>
<section anchor="traffic-model"><name>Traffic Model</name>

<t>Criteria: Traffic Model Per-Hop, Per-Flow Parameters</t>

<t>Explanation: Explanation for the parameters of the traffic model of the packets of
one DetNet flow when being processed of the assessed mechanism. The mechanism may support
more than one set of traffic model parameters.</t>

<t>Example: The <xref target="UBS"/> mechanism, as used in for example TSN <xref target="ATS"/> defines two possible traffic
models: The Token Bucket model (TBE - Token Bucket Emulation), and the simpler
Length Rate Quotient (LRQ) model, which could be ignored for assessment because it provides
only a subset of functionality of TBE. For TBE, a flow (i) has two parameters, a "leak rate"
r(i) (bits/sec) and a burstyness b(i) (bits).</t>

<t>Example 2: In <xref target="RFC2210"/>, the traffic model incurs a richer set of parameters compared
to <xref target="UBS"/> (if definition here is desired: TBD), resulting in a higher processing
complexity, but also more fine-grained options to differentiate the per-hop latency of
flows compared to UBS.</t>

</section>
<section anchor="per-hop-processing-state"><name>Per-hop Processing State</name>

<t>Criteria: (per-hop, per-flow) Stateful: Yes / No (No =~ stateless)</t>

<t>Explanation: Assume a DetNet service with ingres/egres nodes called PE(i), i=1..N,
A forwarding plane flow flow(i,j) is the totality of packets from one PE(i) to one PE(j) where
the DetNet services, especially bounded latency and/or jitter will experience the
same treatment. Such a flow can be a single DetNet flow, or it can be an aggregate of
multiple DetNet flows that will be treated the same. Consider two or more forwarding
plane flows flow(i1,j) and flow(i2,j) that arrive from different input interfaces onto
the same router on the path towards PE(j). If this router can process these packets
without having to distinguish i1 and i2, then this criteria calls this method
stateless, else stateful.</t>

<t>TSN <xref target="ATS"/> is an example of a stateful mechanism, TSN <xref target="CQF"/> is an example of a
stateless mechanism.</t>

<t>Criteria: algorithm parameters and mechanisms</t>

<t>Explanation: This criteria describes the on-node state and processing mechanisms
required by the method for the processing of packets.</t>

<t>The so-called "lookup-state" is the set of keys from
a packet required to look up the so-called "on-node per-flow processing state" state required
to process a packet. In addition, packets may also carry other "per-packet processing parameters"</t>

<t>In a stateful mechanism, the lookup state consists of the keys of
a DetNet flow, depending on the DetNets forwarding plane
(IP 5/6 tuple or MPLS label stack elements) or from the underlying L2 solution 
used to implemented the mechanism, such as ethernet header fields for IEEE mechanisms.</t>

<t>Discussion: The <xref target="UBS"/> algorithm as used in TSN methods relies on ethernet header
lookup-state, but could equally rely on DetNet flow parameters as lookup state. Hence
the lookup-state for stateful methods is not an important comparison criteria and
is therefore defined here explicitly to allow focussing on the processing state.</t>

<t>Example 1: In <xref target="UBS"/>, the processing state for a flow(i) consists of the traffic models
per-flow parameters r(i) and b(i) as well as the processing parameters parameters
level(i), timestamp(i) and a priority p(i). p(i) can be different on every hop and
impacts the per-hop latency experienced by packets of flow(i).</t>

<t>Processing a packet consists of performing calculations over those five parameters
as well as updating level(i) and timestamp(i) in time before another packet of flow(i)
arrives, so that that following packets processing can take the updated parameters
into account. Scheduling of the packet is determined by a calculation of these parameters
and the presence of competing packets. The mechanisms propsed to support the scheduling
of packets are a combination of "interleaved regulators" and "strict priority queueing".</t>

<t>Example 2: In <xref target="CQF"/>, there is no (per-flow) lookup state. Instead, the arrival timestamp
of packets is used to determine the scheduling of the packet into the appropriate
cyclic queue.</t>

<t>Example 3: in <xref target="I-D.eckert-detnet-tcqf"/>, there is no (per-flow) lookup state. Instead,
a per-packet processing parameter called the cycle identifier 'c' is used to indicate
the cycle into which the packet is to be enqueued.</t>

</section>
<section anchor="calculus"><name>Calculus</name>

<t>Criteria: Published per-hop calculus: Yes/No</t>

<t>Explanation: For this criteria to be assessed yes, there needs to be a published description for
how to calculate in less than NP complete complexity whether a given set of flows with a
given set of traffic model parameters and a required set of latency and (if offered) jitter
requirement can fit onto an individual interface/link  with a given set of parameters,
speed, latency, buffers and resulting in a specific per-hop behavior: latency, jitter.
If sufficiently easily feasible, the explanation of the assessed criteria should contain
a summary of the calculus.</t>

<t>Description: It is hopefully sufficient that all methods of interest will allow to
break down the resource consumption vs. achieved latency/jitter on a per-hop basis,
so that the end-to-end characteristics can be calculated in linear time across the
hops of a path.</t>

<t>Criteria: Published linear per-hop, per-flow calculus: Yes/No</t>

<t>Explanation: For this criteria to be assessed as yes, the prior requirement is extended by
requiring for a calculus to add/delete an individual flow from the set of current flows
and to require for this calculus to have no more than linear complexity with the number
of flows utilizing the link.</t>

<t>Description: The prior calculus criteria is assumed to be sufficient to permit
admission of a set of flows during longer-term planning/provisioning, by allowing
for the calculus to have significant complexity. Especially when the network has significantly
more resources than required for DetNet services, it may only be necessary to calculate
the overall DetNet resources, but not to quickly and dynamically reserve resources for
new flows or release them. This criteria instead is written to support exactly this.
Whether admission happens in an offline controller-plane, or on-path - both options are
known to be easily supportable if this criteria can be met by a method.</t>

<t>Criteria: Hop-by-hop jitter bounds: in-time / on-time / &lt;other&gt;</t>

<t>Explanation: This criteria assesses coarsly the jitter behavior of the method.
An on-time method does not delay packets on a per-hop basis to reduce jitter of
packets across the hop. In the absence of competing traffic, packets of a flow that
do not exceed the flows permitted traffic model parameters are forwarded without
any delay. On-time methods have the largest possible jitter, but the shortest possible
delay in no-load situations. On-time methods do reduce per-hop jitter through buffering.
They have the lowest "possible" jitter, but a latency (mostly) independent on load.
If neither in-time no on-time sufficiently characterizes the jitter behavior, new "&lt;other&gt;"
classification terms should be introduced. If easily possible, the explanation
should provide some numeric description of the jitter behavior.</t>

<t>Discussion: This criteria specifically asks for the hop-by-hop behavior, because
every on-time mechanism can be converted into an in-time mechanism by add-on
mechanisms such as receiver endpoint playout buffers using sender generated timestamps
to delay processing up to the known bounded latency time. But such ad-on mechanisms
would introduce for example the need for end-to-end clock synchronization and may hence
negate benefits of the choosen method - and should therefore the evaluated separately.</t>

<t>Example: In <xref target="UBS"/>, hop-by-hop jitter is on-time, and minimum latency is likely the minimum
latency possible for any algorithm with linear hop-by-hop calculus. In <xref target="CQF"/> and <xref target="I-D.eckert-detnet-tcqf"/>,
jitter is in the order of the cycle time T and hence minimal, and latency therefore close
to the bounded latency.</t>

</section>
<section anchor="packetization"><name>Packetization</name>

<t>Criteria: Per-flow compatibility with per-hop source-routing: Yes / No (SR-MPLS, SRv6, BIER-TE,...)</t>

<t>Explanation: In a network deployment using source-routing, path selection is done not
hop-by-hop through a distribued routing protocol, but decided by a packet header inserted
by the ingres router / LSR into a domain. This is meant to reduce overall operations
and signaling complexity and eliminating the need to update per-hop routing / forwarding state.
Compatibility with this for DetNet services implies that the assessed mechanism does also
provide the ability to perform the DetNet service (especially per-hop latency/jitter guarantees)
purely through in-packet headers as opposed to per-hop,per-flow state in support of these
services.</t>

<t>Discussion: This document is only aware of mechanisms meeting this critera if they also
are meeting the stateless criteria from earlier in this document. Neverthless, this criteria
is listed separate to not make the assumption that this is always necessary. 
In addition, stateless mechanisms for DetNet services may also be desirable in 
non-stateless routing deployments, Such as especially when using stateless multicast
with non source-routing for unicast. In such deployments, the compatibility with 
per-hop source-routing is irrelevant to the operator.</t>

<t>Criteria: End-to-end packet header requirements (~N bits/bytes)</t>

<t>Description: This criteria assesses the end-to-end packet header requirements to
support the assessed mechanism. This may depend on other packet encapsulation aspects
such ass whether IP or MPLS are being used, in this case multiple assessments can
be provided, one for each context. If this is not applicable, then "none" should be used.
This criteria should not include assessment of packet header requirements that
are per-hop, including any possible end-to-end overheader for a per-hop header.</t>

<t>Example: In  most stateful mechanisms such as <xref target="UBS"/>, this criteria is "none", because
the only packet header requirement is the flow-key headers, e.g.: DetNet flow identification.
In a method such as TQF <xref target="I-D.eckert-detnet-tcqf"/> it is a small number such as 3 bits.</t>

<t>Criteria: Hop-by-hop packet header requirements (M + N/per-hop bits/bytes)</t>

<t>Description: This criteria assesses the packet header requirements if the mechanism
needs or supports per-hop in-packet header parameters. M should be the static
overhead independent of the number of hops, N the per-hop cost. Descriptive text
shoud be used as necessary to explain/refine the assessment.</t>

<t>Example: A mechanism such as <xref target="I-D.stein-srtsn"/> proposes per-hop latency deadline values
in the packet header. Thus the per-hop header requirement is the number of bits
required to represent these deadlines. If possible instances of such a mechanism might
need different size header fields depending on size or speed of the network, it could
be assessed using example 1Gbps and 100Gbps networks.</t>

</section>
</section>
<section anchor="example-assessment-tcqf"><name>Example Assessment: TCQF</name>

<section anchor="general-1"><name>General</name>

<section anchor="name-of-the-mechanism-tagged-cyclic-queuing-and-forwarding-tcqf"><name>Name of the Mechanism: Tagged Cyclic Queuing and Forwarding (TCQF)</name>

<t>TCQF is a derivation of <xref target="CQF"/>. In CQF, the arrival time of a packet
determines the cycle in which it is forwarded. This limits applicability of
CQF to links/networks with short propagation latencies. TCQF replaces
this meth with an in-packet cycle indicator and the use of 3 or more
cycles to support arbitrary link latencies and link jitter. Due to the
use of only few bits to indicate the cycle in a packet header TCQF
could be implemented for IP and MPLS without change of packet headers
by using DSCP or TC fields.</t>

</section>
</section>
<section anchor="reference-i-deckert-detnet-tcqf"><name>Reference: <xref target="I-D.eckert-detnet-tcqf"/></name>

</section>
<section anchor="service-characteristics-1"><name>Service Characteristics</name>

<section anchor="latency-guarantee-bounded-deterministic"><name>Latency guarantee: Bounded (deterministic)</name>

</section>
<section anchor="jitter-on-time-2-cycle-time-t"><name>Jitter: on-time (2* cycle-time T)</name>

<t>End-to-end jitter with TCQF is at most 2 times the cycle-time T.
In a wireline 100 Gbps network, this cycle time could for example be 20...100 usec,
resulting in a maximum end-to-end jitter of 40...200 usec.</t>

</section>
</section>
<section anchor="network-applicability-1"><name>Network Applicability</name>

<section anchor="intended-for-ip-ipv6-and-mpls-networks"><name>Intended for IP, IPv6 and MPLS networks</name>

<t>As mentioned in General section.</t>

</section>
<section anchor="intended-for-100gbps-networks-and-faster"><name>Intended for 100Gbps networks and faster</name>

<t>The faster the network, the shorter the cycle time can be, and
hence the per-hop latency introduced by cyle forwarding. This
method may not be a useful enhancement in those slower 1..10 Gbps networks
where <xref target="CQF"/> can work well.</t>

</section>
<section anchor="latency-requirements-for-links-arbitrary"><name>Latency requirements for links: arbitrary</name>

</section>
<section anchor="wireline-jitter-supported-at-the-cost-of-higher-per-hop-latency"><name>Wireline Jitter: supported (at the cost of higher per-hop latency)</name>

<t>When links may incur jitter in propagation latency, the number N of
cycles needs to be configured so that jitter &lt; T * (N - 3). In other
words, in addition to the 3 cycles required to support arbitrary
latencies, an additional (N - 3) cycles are required so that the
cycle time T * (N -3) exceeds the jitter: These additional cycles
serve as a type of "per-hop" playout buffer converting the jitter
into latency - and maintaining the end-to-end maximum Jitter of 2*T.</t>

</section>
<section anchor="radio-jitter-no-tbd"><name>Radio Jitter: NO / TBD</name>

<t>Considerations of Jitter beyond those explained for Wireline are TBD.</t>

</section>
</section>
<section anchor="node-clocking-1"><name>Node Clocking</name>

<section anchor="asynchronous-no"><name>Asynchronous: No</name>

</section>
<section anchor="mtie-impact-on-jitter-and-bounded-latency"><name>MTIE impact on jitter and bounded latency</name>

<t>TCQF requires a known upper limit of the MTIE for cycles to not
run out of synchronization. The impact of MTIE on the configuration
of MTIE is like the impact of link jitter: Higher MTIE can be
compensated for with larger cycle time / number of cycles. This
allows to reduce MTIE requirements compared to <xref target="CQF"/> by a
factor of 20 or more, thereby reducing the implementation cost
and/or allowing to support faster links without increase of
clock synchronization accuracy (which could otherwise be prohibitive
at speeds &gt;= 100 Gbps)..</t>

</section>
</section>
<section anchor="traffic-model-1"><name>Traffic Model</name>

<section anchor="traffic-model-per-hop-per-flow-parameters"><name>Traffic Model Per-Hop, Per-Flow Parameters</name>

<t>The per-hop traffic model for an end-to-end flow is the maximum
number of bits in a cycle time. On ingres to a TCQF path,
flows with other traffic models (such a Token Bucked models as
in <xref target="UBS"/>) have to be shaped accordingly.</t>

</section>
</section>
<section anchor="per-hop-processing-state-1"><name>Per-hop Processing State</name>

<section anchor="per-hop-per-flow-stateful-no"><name>(per-hop, per-flow) Stateful: No</name>

<t>TCQF nodes only need to buffer packets in per-egres cycle
buffers independent of flows. Therefore an arbitrary number of
ingres to egres flows especially from different ingres can
share the same buffers. On an ingres-node, per-flow state
may be necessary if the aforementioned shaping of flows
is required. If a trusted application sender supports TCQF directly,
no network node needs to have any per-flow state.</t>

</section>
</section>
<section anchor="algorithm-parameters-and-mechanisms"><name>Algorithm parameters and mechanisms</name>

<t>TCQF only requires a mapping table on each egres interface:</t>

<t>(input-interface, ingres-cycle) -&gt; (egres-cycle / egres-cycle-buffer)</t>

</section>
<section anchor="calculus-1"><name>Calculus</name>

<section anchor="published-per-hop-calculus-yes"><name>Published per-hop calculus: Yes</name>

<t>As per TCQF reference. See next critera for explanation.</t>

</section>
<section anchor="published-linear-per-hop-per-flow-calculus-yes"><name>Published linear per-hop, per-flow calculus: Yes</name>

<t>As per TCQF reference</t>

<t>Bandwidth admission calculus is pretty much simply keeping track of the number of
bits required for each flow on every hops cycle buffers
in e.g.: an offline admission controller.</t>

<t>Latency calculus is simply adding up the per-hop cycle delay
based on the number of cycles configured for each hop.</t>

</section>
<section anchor="hop-by-hop-jitter-bounds-on-time"><name>Hop-by-hop jitter bounds: on-time</name>

<t>The per-hop jitter as observed between enqueing from the sending
hop cycle queue to serving the next-hop cycle queue is as the
end-to-end jitter 2 * T. Note that this may be lower than the
jitter of propagation latency across the traversed link, e.g.:
the mechanism is compensating for that jitter as explained earlier.</t>

</section>
</section>
<section anchor="packetization-1"><name>Packetization</name>

<section anchor="per-flow-compatibility-with-per-hop-source-routing-yes"><name>Per-flow compatibility with per-hop source-routing: Yes</name>

<t>TCQF can support SR-MPLS, SRv6, BIER and BIER-TE by use of the
DSCP and/or TOS fields of the IP/IPv6 or MPLS header. This
is explained in the TCQF reference.</t>

<t>Note that for MPLS, the number of possible values is less
than 3 bits, so the amount of MTIE or link jitter than can
be compensated will be limited</t>

</section>
<section anchor="end-to-end-packet-header-requirements"><name>End-to-end packet header requirements</name>

<t>Basic TCQF can operrte with three header values (less than 2 bits in a header).
Depending on number of cycles needs 3 bits or more may be beneficial.</t>

</section>
<section anchor="hop-by-hop-packet-header-requirements"><name>Hop-by-hop packet header requirements</name>

<t>TCQF does not propose any hop-by-hop headers in addition to
the per-hop rewritten end-to-end header carrying the cycle identifier.</t>

</section>
</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>TBD.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA considerations.</t>

</section>
<section anchor="changelog"><name>Changelog</name>

<t>[RFC-editor: please remove]</t>

<t>Initial draft name: draft-eckert-detnet-criteria-assessment-00</t>

</section>


  </middle>

  <back>



    <references title='Informative References'>





<reference anchor='RFC2210' target='https://www.rfc-editor.org/info/rfc2210'>
<front>
<title>The Use of RSVP with IETF Integrated Services</title>
<author fullname='J. Wroclawski' initials='J.' surname='Wroclawski'><organization/></author>
<date month='September' year='1997'/>
<abstract><t>This note describes the use of the RSVP resource reservation protocol with the Controlled-Load and Guaranteed QoS control services. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2210'/>
<seriesInfo name='DOI' value='10.17487/RFC2210'/>
</reference>


<reference anchor='I-D.eckert-detnet-tcqf' target='https://datatracker.ietf.org/doc/html/draft-eckert-detnet-tcqf-01'>
   <front>
      <title>Deterministic Networking (DetNet) Data Plane - Tagged Cyclic Queuing and Forwarding (TCQF) for bounded latency with low jitter in large scale DetNets</title>
      <author fullname='Toerless Eckert' initials='T. T.' surname='Eckert'>
         <organization>Futurewei Technologies USA</organization>
      </author>
      <author fullname='Stewart Bryant' initials='S.' surname='Bryant'>
         <organization>University of Surrey ICS</organization>
      </author>
      <author fullname='Andrew G. Malis' initials='A. G.' surname='Malis'>
         <organization>Malis Consulting</organization>
      </author>
      <author fullname='Guangpeng Li' initials='G.' surname='Li'>
         <organization>Huawei Network Technology Laboratory</organization>
      </author>
      <date day='6' month='November' year='2022'/>
      <abstract>
	 <t>   This memo specifies a forwarding method for bounded latency for
   Deterministic Networks.  It uses cycle tagging of packets for cyclic
   queuing and forwarding with multiple buffers (TCQF).  This memo
   standardizes tagging via the MPLS packet Traffic Class (TC) field for
   MPLS links and the IP/IPv6 DSCPfield for IP/IPv6 links.  The short-
   hand for this mechanism is Tagged Cyclic Queuing and Forwarding
   (TCQF).

   Target benefits of TCQF include low end-to-end jitter, ease of high-
   speed hardware implementation, optional ability to support large
   number of flow in large networks via DiffServ style aggregation by
   applying TCQF to the DetNet aggregate instead of each DetNet flow
   individually, and support of wide-area DetNet networks with arbitrary
   link latencies and latency variations.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-eckert-detnet-tcqf-01'/>
   
</reference>


<reference anchor='I-D.ietf-detnet-scaling-requirements' target='https://datatracker.ietf.org/doc/html/draft-ietf-detnet-scaling-requirements-01'>
   <front>
      <title>Requirements for Scaling Deterministic Networks</title>
      <author fullname='Peng Liu' initials='P.' surname='Liu'>
         <organization>China Mobile</organization>
      </author>
      <author fullname='Yizhou Li' initials='Y.' surname='Li'>
         <organization>Huawei</organization>
      </author>
      <author fullname='Toerless Eckert' initials='T. T.' surname='Eckert'>
         <organization>Futurewei Technologies USA</organization>
      </author>
      <author fullname='Quan Xiong' initials='Q.' surname='Xiong'>
         <organization>ZTE Corporation</organization>
      </author>
      <author fullname='Jeong-dong Ryoo' initials='J.' surname='Ryoo'>
         <organization>ETRI</organization>
      </author>
      <author fullname='zhushiyin' initials='' surname='zhushiyin'>
         <organization>New H3C Technologies</organization>
      </author>
      <author fullname='Xuesong Geng' initials='X.' surname='Geng'>
         <organization>Huawei</organization>
      </author>
      <date day='1' month='March' year='2023'/>
      <abstract>
	 <t>   Aiming at scaling deterministic networks, this document describes the
   technical and operational requirements when the network has large
   variation in latency among hops, great number of flows and/or
   multiple domains without the same time source.  Different
   deterministic levels of applications co-exist and are transported in
   such a network.  This document also describes the corresponding
   Deterministic Networking (DetNet) data plane enhancement
   requirements.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-detnet-scaling-requirements-01'/>
   
</reference>


<reference anchor='I-D.stein-srtsn' target='https://datatracker.ietf.org/doc/html/draft-stein-srtsn-01'>
   <front>
      <title>Segment Routed Time Sensitive Networking</title>
      <author fullname='Yaakov (J) Stein' initials='Y. J.' surname='Stein'>
         <organization>RAD</organization>
      </author>
      <date day='29' month='August' year='2021'/>
      <abstract>
	 <t>   Routers perform two distinct user-plane functionalities, namely
   forwarding (where the packet should be sent) and scheduling (when the
   packet should be sent).  One forwarding paradigm is segment routing,
   in which forwarding instructions are encoded in the packet in a stack
   data structure, rather than programmed into the routers.  Time
   Sensitive Networking and Deterministic Networking provide several
   mechanisms for scheduling under the assumption that routers are time
   synchronized.  The most effective mechanisms for delay minimization
   involve per-flow resource allocation.

   SRTSN is a unified approach to forwarding and scheduling that uses a
   single stack data structure.  Each stack entry consists of a
   forwarding portion (e.g., IP addresses or suffixes) and a scheduling
   portion (deadline by which the packet must exit the router).  SRTSN
   thus fully implements network programming for time sensitive flows,
   by prescribing to each router both to-where and by-when each packet
   should be sent.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-stein-srtsn-01'/>
   
</reference>


<reference anchor="CQF" >
  <front>
    <title>IEEE Std 802.1Qch-2017: IEEE Standard for Local and Metropolitan Area Networks — Bridges and Bridged Networks — Amendment 29: Cyclic Queuing and Forwarding</title>
    <author >
      <organization>IEEE Time-Sensitive Networking (TSN) Task Group.</organization>
    </author>
    <date year="2017"/>
  </front>
</reference>
<reference anchor="UBS" >
  <front>
    <title>Urgency-Based Scheduler for Time-Sensitive Switched Ethernet Networks</title>
    <author initials="J." surname="Specht" fullname="Johannes Specht">
      <organization></organization>
    </author>
    <author initials="S." surname="Samii" fullname="Soheil Samii">
      <organization></organization>
    </author>
    <date year="2016"/>
  </front>
  <seriesInfo name="IEEE" value="28th Euromicro Conference on Real-Time Systems (ECRTS)"/>
</reference>
<reference anchor="ATS" target="https://1.ieee802.org/tsn/802-1qcr/">
  <front>
    <title>P802.1Qcr – Bridges and Bridged Networks Amendment: Asynchronous Traffic Shaping</title>
    <author initials="J." surname="Specht" fullname="Johannes Specht">
      <organization></organization>
    </author>
    <date year="2020" month="July" day="09"/>
  </front>
  <seriesInfo name="IEEE" value=""/>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+1d624sx3H+T4Dv0KCQeGnvhYeyZJuJjfDw8MgUdCjqkIIQ
JEEwO9vLHXF2ZjU9Q56VICPvkDxhniT1VVVfZnZJSUH+BJANS9zdme7q6rp8
den2ZDI5PMjrRVHdn5muXU7+eHhweNAWbWnPzEVTtLYpMpNVC3PunHVubavW
LOvGvLHttW3NrW0ei9w687ZunrIG45ibMquseWfbVb1whwfZfN7YxzOzsG1l
20mugx4eLOq8ytY0z6LJlu3E5g+2aSeDxyZZmHdycnJ48ER0vrm8u768I7qz
1t7XzfbMFNWyPjwoNs2ZaZvOtacnJ386OT08cG1js/WZubq8e4uFuZaW8u9Z
WVc07dYSdZvi7PDAGNPWuX4jHxZ2067OzCf82dUNDbR08Qm3Xfe/yOs1aPTf
0LI7Wn/Dg0/4CfxH1ntX26akRZlLXnL4tW5ocW+7tmvsky3Mnc1XVV3W9wXx
9+vb8/AcVmXbM3N6enpiLmjWJivN5YdNQ2M+ZdvwXF60xJvbrGozc1FmTRZ/
qRfY33Pzp09OPjlJvu5oMHonnc2us6Ikvrb2n3I3XWbddGGxwMODqm7WWVs8
2jN8wh7Ez8a8f3txevrqhP++mryZ9ve3zb9bhp8KS5KnP7g8K0mKJo39risa
K0z1D7rWFtXENa2reE5jLr56KxtoVGiPri4vL81tuzB/PDmdvvoqX01OT179
ATLA35MAkJyyDH9R01ws3CSsTb2py4J+NuckM4aE+6luHpz57//4L/O6KRb3
tAl4VP5e9B84JzIXrBunfyK+bvOyyM1Xne2gD3grqseRUJuIR9h6pvCuWNvJ
ra1cAU76aTDO6O72+tjcZe7BfNbU3WZq5O0FqQEJAy1SWPL169s+S75u7m2V
byevM0eE3+Yru+hK2zAPBtPdPhUtfjeX7co2tB9hnTKiI520DlsdSAfVNP0f
25W57Jp6XeRNbS7qamkbmtWaujLvbVZOMJO53dIWrp0ZXV68v7s9Hizg0728
iepDek4K9vnU3G5IN6LiqF59Xq+yqqJ96v88fP+W3s/WRTF8/bZe2aL0v+HX
87sBJ49uVKga2vb/fFkugkycke3cVvmqqau6c+aOrN2SxON2lW2iPDzL2D6L
Tk8mJ3+YnPxJqcpoZ2n8Vdtu3Nls9oo0yVqQSPI0IyWZ0d+TV9/lzWwvZ59h
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
H7q/EjZGZgAA

-->

</rfc>

