<?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.1 (Ruby 3.1.3) -->


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

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-eckert-6man-qos-exthdr-discuss-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="ipv6-qos-exthdr">Considerations for common QoS IPv6 extension header(s)</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>
    <author initials="J." surname="Joung" fullname="Jinoo Joung">
      <organization>Sangmyung University</organization>
      <address>
        <postal>
          <country>South Korea</country>
        </postal>
        <email>jjoung@smu.ac.kr</email>
      </address>
    </author>
    <author initials="S." surname="Peng" fullname="Shaofu Peng">
      <organization>ZTE Corp.</organization>
      <address>
        <postal>
          <city>Nanjing</city>
          <country>China</country>
        </postal>
        <email>peng.shaofu@zte.com.cn</email>
      </address>
    </author>
    <author initials="X." surname="Geng" fullname="Xuesong Geng">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>gengxuesong@huawei.com</email>
      </address>
    </author>

    <date year="2024" month="March" day="04"/>

    
    <workgroup>6MAN</workgroup>
    

    <abstract>


<?line 83?>

<t>This document is written to start a discussion and collect opinions and ansers to questions
raised in this document on the issue of defining IPv6 extension headers for DETNET-WG
functionality with IPv6.</t>



    </abstract>



  </front>

  <middle>


<?line 89?>

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

<section anchor="process-and-innovation-problem-and-proposal"><name>Process and innovation problem and proposal</name>

<t>DetNet has or is considering different functionalities which would require IPv6 extension
headers if they where to be supported with IPv6 without the use of an additional hop-by-hop
or tunneling mechanism. Due to the absence of such headers, DetNet has so far been developing
variations of transporting IPv6 over MPLS because in MPLS some of this functionality was
already defined by DetNet.</t>

<t>For the problem of hop-by-hop bounded latency guaranteed especially for large-scale networks
such as Service-Provider or private metropolitan aggregation networks, various competing
proposals are being made and agreement on only one or very few of such proposal will be
a hard competitive decision and is not supportive of the proven IETF model of allowing
new technology to be productized and let the market decide - and then after sufficient
experience discuss further standardization on what was successful.</t>

<t>The main issue to gain experience is the overhead that would exist if each of these
proposal was to ask for an IPv6 extension header to embody it's functionality. This goes
even to a chicken-and-egg problem, that 6MAN would very likely not want to spend time
on multiple extension headers for different proposals that have not yet achieved enough
adoption experience that they would qualify for standards track.</t>

<t>This problem also extensions to per-hop QoS functionality beyond DetNet, such as novel
congestion control mechanisms that where already presented to IETF and did not progress
due to the high overhead of getting extension headers, or possible new work, also from
research (IRTF or other) that does not even dare to attempt work on an IPv6 solution
due to the process overhead of defining IPv6 extension headers.</t>

<t>This document therefore proposes to cut through this chicken-and-egg problem by
proposing a single, but extensible (set of) IPv6 extension header(s) for IPv6 that
are built to support multiple different end-to-end and hop-by-hop QoS functions.</t>

<t>The goal would be to ultimately arrive at a 6MAN standards track document that defines
all the encoding and allocation aspects under the purview of 6MAN, so that by
using those extension header(s), technical groups who are experts on specific
functionality can then create specifications defining multiple alternative options
for QoS packet processing that leverage the common header. These specification
can range from industry specific with public documentation over informational IETF
RFCs over to experimental/standards track RFC for those methods.</t>

<t>To rephrase the above in a more packet level explanation: The goal is to produce
a common packet header that can be thought of as a larger variation of the
IPv6 header TOS field (which over time evolved into ECN and DSCP sub-fields),
and allow those different specifications to define the
encoding and end-to-end and per-hop processing options based on subdividing that
packet header space into multiple metadata fields used in processing.</t>

<t>Like with ECN and DSCP, the semantic of the processing is not the purview of 6MAN
anymore, but groups expert in the intended processing.</t>

<t>One of the tasks to define a clear demarcation between the responsibility of
DetNet is to define in such a common packet header specification the permitted
limits as to what can be done in processing, such as not impacting routing,
but only per-hop packet scheduling, admission or congestion based or end-to-end resiliency
functions derived from DetNet's PREOF (described below). Likewise some definition
of appropriate type of metadata will be required which does not violate privacy
but only describes the processing required characteristics of the traffic.</t>

<t>While the core initial driver for this discussion are DetNet QoS functions,
this work should equally be applicable to non-DetNet QoS functions, such as
congestion control algorithms in need of more metadata than possible via DSCP and ECN.
To this end, two examples are included, DPS and LBF.</t>

</section>
<section anchor="technical-problem-detnet"><name>Technical Problem (DetNet)</name>

<t>DetNet supports today or plan to support through additional work functions that require
packet header "metadata" elements, and those elements are not all supported in IETF standards
for existing network layers.</t>

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

<t>The following attempts to summarize DetNet functionality as relevant to the discussions
in this document.</t>

<t>The DetNet architecture <xref target="RFC8655"/> specifies that "DetNet operates at the IP layer and
delivers service over lower-layer technologies such as MPLS and Time-Sensitive Networking
(TSN) as defined by IEEE 802.1". DetNet forwarding has two sub-layers, the forwarding sub-layer
and the service sub-layer.</t>

<t>Nodes that only participate in the forwarding sub-layer, but not the service sub-layer are
called DetNet transit node. Transit nodes operate some hop-by-hop forwarding protocols,
such a IP, IPv6, MPLS, 802.1 (ethernet switching with TSN services) or other, that is
not explicitly mentioned in the DetNet architecture, such as BIER <xref target="RFC8279"/>. Note that DetNet 
supports unicast and multicast.</t>

<t>The DetNet forwarding sub-layer provides resource allocation and explicit routing
to DetNet flows or their aggregates.  Resource allocation means bandwidth reservation and
buffer management to ensure no-loss forwarding, and when required for the traffic also
per-hop scheduling to guarantee bounded latency of the forwarded DetNet traffic.</t>

