<?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.7.8 (Ruby 2.6.10) -->


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

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-eckert-detnet-flow-interleaving-03" category="info" submissionType="IETF" tocDepth="5" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="detnet-flow-interleaving">Deterministic Networking (DetNet) Data Plane - Flow interleaving for scaling detnet data planes with minimal end-to-end latency and large number of flows.</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="2025" month="July" day="07"/>

    
    <workgroup>DETNET</workgroup>
    

    <abstract>


<?line 83?>

<t>This memo explain requirements, benefits and feasibility of a new DetNet service function
tentatively called "flow interleaving". It proposes to introduce this
service function into the DetNet architecture.</t>

<t>Flow interleaving can be understood as a DetNet equivalent of the IEEE TSN 
timed gates. Its primary role is intended to be at the ingress edge of DetNet domains
supporting higher utilization and lower bounded latency for flow aggregation
(interleaving of flows into a single flow), as well as higher utilization and lower bounded
latency for interleaving occurring in transit hops of the DetNet domain in conjunction
with in-time per-hop bounded latency forwarding mechanisms.</t>



    </abstract>



  </front>

  <middle>


<?line 96?>

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

<section anchor="overview-and-summary"><name>Overview and summary</name>

<t>This memo explain requirements and benefits of a new DetNet service function
tentatively called "flow interleaving" in this memo. It proposes to introduce this
service function into the DetNet architecture.</t>

<t>Flow interleaving can be understood as a DetNet equivalent of the IEEE TSN 
timed gates. Its primary role is intended to be at the ingress edge of DetNet domains
supporting higher utilization and lower bounded latency for flow aggregation
(interleaving of flows into a single flow), as well as higher utilization and lower bounded
latency for interleaving happening in transit hops of the DetNet domain in conjunction
with in-time per-hop bounded latency forwarding mechanisms.</t>

<section anchor="background"><name>Background</name>

<t>Currently, DetNet has a set of functions/services including Packet Replication,
Elimination and Ordering for resilient transmission of DetNet packets over
failure disjoint paths. DetNet is currently relying on pre-existing forwarding
plane functions from other efforts such as IEEE TSN and prior IEEE work such
as <xref target="RFC2211"/> and TBD control-plane functions for guaranteeing deterministic
bounded latency with (near) zero loss and bounded latency. DetNet is also
as of this writing (mid 2023) in the process of investigating DetNet specifications
of additional forwarding plane methods in support of bounded latency and jitter,
especially for large scale DetNets.</t>

<t>As in suport of such scaling goals, it is important to not only consider per-hop
mechanisms to support scaling, but also ingress node processing. Flow interleaving as
this memo call one such function is one such function.</t>

</section>
<section anchor="avoiding-burst-across-multiple-hops"><name>Avoiding burst across multiple hops</name>

<t>The core challenge with bounded latency guarantees is that traffic flows are by design
bursty, and the end-to-end latency that any hop-by-hop forwarding mechanism can
guarantee (DetNet, TSN, ...) depends on the maximum amount of packets that may collide 
anywhere in the network on an interface, and cause queuing/scheduling delay of packets.</t>

<t>In typical DetNet topologies, such as metropolitan access rings used for residential/industrial
wireline subscribers as well as mobile network towers, this problem can occur worst case
on every hop, which could be 20 or more hops. When these bursts are not controlled,
a lot of latency can occur unnecessarily. This is the same problem of no-coordination
as the latency inherited at roadway intersections with car traffic: The total amount of traffic
on the streets is far from capacity, but the intersecting traffic occurs exactly when ones
own car wants to move, resulting in unnecessary delay. In the recent decade there has
terefore been a good amount of interest in elliminating those traffic-red-light caused delays through the use of
autonomic cars who could be crossing each other at intersections without collisions,
such as in <eref target="https://www.youtube.com/watch?v=r7_lwq3BfkY"/>.</t>

<t>The same non-queuing mechanisms have been used in computer networking for decades via so-called
Time-Division-Multiple-Access mechanisms, primarily for bitstream type channels of data.
In TSN, this mechanism is achieved through so-called "Gates", that allow to excatly
time the periodc windows in time when TSN flows are allowed to send packets into the
network / next-hop. Note that TSN gates are a very flexible mechanism used for different
purposes.</t>

</section>
</section>
</section>
<section anchor="problem-and-use-case-analysis"><name>Problem and use-case analysis</name>

<section anchor="single-hop-burst-aggregation"><name>Single hop burst aggregation</name>

<figure title="Single Hop burst aggregation" anchor="FIG1"><artwork><![CDATA[
                 +---+
    IIF   1 -----|   | 
    IIF   2 -----|   | 
    ...          |   |------ OIF
    IIF  99 -----|   | 
    IIF 100 -----|   | 
                 +---+
]]></artwork></figure>

<t>Consider in <xref target="FIG1"/> a network node receiving detnet traffic that requires
bounded latency from 100 Incoming InterFaces (IIF) that all has to exit on
one Outgoing InterFace (OIF).</t>

