<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-scone-protocol-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="SCONE Protocol">Standard Communication with Network Elements (SCONE) Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-scone-protocol-00"/>
    <author fullname="Martin Thomson">
      <organization>Mozilla</organization>
      <address>
        <email>mt@lowentropy.net</email>
      </address>
    </author>
    <author fullname="Christian Huitema">
      <organization>Private Octopus Inc.</organization>
      <address>
        <email>huitema@huitema.net</email>
      </address>
    </author>
    <author fullname="奥 一穂" asciiFullname="Kazuho Oku">
      <organization>Fastly</organization>
      <address>
        <email>kazuhooku@gmail.com</email>
      </address>
    </author>
    <author fullname="Matt Joras">
      <organization>Meta</organization>
      <address>
        <email>matt.joras@gmail.com</email>
      </address>
    </author>
    <author fullname="Marcus Ihlar">
      <organization>Ericsson</organization>
      <address>
        <email>marcus.ihlar@ericsson.com</email>
      </address>
    </author>
    <date year="2025" month="May" day="28"/>
    <area>Web and Internet Transport</area>
    <workgroup>SCONE</workgroup>
    <keyword>locomotive</keyword>
    <keyword>pastry</keyword>
    <abstract>
      <?line 57?>

<t>On-path network elements can sometimes be configured to apply rate limits to
flows that pass them.  This document describes a method for signaling to
endpoints that rate limiting policies are in force and  what that rate limit is.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-scone.github.io/scone/draft-ietf-scone-protocol.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-scone-protocol/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        SCONE Working Group mailing list (<eref target="mailto:scone@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/scone/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/scone/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-scone/scone"/>.</t>
    </note>
  </front>
  <middle>
    <?line 64?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Many access networks limit the maximum data rate that attached devices are able
to attain.  This is often done without any indication to the applications
running on devices.  The result can be that application performance is degraded,
as the manner in which rate limits are enforced can be incompatible with the
rate estimation or congestion control algorithms used at endpoints.</t>
      <t>Having the network indicate what its rate limiting policy is, in a way that is
accessible to endpoints, might allow applications to use this information when
adapting their send rate.</t>
      <t>The Standard Communication with Network Elements (SCONE) protocol is
negotiated by QUIC endpoints.  This protocol provides a means for network
elements to signal the maximum available sustained throughput, or rate limits,
for flows of UDP datagrams that transit that network element to a QUIC endpoint.</t>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>QUIC endpoints can negotiate the use of SCONE by including a transport parameter
(<xref target="tp"/>) in the QUIC handshake.  Endpoints then occasionally coalesce a SCONE
packet with ordinary QUIC packets that they send.</t>
      <t>Network elements that have rate limiting policies can detect flows that include
SCONE packets.  The network element can indicate a maximum sustained throughput
by modifying the SCONE packet as it transits the network element.</t>
      <artset>
        <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="472" viewBox="0 0 472 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
            <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
            <path d="M 40,80 L 40,176" fill="none" stroke="black"/>
            <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
            <path d="M 120,32 L 120,80" fill="none" stroke="black"/>
            <path d="M 160,80 L 160,176" fill="none" stroke="black"/>
            <path d="M 200,32 L 200,80" fill="none" stroke="black"/>
            <path d="M 248,32 L 248,80" fill="none" stroke="black"/>
            <path d="M 288,80 L 288,176" fill="none" stroke="black"/>
            <path d="M 336,32 L 336,80" fill="none" stroke="black"/>
            <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
            <path d="M 120,32 L 200,32" fill="none" stroke="black"/>
            <path d="M 248,32 L 336,32" fill="none" stroke="black"/>
            <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
            <path d="M 120,80 L 200,80" fill="none" stroke="black"/>
            <path d="M 248,80 L 336,80" fill="none" stroke="black"/>
            <path d="M 40,112 L 64,112" fill="none" stroke="black"/>
            <path d="M 128,112 L 152,112" fill="none" stroke="black"/>
            <path d="M 160,128 L 192,128" fill="none" stroke="black"/>
            <path d="M 256,128 L 280,128" fill="none" stroke="black"/>
            <polygon class="arrowhead" points="288,128 276,122.4 276,133.6" fill="black" transform="rotate(0,280,128)"/>
            <polygon class="arrowhead" points="160,112 148,106.4 148,117.6" fill="black" transform="rotate(0,152,112)"/>
            <g class="text">
              <text x="44" y="52">QUIC</text>
              <text x="160" y="52">Network</text>
              <text x="292" y="52">QUIC</text>
              <text x="44" y="68">Sender</text>
              <text x="160" y="68">Element</text>
              <text x="292" y="68">Receiver</text>
              <text x="96" y="116">SCONE</text>
              <text x="228" y="116">SCONE+rate</text>
              <text x="96" y="132">+QUIC</text>
              <text x="224" y="132">+QUIC</text>
              <text x="340" y="148">Validate</text>
              <text x="396" y="148">QUIC</text>
              <text x="444" y="148">packet</text>
              <text x="320" y="164">and</text>
              <text x="364" y="164">record</text>
              <text x="412" y="164">rate</text>
            </g>
          </svg>
        </artwork>
        <artwork type="ascii-art"><![CDATA[
+--------+    +---------+     +----------+
|  QUIC  |    | Network |     |   QUIC   |
| Sender |    | Element |     | Receiver |
+---+----+    +----+----+     +----+-----+
    |              |               |
    +--- SCONE --->|   SCONE+rate  |
    |    +QUIC     +---- +QUIC --->|
    |              |               |  Validate QUIC packet
    |              |               |  and record rate
    |              |               |
]]></artwork>
      </artset>
      <t>QUIC endpoints that receive modified SCONE packets observe the indicated
version, process the QUIC packet, and then record the indicated rate.</t>
      <t>Indicated rate limits apply only in a single direction.  Separate indications
can be sent for the client-to-server direction and server-to-client direction.
The indicated rates do not need to be the same.</t>
      <t>Indicated rate limits only apply to the path on which they are received.  A
connection that migrates or uses multipath <xref target="QUIC-MP"/>
cannot assume that rate limit indications from one path apply to new paths.</t>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>This protocol only works for flows that use the SCONE packet (<xref target="packet"/>).</t>
      <t>The protocol requires that packets are modified as they transit a
network element, which provides endpoints strong evidence that the network
element has the power to drop packets; though see <xref target="security"/> for potential
limitations on this.</t>
      <t>The rate limit signal that this protocol carries is independent of congestion
signals, limited to a single path and UDP packet flow, unidirectional, and
strictly advisory.</t>
      <section anchor="independent-of-congestion-signals">
        <name>Independent of Congestion Signals</name>
        <t>Rate limit signals are not a substitute for congestion feedback.  Congestion
signals, such as acknowledgments, provide information on loss, delay, or ECN
markings <xref target="ECN"/> that indicate the real-time condition of a network
path.  Congestion signals might indicate a throughput that is different from the
signaled rate limit.</t>
        <t>Endpoints cannot assume that a signaled rate limit is achievable if congestion
signals indicate otherwise.  Congestion could be experienced at a different
point on the network path than the network element that indicates a rate limit.
Therefore, endpoints need to respect the send rate constraints that are set by a
congestion controller.</t>
      </section>
      <section anchor="unspecified-scope">
        <name>Unspecified Scope</name>
        <t>Modifying a packet does not prove that the rate limit that is indicated would be
achievable.  A signal that is sent for a specific flow is likely enforced at a
different scope.  The extent of that scope is not carried in the signal.</t>
        <t>For instance, limits might apply at a network subscription level, such
that multiple flows receive the same signal.</t>
        <t>Endpoints can therefore be more confident in the rate limit signal as an
indication of the maximum achievable throughput than as any indication of
expected throughput.  That throughput will only be achievable when there is no
significant data flowing in the same scope.  In the presence of other flows,
congestion limits are likely to determine actual throughput.</t>
        <t>This makes the application of signals most usefully applied to a downlink flow
in access networks, close to an endpoint. In that case, capacity is less likely
to be split between multiple active flows.</t>
      </section>
      <section anchor="per-flow-signal">
        <name>Per-Flow Signal</name>
        <t>The same UDP address tuple might be used for multiple QUIC connections.  A
single signal might be lost or only reach a single application endpoint.
Network elements that signal about a flow might choose to send additional
signals, using connection IDs to indicate when new connections could be
involved.</t>
      </section>
      <section anchor="undirectional-signal">
        <name>Undirectional Signal</name>
        <t>The endpoint that receives a rate limit signal is not the endpoint that might
adapt its sending behavior as a result of receiving the signal.  This ensures
that the rate limit signal is attached to the flow that it is mostly likely to
apply to.</t>
        <t>An endpoint might need to communicate the value it receives to its peer in order
to ensure that the limit is respected.  This document does not define how that
signaling occurs as this is specific to the application in use.</t>
      </section>
      <section anchor="advisory-signal">
        <name>Advisory Signal</name>
        <t>A signal does not prove that a higher rate would not be successful.  Endpoints
that receive this signal therefore need to treat the information as advisory.</t>
        <t>The fact that an endpoint requests bitrate signals does not necessarily mean
that it will adhere to them; in some cases, the endpoint cannot. For
example, a flow may initially be used to serve video chunks, with the client
selecting appropriate chunks based on bitrate signals, but later switch to a
bulk download for which bitrate adaptation is not applicable. Composite flows
from multiple applications, such as tunneled flows, might only have a subset of
the involved applications that are capable of handling SCONE signals. Therefore,
when a network element detects a flow using more bandwidth than advertised via
SCONE, it might switch to applying its policies for non-SCONE flows, using
congestion control signals.</t>
        <t>The time and scope over which a rate limit applies is not specified.  The
effective rate limit might change without being signaled.  The signaled limit
can be assumed to apply to the flow of packets on the same UDP address tuple for
the duration of that flow.  Rate limiting policies often apply on the level of a
device or subscription, but endpoints cannot assume that this is the case.  A
separate signal can be sent for each flow.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="BCP14"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="packet">
      <name>SCONE Packet</name>
      <t>A SCONE packet is a QUIC long header packet that follows the QUIC invariants;
see <xref section="5.1" sectionFormat="of" target="INVARIANTS"/>.</t>
      <t><xref target="fig-scone-packet"/> shows the format of the SCONE packet using the conventions
from <xref section="4" sectionFormat="of" target="INVARIANTS"/>.</t>
      <figure anchor="fig-scone-packet">
        <name>SCONE Packet Format</name>
        <sourcecode type="artwork"><![CDATA[
SCONE Packet {
  Header Form (1) = 1,
  Reserved (1),
  Rate Signal (6),
  Version (32) = 0xSCONE1 or 0xSCONE2,
  Destination Connection ID Length (8),
  Destination Connection ID (0..2040),
  Source Connection ID Length (8),
  Source Connection ID (0..2040),
}
]]></sourcecode>
      </figure>
      <t>The most significant bit (0x80) of the packet indicates that this is a QUIC long
header packet.  The next bit (0x40) is reserved and can be set according to
<xref target="QUIC-BIT"/>.</t>
      <t>The low 6 bits (0x3f) of the first byte contain the Rate Signal field. Values
for this field are described in <xref target="rate-signal"/>.</t>
      <t>This packet includes a Destination Connection ID field that is set to the same
value as other packets in the same datagram; see <xref section="12.2" sectionFormat="of" target="QUIC"/>.</t>
      <t>The Source Connection ID field is set to match the Source Connection ID field of
any packet that follows.  If the next packet in the datagram does not have a
Source Connection ID field, which is the case for packets with a short header
(<xref section="5.2" sectionFormat="of" target="INVARIANTS"/>), the Source Connection ID field is empty.</t>
      <t>SCONE packets <bcp14>SHOULD</bcp14> be included as the first packet in a datagram.  This is
necessary in many cases for QUIC versions 1 and 2 because packets with a short
header cannot precede any other packets.</t>
      <section anchor="rate-signal">
        <name>Rate Signals</name>
        <t>The Rate Signal field in SCONE uses the low 6 bits (0x3f) of the first byte.
This field is encoded as a logarithmically spaced distribution over a range
defined by the SCONE protocol version.</t>
        <t>When sent by a QUIC endpoint, the Version field of a SCONE packet is set to
0xSCONE2 and the Rate Signal field is set to 0x3F (63), indicating no rate limit
is in place or that the SCONE protocol is not supported by network elements on
the path. All other values (0x00 through 0x3F for protocol version 0xSCONE1 and
0x00 through 0x3E for protocol version 0xSCONE2) represent the ceiling of rates
being advised by the network element(s) on the path.</t>
        <t>For SCONE protocol version 0xSCONE1, the rate limits use a logarithmic scale with:</t>
        <ul spacing="normal">
          <li>
            <t>Base rate (b_min) = 100 Kbps</t>
          </li>
          <li>
            <t>Bitrate at value n = b_min * 10^(n/20)</t>
          </li>
        </ul>
        <t>For SCONE protocol version 0xSCONE2, the rate limits use a logarithmic scale with:</t>
        <ul spacing="normal">
          <li>
            <t>Bitrate at value n = b_min * 10^((n + 64)/20)</t>
          </li>
        </ul>
        <t>With two versions combined, bitrates between 100 Kbps and 199.5 Gbps can be
expressed.</t>
        <t>Some notable values in these ranges include:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Version</th>
              <th align="left">Rate Signal</th>
              <th align="left">Bitrate</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0xSCONE1</td>
              <td align="left">0</td>
              <td align="left">100 Kbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE1</td>
              <td align="left">10</td>
              <td align="left">316 Kbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE1</td>
              <td align="left">20</td>
              <td align="left">1 Mbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE1</td>
              <td align="left">30</td>
              <td align="left">3.16 Mbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE1</td>
              <td align="left">40</td>
              <td align="left">10 Mbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE1</td>
              <td align="left">50</td>
              <td align="left">31.6 Mbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE1</td>
              <td align="left">60</td>
              <td align="left">100 Mbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE2</td>
              <td align="left">6</td>
              <td align="left">316 Mbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE2</td>
              <td align="left">16</td>
              <td align="left">1 Gbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE2</td>
              <td align="left">26</td>
              <td align="left">3.16 Gbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE2</td>
              <td align="left">36</td>
              <td align="left">10 Gbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE2</td>
              <td align="left">46</td>
              <td align="left">31.6 Gbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE2</td>
              <td align="left">56</td>
              <td align="left">100 Gbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE2</td>
              <td align="left">62</td>
              <td align="left">199.5 Gbps</td>
            </tr>
            <tr>
              <td align="left">0xSCONE2</td>
              <td align="left">63</td>
              <td align="left">No limit</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="endpoint-processing-of-scone-packets">
        <name>Endpoint Processing of SCONE Packets</name>
        <t>Processing a SCONE packet involves reading the value from the Rate Signal field.
However, this value <bcp14>MUST NOT</bcp14> be used unless another packet from the same
datagram is successfully processed.  Therefore, a SCONE packet always needs to
be coalesced with other QUIC packets.</t>
        <t>A SCONE packet is defined by the use of the longer header bit (0x80 in the first
byte) and the SCONE protocol version (0xTBD in the next four bytes).  A SCONE
packet <bcp14>MAY</bcp14> be discarded, along with any packets that come after it in the same
datagram, if the Source Connection ID is not consistent with those coalesced
packets, as specified in <xref target="packet"/>.</t>
        <t>A SCONE packet <bcp14>MUST</bcp14> be discarded if the Destination Connection ID does not match
one recognized by the receiving endpoint.</t>
      </section>
    </section>
    <section anchor="tp">
      <name>Negotiating SCONE</name>
      <t>A QUIC endpoint indicates that it is willing to receive SCONE packets by
including the scone_supported transport parameter (0xTBD).</t>
      <t>This transport parameter is valid for QUIC versions 1 <xref target="QUIC"/> and 2
<xref target="QUICv2"/> and any other version that recognizes the versions,
transport parameters, and frame types registries established in Sections <xref target="QUIC" section="22.2" sectionFormat="bare"/>, <xref target="QUIC" section="22.3" sectionFormat="bare"/>, and <xref target="QUIC" section="22.4" sectionFormat="bare"/> of <xref target="QUIC"/>.</t>
    </section>
    <section anchor="deployment">
      <name>Deployment</name>
      <t>QUIC endpoints can enable the use of the SCONE protocol by sending SCONE packets
<xref target="packet"/>.  Network elements then apply or replace the Rate Signal field
(<xref target="apply"/>) according to their policies.</t>
      <section anchor="apply">
        <name>Applying Rate Limit Signals</name>
        <t>A network element detects a SCONE packet by observing that a packet has a QUIC
long header and one of the SCONE protocol versions (0xSCONE1 or 0xSCONE2).</t>
        <t>A network element then conditionally replaces the Version field and the Rate
Signal field with values of its choosing.</t>
        <t>A network element might receive a packet that already includes a rate signal.
The network element replaces the rate signal if it wishes to signal a lower
rate limit; otherwise, the original values are retained, preserving the signal
from the network element with the lower policy.</t>
        <t>The following pseudocode indicates how a network element might detect a SCONE
packet and replace an existing rate signal.</t>
        <sourcecode type="pseudocode"><![CDATA[
is_long = packet[0] & 0x80 == 0x80
packet_version = packet[1..5]
if is_long and (packet_version == SCONE1_VERSION or packet_version == SCONE2_VERSION):
  packet_rate_value = packet[0] & 0x3f
  (target_rate_version, target_rate_value) = convert_rate_to_signal(target_rate)
  if target_rate_version < packet_version or target_rate_value < packet_rate_value
    packet[1..5] = target_rate_version
    packet[0] = packet[0] & 0xc0 | target_rate_value
]]></sourcecode>
      </section>
    </section>
    <section anchor="version-interaction">
      <name>Version Interaction</name>
      <t>The SCONE protocol defines two versions (0xSCONE1 and 0xSCONE2) that cover
different ranges of bitrates. This design allows for:</t>
      <ul spacing="normal">
        <li>
          <t>Support for both very low bitrates (down to 100 Kbps) and very high bitrates
(up to 199.5 Gbps)</t>
        </li>
        <li>
          <t>Graceful handling of network elements that might only recognize one version.</t>
        </li>
      </ul>
      <section anchor="extra-packets">
        <name>Providing Opportunities to Apply Rate Limit Signals</name>
        <t>Endpoints that wish to offer network elements the option to add rate limit
signals can send SCONE packets at any time.  This is a decision that a sender
makes when constructing datagrams. It is recommended that endpoints promptly
send an initial SCONE packet once the peer confirms its willingness to receive
them.</t>
        <t>Endpoints <bcp14>MUST</bcp14> send any SCONE packet they send as the first packet in a
datagram, coalesced with additional packets. An endpoint that receives and
discards a SCONE packet without also successfully processing another packet
from the same datagram <bcp14>SHOULD</bcp14> ignore any rate limit signal. Such a datagram
might be entirely spoofed.</t>
        <t>A network element that wishes to signal an updated rate limit waits for the
next SCONE packet in the desired direction.</t>
      </section>
      <section anchor="feedback">
        <name>Feedback To Sender About Signals</name>
        <t>Information about rate limits is intended for the sending application.  Any
signal from network elements can be propagated to the receiving application
using an implementation-defined mechanism.</t>
        <t>This document does not define a means for indicating what was received.
That is, the expectation is that any signal is propagated to the application
for handling, not handled automatically by the transport layer.
How a receiving application communicates the rate limit signal to a
sending application will depend on the application in use.</t>
        <t>Different applications can choose different approaches. For example,
in an application where a receiver drives rate adaptation, it might
not be necessary to define additional signaling.</t>
        <t>A sender can use any acknowledgment mechanism provided by the QUIC version in
use to learn whether datagrams containing SCONE packets were likely received.
This might help inform whether to send additional SCONE packets in the event
that a datagram is lost. However, rather than relying on transport signals, an
application might be better able to indicate what has been received and
processed.</t>
        <t>SCONE packets could be stripped from datagrams in the network, which cannot be
reliably detected.  This could result in a sender falsely believing that no
network element applied a rate limit signal.</t>
      </section>
      <section anchor="interactions-with-congestion-control">
        <name>Interactions with congestion control</name>
        <t>SCONE and congestion control both provide the application with estimates
of a path capacity. They are complementary. Congestion control algorithms
are typically designed to quickly detect and react to congestion, i.e., to
the "minimum" capacity of a path. SCONE informs the endpoint
of the maximum capacity of a path.</t>
        <t>Consider for example a path in which the bottleneck router implements Early
Congestion Notification as specified in the L4S architecture <xref target="RFC9330"/>.
If the path capacity diminishes, queues will build up and the router
will immediately start increasing the rate at which packets are marked
as "Congestion Experienced". The receiving endpoint will notice these marks,
and inform its peer. The incoming congestion will be detected within
1 round trip time (RTT). This scenario will play out whatever the reason
for the change in capacity, whether due to increased competition between
multiple applications or, for example, to a change in capacity of a wireless
channel.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The modification of packets provides endpoints proof that a network element is
in a position to drop datagrams and thereby enforce the indicated rate limit.
<xref target="extra-packets"/> states that endpoints only accept signals if the datagram
contains a packet that it accepts to prevent an off-path attacker from inserting
spurious rate limit signals.</t>
      <t>Some off-path attackers may be able to both
observe traffic and inject packets. Attackers with such capabilities could
observe packets sent by an endpoint, create datagrams coalescing an
arbitrary SCONE packet and the observed packet, and send these datagrams
such that they arrive at the peer endpoint before the original
packet. Spoofed packets that seek to advertise a higher limit
than might otherwise be permitted also need to bypass any
rate limiters. The attacker will thus get arbitrary SCONE packets accepted by
the peer, with the result being that the endpoint receives a false
or misleading rate limit.</t>
      <t>The recipient of a rate limit signal therefore cannot guarantee that
the signal was generated by an on-path network element. However,
the capabilities required of an off-path attacker are substantially
similar to those of on path elements.</t>
      <t>The actual value of the rate limit signal is not authenticated.  Any signal
might be incorrectly set in order to encourage endpoints to behave in ways that
are not in their interests.  Endpoints are free to ignore limits that they think
are incorrect.  The congestion controller employed by a sender provides
real-time information about the rate at which the network path is delivering
data.</t>
      <t>Similarly, if there is a strong need to ensure that a rate limit is respected,
network elements cannot assume that the signaled limit will be respected by
endpoints.</t>
      <section anchor="flooding-intermediaries-with-fake-packets">
        <name>Flooding intermediaries with fake packets</name>
        <t>Attackers that can inject packets may compose arbitrary "SCONE-like" packets
by selecting a pair of IP addresses and ports, an arbitrary rate signal, a
valid SCONE version number, an arbitrary "destination
connection ID", and an arbitrary "source connection ID". The SCONE packet
will carry these information. A coalesced "1RTT" packet will start with
a plausible first octet, and continue with the selected destination connection
ID followed by a sufficiently long series of random bytes, mimicking the
content of an encrypted packets.</t>
        <t>The injected packets will travel towards the destination.
The final destination will reject such packets because the destination ID
is invalid or because decryption fail, but network elements cannot do these checks,
and will have to process the packets. All the network elements between the injection
point and the destination will have to process these packets.</t>
        <t>Attackers could send a high volume of these "fake" SCONE packets in
a denial of service (DOS) attempt against network elements. The attack will
force the intermediaries to process the fake packets. If network elements
are keeping state for ongoing SCONE flows, the attack can cause the
excessive allocation of memory resource. The mitigation there
will be the same as mitigation of other distributed DOS attacks: limit
the rate of SCONE packets that a network element is willing to process;
possibly, implement logic to distinguish valid SCONE packets from
fake packets; or, use generic protection against Distributed DOS attacks.</t>
        <t>Attackers could also try to craft the fake SCONE packets in ways that trigger
a processing error at network elements. For example, they might pick connection
identifiers of arbitrary length. Network elements can mitigate these attacks
with implementations that fully conform to the specification of <xref target="packet"/>.</t>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>The focus of this analysis is the extent to which observing SCONE
packets could be used to gain information about endpoints.
This might be leaking details of how applications using QUIC
operate or leaks of endpoint identity when using additional
privacy protection, such as a VPN.</t>
      <t>Any network element that can observe the content of that packet can read the
rate limit that was applied.  Any signal is visible on the path, from the point
at which it is applied to the point at which it is consumed at an endpoint.
On path elements can also alter the SCONE signal to try trigger specific
reactions and gain further knowledge.</t>
      <t>In the general case of a client connected to a server through the
Internet, we believe that SCONE does not provide much advantage to attackers.
The identities of the clients and servers are already visible through their
IP addresses. Traffic analysis tools already provide more information than
the data rate limits set by SCONE.</t>
      <t>There are two avenues of attack that require more analysis:</t>
      <ul spacing="normal">
        <li>
          <t>that the passive observation of SCONE packets might help identify or
distinguish endpoints; and</t>
        </li>
        <li>
          <t>that active manipulation of SCONE signals might help reveal the
identity of endpoints that are otherwise hidden behind VPNs or proxies.</t>
        </li>
      </ul>
      <section anchor="passive-attacks">
        <name>Passive Attacks</name>
        <t>If only few clients and server pairs negotiate the usage of SCONE, the
occasional observation of SCONE packets will "stick out". That observation,
could be combined with observation of timing and volume of traffic to
help identify the endpoint or categorize the application that they
are using.</t>
        <t>A variation of this issue occurs if SCONE is widely implemented, but
only used in some specific circumstances. In that case, observation of
SCONE packets reveals information about the state of the endpoint.</t>
        <t>If multiple servers are accessed through the same front facing server,
Encrypted Client Hello (ECH) may be used to prevent outside parties to
identify which specific server a client is using. However, if only
a few of these servers use SCONE, any SCONE packets
will help identify which specific server a client is using.</t>
        <t>This issue will be mitigated if SCONE becomes widely implemented, and
if the usage of SCONE is not limited to the type of applications
that make active use of the signal.</t>
        <t>QUIC implementations are therefore encouraged to make the feature available
unconditionally.  Endpoints might send SCONE packets whenever a peer can accept
them.</t>
      </section>
      <section anchor="active-attacks">
        <name>Active Attacks</name>
        <t>Suppose a configuration in which multiple clients use a VPN or proxy
service to access the same server. The attacker sees the IP addresses
in the packets behind VPN and proxy and also between the users and the VPN,
but it does not know which VPN address corresponds to what user address.</t>
        <t>Suppose now that the attacker selects a flow on the link between the
VPN/proxy and server. The attacker applies rate limit signals to SCONE packets
in that flow. The attacker chooses a bandwidth that is
lower than the "natural" bandwidth of the connection. A reduction
in the rate of flows between client and VPN/proxy might allow
the attacker to link the altered flow to the client.</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="448" viewBox="0 0 448 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 8,128" fill="none" stroke="black"/>
              <path d="M 8,160 L 8,192" fill="none" stroke="black"/>
              <path d="M 80,32 L 80,64" fill="none" stroke="black"/>
              <path d="M 80,96 L 80,128" fill="none" stroke="black"/>
              <path d="M 80,160 L 80,192" fill="none" stroke="black"/>
              <path d="M 200,64 L 200,160" fill="none" stroke="black"/>
              <path d="M 264,64 L 264,160" fill="none" stroke="black"/>
              <path d="M 312,144 L 312,176" fill="none" stroke="black"/>
              <path d="M 368,80 L 368,144" fill="none" stroke="black"/>
              <path d="M 440,80 L 440,144" fill="none" stroke="black"/>
              <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
              <path d="M 88,48 L 136,48" fill="none" stroke="black"/>
              <path d="M 8,64 L 80,64" fill="none" stroke="black"/>
              <path d="M 200,64 L 264,64" fill="none" stroke="black"/>
              <path d="M 152,80 L 192,80" fill="none" stroke="black"/>
              <path d="M 368,80 L 440,80" fill="none" stroke="black"/>
              <path d="M 8,96 L 80,96" fill="none" stroke="black"/>
              <path d="M 272,94 L 360,94" fill="none" stroke="black"/>
              <path d="M 272,98 L 360,98" fill="none" stroke="black"/>
              <path d="M 88,112 L 192,112" fill="none" stroke="black"/>
              <path d="M 272,110 L 360,110" fill="none" stroke="black"/>
              <path d="M 272,114 L 360,114" fill="none" stroke="black"/>
              <path d="M 8,128 L 80,128" fill="none" stroke="black"/>
              <path d="M 272,126 L 360,126" fill="none" stroke="black"/>
              <path d="M 272,130 L 360,130" fill="none" stroke="black"/>
              <path d="M 152,144 L 192,144" fill="none" stroke="black"/>
              <path d="M 368,144 L 440,144" fill="none" stroke="black"/>
              <path d="M 8,160 L 80,160" fill="none" stroke="black"/>
              <path d="M 200,160 L 264,160" fill="none" stroke="black"/>
              <path d="M 88,174 L 136,174" fill="none" stroke="black"/>
              <path d="M 88,178 L 136,178" fill="none" stroke="black"/>
              <path d="M 8,192 L 80,192" fill="none" stroke="black"/>
              <path d="M 136,192 L 152,224" fill="none" stroke="black"/>
              <path d="M 136,48 L 152,80" fill="none" stroke="black"/>
              <path d="M 136,176 L 152,144" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="368,128 356,122.4 356,133.6" fill="black" transform="rotate(0,360,128)"/>
              <polygon class="arrowhead" points="368,112 356,106.4 356,117.6" fill="black" transform="rotate(0,360,112)"/>
              <polygon class="arrowhead" points="368,96 356,90.4 356,101.6" fill="black" transform="rotate(0,360,96)"/>
              <polygon class="arrowhead" points="320,144 308,138.4 308,149.6" fill="black" transform="rotate(270,312,144)"/>
              <polygon class="arrowhead" points="280,128 268,122.4 268,133.6" fill="black" transform="rotate(180,272,128)"/>
              <polygon class="arrowhead" points="280,112 268,106.4 268,117.6" fill="black" transform="rotate(180,272,112)"/>
              <polygon class="arrowhead" points="280,96 268,90.4 268,101.6" fill="black" transform="rotate(180,272,96)"/>
              <polygon class="arrowhead" points="200,144 188,138.4 188,149.6" fill="black" transform="rotate(0,192,144)"/>
              <polygon class="arrowhead" points="200,112 188,106.4 188,117.6" fill="black" transform="rotate(0,192,112)"/>
              <polygon class="arrowhead" points="200,80 188,74.4 188,85.6" fill="black" transform="rotate(0,192,80)"/>
              <polygon class="arrowhead" points="144,192 132,186.4 132,197.6" fill="black" transform="rotate(243.43494882292202,136,192)"/>
              <g class="text">
                <text x="44" y="52">Client</text>
                <text x="232" y="100">VPN</text>
                <text x="44" y="116">Client</text>
                <text x="232" y="116">/</text>
                <text x="404" y="116">Server</text>
                <text x="232" y="132">Proxy</text>
                <text x="44" y="180">Client</text>
                <text x="248" y="196">Apply</text>
                <text x="292" y="196">rate</text>
                <text x="336" y="196">limit</text>
                <text x="388" y="196">signal</text>
                <text x="152" y="244">Observe</text>
                <text x="212" y="244">change</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+--------+
| Client |------.
+--------+       \      +-------+
                  '---->|       |            +--------+
+--------+              |  VPN  |<==========>|        |
| Client |------------->|   /   |<==========>| Server |
+--------+              | Proxy |<==========>|        |
                  .---->|       |     ^      +--------+
+--------+       /      +-------+     |
| Client |======'                     |
+--------+      ^           Apply rate limit signal
                 \
                  \
               Observe change
]]></artwork>
        </artset>
        <t>An attacker that can manipulate SCONE headers can also simulate