<t>The DetNet service sub-layer provides (according to <xref target="RFC8655"/> the Packet Replication
Function (PRF), the Packet Elimination Function (PEF) and the Packet Ordering Function (POF).
These functions are collectively called PREOF (Packet Replication Elimination and Ordering
Functions). PREOF provides resilience against even individual packet loss by utilizing
or inserting some sequence number in packets in the PRF and sending out two or more copies
of the traffic to disjoint paths which are only converging in a DetNet service node performing
the PEF and optionally the POF. These functions may occur on network nodes or on DetNet
sender/receiver nodes. POF is optional because it implies packet buffering in the face
of packet reordering, something which may be too complex to perform in a network node.</t>

<t>In DetNet MPLS data plane <xref target="RFC8964"/>, DetNet/MPLS packets have one (or more) F(orwarding)
labels through which the explicit path and resource reservation can happen and which can
be set up by various MPLS control plane mechanisms, including, but not limited to RSVP-TE. These
are followed by a S(ervice) label (S-Label) and at the bottom of the MPLS stack a DetNet Control Word
(d-CW) containing a sequence number for the traffic (DetNet flow or aggregate) identified by the
S-label.</t>

<t>In a simple example MPLS network deployment of DetNet, the ingress PE LSR would perform the
DetNet service sub-layer with PRF and replicate the two copies of the traffic into two RSVP-TE
tunnels (over disjoint paths) to the egress PE that performs the PRF/POF. Intervening MPLS
P LSR act solely as DetNet forwarding sub-layer nodes, forwarding the traffic as MPLS,
and resource allocation only happens out-of-band in the Path Computation Engine (PCE) and
Admission Controller (AC).</t>

<t>Note that service sub-layer functions are not necessarily only applied on ingress and egress
of a network, depending on the design and deployment of a service, they may also occur on
intermediate DetNet service nodes, for example to protect against packet loss on more than
one hop along a long path.</t>

</section>
<section anchor="gaps-and-challenges"><name>Gaps and challenges</name>

<section anchor="no-preof-header-for-ip"><name>No PREOF header for IP</name>

<t>For IP and IPv6, there is no equivalent network packet header to the S-label/d-CW in MPLS. Hence,
it is currently not possible to build PREOF purely with an IP packet header. Instead, there
are proposal to utilize the MPLS header within an IP environment, such as 
<xref target="I-D.ietf-detnet-mpls-over-ip-preof"/>. Such mixed stacks may not be ideal for processing
performance and/or implementation also on DetNet sender/receivers.</t>

</section>
<section anchor="limited-choice-for-bounded-latency-scheduling-in-ip-and-mpls"><name>Limited choice for bounded latency scheduling in IP and MPLS</name>

<t>The only scheduling mechanism documented in an RFC to provide per-hop bounded latency
is <xref target="RFC2212"/>. This severely limits the ability to easily implement IP router or MPLS LSR
forwarding sub-layer bounded-latency functionality. The IEEE TSN working group has defined
several per-hop bounded latency mechanisms. These can not be used today though hop-by-hop
when the forwarding node is not operating as an 802.1 bridge, but as an IP/IPv6 router or
MPLS LSR. The IEEE has the intend to extend specification of TSN mechanism to make them
applicable to IP/MPLS forwarding layers, but except for some summary of this effort,
it is unclear what degree of IETF review and hence IETF standards applicability those
mechanisms would get (ongoing work at 2/2024).</t>

</section>
<section anchor="scalability-issues-of-explicit-routing"><name>Scalability issues of explicit routing</name>

<t>In most cases, bandwidth and if possible bounded-latency guarantees can only be
provided on a strict explicit path, because every single re-route that could happen
would require pre-allocated resources. In per-hop explicit routing, such as RSVP-TE,
this requires a so-called strict ERO, and every LSR requires an MPLS LSP for each
such RSVP-TE tunnel. In a large MPLS network with e.g.: 1000 PE and a full-mesh of
PE-PE RSVP-TE tunnels, this would require 1,000,000 LSP. PCE established LSP could
gain some optimization through MP2P LSP setup, but this is still an undesirable large
design, purely from the perspective of the required PCE signaling to P LSR.</t>

<t>The same considerations apply to strict routes in IP/IPv6 networks, due to the absence
of an RSVP-TE equivalent signaling of ERO in IP/IPv6, only PCE signaling based
solutions are available through standard mechanisms today.</t>

<t>Segment Routing (SR) for MPLS and IPv6 overcomes this issue by eliminating the
per-hop steering, and moves the explicit route into the packet header. However, SR started out
primarily for use-cases such as capacity optimization, where strict explicit routing is
not required, but instead loose routing is sufficient, and the PCE is calculating
a minimum number of loose hops to put into the steering header. This is insufficient
for DetNet, but instead large service provider networks, especially in sparsely
populated but large countries may have ring-type topologies with 20 or more hops,
requiring 20 or more explicit steering hops in the source routing header.</t>

<t>In SRv6, mechanisms such as <xref target="I-D.ietf-spring-srv6-srh-compression"/> are looking into
supporting longer SR paths in the header, which should hopefully suffice for the
long and strict explicit paths required for DetNet in such networks. Likewise, MPLS
LSR requirements for the maximum supported length of label stacks should take the
requirement for strict explicit paths into account in profiling implementation
requirements.</t>

</section>
<section anchor="scalability-issues-of-hop-by-hop-bounded-latency-mechanisms"><name>Scalability issues of hop-by-hop bounded latency mechanisms</name>

<t>Both <xref target="RFC2212"/> as well as most TSN mechanisms in support of hop-by-hop bounded latency
scheduling operate on the basis of per-flow, per-hop traffic state, such as per-flow
Weighted-Fair-Queuing or Shaping. These mechanisms require per-flow, per-hop state
that needs to be established by a PCE and whose operational performance and scalability
requirements are worse of those of per-hop, per-flow explicit traffic steering without
source routing (segment routing).</t>

</section>
</section>
</section>
</section>
<section anchor="common-header-proposal"><name>Common header proposal</name>

<t>The following two picture show the proposed common metadata blocks
from which one or two IPv6 extension header(s) are to be composed.
these blocks do not include the common headers of the possible
IPv6 extension header options but are only their payload.</t>

<figure title="Per-hop metadata block" anchor="FIG1"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Per Hop Method |    Method Parameters (56 bits)                |
  +-+-+-+-+-+-+-+-+                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Per Hop Method, Method Parameters:</t>

<t>The Per Hop Method field (abbreviated to Method) indicates the format of the following 56 bits of
method parameters and its processing by a per-hop scheduling/marking algorithms. 
When used with DetNet, this header is processed by every DetNet transport node.</t>

<t>For this option, IANA would have to allocate one new 5-bit codepoint for
the Hop-by-Hop option in combination with all "act"/"chg" bit combinations. The specification
for each method would be required to comply with <xref target="I-D.ietf-6man-hbh-processing"/> and define
which "act"/"chg" options the method uses and how.</t>

<t>The common specification for this hop-by-hop option would specify that the requirements
of <xref target="I-D.ietf-6man-hbh-processing"/> for this new option apply individually on a 
per-method basis. In other word, implementations supporting this option must not only
perform the right "act" processing based on whether this option is supported/configured,
but on whether/how the specific "Per Hop Method" is supported/configured. More specifically,
by default, packets with any non-explicitly configured "Per Hop Method" must default to
be discarded with only internal logging, not or minimally impacting performance of other
packets (aka: increase a single per-received-interface (potentially sampled) counter for packets
with this option - or better).</t>

<t>ICMP replies support must only be provided for explicitly supported and configured
methods. Likewise, ignoring/passing packets with unknown methods must be explicitly configured
on a per-method basis.</t>

<t>Ultimately, one core goal of this per-method approach is to escape the limited space we still
have left for hop-by-hop options and on the other hand commonize across multiple different
QoS mechanism variations all reasonable common-practice aspects so each such method does not
have to re-invent that common part of the wheel.</t>

<t>Algorithms supported by this option  will typically attempt to achieve per-hop bounded
latency, and optionally also limit per-hop jitter when they are serving
DetNet. Alternatively (or additionally) they may also attempt to achieve
specific congestion control goals. Nevertheless,
the 56 bit may support any per-hop function of interest based on
method allocation rules and the limits seen as reasonable for the
of this extension header - for example: scheduling and marking/discarding of
the packet.</t>

<t>Allocation of Method values are proposed/discussed in <xref target="allocation"/>.</t>

<figure title="End-to-end metadata block" anchor="FIG2"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |e2eMthd|  End-to-end Method (e2emth) Parameters (60 bits)      |
  +-+-+-+-+                                                       |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>e2eMthd, Method Parameters:</t>

<t>This extension header data block follows the same logic as the hop-by-hop metadata
block except that in general it is meant to only be processed by DetNet
Service nodes, or for non DetNet functions equally only the ingress/egress
nodes of an IPv6 packet path. Depending on how this is packetized,
it may be part of a per-hop extension header but the data might
simply be ignored there.</t>

<t>Processing rules would have to be written similarly to what was outlined above for the hop-by-hop
option.</t>

<t>Allocation of e2eMthd values are proposed/discussed in <xref target="allocation"/>.</t>

</section>
<section anchor="examples"><name>Examples</name>

<t>This section describes example functionalities that would have to
be specified (as IETF standard/experimental/informational, ISE ... external specification)
utilizing the above proposed extension header options.</t>

<t>The text for these examples does not attempt to include all such possible specification
but instead focuses on a summary of the functionality and how the metadata carried
in the extension header(s) achieves it.</t>

<section anchor="example-end-to-end-extension-header-method-for-detnet"><name>Example End-to-End extension header method for DetNet</name>

<t>The following is an example for how the end-to-end extension header might
be defined for DetNet.</t>

<figure title="Example DetNet End-to-end metadata block" anchor="FIG3"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |e2eMthd|Rsrvd|P|           End-to-End Timestamp                |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |0|0 0 0|                Sequence Number                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Rsrvd: Reserved.</t>

<t>Sequence Number: Explained in the following PREOF subsection.</t>

<t>End-to-end Timestamp, P: Explained in the following End-to-end Time-stamping subsection.</t>

<section anchor="preof"><name>PREOF</name>

<t>Sequence Number:</t>

<t>The field carrying the Sequence Number has the same encoding and
semantic as the "DetNet Control Word" as specified in the MPLS Data plane
for DetNet, <xref target="RFC8964"/>.</t>

<t>Note that processing the sequence number field (insertion, reordering,
duplicate elimination) is relative to the DetNet flow that the packet
belongs to, requiring per-DetNet flow state in the processing nodes.</t>

<t>This means that it is relative to the N-tuple that is
looked up by the processing node. The DetNet architecture lays out
various option. In simple, non-SRv6 end-to-end flow scenarios,
this is the typical 5-tuple of (Src-IPv6/Mask, Dst-IPv6/Mask, Proto, SrcPort, DstPort),
where Proto is the value of the first IPv6 "Next Header" field which is
not an IPv6 extension header, and SrcPort, DstPort the first two 16 bit
values of that protocol header.</t>

<t>When a routing header is used, DstIP is the final routing header
address, which will only be the IPv6 headers destination address
on the last hop. In addition, the DetNet flow tuple can be as small
as a 2-tuple (Src-IPv6/Mask, Dst-IPv6/Mask), indicating for example
all traffic to use DetNet service between a service provider networks
ingress PE (Src-IP6) and egress PE (Dst-IPv6).</t>

</section>
<section anchor="end-to-end-time-stamping"><name>End-to-end time-stamping</name>

<t>The P and End-to-end Timestamp serve an "end-to-end time-stamping" service.
Clock timestamp has a unit of 1 usec.</t>

<t>When the hop-by-hop scheduling mechanism is "in-time",
traffic will incur no or little per-hop scheduling delay in the
absence of competing traffic, but more delay when there is competing
traffic. This can lead to a high degree of end-to-end latency variation ("jitter")
under varying degrees of competing traffic, something that applications
may not be able to easily deal with.</t>

<t>End-to-end timestamping is a way to permit the egress DetNet service node
to buffer packets received before their guaranteed maximum bounded latency.
This is a tentative feature which has not yet been considered in other drafts
in DetNet, and is included to offer a more comprehensive view of possible
still to be resolved DetNet packet header features beyond per-hop scheduling.</t>

<t>If the P)layout flag is 0, then the end-to-end timestamp indicates
the time I at which the ingress DetNet service node inject the packet.
The egress DetNet service node then needs to understand the
guaranteed bounded latency D for the packets flow and delay the
packet up to time I+D.</t>

