<?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-thoji-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-thoji-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="06"/>
    <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-thoji-scone-protocol.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-thoji-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
9tTm5aIyJqvmpVvRiFntFu1hu6z+lB8286r0h2t96fDoyDSb2SpvGppCu11T
64sXH16acrOa+frUZNTnqaF3Gl82m+bUtvXGGxr9sXG1dzSL3/uZpfXYi7L1
delb+6F2ZbOu6nbPYClXdbVZn1qerLn2W3qWnRp7aAuawKpq8xuPT2vXtPXW
3PhyQwNaq6/JIvfogUxu7/fUZV5e2d/hezxfubyg57yu73PfLqZVfYUvXD1f
0hfLtl03p48eoR0e0XjT0OwRHjya1dVt4x9xD4/w5hXtxGZG76Ld4e2VEE0a
4PuCiNK0Sd+9dlN5fZpX2uX95J8u2xVtnHEb+rYGVah3axebopCde+3qNi/t
h2W1aqqSv6RpuzL/M/MMNaj+nBeF42+8kGLVfl9Ut8Q8dbXeTmlHdrs9X9Z5
0+autK82eUvvhZ5PiZ3yG1qefTtvq/WmoW2dT9Pel/LC9/rvaP/8ydrTU/uv
//Iv9v/8r//2b//zv+sz18zz/NT+g/vzZlnZt9ebbuSXxAHFNh3rmltV15vv
r/BgSvwyRqK2tX9f1a7punrt2z5JqM30T2jz5Z7qOVa8JD7p+npR5/MmED/2
h5bTHC2/99qAOzWmrGoajrgMZPgvP12cn9r3L8+/OSJJs/bizc9n7y/O3ny4
5Kdff/PNN8ZAWuM7xhweHlo3I2lw89aYt+Xh2pFiKFUx+KAY5rR7TbXybb7y
jZ15S5y1yK82tc9sW1m3XhdbW2Mri3yV0wttZRbEGPTL0rWQN/zmV1NL7JU3
lrTFBj3bzDfzOp9Rp85S98sqszQ/2+RXpSsgetSRL7N1lWMa3Fk3DL5fV0U+
z/F+7UkV4e25Zx1hb9F68IrNm6kue5VnWeGNeQBtUlfZZg4uN+a1K7fWzeee
5qyEaPRlWgJtx8d8tVlZUlZOOuYhaNPdfEnkyPxNPtf5uBkNAPrQl3kZFk//
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

-->

</rfc>