<t>When each of these IIF has a packet at the same time destined to OIF,
then these packets have to be queued up before they can be sent out on OIF.
Assuming IIF and OIF are all the same speed and the packets all of the same size,
then the worst queuing latency for a single packet introduced is 100 times the
serialization time of a single packet.</t>

<t>Assume each of the IIF carries 10 flows, each of which wants to send one 1500
byte sized packet once every 20 msec. Such a frequency of messages would for
example happen in video based control loops, where a reaction happens once
every video fraem delivered, which could be  20 msec for the frame rate of 50 Hz.
In reality, higher frame rates such as 60/90/120 are more common these days,
but 50 is easier to use in examples.</t>

<t>If all these flows send their packets uncoordinated or coordinated simultaneously,
then the worst case is that each of the 100 interfaces has 100 back-to-back bursts
of 10 packets. In this case, the worst-case queuing latency is 12 msec for a
packet.</t>

<t>This queuing of course is undesirable because the total required rate for all
these 100 IIF * 10 Flows/IIF = 1,000 total flows is just 600 Mbps,so there
is no bandwidth congestion. If all these flows packets would arrive nicely interleaved,
none of them would experience any queuing latency. Assume <xref target="TCQF"/> was used with
a cycle time of 20 usec, and each of the 1000 flows packets would be put into a
separate cycle: 1,000 cycles of 20 usec each fit exactly the 20 usec period,
so each flows packet would experience just a 20 usec queuing latency instead of
potentially 12 msec.</t>

</section>
<section anchor="ingress-interleaving"><name>Ingress interleaving</name>

<t>Consider the router in <xref target="FIG1"/> is the ingress router into a DetNet domain and
each IIF is connected to some IoT device such as a sensor, that is periodically
sending a sensor data packet. Assume all these traffic flows would even need to
go to a single receiver, such as a PLC or environmental control system.
This ends up being a situation such as shown in <xref target="FIG2"/>.</t>

<figure title="Ingress aggregation use case example" anchor="FIG2"><artwork><![CDATA[
                 DetNet                   DetNet
                 Ingress                  Egress
                  +---+                     +---+
    Sensor1  -----|   |                     |   |
    Sensor2  -----|   |                     |   |      Rcvr
    ...           |   |--...DetNet Domain...|   | ---- PLC
    Sensor99 -----|   |     e.g. 10         |   |             
    Sensor100 ----|   |    router hops      |   |
                  +---+                     +---+
]]></artwork></figure>

<t>Whether or not the flows are sent into the DetNet in some aggregated
fashion or not:</t>

<t>If the packets of these flows packets arrive uncoordinated at the DetNet
Ingress router, the maximum burst size of an individual flow, and this
burst size is not only relevant for the maximum latency through this
ingress router, but also for the maximum latency that these 100 flows
may at wors incur on other hops along the path (as described in more
detail in the following sections).</t>

<t>If instead the packets of these 100 flows are interleaved "nicely" such
that the packets of all flows are sent at a different offset into 
for example a common period time (such as 20msec), then the maximum
burst size that any DetNet would have to account for would be 1/100
times as large. End-to-end latency that could be guaranteed would be
lower and utlization higher.</t>

<t>Such "nice" interleaving could be done at the application side, such as
the PLC triggering the sensors to send sensor data at specific times,
or programming them to send that periodically with those different
offsets to avoid packets arriving at the same time.</t>

<t>In a large DetNet, or simply a small DetNet that is not fully trying
applications to perform such functions, this approach is not feasible.
In a large DetNet for example there may be no relevant single PLC
that could coordinate sending times, but instead a large number of independent
applications would multiplex without any common coordination.</t>

<t>Instead, the DetNet ingress router would have to perform the interleaving
function in the forwarding plane, receiving uncoordinated packets from
each flow/sender and making them wait until their time in a cycle
arrives, before allowing them to be further processes such as by the common,
ingress independent egress DetNet per-hop processing. This waiting is
what in TSN is called a gate function.</t>

<t>Of course, the gate function itself will also add latency to packet arriving
uncoordinated shortly after the gate for the flow closed. But in all cases,
this latency occurs only once along the path and it is always lowe than
the period time of the flow. Without such flow interleaving, the total
queuing latency caused by uncoordinated bursts could exceed such a cycle
time (as described in later sections).</t>

</section>
<section anchor="flow-aggregation"><name>Flow aggregation</name>

<t>When DetNet per-hop bounded-latency operates hop-by-hop on a per-flow
basis such as in <xref target="TSN-ATS"/>, scalability can be helped
by treating the 100 flows of <xref target="FIG2"/> wit the same ingress and egress
router as a single aggregated DetNet flow - whether the packets of
the 100 flows aggregated are or are not coordinated. When the packets
are coordinated/interleaved, then this flows burst size would be 100 times
smaller than if they where uncoordinated - reflecting the latency
considerations outlined above at the level of a DetNet flow.o</t>