congestion signals by dropping packets or by setting the ECN CE bit.
That will also likely result in changes in the congestion response by
the affected client.</t>
        <t>A VPN or proxy could defend against this style of attack by removing SCONE (and
ECN) signals. There are few reasons to provide per-flow rate limit signals in
that situation.  Endpoints might also either disable this feature or ignore any
signals when they are aware of the use of a VPN or proxy.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document registers a new QUIC version (<xref target="iana-version"/>) and a QUIC
transport parameter (<xref target="iana-tp"/>).</t>
      <section anchor="iana-version">
        <name>SCONE Versions</name>
        <t>This document registers the following entries to the "QUIC Versions" registry
maintained at <eref target="https://www.iana.org/assignments/quic">https://www.iana.org/assignments/quic</eref>, following the guidance
from <xref section="22.2" sectionFormat="of" target="QUIC"/>.</t>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>0xSCONE1</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>permanent</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF (iesg@ietf.org)</t>
          </dd>
          <dt>Contact:</dt>
          <dd>
            <t>QUIC Working Group (quic@ietf.org)</t>
          </dd>
          <dt>Notes:</dt>
          <dd>
            <t>SCONE Protocol - Low Range</t>
          </dd>
        </dl>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>0xSCONE2</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>permanent</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF (iesg@ietf.org)</t>
          </dd>
          <dt>Contact:</dt>
          <dd>
            <t>QUIC Working Group (quic@ietf.org)</t>
          </dd>
          <dt>Notes:</dt>
          <dd>
            <t>SCONE Protocol - High Range</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-tp">
        <name>scone_supported Transport Parameter</name>
        <t>This document registers the scone_supported transport parameter in the "QUIC