<t>In some cases, it may be easier for the ingress DetNet service node
to know D, in which case it can set the End-to-End Timestamp to
I+D and indicate this via P=1. The egress DetNet service node
then needs to delay the packet up to the time indicated by
the end-to-end timestamp.</t>

<t>Because the end-to-end timestamp is not a full timestamp, it needs
to be defined as a 24 bit modulo against some reference clock timestamp,
such as seconds since Jan-1-1970. There is also the need for the
egress DetNet node to check the modulo (formula TBD).</t>

<t>The unit of the end-to-end-timestamp is 0.1 usec, allowing a
maximum latency of 1.6 seconds (24 bit value). This allows
any potentially necessary timestamp calculations to be at
last 1 usec precise. 1.6 seconds is assume to be significantly
longer than any relevant end-to-end delay that needs to be supported.</t>

</section>
</section>
<section anchor="example-hop-by-hop-extension-header-methods"><name>Example Hop-by-hop extension header Methods</name>

<t>The different example methods described in the following subsections
use a one-bit field V(ersion) to allow introduction of both
backward compatible and non-backward compatible extensions of
a method without requiring a new Method field allocation.</t>

<t>When V=0, extensions need to be backward compatible and use only
Reserved bits in the header, which are by default sent as 0 and
ignored by the following methods.</t>

<t>When V=1, receivers will recognize the packet header as being
incompatible with the following specifications. In that case all
bits of the Method parameters can be redefined as seem fit by
such extensions, but all nodes processing such a header must then
support that new version of the Method.</t>

<section anchor="c-score"><name>C-SCORE</name>

<t>"Work Conserving Stateless Core Fair Queuing" (C-SCORE, <xref target="I-D.joung-detnet-stateless-fair-queuing"/>)
is a mechanism for per-hop stateless fair queuing that together with
admission control allows to guarantee per-hop bounded latency in
which because of the properties of fair queuing the latency of bursts is
only paid once. It aims to achieve similar end-to-end bounded latency
guarantees as <xref target="RFC2212"/>, which is also leveraging fair queuing, except that
that mechanism does not operate stateless, but requires for each flow on every
relevant hop per-flow state, specifically the weighted fair queue for the flow.</t>

<figure title="TCQF hop-by-hop block" anchor="FIG4"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Method     |  Reserved     | Service Rate                  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                  Finish Time                                  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Finish Time:</t>

<t>This is also called F(p) in the C-SCORE draft. This is in units
of usec and updated through the C-SCORE algorithm and experienced
processing latency on every hop. See below in the gLBF section for
thoughts on how to deal with overflow modulo for such a parameter.</t>

<t>Service Rate:</t>

<t>This is also called r in the C-Score draft. The unit is bits/sec.
TBD: this may need to be a larger unit, such as kbps.</t>

<t>Note that C-SCORE also needs to know the length of the packet for its
calculation. It is assumed that this length is known when C-SCORE
algorithm is run, and it is up to implementations to determine the
length from e.g.: L2 encapsulation of the IPv6 packet or further
parsing of the packet header chain following the IPv6 extension headers.</t>

</section>
<section anchor="tcqf"><name>TCQF</name>

<figure title="TCQF hop-by-hop block" anchor="FIG41"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Method     |V|   Reserved          | Prio  |    Cycle      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Reserved                                  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Cycle:</t>

<t>"Tagged Cyclic Queuing and Forwarding" (TCQF) is a forwarding method
derived from IEEE "Cyclic Queuing and Forwarding" (<xref target="CQF"/>). In TCQF,
multiple cycles are used to forward packets. For example, if 3 cycles
are used packets will be sent in sequence for a cycle time period T
of e.g.: 10 usec from cycle buffer 1, then for T from cycles 2, then
cycle 3 and then cycle 1 again. The Cycle value in received packets
from a neighbor are mapped via a simple (neighbor, input-cycle) -&gt; output-cycle
function, output-cycle is written into the Cycle field and the packet
is enqueued into that cycle buffer. The mapping is set up so that
all packets for input-cycle can be received before output-cycle starts
to send. Carrying the Cycle value in the packet allows to support
arbitrary link-latencies (which is limited in CQF) as well as
higher level of errors between clocks on adjacent nodes. This is called
"Maximum Time Interval Error" - MTIE in clock synchronization protocols
such as PTP.</t>

<t>Cycle=0 is reserved. Current considerations are that fewer than
e.g.: 10 Cycles are needed with TCQF, but the field is defined
larger to allow extensions without having to redefine the field
in an incompatible fashion.</t>

<t>While not specified in the current TCQF draft, it is possible to
use multiple independent set of cycle buffers for packets of different
priorities. Thus the encoding also includes a Prio(rity) field.
Prio=0 is reserved, Typically a maximum of 8 priorities is likely
to be beneficial/necessary.</t>

</section>
<section anchor="tqf"><name>TQF</name>