<t>It is useful to consider one use-case of flow interleaving as a
sub-function of the DetNet aggregation function, and this is exactly one
goal of this memo. In this use-case, flow interleaving can benefit
latency under scalability independent of whichever per-hop DetNet
bounded latency forwarding mechanism is used.</t>

</section>
<section anchor="multi-hop-queueing"><name>Multi-hop queueing</name>

<t>Going back to <xref target="FIG1"/> and
now considering a larger topology, such as in a metropolitan area.
A ring of 100 routers R1...R100 each has 100 interface IIF1...IIF100.
Each of those interfaces could connect to 100 Edge Router (ERxxyy)
each serving 100 subscribers. Such a ring would then connect 1,000,000 subscribers.</t>

<figure title="Multi-hop queuing topology" anchor="FIG3"><artwork><![CDATA[
    e.g.: 100
   Subscribers
     ||..||
    +-----+                            +------+
    |ER101|                            |ER5001|
    +-----+                            +------+
      |                                  |
    IIF1..IIF100    IIF1..IIF100       IIF1..IIF100
      ||..||          ||..||             ||..||
     +------+ OIF    +------+ OIF       +------+ 
     | R1   |--------|  R2  |-- ... ----|  R50 |
     +------+  --->  +------+           +------+
        |                                   |
        |                                   |
     +------+        +------+           +------+ 
     | R100 |--------|  R99 |-- ... ----|  R51 |
     +------+        +------+           +------+
      ||..||          ||..||             ||..||
    IIF1..IIF100    IIF1..IIF100       IIF1..IIF100
]]></artwork></figure>

<t>Assume the packet in question is now inserted from ER101 via IIF1 into
R1 and travels the ring clockwise to R50 where it exits the ring towards
ER5001. On each of the 59 OIF interfaces in the ring it could worst
case experience the same worst case bounded delay in the order of what
we calculated for the single router setup. For example a large number of
such competing traffic flows could go from an ER connected to R1 to an
ER connected to R2. Those flows would create the queue on OIF of R1.</t>

<t>Likewise there could be similar flows from R2 to R3, from R3 to R4 and so
on. The sum of worst case queue buildups is thus proportional to the
number of hops traversed. And of course nobody is interest in a
bounded lateny of 49 * 12 = 588 msec, aka: more than half a second. Within
a metropolitan area where the non-queuing network latency does not even
add up to 1 msec.</t>

<t>While the extreme case is not very likely, this type of aggregation
of queuing latency in worst cases woulk in principle not be untypical
in target use-cases. If ride-share cars (Uber, DiDi,...) become remote
controlled and subscribers to the networks are either such remote drivers from home
or radio towers connecting to the remote controlled cars, thousands, if not tenth of
thousands of such flows may co-exist. And one certainly does not want
driving to become slower and slower the further away from the driver
the car is - not because of speed of light, but because of unnecessary
queuing, higher RTT and hence lower speed for the car that still alows the
driver to react fast enough to avoid accidents.</t>

</section>
<section anchor="multi-hop-flow-interleaving"><name>Multi-hop flow interleaving</name>

<t>In the same way as in the single-hop flow interleaving on ingress, packets
of flows can also be interleaved on ingress but now considering not only that
they do not collide on the outgoing interface of this ingress router, but
also considering them competing at the same time with packets arriving from
other interfaces on some hops further down the path. This sounds more
complex than it can be in practice, as explained later in the document.</t>

</section>
<section anchor="note-multi-hop-burst-accumulation"><name>Note: Multi-hop burst accumulation</name>

<t>The problems described in the prior section is not to be mixed up with
"multi-hop burst accumulation" as explained here. Burst accumulation refers to the fact that
because of the aforementioned queuing delay due to simultaneously
occurring traffic, the burstyness of individual flows can increase. And
this then can lead to further problems downstream.</t>

<t>Consider the prior section network setup and the same flow which sends a packet
once every 20 msec. Assume that packet n of this flow experiences on
two consecutive hops a queuing latency of 10 msec each because of competing
traffic. But now this competing traffic is intermittent and packet n+1 of
the flow passes the same two hops without any queuing delay. Now both the n and
n+1 packets of the flow are back to back. And hence the burst size of the flow has doubled.
This may cause on downstream hops more delay for other flows than anticipated
by admission control, and hence not only invalidating other flows latency guarantees,
but on highly loaded links potentially also leading to discarding packets because
buffers are overrun.</t>

<t>This burst accumulation is compensated for in bounded latency mechanisms
such as <xref target="UBS"/> (<xref target="TSN-ATS"/>) by per-flow shaper/interleaved regulators. In this example case,
the shaper would cause the n+1 packet to be delayed by 20 msec because of the late arriving
packet n.</t>

<t>In conclusion, compensation of burst accumulation does not eliminate the problem of
queue latency accumulation over multiple hops when in-time queuing
mechanisms are used and flows are bursty.</t>

</section>
<section anchor="differences-to-tsn"><name>Differences to TSN</name>

