<?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.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-scone-protocol-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="SCONE Protocol">Standard Communication with Network Elements (SCONE) Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-scone-protocol-01"/>
    <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="July" day="07"/>
    <area>Web and Internet Transport</area>
    <workgroup>SCONE</workgroup>
    <keyword>locomotive</keyword>
    <keyword>pastry</keyword>
    <abstract>
      <?line 57?>

<t>This document describes a protocol where on-path network elements
can give endpoints their perspective on what the maximum achievable
throughput might be for QUIC flows.</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 apply rate limits to constrain the data rate of attached
devices. 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, allows applications to use this information when
adapting their send rate.</t>
      <t>Network elements are not limited to communicating information
about rate limiting policies.
Network elements in access networks could provide information
to endpoints that can help account for changes in network capacity
that are not suited to congestion control feedback. This might include
reduced capacity due to overuse, equipment faults, or other transient issues;
conversely, networks might choose to signal increased availability of capacity.</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 apply rate limiting; though see <xref target="security"/> for
potential limitations on this.</t>
      <t>The throughput advice 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>Throughput advice 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 throughput 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 throughput 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 throughput advice signal is not the endpoint that might
adapt its sending behavior as a result of receiving the signal.  This ensures
that the throughput advice 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 throughput advice applies is not specified.
Network conditions and rate-limit policies can change in ways that make
previously signaled advice obsolete, and there are no guarantees that
updated advice will be sent at such events. The signaled
advice can be assumed to apply to the flow of packets on the same UDP address
tuple for the duration of that flow.  For rate limiting networks, 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 Throughput Advice 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,
given throughput advice (<tt>target_throughput</tt>).</t>
        <sourcecode type="pseudocode"><![CDATA[
is_long = packet[0] & 0x80 == 0x80
packet_version = ntohl(packet[1..5])
if is_long and (packet_version == SCONE1_VERSION or
                packet_version == SCONE2_VERSION):
  packet_throughput = \
    signal_to_throughput(packet_version, packet[0] & 0x3f)

  if target_throughput < packet_throughput:
    target_version, target_signal = \
      throughput_to_signal(target_throughput)
    packet[0] = packet[0] & 0xc0 | target_signal
    if target_version != packet_version:
      packet[1..5] = htonl(target_version)
]]></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 Throughput Advice Signals</name>
        <t>Endpoints that wish to offer network elements the option to add throughout advice
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 throughput advice 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 throughout advice 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 throughput advice 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 throughput advice 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 based on network rate limit policy,
network conditions, or a combination of the two.</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 could apply a rate limit policy.
<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 throughput advice 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 throughput advice 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 throughput advice 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 throughput advice 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="472" viewBox="0 0 472 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="316" y="196">throughput</text>
                <text x="388" y="196">advice</text>
                <text x="444" 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 throughput advice 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 throughput advice 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="7" month="July" 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-15"/>
        </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 715?>

<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:
H4sIAAAAAAAAA9V923IcSXLle3xFCDRbAWKhSIBsqhtszjSalyGl5mUJdo/J
NDOtrMooIAdZmaW8AKwBOba2X6IXPewf7PN+i2T6Dflx97hkVoLTpjVbs4W1
NVFZkREeHh7uxz3cA4eHh6YrutKd2L2zLqvyrMnt03q97qtimXVFXdnroruw
b1x3XTeX9nnp1q7qWrt/9vTtm+cH9l1Td/WyLvdMtlg07gr94JvkC+rHndfN
9sQW1ao2Jq+XVbamEfMmW3WHhetWh+2yrtzhRt85vH9k2n6xLtqWKOi2G2r8
6vmHF6bq1wvXnJicujwx9E7rqrZvT2zX9M7Q4A9M1riMiPitW1iajn1Vda6p
XGc/NFnVbuqm2zOYyXlT95sTy7SaS7elZ/mJsYe2JALWdVdcOXzaZG3XbM2V
q3oa0Fp9Tea4Rw+EuL3fUpdFdW5/g+/xfJ0VJT3neX2HKc7r5hxfZM3ygr64
6LpNe3LvHtrhEY03983u4cG9RVNft+4e93APb57TQvQLepc5dn0uTJMG+L4k
prRd0veg3Vxenxe1dnkr9+cX3ZqWzWR9d1E3YAp1bu2qL0tZt9dZ0xWV/XBR
r9u64i+J6qwq/sQSQw3qPxVlmfE3Tjix7r4r62sSnabebOe0ILvdPr1oirYr
ssq+7IuO3vM9n5AwFVc0O/t22dWbvqVVXc7T3i/khe/038n++ZO1Jyf23//1
X+2//e//8R//63/qs6xdFsWJ/fvsT/1Fbd9e9nHkFyQA5TYd65Jb1Zf9d+d4
MCdxmWJR19m/q5usjV29dt2QJdRm/ke0+XJPzRIzviAxiX09b4pl65kf+kPL
eYGW3zltwJ0aU9UNDUdCBjb89x9fPT2x7188/eb+/fv0+dWbn07fvzp98+GM
n379zTffGIO9Gt4x5vDw0GYL2gzZsjPmw0XRWtrHPZSBzV27bIqFa21mvRDZ
6wvXOFtXh5uM9Eel+sOp/iClUJFAXznrqnxTF1Ap3YUrGrtxTbtxS4xroX0u
sg7f0Ow+Fut+bTPaK+4qW5TOdBe0284vNn1n18X5RWcXzhLRPD+7InFr50r5
ushzesHcgT5o6rxfQlCNeZ1VW+px6drWk0iT2GzKrW0gb2WxLkBZbaFraPIk
9iCG9E8mLeqVpWUkolxucndVUFdzy+yh/+pV5yriU+VYi9ZEKAYsqtwrV+oZ
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
FxkCXXIhc4nKHPZzQ8zAM3Ru/hOePmOG/W4AAA==

-->

</rfc>