<t>"Timeslot Queueing and Forwarding" (TQF), <xref target="I-D.peng-detnet-packet-timeslot-mechanism"/>
is a variation of CQF (and TCQF, CSQF) in which a larger number
of cycles, which are called Timeslots, are used to allow direct
interleaving of more smaller flows without having to reserve bandwidth
in every cycle to such flows - but only reserving bandwidth in a smaller
number of timeslots in a larger number of timeslots.</t>

<figure title="TQF hop-by-hop block" anchor="FIG5"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Method     |V|   Reserved  |G| Timeslot                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Reserved    | Deviation                   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Timeslot is the equivalent of Cycle in TCQF, but may use 1024 or
more values.</t>

<t>If G)lobal =0, this indicates Local Timeslot style, G)local=1
indicates Global Timeslot style. See <xref target="I-D.peng-detnet-packet-timeslot-mechanism"/>,
for more explanations.</t>

<t>Deviation indicates the number of timeslots which a packet was
delayed by on one or more hops because it did not fit into the
earliest available timeslot on a processing node. This value is updated by adding
the number of slots the packet is delayed to the Deviation value and 
updating the Deviation field in the packet.</t>

<t>When so desired, the
egress DetNet service node can then use this value and the admission
control system calculated maximum value of this field for this
flow to delay packets such that all packets of the flow will have
the same latency (reducing jitter).</t>

</section>
<section anchor="earliest-deadline-first-edf"><name>Earliest Deadline First (EDF)</name>

<t>TBD. See  <xref target="I-D.peng-detnet-deadline-based-forwarding"/>.</t>

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

<t>CSQF, <xref target="I-D.chen-detnet-sr-based-bounded-latency"/> operates fundamentally
like TCQF except that it does not operate on a single cycle identifier
in a header field, which is then rewritten on every hop like TCQF, but
instead the cycle identifier for every hop is a (parameter of the) SRv6 SID for every
hop, e.g.: it requires use a of a routing header such as SRH.</t>

<t>Compared to TCQF, this approach has the benefit of allowing a more
flexible per-hop sequence of cycles because the cycle for every hop
is programmable for each packet, whereas it is fixed by router mapping
tables in TCQF.</t>

<t>As a downside, when the cycle mapping does not require
this flexibility, it costs more bits on the wire, because when e.g.:
N=4 bit of cycle values are required, then this requires as many bits
per hop in the routing header, which may be a relevant consideration
when using compressed routing headers.</t>

<t>However, CSQF like TCQF can also be implemented with different priorities,
and if that is an end-to-end priority, then it may be beneficial not
to replicate the priority field into every source routing header hop
(e.g.: SRv6 SID in SRH), but carry it in the hop-by-hop extension
header field. For this purpose, it would be possible even to re-use
the CQF Method formatting, set the Cycle field to 0, but the Prio
field to a non-zero value indicating the priority. Likewise, it
should then be possible to only allocate a single Method value for
both TCQF and CSQF.</t>

</section>
<section anchor="glbf-guaranteed-latency-based-forwarding-glbf"><name>gLBF Guaranteed Latency Based Forwarding (gLBF)</name>

<t>"guaranteed Latency Based Forwarding" (gLBF, <xref target="I-D.eckert-detnet-glbf"/>
is a mechanism for on-time stateless forwarding of packets without
requirements for clock synchronization utilizing the calculus for
admission control and flow specifications of TSN-ATS. To eliminate
the per-hop shaper or interleaved regulator state of TSN-ATS,
it instead uses a Damper.</t>

<figure title="gLBF hop-by-hop block" anchor="FIG6"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Method     |V|   Reserved                  | PPrio | Prio  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Damper Time                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>If Method equals to the value assigned to gLBF, the method parameters
are as follows:</t>

<t>Prio:</t>

<t>Prio is the end-to-end priority of the packet with defined values 1 to 8.
1 is highest priority, 8 is lowest priority. Values 9-15 are reserved.
If Prio is 0, then the per-hop priority needs to be derived from
the per-hop routing header information, such as the SID or its
parameters when using SRH. When using per-hop priorities solely via
SIDs (such as when using compressed SIDs), this requires up to
8 SID per node (depending if all 8 priorities are required in the deployment).</t>

<t>PPrio (prior hop priority):</t>

<t>This is an optional parameter. It is set to 0 when not used. When
supported then a node will insert the per-hop priority extracted
from its SID (or its parameters) into this field (value 1-8) in
support of less complex processing of the packet on the following
node, such as simple timed FIFOs. See <xref target="I-D.eckert-detnet-glbf"/>
for further explanations.</t>

<t>Note that the prior hop prio is also available from the routing
header SID when using IPv6 routing headers, because unlike in MPLS,
it is not discarded. Nevertheless, a node typically would not
know the semantics of the prior-hop nodes SID to priority mapping.</t>

<t>Damper Time:</t>

<t>This is the time calculated by the prior-hop node that the receiving
node needs to delay the packet so that the sum of scheduling latency
on the prior hop and this damper time is the known maximum bounded
latency for this hop and the prior hops priority of the packet.</t>

<t>Each node rewrites this field after knowing when the packet will
hit the outgoing interface (e.g.: after dequeing it from the
egress queue).</t>

</section>
<section anchor="dynamic-packet-state-dps"><name>Dynamic Packet State (DPS)</name>

<t>"Dynamic Packet State" (DPS) <xref target="I-D.stoica-diffserv-dps"/> is a proposal
that was brought to the IETF in 2002. It is not considered for DetNet,
but is the first example presented here how the common header proposed
might also help accelerate at least practical experimentation with research
QoS options that so far have always struggled to get even towards practical
experimentation because of packetization.</t>

<t>DPS provides weighted fair scheduling approximation without per-flow
state (such as a per-flow weighted queue) by carrying a flows target
data rate as metadata in the packet. In the most basic setup, all DPS
flows share a single traffic class. The scheduler calculates
an ongoing estimate of the (over-load) of that traffic class, deriving
a packet ECN-mark or discard probability, and then adjusting that probability
up or down based on the packets target data rate.</t>

<t>A solution like DPS does require controlled networks where the target
data rate of flows can be trusted, but then allows to easily solve
issues such as allowing devices/applications requiring much faster flows
to get those higher speed under congestion - without introducing any
non-scalable per-flow state management issues (except for wherever
on ingress some policy admission is needed).</t>

<t>The DPS draft lays out primarily complex encoding options to minimize
the number of bits required to encode the metadata. These considerations
not only precede faster networks of today, but they also ignore the
issue that complex encoding will not necessarily work at high speeds
in programmable forwarding plane. Hence a simple, non-floating point
representation would likewise also accelerate the ability to experiment
with these type of advanced mechanisms.</t>

<figure title="DPS hop-by-hop block" anchor="FIG7"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Method     |V|   Reserved                                  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Flow Rate                             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>In a simple encoding option, the DPS metadata would simply consist
of a 32-bit Flow Rate field in units of 10 bps, allowing maximum
flow rates of 40 Gbps, thus allowing experimentation both in
high-speed as well as low-speed, radio networks.</t>

</section>
<section anchor="latency-based-forwarding-lbf"><name>Latency Based Forwarding (LBF)</name>

<t>Like DPS, "Latency Based Forwarding" (LBF, <xref target="LBF"/>) is also not a DetNet target
per-hop method, but a more research experiment from which gLBF was derived.</t>

<t>It is included here as a second examples of how the common header
structure proposed here could also help to avoid researchers having
to introduce new packet headers fully and instead are able to rely
on the framework of the common header. It also shows how the desire
for a space optimized common header may cause limitation to more
experimental, advanced solutions.</t>

<figure title="LBF hop-by-hop block" anchor="FIG8"><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Method     |V| Reserved  |A| eLatency                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | minLatency                    | maxLatency                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>eLatency is the latency experienced by the packet when it travels
hop-by-hop in the unit of usec. Every node along the path adds
the latency including link and queuing latency to the value,
updating the packet header field.</t>

<t>minLatency and maxLatency are only set by the originator and never
changed. Like eLatency their unit is usec.</t>

<t>Every node performing LBF scheduling management uses routing
information that includes propagation latencies to know the
minimum, no-queuing latency to the packets destination to determine
how much scheduling time budget the packet has, taking eLatency
and maxLatency into account. When it calculates that the packet
could not reach the destination in time it discards the packet
immediately, hence avoiding unnecessary congestion downstream.
When immediate sending of the packet would make the packet
likely arrive too early (taking minLatency into account), the
packet will be intentionally delayed even in the absence of
contention. As  soon as the packet would not be too early to be
sent it's dynamic scheduling priority versus contending packet
based on the calculated maximum time it could spend to not
exceed maxLatency when it reaches the destination.</t>

<t>A)dmitted is a flag indicating whether the traffic is admission
controlled, which increases its dynamic scheduling priority in LBF.</t>