<t>In TSN and small-scale DetNet networks, interleaving may be inserted through
additional gates (interleave functions) for individual flows on every hop of a path.
In large scale DetNet networks, this is highly undesirable
due to the target PE/P distinction of path functions. Ideally, per-flow operations
including signalling between controller-plane and node as well as advanced
traffic-plane functions such as gates should only happen once, on the ingress
node to the detnet domain.</t>

</section>
<section anchor="summary"><name>Summary</name>

<t>Flow interleaving is necessary to reduce the per-hop queuing latency and
to increase utilization of networks with Deterministic network traffic at
lower end-to-end queuing latency.</t>

<t>Interleaving can achieve improvements based on the total number of hops (and hence queues),
and depending on how bursty the traffic is. Traffic flows which send packets with a long period of
inactivity are the worst case: because of the long period between packets,
the network can only support a large number of these flows when these bursts do not
occur at the same time but are coordinated so as to cause minimum per-hop latency.</t>

</section>
</section>
<section anchor="flow-interleaving-with-different-per-hop-forwarding-mechanisms"><name>Flow interleaving with different per-hop forwarding mechanisms</name>

<t>Building a controller plane to support flow interleaving likely has many
possible variations. This section outlines one approach that this memo
thinks is simple and scaleable to large number of flows and high rates of
flow changes.</t>

</section>
<section anchor="overall-solution-proposal-outline"><name>Overall solution proposal outline</name>

<section anchor="principles"><name>Principles</name>

<t>Flow interleaving on ingress solely to decorrelate arrival times of packets from
different flows on the output interface of the same router seems easy enough, as
its consideration and setup is limited to the single router. This use-case of of
flow-interleaving can actually be the first stage of scaling up DetNet deployment
with minimal complexity. It is also working across all per-hop forwarding mechanisms
for bounded latency, in-time and on-time.</t>

<t>Flow interleaving with the goal to decorrelate the arrival time of different flows
packets on output interfaces further along the path sounds very complex, but
it actually can be quite simple and possible to support in linear time in the
controller-plane when taking three considerations into account.</t>

<t><list style="numbers">
  <t>The per-hop forwarding along the path is per-hop on-time, so that the time
at which packets arrive on every hop can be calculated accurately by the controller-plane.
Such per-hop one-time forwarding methods include <xref target="CQF"/> (if for exampled used with DetNet over TSN
solutions), <xref target="TCQF"/>, {CSQF}} and <xref target="gLBF"/>.</t>
  <t>The periodicity of traffic flows is some order of magnitude larger than the
achievable accuracy of per-hop on-time forwarding. With the examples presented,
the periodicity of traffic flows is in the order of msec..100msec, and
the accuracy of per-hop on-time delivery in for example <xref target="TCQF"/> can be configured
in the order of 10usec or 20usec. In result, the order of granuarity of timing is
about 100 times finer than that of application traffic periodicity allowing
to decorrelate traffic by up to a factor of 1000.</t>
  <t>flow interleaving is only an optional optimization mechanism to allow scaling
up the use of DetNet traffic in a network which may predominantly carry non-detnet
traffic. Allowing to gain another factor of 10 times more DetNet traffic from eg;
1% of nbetwork bandwidth to 10% network bandwidth may be all that is required.
One may compare the relatively simple efforts of a controller plane to support flow interleaving
with the NP-complete efforts to optimize useable cpacity of the network for best-effort
traffic by NP complete path optimizations - as done in today almost every mayor
SP backbone network.</t>
</list></t>

<section anchor="common-assumptions"><name>Common assumptions</name>

<t>Assume all traffic flows subject to flow interleacving are described
by a burst size of b bits and a period of p [msec]. The
b bits are sent back to back as a single packet or burst of packets.
p is not allowed to be arbitrary but must be a complete divisor of 100 msec.
This allows for traffic flow periods of 1/50, 1/60, 1/90, 1/120 seconds.</t>

<t>Assume (for simplicity) also, that the path for a new flow is calculated without taking
flow interleaving into account. For example path selection could use CSPF 
(Constrained Shortest Path First) or better some optimized selection of a path
where the link with the highest utilization has the lowest utilization amongst
all alternative paths and the total physcial path propagation latency does
not cause the maximum desired latency for the flow to be exceeded.</t>

</section>
</section>
<section anchor="flow-interleaving-with-tcqf"><name>Flow interleaving with TCQF</name>

<t>Assume TCQF is being used with 20 usec cycle times. The controller-plane
maintain for every outgoing interface in the topology that can be used for
TCQF traffic a window of 5,000  cycles and their amount of available bits,
not utilized by already admitted flows. The amount of total vits for
each cycle depends on the speed of the link and what percentage of the
link is allowed to be used by TCQF.</t>

<t>Admitting the flow with interleaving across the previously choosen path
consists of finding i = 100msec/p equidistant cycles thus that the choosen cycle
with the lowest amount of available bits across the i choosen cycles has
the highest number of available bits across all choices for those i cycles.
The index for the 5000 cycles of each hop does of course need to 
taken with a an offset modulo 5000 that reflect the cycle mapping along the
path.</t>