Transport Parameters" registry maintained at
<eref target="https://www.iana.org/assignments/quic">https://www.iana.org/assignments/quic</eref>, following the guidance from <xref section="22.3" sectionFormat="of" target="QUIC"/>.</t>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>0xTBD</t>
          </dd>
          <dt>Parameter Name:</dt>
          <dd>
            <t>scone_supported</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>Permanent</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Date:</dt>
          <dd>
            <t>This date</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF (iesg@ietf.org)</t>
          </dd>
          <dt>Contact:</dt>
          <dd>
            <t>QUIC Working Group (quic@ietf.org)</t>
          </dd>
          <dt>Notes:</dt>
          <dd>
            <t>(none)</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="QUIC">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="INVARIANTS">
          <front>
            <title>Version-Independent Properties of QUIC</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the properties of the QUIC transport protocol that are common to all versions of the protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8999"/>
          <seriesInfo name="DOI" value="10.17487/RFC8999"/>
        </reference>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
            <front>
              <title>Key words for use in RFCs to Indicate Requirement Levels</title>
              <author fullname="S. Bradner" initials="S." surname="Bradner"/>
              <date month="March" year="1997"/>
              <abstract>
                <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="14"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
          </reference>
          <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
            <front>
              <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <date month="May" year="2017"/>
              <abstract>
                <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="14"/>
            <seriesInfo name="RFC" value="8174"/>
            <seriesInfo name="DOI" value="10.17487/RFC8174"/>
          </reference>
        </referencegroup>
        <reference anchor="QUIC-BIT">
          <front>
            <title>Greasing the QUIC Bit</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes a method for negotiating the ability to send an arbitrary value for the second-most significant bit in QUIC packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9287"/>
          <seriesInfo name="DOI" value="10.17487/RFC9287"/>
        </reference>
        <reference anchor="QUICv2">
          <front>
            <title>QUIC Version 2</title>
            <author fullname="M. Duke" initials="M." surname="Duke"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies QUIC version 2, which is identical to QUIC version 1 except for some trivial details. Its purpose is to combat various ossification vectors and exercise the version negotiation framework. It also serves as a template for the minimum changes in any future version of QUIC.</t>
              <t>Note that "version 2" is an informal name for this proposal that indicates it is the second version of QUIC to be published as a Standards Track document. The protocol specified here uses a version number other than 2 in the wire image, in order to minimize ossification risks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9369"/>
          <seriesInfo name="DOI" value="10.17487/RFC9369"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="QUIC-MP">
          <front>
            <title>Multipath Extension for QUIC</title>
            <author fullname="Yanmei Liu" initials="Y." surname="Liu">
              <organization>Alibaba Inc.</organization>
            </author>
            <author fullname="Yunfei Ma" initials="Y." surname="Ma">
              <organization>Uber Technologies Inc.</organization>
            </author>
            <author fullname="Quentin De Coninck" initials="Q." surname="De Coninck">
              <organization>University of Mons (UMONS)</organization>
            </author>
            <author fullname="Olivier Bonaventure" initials="O." surname="Bonaventure">
              <organization>UCLouvain and Tessares</organization>
            </author>
            <author fullname="Christian Huitema" initials="C." surname="Huitema">
              <organization>Private Octopus Inc.</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>Ericsson</organization>
            </author>
            <date day="23" month="April" year="2025"/>
            <abstract>
              <t>   This document specifies a multipath extension for the QUIC protocol
   to enable the simultaneous usage of multiple paths for a single
   connection.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the QUIC Working Group
   mailing list (quic@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/quic/.

   Source for this draft and an issue tracker can be found at
   https://github.com/quicwg/multipath.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-multipath-14"/>
        </reference>
        <reference anchor="ECN">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="RFC9330">
          <front>
            <title>Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service: Architecture</title>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This document describes the L4S architecture, which enables Internet applications to achieve low queuing latency, low congestion loss, and scalable throughput control. L4S is based on the insight that the root cause of queuing delay is in the capacity-seeking congestion controllers of senders, not in the queue itself. With the L4S architecture, all Internet applications could (but do not have to) transition away from congestion control algorithms that cause substantial queuing delay and instead adopt a new class of congestion controls that can seek capacity with very little queuing. These are aided by a modified form of Explicit Congestion Notification (ECN) from the network. With this new architecture, applications can have both low latency and high throughput.</t>
              <t>The architecture primarily concerns incremental deployment. It defines mechanisms that allow the new class of L4S congestion controls to coexist with 'Classic' congestion controls in a shared network. The aim is for L4S latency and throughput to be usually much better (and rarely worse) while typically not impacting Classic performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9330"/>
          <seriesInfo name="DOI" value="10.17487/RFC9330"/>
        </reference>
      </references>
    </references>
    <?line 698?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Jana Iyengar has made significant contributions to the original TRAIN
specification that forms the basis for a large part of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V9224cSZLlu3+FLwXMkKNkiqRU2ipWqbtYlNTiTOmyoqoa
g5nugmeGJzOakRG5EZGksik1Fvsl+zIP+wf7vN+yg/mNsWNm7uERGVQXZoEF
liiUmJEefjG3yzFzM+fh4aFp87bwp3bvsnVl5urMnler1abM567Nq9Le5u3S
vvHtbVVf2xeFX/mybez+5fnbNy8O7Lu6aqt5VewZN5vV/gb94JvkC+rHX1X1
9tTm5aIyJqvmpVvRiFntFu1h7tvFYTOvSn+41ncOj45Ms5mt8qahGbTbNTW+
ePHhpSk3q5mvT01GXZ4aeqfxZbNpTm1bb7yhwR8bV3tHk/i9n1lajr0oW1+X
vrUfalc266pu9wxWclVXm/Wp5bmaa7+lZ9mpsYe2oAmsqja/8fi0dk1bb82N
Lzc0oLX6mqxxjx7I5PZ+T13m5ZX9Hb7H85XLC3rO6/oeS5xW9RW+cPV8SV8s
23bdnD56hHZ4RONNQ7NHePBoVle3jX/EPTzCm1e0EZsZvcsUu70SokkDfF8Q
UZo26bvXbiqvT/NKu7yX+tNlu6JtM27TLqsaRKHOrV1sikL27bWr27y0H5bV
qqlK/pJm7cr8z8wx1KD6c14Ujr/xQolV+31R3RLr1NV6O6UN2e32fFnnTZu7
0r7a5C29F3o+JWbKb2h19u28rdabhnZ1Pk17X8oL3+u/o/3zJ2tPT+2//su/
2P/zv/7bv/3P/67PXDPP81P7D+7Pm2Vl315vupFfEgMU23Ssa25VXW++v8KD
KbHLGIna1v59Vbum6+q1b/skoTbTP6HNl3uq51jxktik6+tFnc+bQPzYH1pO
c7T83msD7tSYsqppOGIykOG//HRxfmrfvzz/5ogEzdqLNz+fvb84e/Phkp9+
/c033xgDWY3vGHN4eGjdjITBzVtj3paHa0dqoVS14INamNPuNdXKt/nKN3bm
LXHWIr/a1D6zbWXdel1sbY2tLPJVTi+0lVkQY9AvS9dC3PCbX00tsVfeWNIV
G/RsM9/M63xGnTpL3S+rzNL8bJNfla6A5FFHvszWVY5pcGfdMPh+XRX5PMf7
tSdFhLfnnlWEvUXrwSs2b6a67FWeZYU35gGUSV1lmzm43JjXrtxaN597mrMS
otGXaQm0HR/z1WZlSVc56ZiHoE138yWRI/M3+Vzn42Y0AOhDX+ZlWDz9Vy1a
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

-->

</rfc>