<t>minLatency and maxLatency are so-called "Service Level Objectives" (SLO),
and overall LBF attempts to show that latency SLO can not only be
orchestrated in complex fashions in the controller/control-plane, but
also lightweight and stateless (hence scaling) directly in the
forwarding plane. It can equalize end-to-end latency for flows
across different long paths to create fairness, such as in
metropolitan access rings, and it can minimize multi-hop queuing
latency - once a packet experiences undesired queuing on one hop,
its dynamic priority will be higher on the next.</t>

<t>Because three time values are required, they can all only be 16
bit long, making the maximum latency supportable 65 msec. This
should well suffice for any interactive time-critical applications,
but it would not be good enough for arbitrary use over wide-area
networks.</t>

</section>
</section>
</section>
<section anchor="open-questions"><name>Open questions</name>

<section anchor="functional-requirements-limitation"><name>Functional requirements / limitation</name>

<t>Assume a standards track draft/RFC was to be created from this header concept.
What are the functional requirements / limitation necessary and sufficient
so that it becomes most easy to create standard/experimental/information/external
methods leveraging this encapsulation.</t>

<t>For example:</t>

<t>Defining constraints that must be met by the mechanism to be allowed to use this header,
such as:</t>

<t>o The header operation may primarily only impact scheduling, marking and/or discarding of packets
  containing the header relative to other packets. The mechanisms explicitly need to minimize
  exposure of application information to the network according to <xref target="RFC9419"/>. For example, past
  proposal attempted to include metadata characterizing the application, session and type of
  media transported so that the network operator could try to provide mappings to the service
  quality deemed necessary for the traffic. Instead the metadata should explicitly only be
  the control parameter for the QoS algorithm provided by the method.</t>

<t>o If parameters beyond this limit are proposed to be transported, then they must be encrypted
  in a way that would allow for them to be decoded only by entities to whom the originating
  application can build an equal trust relationship to the one deemed to be sufficient to
  carry the same information in an encrypted/authenticated end-to-end connection.
  Note that the potential to include such encryption related parameters may be one reason to
  potentially reserve more space, such as another 32 bits for some form of security-association identifier.</t>

<t>o Unless the mechanism claims and provides sufficient evidence (any standard requirements
  to achieve this) to be compatible to Internet congestion control (best RFC reference ?),
  the mechanism needs to be scoped for intra-domain/controlled-network/federation use (not
  across the Internet) and/or require participating hosts to employ circuit breakers (<xref target="RFC8084"/>).</t>

<t>o Operation of the method must only depend on parameters included in the header(s)
  (hop-by-hop, end-to-end), and the base IPv6 header, but not other headers or payload.</t>

<t>o All operations on any hop-by-hop header defined for a method are intended to be possible within the
   "fast-path" forwarding plane of advanced routers, any control-plane / slow-path functionality should
  not rely on these headers. Any normal end-to-end header should in general be designed in the same way,
  but an additional method may be assigned to end-to-end headers that are intended to operate only
  in software. For example the proposed playout metadata in the end-to-end header requires
  timed buffering of packets, something typically not deemed feasible for even most advanced
  high-speed router forwarding plane engines today. However, this functionality is easy to do in
  software on receiver host stacks, and supporting this via an IPv6 destination option header will
  likely may it easier to add such functionality to existing application/host-stacks than defining
  a new "transport" header for it - because the latter option would then require to "tunnel" e.g.:
  UDP on top of that transport.</t>

<t>o The method must specify how it fits into a DiffServ configuration model.</t>

<t>o A method specification must describe how the method interacts with traffic not carrying the methods
  header.</t>

</section>
<section anchor="combination-with-ipv6-routing-header"><name>Combination with IPv6 routing header.</name>

<t>When DetNet wants to guarantee per-hop resources for bandwidth and
optionally per-hop latency, then this means in almost all network designs
with redundancy, that the network path needs to be fixed through what
is commonly called a strict, explicit hop-by-hop route, or else
a re-route event on a loose intermediate hop will cause the traffic
to reconverge to a path without prior resource allocation.</t>

<t>Today, in IPv6 there are two relevant source-routing headers through
which this steering is done in the industry. For high-speed networks
the "IPv6 Segment Routing Header", <xref target="RFC8754"/>, and for lower speed,
industrial, and often also wireless-mesh networks the
"IPv6 Routing Header for Source Routes with the Routing Protocol for Low-Power and Lossy Networks",
<xref target="RFC6554"/>. Because DetNet explicitly includes the wireless network
architecture aspects originating from the IETF RAW working group, we
should assume that in the ideal case, the DetNet header can be
combined with the functionality of either of these type of networks.</t>

</section>
<section anchor="hop-by-hop-or-routing-header"><name>Hop-by-hop or Routing-Header</name>

<t>Should the DetNet header (primarily) be a Hop-by-Hop (HbH) header,
or a routing-header ? Here are a couple of considerations:</t>

<t>A HbH header would have the benefit of allowing to combine DetNet
with unmodified routing headers <xref target="RFC8754"/> or <xref target="RFC6554"/>.</t>

<t>A HbH header would have the possible downside that parsing and
executing both a HbH header and a routing header may be more
expensive in high-speed forwarding planes than if the DetNet
header would become part of a new routing header. Especially
because in the worst case, 50% the DetNet functionality may need
to be applied on ingress before routing, and the other 50%
may need to be applied after routing on the egress of the router.</t>

<t>A HbH header would have the benefit of allowing per-hop operation
even if the routing header is loose hop. As mentioned above, this
does not seem to be a significant use-case for DetNet.</t>

</section>
<section anchor="extending-existing-router-headers-or-new-routing-header-"><name>Extending existing router headers or new routing header ?</name>

<t>Technically it seems to be an option to include the DetNet
header into an SRH as a "DetNet" TLV. So far,
all existing SRH TLV are, as far as the authors are aware only
examined by the final SRH hop, but not hop-by-hop. In this
respect, the SRH TLV options seem to be mostly a replacement
for a separate Destination Options Header, and implementations
may have a higher overhead acting hop-by-hop on a TLV
encoded DetNet header.</t>

<t>However, the option for hop-by-hop examined TLVs are architecturally
possible in SRH through the high order bit of the TLV type field.</t>

<t>For <xref target="RFC6554"/> extensions are not explicitly considered, but
it should be possible to update this RFC with a DetNet header
added at the end (similar to the TLV section in SRH), but
without having to add a TLV encoding.</t>

<t>Extending the existing headers will have the architectural
downside of having to support two routing headers with
DetNet, but this seems to be only a theoretical and RFC text
duplication downside, because almost every device will only
support one type of header anyhow.</t>

</section>
<section anchor="integrated-or-split-detnet-header"><name>Integrated or split DetNet header</name>

<t>The service sub-layer functions and associated DetNet packet
header elements do not need to be executed on every hop where
DetNet transport sub-layer functions and hence the associated
packet header elements are required.</t>

<t>Therefore it could be considered to be technically feasible and
architecturally sound to split up the DetNet header into two IPv6 extension headers.</t>