<figure title="Flow interleaving controller plane algorithm for TCQF" anchor="FIG4"><artwork><![CDATA[
    // Determine minimum cycle capacity across path
    // Without taking utilization into account
    
    minc = max_cycle_capcity
    for if in path_hops
      minc = min(cycle_capacity[if], minc)
    minfree[1...5000] = minc
    
    // Determine for each of the 5000 cycles the [2]
    // minimum free capacity along the path
    ofst, ifp = 0
    for if in path_hops
      ofst += cycle_offset[ifp][if] if ifp
      ifp = if
      for i in 1...5000
        minfree[i] = min(freec[if][((i+ofst) mod 5000)+1],minfree[i])
    
    // Determine the cycle option 1...nc with the [3]
    // highest free capacity
    bestfree = 0
    bestfreec = -1
    nc = 100msec/p
    d = 5000/nc
    for i in 1...d
      ii = rnd_seq(i,d)
      betterfree = 0
      for j in 0...(nc-1)
        k = (ii + j * d) mod 5000 + 1
        if minfree[k] <= bestfree
          betterfree = 0
          break
        else
          betterfree = min(minfree[k], betterfree)
      if betterfree
          bestfree = betterfree
          bestfreec = ii
]]></artwork></figure>

<t><xref target="FIG4"/> Shows an example brute-force pseudocode for finding a best
set of cycles according to the described conditions.</t>

<t>minfree[1...5000] is initialized in [2] to be the lowest free capacity 
(e.g.: in bits) for each of the 5000 cycles along the path of the flow.
cycle_offset[ifp][if] is the numerical offset o that needs to be
applied when a packet arrives with cycle i from interface ifp and
is sent out on ifp. It then needs to use cycle ((i + o) % 5000 + 1).</t>

<t>[3] then determines, which of the first d cycles is the best.
nc is the number of cycles that the flows burst will fit into the
5000 cycles. rnd_seq randomizes the cycle number so the allocation
will not allocate sequential cycles but spread out the flow bursts
over time.</t>

<t>In summary, the algorithm is a simple search for which of the set of
cycles along the path has the lowest utilization. As a two step
proces this is first a linear operation to find the worst case hop
for every cycle, an O(pathlength) operation, followed by searching
for the best cycle-set, which is O(const), where const is e.g.: 100.</t>

</section>
<section anchor="csqf"><name>CSQF</name>

<t><xref target="CSQF"/> proposes to carry the cycle mapping in the packet header whereas <xref target="TCQF"/> as presented
in this memo defines an in-router cycle mapping. Carrying the cycle-mapping in
the packet is attractive where it comes for free (or almost free), and this is in
segment routing (SR) networks, where packet steering uses already a packet header.
Each steering hop is a so-called SID, and if n cycles are to be used, then instead
of one SID, n SIDs are allocated for each hop. Especially in IPv6 with 128 bit
SIDs, there is no problem to even support large number of cycles.</t>

<t>Flow interleaving across multiple hops with TCQF can easily hit limits in maximum
utilization. Consider for example a network where flows  with periods of
1/50th and 1/60th seconds occur. It is clear that it will not be possible to
achieve equal utilization across all cycles because of the moire effect
between these two type of flows.</t>

<t>With CSQF and for example some A more cycles (e.g.: A=4), the controller-plane
has the option to choose for every hop of a flow one out of 4 cycles in which
the flow would be forwarded. And this number increases exponentially with
path length. Hence, the controller-plane ha a lot more opportunity to optimize
utilization across cycles - and avoid admission failures at low utilization
rates.</t>

</section>
<section anchor="glbf"><name>gLBF</name>

<t>glBF with a single priority end-to-end can be used with the same algorithm as
shown for <xref target="TCQF"/>. Instead of a fixed cycle-time on every hop, the per-hop
latency is independent and depends purely on the admitted maximum burst
aggregte across a hop. It is thus more flexible, but utilizing that flexibility
would incur more complex controller-plane algorithms. Nevertheless, gLBF could
be configured via the controller plane to have the same per-hop latency
and therefore allow to be fully backward compatible to <xref target="TCQF"/> with both
latency, jitter and controller-plane algorithm.</t>

<t>Because gLBF itself does not have the notion of cycles, these cycles are on
a hop-by-hop basis a result of the timing of packets released by gates
on the first-hop routers and packets then delayed by gLBF accurately
by the priorities latency on a per-hop basis.</t>

<t>gLBF with multiple priorities and per-hop choice of priority (via appropriate
packet headers such as SIDs as used in <xref target="CSQF"/>) would allow to set up
similarily if not more flexible flow interleaving as with <xref target="CSQF"/>. - whereas</t>

</section>
</section>
<section anchor="summary-of-proposed-architectural-components"><name>Summary of proposed architectural components</name>

<section anchor="forwarding-plane-gates-flow-interleaver"><name>Forwarding plane gates / "flow interleaver"</name>

<t>Gates derived from TSN gates, adopted to DetNet. Adoption
primarily means that these gates would operate logically on ingress,
so that they can preceed any pre-existing DetNet per-hop processing,
such as that of <xref target="RFC2211"/>, <xref target="TSN-ATS"/>, <xref target="TCQF"/>, {CSQF}}, <xref target="gLBF"/>
or any other applicable DetNet per-hop bounded latency mechanism.</t>

<t>Gates also need to preceed an optional DetNet aggregation function in
the forwarding plane.</t>

<t>Forwarding plane gates in large-scale DetNets only need to be support
on ingress DetNet nodes. In smaller DetNets they may be supported
on every hop.</t>

</section>
<section anchor="controller-plane-interleaving-functions"><name>Controller plane interleaving functions</name>

<t>"Ingress interleave" Controller-plane algorithms to interlave flows in ingress purely for
avoiding bursts on the outgoing interface of the same ingress router.
result of the algorithm is a set up of ingress gates. These algorithms benefit / can
be used with any per-hop forwarding mechanism.</t>

<t>"Fixed network wide interleave" Controller-plane algorithms to interleave all flows in the network
and delaying packets solely fvia ingress gates / flow interleaving. This is applicable to all
per-hop on-time forwarding methods in the detnet that allow to calculate the fixed time interval at
which a packet will be present on every hop of its path.</t>

<t>"Variable network wide interleave" Controller plane algorithm such as above discussed
for <xref target="CSQF"/> or <xref target="gLBF"/> which not only calculate a gate parameter for the ingress router,
but also parameters for the header of the per-hop mechanism influencing the per-hop
latency forwarding of the packets of a flow.</t>

</section>
<section anchor="controller-plane-application-integration"><name>Controller plane application integration</name>

<t>With flow interleaving resulting in additional first-hop latency which may be significant,
it is likely highly beneficial to design appropriate service interfaces between applications
that require multiple different flows and the controller-plane to understand the application
desired relationship between the phases of packets from different flows of the same application.</t>

<t>(TBD example).</t>

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

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

<t>02 refresh/no textual changes - waiting for progress in design discussion</t>

<t>01 refresh/no textual changes - waiting for progress in design discussion</t>

<t>00 initial version</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2211">
  <front>
    <title>Specification of the Controlled-Load Network Element Service</title>
    <author fullname="J. Wroclawski" initials="J." surname="Wroclawski"/>
    <date month="September" year="1997"/>
    <abstract>
      <t>This memo specifies the network element behavior required to deliver Controlled-Load service in the Internet. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2211"/>
  <seriesInfo name="DOI" value="10.17487/RFC2211"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">




<reference anchor="CSQF">
   <front>
      <title>Segment Routing (SR) Based Bounded Latency</title>
      <author fullname="Mach Chen" initials="M." surname="Chen">
         <organization>Huawei</organization>
      </author>
      <author fullname="Xuesong Geng" initials="X." surname="Geng">
         <organization>Huawei</organization>
      </author>
      <author fullname="Zhenqiang Li" initials="Z." surname="Li">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Jinoo Joung" initials="J." surname="Joung">
         <organization>Sangmyung University</organization>
      </author>
      <author fullname="Jeong-dong Ryoo" initials="J." surname="Ryoo">
         <organization>ETRI</organization>
      </author>
      <date day="7" month="July" year="2023"/>
      <abstract>
	 <t>   One of the goals of DetNet is to provide bounded end-to-end latency
   for critical flows.  This document defines how to leverage Segment
   Routing (SR) to implement bounded latency.  Specifically, the SR
   Identifier (SID) is used to specify transmission time (cycles) of a
   packet.  When forwarding devices along the path follow the
   instructions carried in the packet, the bounded latency is achieved.
   This is called Cycle Specified Queuing and Forwarding (CSQF) in this
   document.

   Since SR is a source routing technology, no per-flow state is
   maintained at intermediate and egress nodes, SR-based CSQF naturally
   supports flow aggregation that is deemed to be a key capability to
   allow DetNet to scale to large networks.


	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-chen-detnet-sr-based-bounded-latency-03"/>
   
</reference>


<reference anchor="TCQF">
   <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="Yizhou Li" initials="Y." surname="Li">
         <organization>Huawei Technologies</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="Jeong-dong Ryoo" initials="J." surname="Ryoo">
         <organization>ETRI</organization>
      </author>
      <author fullname="Peng Liu" initials="P." surname="Liu">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Guangpeng Li" initials="G." surname="Li">
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Shoushou Ren" initials="S." surname="Ren">
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Fan Yang" initials="F." surname="Yang">
         <organization>Huawei Technologies</organization>
      </author>
      <date day="3" month="March" year="2025"/>
      <abstract>
	 <t>   This memo specifies a forwarding method for bounded latency and
   bounded jitter for Deterministic Networks and is a variant of the
   IEEE TSN Cyclic Queuing and Forwarding (CQF) method.  Tagged CQF
   (TCQF) supports more than 2 cycles and indicates the cycle number via
   an existing or new packet header field called the tag to replace the
   cycle mapping in CQF which is based purely on synchronized reception
   clock.

   This memo standardizes TCQF as a mechanism independent of the tagging
   method used.  It also specifies tagging via the (1) the existing MPLS
   packet Traffic Class (TC) field for MPLS packets, (2) the IP/IPv6
   DSCP field for IP/IPv6 packets, and (3) a new TCQF Option header for
   IPv6 packets.

   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 as well as low accuracy clock
   synchronization.

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