<t>A DetNet transport sub-layer extension header with the first 64 bit
of data would be encoded as a HbH header, and/or an extension to an existing
or new routing header.</t>

<t>A DetNet service sub-layer extension header with the second 32 bit
which would be encoded in a Destination Options header, or (as the SHR TLV
example shows, added to a routing header). When encoded
into a Destination Options header there is the option of adding
the 64 bit of information as options into the common Destination
Options extension header or allocating a new Destination Options
extension header.</t>

<t>It would even be possible to consider calling
this header not a Destination Options header, but a new
"DetNet service transport header" - by simply not declaring the new
"Next Header" value to be an IPv6 extension header</t>

<t>Which of the options is best is an open issue.</t>

<t>One core functional benefit of having a single joint header is
that it would be possible  to consider the option that different
Methods can also redefine the semantic of the 64 end-to-end bit
and perform per-hop operations on them. This for example could
allow longer metadata values in LBF.</t>

</section>
</section>
<section anchor="allocation"><name>Method and e2eMthd code-point/semantic allocation</name>

<t>The hop-by-hop Method is proposed to be allocated through different
mechanisms in different blocks as follows.</t>

<t>Values  0 - 31: Header encoding and associated forwarding behavior specified
through standards track RFC.</t>

<t>Values 32 - 63: Header encoding and associated forwarding behavior specified
through experimental or informational IETF or IRTF RFC.</t>

<t>Values 64 - 223: Header encoding and associated forwarding behavior specified
through specification (including IETF) plus expert review. Typical use would
be for third-party SDO or research / industry specifications.</t>

<t>Values 224 - 240: Experimental use. No RFC shall refer to a binding of
encoding or associated forwarding behavior to a specific code point in this range.</t>

<t>Values 241 - 255: Configurable.</t>

<t>Nodes along the path need to be configured with a consistent Configured Method Semantic.
Configured Method Semantic is a another IANA registry of 64 bit value allocated on
FCFS basis to a public specification without expert review. Each referenced specification
can only request one Method unless expert review allows it to be associated with more
than one.</t>

<t>The difference between Experimental and Configurable code points is that
experimental explicitly attempts to avoid creating documentation for experiments
that would cause them to proliferate beyond a stage of an experiment, while
Configurable explicitly demands documentation to be produced, without consuming
a limited space codepoint (instead consuming only a codepoint from a large space).</t>

<t>Configurable and Experimental are targeted to be similar to private DSCP for which
no standard functionality is assigned, but instead consistent behavior, such as
queue assignment and queue / early-discard/marking behavior need to be configured
on every node in the network.</t>

<t>For values 0 - 223, temporary allocations are permitted through
IETF or IRTF working group drafts (of the right track) until the draft expires or
is abandoned.</t>

<t>For e2eMthd, similarly blocks would be assigned to different allocation
policies (TBD).</t>

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

<t>This document has no security considerations (yet?).</t>

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

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

</section>
<section anchor="logistics"><name>Logistics</name>

<t>The authors welcome feedback, please address it to ipv6@ietf.org. Feel free to
submit suggestions to improve the document also as issues to https://github.com/toerless/detnet.</t>

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

<t>00 Initial version.</t>

</section>
</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

</section>


  </middle>

  <back>


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



<reference anchor="RFC2212">
  <front>
    <title>Specification of Guaranteed Quality of Service</title>
    <author fullname="S. Shenker" initials="S." surname="Shenker"/>
    <author fullname="C. Partridge" initials="C." surname="Partridge"/>
    <author fullname="R. Guerin" initials="R." surname="Guerin"/>
    <date month="September" year="1997"/>
    <abstract>
      <t>This memo describes the network element behavior required to deliver a guaranteed service (guaranteed delay and bandwidth) in the Internet. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2212"/>
  <seriesInfo name="DOI" value="10.17487/RFC2212"/>
</reference>

<reference anchor="RFC6554">
  <front>
    <title>An IPv6 Routing Header for Source Routes with the Routing Protocol for Low-Power and Lossy Networks (RPL)</title>
    <author fullname="J. Hui" initials="J." surname="Hui"/>
    <author fullname="JP. Vasseur" initials="JP." surname="Vasseur"/>
    <author fullname="D. Culler" initials="D." surname="Culler"/>
    <author fullname="V. Manral" initials="V." surname="Manral"/>
    <date month="March" year="2012"/>
    <abstract>
      <t>In Low-Power and Lossy Networks (LLNs), memory constraints on routers may limit them to maintaining, at most, a few routes. In some configurations, it is necessary to use these memory-constrained routers to deliver datagrams to nodes within the LLN. The Routing Protocol for Low-Power and Lossy Networks (RPL) can be used in some deployments to store most, if not all, routes on one (e.g., the Directed Acyclic Graph (DAG) root) or a few routers and forward the IPv6 datagram using a source routing technique to avoid large routing tables on memory-constrained routers. This document specifies a new IPv6 Routing header type for delivering datagrams within a RPL routing domain. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6554"/>
  <seriesInfo name="DOI" value="10.17487/RFC6554"/>
</reference>

<reference anchor="RFC8279">
  <front>
    <title>Multicast Using Bit Index Explicit Replication (BIER)</title>
    <author fullname="IJ. Wijnands" initials="IJ." role="editor" surname="Wijnands"/>
    <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
    <author fullname="A. Dolganow" initials="A." surname="Dolganow"/>
    <author fullname="T. Przygienda" initials="T." surname="Przygienda"/>
    <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
    <date month="November" year="2017"/>
    <abstract>
      <t>This document specifies a new architecture for the forwarding of multicast data packets. It provides optimal forwarding of multicast packets through a "multicast domain". However, it does not require a protocol for explicitly building multicast distribution trees, nor does it require intermediate nodes to maintain any per-flow state. This architecture is known as "Bit Index Explicit Replication" (BIER). When a multicast data packet enters the domain, the ingress router determines the set of egress routers to which the packet needs to be sent. The ingress router then encapsulates the packet in a BIER header. The BIER header contains a bit string in which each bit represents exactly one egress router in the domain; to forward the packet to a given set of egress routers, the bits corresponding to those routers are set in the BIER header. The procedures for forwarding a packet based on its BIER header are specified in this document. Elimination of the per-flow state and the explicit tree-building protocols results in a considerable simplification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8279"/>
  <seriesInfo name="DOI" value="10.17487/RFC8279"/>
</reference>

<reference anchor="RFC8655">
  <front>
    <title>Deterministic Networking Architecture</title>
    <author fullname="N. Finn" initials="N." surname="Finn"/>
    <author fullname="P. Thubert" initials="P." surname="Thubert"/>
    <author fullname="B. Varga" initials="B." surname="Varga"/>
    <author fullname="J. Farkas" initials="J." surname="Farkas"/>
    <date month="October" year="2019"/>
    <abstract>
      <t>This document provides the overall architecture for Deterministic Networking (DetNet), which provides a capability to carry specified unicast or multicast data flows for real-time applications with extremely low data loss rates and bounded latency within a network domain. Techniques used include 1) reserving data-plane resources for individual (or aggregated) DetNet flows in some or all of the intermediate nodes along the path of the flow, 2) providing explicit routes for DetNet flows that do not immediately change with the network topology, and 3) distributing data from DetNet flow packets over time and/or space to ensure delivery of each packet's data in spite of the loss of a path. DetNet operates at the IP layer and delivers service over lower-layer technologies such as MPLS and Time- Sensitive Networking (TSN) as defined by IEEE 802.1.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8655"/>
  <seriesInfo name="DOI" value="10.17487/RFC8655"/>
</reference>

<reference anchor="RFC8754">
  <front>
    <title>IPv6 Segment Routing Header (SRH)</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
    <author fullname="S. Previdi" initials="S." surname="Previdi"/>
    <author fullname="J. Leddy" initials="J." surname="Leddy"/>
    <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
    <author fullname="D. Voyer" initials="D." surname="Voyer"/>
    <date month="March" year="2020"/>
    <abstract>
      <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8754"/>
  <seriesInfo name="DOI" value="10.17487/RFC8754"/>