<reference anchor="gLBF">
   <front>
      <title>Deterministic Networking (DetNet) Data Plane - guaranteed Latency Based Forwarding (gLBF) for bounded latency with low jitter and asynchronous forwarding in Deterministic Networks</title>
      <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
         <organization>Futurewei Technologies USA</organization>
      </author>
      <author fullname="Alexander Clemm" initials="A." surname="Clemm">
         <organization>Sympotech</organization>
      </author>
      <author fullname="Stewart Bryant" initials="S." surname="Bryant">
         <organization>Independent</organization>
      </author>
      <author fullname="Stefan Hommes" initials="S." surname="Hommes">
         <organization>ZF Friedrichshafen AG</organization>
      </author>
      <date day="3" month="March" year="2025"/>
      <abstract>
	 <t>   This memo proposes a mechanism called &quot;guaranteed Latency Based
   Forwarding&quot; (gLBF) as part of DetNet for hop-by-hop packet forwarding
   with per-hop deterministically bounded latency and minimal jitter.

   gLBF is intended to be useful across a wide range of networks and
   applications with need for high-precision deterministic networking
   services, including in-car networks or networks used for industrial
   automation across on factory floors, all the way to ++100Gbps
   country-wide networks.

   Contrary to other mechanisms, gLBF does not require network wide
   clock synchronization, nor does it need to maintain per-flow state at
   network nodes, avoiding drawbacks of other known methods while
   leveraging their advantages.

   Specifically, gLBF uses the queuing model and calculus of Urgency
   Based Scheduling (UBS, [UBS]), which is used by TSN Asynchronous
   Traffic Shaping [TSN-ATS]. gLBF is intended to be a plug-in
   replacement for TSN-ATN or as a parallel mechanism beside TSN-ATS
   because it allows to keeping the same controller-plane design which
   is selecting paths for TSN-ATS, sizing TSN-ATS queues, calculating
   latencies and admitting flows to calculated paths for calculated
   latencies.

   In addition to reducing the jitter compared to TSN-ATS by additional
   buffering (dampening) in the network, gLBF also eliminates the need
   for per-flow, per-hop state maintenance required by TSN-ATS.  This
   avoids the need to signal per-flow state to every hop from the
   controller-plane and associated scaling problems.  It also reduces
   implementation cost for high-speed networking hardware due to the
   avoidance of additional high-speed speed read/write memory access to
   retrieve, process and update per-flow state variables for a large
   number of flows.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-eckert-detnet-glbf-04"/>
   
</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="IEEE802.1Q" target="https://doi.org/10.1109/ieeestd.2018.8403927">
  <front>
    <title>IEEE Standard for Local and Metropolitan Area Network — Bridges and Bridged Networks (IEEE Std 802.1Q)</title>
    <author >
      <organization>IEEE 802.1 Working Group</organization>
    </author>
    <date year="2018"/>
  </front>
  <seriesInfo name="doi" value="10.1109/ieeestd.2018.8403927"/>
</reference>
<reference anchor="IEEE802.1Qbv" >
  <front>
    <title>IEEE Standard for Local and metropolitan area networks -- Bridges and Bridged Networks - Amendment 25: Enhancements for Scheduled Traffic (TAS)</title>
    <author >
      <organization>IEEE Time-Sensitive Networking (TSN) Task Group.</organization>
    </author>
    <date year="2015"/>
  </front>
</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 (CQF)</title>
    <author >
      <organization>IEEE Time-Sensitive Networking (TSN) Task Group.</organization>
    </author>
    <date year="2017"/>
  </front>
</reference>
<reference anchor="TSN-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:
H4sIAOY4bGgAA+19624cR5bm/3iKAI0GyHFVsUhZ3RZ3vbu6UN0adNtqkR5j
YRtGVmZWVVpZmeW8kGLLbsxD7BPuk8z5ziUyMqukthuzWCyw/CGxKiPjcuJc
vnOJ4Hw+d2mdFdXmyvfdev65c13RlfmVf5F3ebMrqqLtitR/mXf3dfOW2vlT
ekIfz/yLpEv86zKpcj/3L8v63hcVvVPmyR3arevGt2lS4vcs76q88xne2OON
1t8X3daj/11S+rzK5l09p/98mXR5lT74hH9vNrmv+t0qb3y99msapF24ZLVq
8rsr7XWOb+fx0C6r0yrZ0SKyJll38zx9mzfd/EPN58tH7p7W/+L69svrW5fS
BDZ183BFy1nXrtg3V75r+ra7XC6fLC9d2zV5srvyr65vXzr6RBP9ISnrioZ7
yFu3L66c976rU/ksv2f5vtte+cf42NYNdbFuw/P2YTf6nNa7XV51+oVL+m5b
N+h1jqf4kdXd1lhD2/prXqA9rBtazMu+65v8Pi/8bZ5uq7qsNwVR/eubp9YM
68i7K395ebn0z2m8hjbi+t2+oR7vkwdrlhYdkeImqWjrntOGJOFBndEcnj/1
Tx4vHy+Hb3vqid6IRsp3SVESEbv8f6TtYp30iyx3rqqbXdIVdzlW9ubl88vL
i4sr7xyoHj15fvPXl0Ts+YtFus0r28S2ma+SNs/mKxovo/+VbeiF2+f2wnjf
u/SnNT3e/PnZ0cebcrV29PzrZze8gV7l4GtiQep4/gzD+RuaRNaXxI5g79ti
l89v8qotMFt/QzyN5/662+YNGF7FhnfVt3lDW4DlXSllXl1fX9MGfE6ScN03
9a5Im9o/r6t13tCYua8r/yZPyjnG8TcPbZfvWn96/fzN7c0Zd0ECRVO8XF78
nj8OnIKfwC3EyMRL/7rwN3vihcAnykX/Wm+TChI5ejp5+YZeTnZFMXn3pt7m
RamPQD2s6PPl5eLiryMinuB7fwNZSZqMaffnmnQDS/lf8q6p93VZ0GP/lITL
yOb/97//L/+sKbINzQ4t5fcskNWfar+Zl0HPTo7QgeWBG3Ij/40qsj82db8f
k/HzD2xUVhdX/mK5uLhYPjkv8jxvu2yB9ovPP1s+enL5B1ks1BVJ1Lbr9u3V
+Tm9taDBzz/64ohoq7tfT7ZdTLYEZKuMLPP5x8k2909JwWRQMv7y8ZW/rogF
0pyVDo9ibJ75W9KgazIAp7dPb/4BdSfSEJuM25svz/xt0r4Voi/8mOyPQQWI
LX89v4ookm6PEcT2O93O6fU/6AR+K3+BEL+eTk9I2T2kJdHir33eY1l452Xd
3NOQvEpawf8xEjGjUJv509uxfjp5raRo/tFqwlqu/NP2oUq3TV3VfRu2+Gab
7GkqJx9VVqNZXS7nyz/Ml0+Ocv/FAvyOyUEGurY6p9/nFz+lzfkRGh3XRW5O
rJysyFQlKX263RYt8f2u9vk7ghFF5Zv8p75ohHNnfpVX+broZP3rPGmLVUHb
/gDsAPG494JdsLq7ghTsuq/SrqgrR8ajY5NTPnjiG3D+yXoKaU4W/lXn92Cm
lubY1Xja1FlPPXU0NTftFs9repTbuEmTbosuT2GbF84dgqaUWHSVe9i0pu3q
OvMJrcZex2LvkhLsSCtCv8JVN196gm07mvSGdqbFNFuaJ0Gr5sE3dZl7ohvG
ganEvGmIpOMOaFAYfJ8Tr6BTHSmryWZXtKJ+vye4gqltiw1ZNUKJRNK/Jbw8
xmj1PX2rZjigN0gg0y/ZUP8bbu5OR0s1PCdESjwx24Zmiu/OZlj2fV6W+P/X
DOzigcfDpGnfNPiN2IX4CLLnt/W+NRKOVoxGaV39aHzBKLWo5qCu3+fNnN48
tljTATti24Qw845gKjPvrsiyktDOJ/6V8gr36z75xH91B3YhpsRq2n6H3fpH
PM5tA5v/J7E1U8aG/f88/v8ej5Pi3ufV/xUe/4QY+VmSvt00eMG55yRstHfl
w8wG3fLutjnvp3FNe658BNKkZc8dv6Z+qNmbfE9Wlokwc9dlQU7iQJGvGuIa
cy9pV4leYBVe9K5oW7QbtnjPPRIZSNTcmrwQ4kmfFe2PNdGPnnZbYiRtS+yT
2uSp5/KBN7AiHsvn+Tu4wTKqksGxHzssyK8JwPsayN/na2pHw7Z9usXuBg7G
Cohnaer8FYNcNHLU6P17dYJ++YXb3T57gW0i4SvnB2NRD5uenDHiglwd7MFb
d9PN4x0+rfKkOfN/y8nHKOtWVcm4ZUyMpGxrzItZiD7fNwWT4JRUGmz/ozPR
Gzm0RQr5opZFdUcQt4AwUFNTS2TMi7VuaeugtbKswAdCaBFjySoJ127rDHzh
VTLR8XRJmPyPBbmUzczlPACpNxENiRog9GCMD0Z9aj1qh7w3Fp/Y1LTamS94
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

-->

</rfc>