</reference>

<reference anchor="RFC8084">
  <front>
    <title>Network Transport Circuit Breakers</title>
    <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
    <date month="March" year="2017"/>
    <abstract>
      <t>This document explains what is meant by the term "network transport Circuit Breaker". It describes the need for Circuit Breakers (CBs) for network tunnels and applications when using non-congestion- controlled traffic and explains where CBs are, and are not, needed. It also defines requirements for building a CB and the expected outcomes of using a CB within the Internet.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="208"/>
  <seriesInfo name="RFC" value="8084"/>
  <seriesInfo name="DOI" value="10.17487/RFC8084"/>
</reference>

<reference anchor="RFC8964">
  <front>
    <title>Deterministic Networking (DetNet) Data Plane: MPLS</title>
    <author fullname="B. Varga" initials="B." role="editor" surname="Varga"/>
    <author fullname="J. Farkas" initials="J." surname="Farkas"/>
    <author fullname="L. Berger" initials="L." surname="Berger"/>
    <author fullname="A. Malis" initials="A." surname="Malis"/>
    <author fullname="S. Bryant" initials="S." surname="Bryant"/>
    <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
    <date month="January" year="2021"/>
    <abstract>
      <t>This document specifies the Deterministic Networking (DetNet) data plane when operating over an MPLS Packet Switched Network. It leverages existing pseudowire (PW) encapsulations and MPLS Traffic Engineering (MPLS-TE) encapsulations and mechanisms. This document builds on the DetNet architecture and data plane framework.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8964"/>
  <seriesInfo name="DOI" value="10.17487/RFC8964"/>
</reference>

<reference anchor="RFC9419">
  <front>
    <title>Considerations on Application - Network Collaboration Using Path Signals</title>
    <author fullname="J. Arkko" initials="J." surname="Arkko"/>
    <author fullname="T. Hardie" initials="T." surname="Hardie"/>
    <author fullname="T. Pauly" initials="T." surname="Pauly"/>
    <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
    <date month="July" year="2023"/>
    <abstract>
      <t>This document discusses principles for designing mechanisms that use or provide path signals and calls for standards action in specific valuable cases. RFC 8558 describes path signals as messages to or from on-path elements and points out that visible information will be used whether or not it is intended as a signal. The principles in this document are intended as guidance for the design of explicit path signals, which are encouraged to be authenticated and include a minimal set of parties to minimize information sharing. These principles can be achieved through mechanisms like encryption of information and establishing trust relationships between entities on a path.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9419"/>
  <seriesInfo name="DOI" value="10.17487/RFC9419"/>
</reference>




    </references>

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




<reference anchor="I-D.eckert-detnet-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>Futurewei Technologies USA</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="5" month="January" year="2024"/>
      <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-02"/>
   
</reference>


<reference anchor="I-D.stoica-diffserv-dps">
   <front>
      <title>Per Hop Behaviors Based on Dynamic Packet State</title>
      <author fullname="Ion Stoica" initials="I." surname="Stoica">
         </author>
      <author fullname="Hui Zhang" initials="H." surname="Zhang">
         </author>
      <author fullname="Fred Baker" initials="F." surname="Baker">
         </author>
      <author fullname="Yoram Bernet" initials="Y." surname="Bernet">
         </author>
      <date day="9" month="October" year="2002"/>
      <abstract>
	 <t>This document proposes a family of Per-Hop Behaviors (PHBs) 
based on Dynamic Packet State (DPS) in the context of the 
differentiated service architecture. With these PHBs, distributed
algorithms can be devised to implement services with flexibility,
utilization, and assurance levels similar to those that can be 
provided with per-flow mechanisms.
With Dynamic Packet State, each packet carries in its header, in
addition to the PHB codepoint, some PHB-specific state. The state
is initialized by the ingress node. Interior nodes process each
incoming packet based on the state carried in the packet&#x27;s 
header, updating both its internal state and the state in the 
packet&#x27;s header before forwarding it to the next hop. By using 
DPS to coordinate actions of edge and interior nodes along the 
path traversed by a flow, distributed algorithms can be designed
to approximate the behavior of a broad class of &#x27;stateful&#x27; 
networks using networks in which interior nodes do not maintain 
per-flow state. We give examples of services that can be implemented by
PHBs based on DPS. We also discuss several possible solutions for 
encoding Dynamic Packet State that have the minimum incompatibility with IPv4.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-stoica-diffserv-dps-02"/>
   
</reference>


<reference anchor="I-D.peng-detnet-packet-timeslot-mechanism">
   <front>
      <title>Timeslot Queueing and Forwarding Mechanism</title>
      <author fullname="Shaofu Peng" initials="S." surname="Peng">
         <organization>ZTE</organization>
      </author>
      <author fullname="Peng Liu" initials="P." surname="Liu">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Kashinath Basu" initials="K." surname="Basu">
         <organization>Oxford Brookes University</organization>
      </author>
      <author fullname="Aihua Liu" initials="A." surname="Liu">
         <organization>ZTE</organization>
      </author>
      <author fullname="Dong Yang" initials="D." surname="Yang">
         <organization>Beijing Jiaotong University</organization>
      </author>
      <author fullname="Guoyu Peng" initials="G." surname="Peng">
         <organization>Beijing University of Posts and Telecommunications</organization>
      </author>
      <date day="4" month="March" year="2024"/>
      <abstract>
	 <t>   IP/MPLS networks use packet switching (with the feature store-and-
   forward) and are based on statistical multiplexing.  Statistical
   multiplexing is essentially a variant of time division multiplexing,
   which refers to the asynchronous and dynamic allocation of link
   timeslot resources.  In this case, the service flow does not occupy a
   fixed timeslot, and the length of the timeslot is not fixed, but
   depends on the size of the packet.  Statistical multiplexing has
   certain challenges and complexity in meeting deterministic QoS, and
   its delay performance is dependent on the used queueing mechanism.
   This document further describes a generic time division multiplexing
   scheme in IP/MPLS networks, which we call timeslot queueing and
   forwarding (TQF) mechanism.  It aims to bring timeslot resources to
   layer-3, to make it easier for the control plane to calculate the
   delay performance based on the timeslot resources, and also make it
   easier for the data plane to create more flexible timeslot mapping.
   The functions of TQF can better meet large scaling requirements.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-peng-detnet-packet-timeslot-mechanism-06"/>
   
</reference>


<reference anchor="I-D.ietf-detnet-mpls-over-ip-preof">
   <front>
      <title>Deterministic Networking (DetNet): DetNet PREOF via MPLS over UDP/IP</title>
      <author fullname="Balazs Varga" initials="B." surname="Varga">
         <organization>Ericsson</organization>
      </author>
      <author fullname="János Farkas" initials="J." surname="Farkas">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Andrew G. Malis" initials="A. G." surname="Malis">
         <organization>Malis Consulting</organization>
      </author>
      <date day="22" month="February" year="2024"/>
      <abstract>
	 <t>   This document describes how DetNet IP data plane can support the
   Packet Replication, Elimination, and Ordering Functions (PREOF) built
   on the existing MPLS PREOF solution defined for DetNet MPLS Data
   Plane and the mechanisms defined by MPLS-over-UDP technology.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-detnet-mpls-over-ip-preof-11"/>
   
</reference>


<reference anchor="I-D.chen-detnet-sr-based-bounded-latency">
   <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="I-D.joung-detnet-stateless-fair-queuing">
   <front>
      <title>Latency Guarantee with Stateless Fair Queuing</title>
      <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>
      <author fullname="Taesik Cheung" initials="T." surname="Cheung">
         <organization>ETRI</organization>
      </author>
      <author fullname="Yizhou Li" initials="Y." surname="Li">
         <organization>Huawei</organization>
      </author>
      <author fullname="Peng Liu" initials="P." surname="Liu">
         <organization>China Mobile</organization>
      </author>
      <date day="29" month="February" year="2024"/>
      <abstract>
	 <t>   This document specifies the framework and the operational procedure
   for deterministic networking with work conserving packet schedulers
   that guarantee end-to-end latency bounds to flows.  Schedulers in
   core nodes of the network do not need to maintain flow states.
   Instead, the entrance node of a flow marks an ideal service
   completion time, called Finish Time (FT), of a packet in the packet
   header.  The subsequent core nodes update FT by adding a delay
   factor, which is a function of the flow and upstream nodes.  The
   packets in the queue are served in the ascending order of the FT.
   This technique is called Fair Queuing (FQ).  The result is that flows
   are isolated from each other almost perfectly.  The latency bound of
   a flow depends only on the flow&#x27;s intrinsic parameters, except the
   link capacities and the maximum packet lengths among other flows
   sharing each output link with the flow.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-joung-detnet-stateless-fair-queuing-02"/>
   
</reference>


<reference anchor="I-D.ietf-spring-srv6-srh-compression">
   <front>
      <title>Compressed SRv6 Segment List Encoding</title>
      <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
         <organization>Cisco Systems, Inc.</organization>
      </author>
      <author fullname="Zhenbin Li" initials="Z." surname="Li">
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Bruno Decraene" initials="B." surname="Decraene">
         <organization>Orange</organization>
      </author>
      <author fullname="Francois Clad" initials="F." surname="Clad">
         <organization>Cisco Systems, Inc.</organization>
      </author>
      <date day="29" month="February" year="2024"/>
      <abstract>
	 <t>   Segment Routing over IPv6 (SRv6) is the instantiation of Segment
   Routing (SR) on the IPv6 dataplane.  This document specifies new
   flavors for the SR segment endpoint behaviors defined in RFC 8986,
   which enable the compression of an SRv6 segment list.  Such
   compression significantly reduces the size of the SRv6 encapsulation
   needed to steer packets over long segment lists.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-srh-compression-13"/>
   
</reference>


<reference anchor="I-D.peng-detnet-deadline-based-forwarding">
   <front>
      <title>Deadline Based Deterministic Forwarding</title>
      <author fullname="Shaofu Peng" initials="S." surname="Peng">
         <organization>ZTE Corporation</organization>
      </author>
      <author fullname="Zongpeng Du" initials="Z." surname="Du">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Kashinath Basu" initials="K." surname="Basu">
         <organization>Oxford Brookes University</organization>
      </author>
      <author fullname="zuopin cheng" initials="" surname="cheng">
         <organization>New H3C Technologies</organization>
      </author>
      <author fullname="Dong Yang" initials="D." surname="Yang">
         <organization>Beijing Jiaotong University</organization>
      </author>
      <author fullname="Chang Liu" initials="C." surname="Liu">
         <organization>China Unicom</organization>
      </author>
      <date day="1" month="March" year="2024"/>
      <abstract>
	 <t>   This document describes a deterministic forwarding mechanism to IP/
   MPLS network, as well as corresponding resource reservation,
   admission control, policing, etc, to provide guaranteed latency.
   Especially, latency compensation with core stateless is discussed to
   replace reshaping to be suitable for Diff-Serv architecture
   [RFC2475].

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-peng-detnet-deadline-based-forwarding-09"/>
   
</reference>


<reference anchor="I-D.ietf-6man-hbh-processing">
   <front>
      <title>IPv6 Hop-by-Hop Options Processing Procedures</title>
      <author fullname="Bob Hinden" initials="R. M." surname="Hinden">
         <organization>Check Point Software</organization>
      </author>
      <author fullname="Gorry Fairhurst" initials="G." surname="Fairhurst">
         <organization>University of Aberdeen</organization>
      </author>
      <date day="25" month="February" year="2024"/>
      <abstract>
	 <t>   This document specifies procedures for how IPv6 Hop-by-Hop options
   are processed in IPv6 routers and hosts.  It modifies the procedures
   specified in the IPv6 Protocol Specification (RFC8200) to make
   processing of the IPv6 Hop-by-Hop Options header practical with the
   goal of making IPv6 Hop-by-Hop options useful to deploy and use in
   the Internet.  When published, this document updates RFC8200.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-6man-hbh-processing-14"/>
   
</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="LBF" >
  <front>
    <title>High-Precision Latency Forwarding over Packet-Programmable Networks</title>
    <author initials="A." surname="Clemm" fullname="Alexander Clemm">
      <organization></organization>
    </author>
    <author initials="T." surname="Eckert" fullname="Toerless Eckert">
      <organization></organization>
    </author>
    <date year="2020" month="April"/>
  </front>
  <seriesInfo name="IEEE" value="2020 IEEE/IFIP Network Operations and Management Symposium (NOMS 2020)"/>
  <seriesInfo name="doi" value="10.1109/NOMS47738.2020.9110431"/>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+V9e48bR5Ln//kpEm0cjsSS7Icl2Rbgm5Fb3VbvylKPWjM+
3OFwKJJFsqxiFaeq2C2OrcV9iPuE90ku4hcRmVkkW565HS8Os94diE1W5SMy
Mt6P8XjsZvW8qJbP/bZbjL92riu6Mn/uL+uqLeZ5k3UFffKLuvGzer2uK/+H
+s7f3N4/8/nHLqeH6KtVntGjg3bosum0ye+f+2Jz/2z857od00OreePm9azK
1jTuvMkW3TiffcibbvxsnVXJU+N50c62bTs+O3MPtKJnP7x442ZZly/rZkdj
VovaFZvmue+abdtdnJ19c3bh2q7Js/Vzf3P1/trRX1k1/59ZWVc01y5v3aZ4
7v97V89Gvq0benTR0qfdWj7wjvKqa/+Hc9m2W9XNc+f9mP6H/2TB7+u8KfO2
9VdYs/1YN7TA6223bfKHvPDv89mqqst6WeSt/+PdC3uMV5d3z/3FxcWZv6S5
mqz0Vx83DY34kO3ssVnR0QbvsqrL/GWZNVn4oZ7zYbzw3zw9e3oWv93SSPRG
MlO+zoqSQNPlv5+1k0W2nczzw938c1HVtf9nen/Z2wlNvVzv6Fv/x6q4z5uW
FnQw211NQPL/UhPA92b96Sce8fftejvJZpMPzeHEd6usXmz9bb438X97f0W4
1mwmfVC8yaqfivhoWMLlqqj2J9/QmJMW4//+L10+oVOdzKrDJfzXbd7WtMPv
99fwapvRGf5Vcy3p3Y8yzu9XeI2nc66qmzVdlfucMejd9eXFxfmFfnz29OkT
/fj1xVff2Ef62j5+FR84+zp8/OaZffzmyTm95hxfgGSam/HLiV6ked5VeTde
ltOF/dJ2dTHL6EotFm3e3I/nm9Z+YoDZK5uMRujGXbHO27LuxmtC5Kwq2rU9
XOREF/Th9aZsxzWhx7jYjAmH6zDbbJVX9lTbjKdZm8/HU4LknP4t6QpXs509
C1wJD3f0I9+v8SIrmvGft/mWqVE6ebtp6CsalkhK26zGBHDcH6I8x3Y0J2JU
FlWuiyCQPWTNfH9QkJ7VdEXbqGc8GP9OD1z+4fo5zlzp4MnN1dWVv+vm/uuz
i8n5H2ar8cXZ+VdMb/A9kRsaHfTxdT2jy01f+B/yrqk3dVnQz/4FXRf/Ju8e
6uZD6//P//rf/rummC+JTvCj8nnef+AFUaU5UyZ/8Q3h4W5WFjP/BwEN3roO
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
Grd1wQAA

-->

</rfc>

