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

<t>This document describes a protocol where on-path network elements
can communicate their perspective on the maximum sustainable throughput
for QUIC flows to endpoints. This throughput advice suggests an
upper bound on long-term average throughput, independent of and
complementary to real-time congestion control signals.</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 71?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Many networks have known, concrete rate limits, or apply these limits
by policy to constrain data rates.
This is often done without any ability to indicate rate limits to applications.
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>The Standard Communication with Network Elements (SCONE) protocol
is negotiated by QUIC endpoints.
SCONE provides a means for a network to signal its present best estimate
for maximum sustainable throughput,
or throughput advice,
associated with the flows of UDP datagrams that QUIC exchanges.</t>
      <t>Any network function that is able to update the content of UDP datagrams
qualifies as a network element that can use SCONE packets
to provide throughput advice to QUIC endpoints.</t>
      <t>Networks with rate limiting policies can use SCONE to send throughput advice
to cooperating endpoints to limit overall network usage.
Where congestion control signals -- such as ECN, delays and loss --
operate on a time scale of a round trip time,
throughput advice operates over a much longer period.</t>
      <t>This has benefits in some networks
as endpoints can adapt network usage to better suit network conditions.
For example, radio networks and battery-powered devices
perform better with short, bursty exchanges,
rather than constant transmission at a fixed rate.</t>
      <t>For endpoints, SCONE throughput advice makes network policies visible,
which can reduce wasteful probing beyond those limits.</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 send SCONE packets,
which are always coalesced with ordinary QUIC packets that they send.</t>
      <t>Networks that have rate limiting policies can detect flows that include
SCONE packets.  The network, via an on-path network element, can indicate a maximum
sustainable throughput by modifying the SCONE packet as it transits the
network element.</t>
      <t>The propagation of SCONE packets, including the throughput advice that is added,
is shown in <xref target="f-scone"/>.</t>
      <figure anchor="f-scone">
        <name>Propagation of SCONE signal</name>
        <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+advice</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="420" y="164">advice</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+--------+    +---------+     +----------+
|  QUIC  |    | Network |     |   QUIC   |
| Sender |    | Element |     | Receiver |
+---+----+    +----+----+     +----+-----+
    |              |               |
    +--- SCONE --->|  SCONE+advice |
    |    +QUIC     +---- +QUIC --->|
    |              |               |  Validate QUIC packet
    |              |               |  and record advice
    |              |               |
]]></artwork>
        </artset>
      </figure>
      <t>QUIC endpoints that receive modified SCONE packets observe the indicated
version, process the QUIC packet, and then record the indicated rate.</t>
      <t>Throughput advice only applies to the direction and path for which it is
received.  A connection that migrates or uses multipath
<xref target="QUIC-MP"/>
cannot assume that throughput advice from one path applies to new paths.
Advice for the client-to-server direction and the server-to-client direction of
each path are independent, and are expected to be different, for reasons including
asymmetric link capacity and path diversity.
Applications can use SCONE in either or both directions
of each path at the discretion of endpoints.</t>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>This protocol can provide throughput advice only for QUIC flows
where endpoints send SCONE packets (<xref target="packet"/>).</t>
      <t>The operation of the SCONE protocol depends on network elements
that are able to modify packets as they are forwarded.
This provides endpoints strong evidence that the network
element has the power to apply a rate limiting policy; though see <xref target="security"/> for
potential limitations on this.</t>
      <t>The throughput advice 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="not-cc">
        <name>Independent of Congestion Signals</name>
        <t>SCONE throughput advice is not a substitute for congestion feedback or congestion control.
They are complementary.
Congestion signals,
such as acknowledgments or ECN markings <xref target="ECN"/><xref target="WHY-ECN"/>,
provide real-time information on loss and delay
for a network path,
whereas SCONE throughput advice operates over a much longer period.</t>
        <t>A congestion controller needs to detect changed conditions
and change sending behavior more quickly than SCONE allows for.
Congestion signals can indicate a throughput limit
that is different from the signaled throughput advice.</t>
        <t>Endpoints cannot assume that the rate indicated in throughput advice is achievable if congestion
signals indicate otherwise.  Congestion could be experienced at a different
point on the network path than the network element that signals throughput advice.
Therefore, endpoints need to respect the send rate constraints that are set by a
congestion controller.</t>
        <t>Networks can use SCONE to communicate throughput advice
for reasons other than rate limiting policies.
For example, a network element in an access network
could provide reduced throughput advice
to guide application use of network capacity
during periods of unusually high usage.</t>
        <t>In addition to rate limiting policies,
throughput advice can indicate temporary increases in available capacity
or temporarily reduced capacity.
This includes persistent overuse, equipment faults, or other transient issues.
Providing advice is applicable if increases or reductions
are expected to last for more than one monitoring period; see <xref target="time"/>.</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
could apply to a collection of flows,
rather than a single flow.
The scope of the flows that are included is not carried in the signal.</t>
        <t>For instance, policy limits might apply at a network subscription level,
such that multiple flows receive the same signal
and combined usage contributes to the shared limit.</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.
In addition to endpoints respecting congestion signals (see <xref target="not-cc"/>),
networks might need to monitor and enforce policies,
even where applications attempt to follow advice (see <xref target="policing"/>).</t>
        <t>The advised throughput will likely only be achievable
when the application is the only entity consuming bandwidth
in the scope that the advice applies to.
In the presence of multiple flows,
achievable throughput could be lower
than what is indicated by the advice,
with throughput determined by a congestion controller.</t>
        <t>This implies that signals can most usefully be 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 address tuple
(IP version, source and destination IP addresses and UDP ports)
might be used for multiple QUIC connections.
A single signal might be lost
or only reach a single application endpoint.
Network elements can apply SCONE advice
to all QUIC connections that include SCONE packets
to ensure that advice is received by all application endpoints.</t>
        <t>The signaled advice applies to the flow of packets
on the same address tuple for the duration of
the current monitoring period, unless it is updated
earlier or the flow ends; see <xref target="time"/> for details on
the monitoring period.</t>
        <t>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>
        <t>When network elements provide throughput advice to a QUIC flow
that encapsulates tunneled flows (such as <xref target="CONNECT-UDP"/>)
they can only provide the advice to the outermost flow.
Endpoints can apply the throughput advice to packets in flows
that are subsequently encapsulated,
but following that advice can have security implications;
see <xref target="active-attacks"/>.</t>
      </section>
      <section anchor="unidirectional-signal">
        <name>Unidirectional Signal</name>
        <t>Throughput advice is signaled with SCONE packets
that are transmitted as part of the flow that the advice applies to.
Carrying signals in the affected flow,
in the same way that ECN signals are conveyed,
ensures that there is no ambiguity about what flow is affected.
However, this means that the endpoint that receives throughput advice
is not the endpoint that needs to adapt its sending behavior.</t>
        <t>A receiving endpoint might need to communicate the value it receives
to the sending peer in order to ensure that the limit is respected.
This document does not define how that communication occurs
as this is specific to the application in use.</t>
      </section>
      <section anchor="advisory-signal">
        <name>Advisory Signal</name>
        <t>Throughput advice indicates what one part of the network
expects to be achievable for flows that transit that portion of the network.
It is possible that very different throughput is achievable --
either higher or lower than the advice --
as determined by congestion control.
Endpoints that receive this signal therefore need to treat the information as advisory.</t>
        <t>The fact that an endpoint requests throughput advice does not necessarily mean
that it will adhere to advice; in some cases, the endpoint cannot. For
example, a flow could initially be used to serve video chunks, with the client
selecting chunks of different bitrates based on received advice, but later switch to a
bulk download that cannot be similarly controlled. 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 that throughput exceeds the advertised throughput advice,
it might apply rate limiting.</t>
        <t>Network conditions and rate-limit policies can change
in ways that make previously signaled advice obsolete.
For example, routing changes can cause a flow to move to a different network path.
There are no guarantees that updated advice will be sent at such events.</t>
      </section>
      <section anchor="application-use-of-advice">
        <name>Application Use of Advice</name>
        <t>Applications that choose to follow throughput advice
do so in the way that best suits their needs.</t>
        <t>The most obvious way to follow throughput advice is to
inform the sending peer of the advice so that the peer
can adjust sending rates as necessary.
This document does not provide specific guidance on how applications
might adapt their use of network capacity in response to advice.</t>
        <t>Some applications offer options for rate control
that can offer improved performance when following advice.
For instance, real-time and streaming video applications
can often dynamically adapt their network usage.
Typical HTTP Live Streaming <xref target="HLS"/> or DASH <xref target="DASH"/>
clients are provided with manifests that allow them to
adjust the bitrate and quality of media segments
based on available network capacity.
Low priority bulk transfer applications, such as software updates,
might also choose to follow advice.</t>
        <t>Following throughput advice could
reduce the impact of an application on other network users,
reserves capacity for high-priority activities,
and could avoid potential enforcement action by the network; see <xref target="policing"/>.</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 High Bits (6),
  Version (32) = 0x6f7dc0fd or 0xef7dc0fd,
  Destination Connection ID Length (8),
  Destination Connection ID (0..2040),
  Source Connection ID Length (8),
  Source Connection ID (0..2040),
}
]]></sourcecode>
      </figure>
      <!--
https://martinthomson.github.io/quic-pick/#seed=draft-ietf-scone-protocol-version;field=version;codepoint=0x6f7dc0fd
Plus https://github.com/ietf-wg-scone/scone/issues/45
-->

<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 Rate Signal High Bits field consists of the low six bits (0x3f) of the
first byte. Together with the most significant bit of the Version field,
this forms the 7-bit Rate Signal. Values for the Rate Signal are described in
<xref target="rate-signal"/>.</t>
      <t>The Version field contains either 0x6f7dc0fd or 0xef7dc0fd. The only difference
between these two values is the most significant bit, which also contributes to
the Rate Signal. All other bits are identical, which facilitates detection and
modification of SCONE packets.</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
and the Source Connection ID Length field is set to 0.</t>
      <t>SCONE packets are always coalesced with other QUIC packets
(see <xref section="12.2" sectionFormat="of" target="QUIC"/>)
and <bcp14>MUST</bcp14> be included as the first packet in a datagram.
This is primarily to simplify the process of updating throughput advice
in network elements.
This is also necessary in many cases for QUIC versions 1 and 2
because packets with a short header cannot precede any other packets.</t>
      <t>A sender <bcp14>MUST NOT</bcp14> include more than one SCONE packet in a datagram.</t>
      <section anchor="rate-signal">
        <name>Rate Signals</name>
        <t>A Rate Signal is a 7-bit unsigned integer (0-127). The high six bits are the
Rate Signal High Bits, and the least significant bit is the most significant
bit of the Version field.</t>
        <t>When sent by a QUIC endpoint, the Rate Signal is set to 127.  Receiving a value
of 127 indicates that throughput advice is unknown, either because network
elements on the path are not providing advice or they do not support SCONE. All
other values (0 through 126) represent the ceiling of rates advised by the
network element(s) on the path.</t>
        <t>Throughput advice follows a logarithmic scale defined as:</t>
        <ul spacing="normal">
          <li>
            <t>Base rate (b_min) = 100 kbit/s (100,000 bits per second)</t>
          </li>
          <li>
            <t>Bitrate at value n = b_min * 10^(n/20)</t>
          </li>
        </ul>
        <t>where n is an integer between 0 and 126 represented by the Rate Signal.</t>
        <t><xref target="ex-rates"/> lists some of the values for signals
and the corresponding bitrate for each.</t>
        <table anchor="ex-rates">
          <name>Examples of SCONE signals and corresponding rates</name>
          <thead>
            <tr>
              <th align="left">Bitrate</th>
              <th align="left">Rate Signal</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">100 kbit/s</td>
              <td align="left">0</td>
            </tr>
            <tr>
              <td align="left">112 kbit/s</td>
              <td align="left">1</td>
            </tr>
            <tr>
              <td align="left">126 kbit/s</td>
              <td align="left">2</td>
            </tr>
            <tr>
              <td align="left">141 kbit/s</td>
              <td align="left">3</td>
            </tr>
            <tr>
              <td align="left">1 Mbit/s</td>
              <td align="left">20</td>
            </tr>
            <tr>
              <td align="left">1.12 Mbit/s</td>
              <td align="left">21</td>
            </tr>
            <tr>
              <td align="left">10 Mbit/s</td>
              <td align="left">40</td>
            </tr>
            <tr>
              <td align="left">11.2 Mbit/s</td>
              <td align="left">41</td>
            </tr>
            <tr>
              <td align="left">100 Mbit/s</td>
              <td align="left">60</td>
            </tr>
            <tr>
              <td align="left">112 Mbit/s</td>
              <td align="left">61</td>
            </tr>
            <tr>
              <td align="left">1 Gbit/s</td>
              <td align="left">80</td>
            </tr>
            <tr>
              <td align="left">1.12 Gbit/s</td>
              <td align="left">81</td>
            </tr>
            <tr>
              <td align="left">10 Gbit/s</td>
              <td align="left">100</td>
            </tr>
            <tr>
              <td align="left">11.2 Gbit/s</td>
              <td align="left">101</td>
            </tr>
            <tr>
              <td align="left">100 Gbit/s</td>
              <td align="left">120</td>
            </tr>
            <tr>
              <td align="left">112 Gbit/s</td>
              <td align="left">121</td>
            </tr>
            <tr>
              <td align="left">199.5 Gbit/s</td>
              <td align="left">126</td>
            </tr>
            <tr>
              <td align="left">Unknown</td>
              <td align="left">127</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="time">
        <name>Monitoring Period</name>
        <t>The time over which throughput advice applies is defined to be
a period of 67 seconds.</t>
        <t>Protocol participants can use a different period,
depending on their role.
Senders can limit their send rate over any time period
up to 67 seconds.
Network elements can monitor and apply limits to send rates
using time period of at least 67 seconds.</t>
        <t>The choice of 67 seconds is a compromise between competing interests.
Longer periods allow applications more flexibility
in terms of how to allocate bandwidth over time.
Shorter periods allow networks to administer policies more tightly.
A shorter period also allows applications
to increase send rates sooner
when rates increase.</t>
        <t>The choice of 67 seconds, as a prime number,
also helps avoid synchronization with other periodic
effects that are commonly measured in whole seconds.
This includes segment length or key frame intervals in video applications,
but also includes timers for NAT devices; see <xref section="4.3" sectionFormat="of" target="RFC4787"/>.
Any repeating phenomenon at a 67 second interval is therefore
unlikely to be due to other periodic effects.</t>
      </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, throughput advice <bcp14>MUST</bcp14> be ignored 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 long header bit (0x80 in the first
byte) and the SCONE protocol version (0x6f7dc0fd or 0xef7dc0fd in the next four
bytes). The 7-bit Rate Signal can be extracted by combining the low 6 bits
of the first byte with the most significant bit of the version field. A SCONE
packet <bcp14>MUST</bcp14> be discarded if the Destination Connection ID is not consistent with
those coalesced packets, as specified in <xref target="packet"/>. Similarly, if the Source
Connection ID is inconsistent, the SCONE packet <bcp14>MAY</bcp14> be discarded.</t>
        <t>When discarding a SCONE packet due to inconsistent Connection IDs, endpoints <bcp14>MAY</bcp14>
also discard the QUIC packets that were coalesced into the same datagram.</t>
        <t>A receiver <bcp14>MAY</bcp14> discard a datagram that contains more than one SCONE packet.</t>
        <t>A SCONE packet is discarded if the rate signal is unknown (127).</t>
        <t>If a connection uses multiple DSCP markings <xref target="RFC2474"/>,
the throughput advice that is received on datagrams with one marking
might not apply to datagrams that have different markings.</t>
      </section>
      <section anchor="algorithm">
        <name>Following Throughput Advice</name>
        <t>Endpoints that receive throughput advice can advise their peer of the limit
so that the peer might limit the amount of data it sends
over any monitoring period (<xref target="time"/>).
Alternatively, the endpoint might change its own behavior
to effect a similar outcome indirectly,
which might use flow control or changes to request patterns.</t>
        <t>An endpoint that receives throughput advice
might receive multiple different values.
If advice is applied by applications,
applications <bcp14>MUST</bcp14> apply the lowest throughput advice
received during any monitoring period; see <xref target="time"/>.</t>
        <t>After a monitoring period (<xref target="time"/>)
without receiving any throughput advice,
the previous advice expires.
Endpoints can remove any constraints
that resulted from the expired throughput advice.
This does not mean that there are no limits,
either in policy or due to network conditions,
only that these limits are now unknown.
Other constraints on usage will still apply,
which necessarily includes congestion control
and might include other, application-specific constraints.</t>
        <t>Allowing advice to expire
ensures that changes in routing
do not cause stale advice to persist indefinitely
when network elements on a new path do not provide advice.</t>
        <t>This approach ensures that network elements
are able to reduce the frequency with which they send updated signals
to as low as once per monitoring period.
However, applying signals at a low frequency
risks endpoints discarding throughput advice
if no SCONE packet is available for providing updated advice (<xref target="apply"/>),
or packets carrying advice are lost.
Sending the signal multiple times
increases the likelihood that the signal is received.</t>
      </section>
    </section>
    <section anchor="tp">
      <name>Negotiating SCONE</name>
      <t>A QUIC endpoint indicates that it is able to receive SCONE packets by
including the scone_supported transport parameter (0x219e).</t>
      <t>Each endpoint independently indicates willingness to receive SCONE packets.
An endpoint that does not include the scone_supported transport parameter
can send SCONE packets if their peer includes the transport parameter.</t>
      <t>The scone_supported transport parameter <bcp14>MUST</bcp14> be empty.
Receiving a non-zero length scone_supported transport parameter <bcp14>MUST</bcp14> be treated
as a connection error of type TRANSPORT_PARAMETER_ERROR;
see <xref section="20.1" sectionFormat="of" target="QUIC"/>.</t>
      <!--
https://martinthomson.github.io/quic-pick/#seed=draft-ietf-scone-protocol-tp;field=tp;codepoint=0x219e;size=2
-->

<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>
      <t>Endpoints <bcp14>MUST NOT</bcp14> remember whether the scone_supported transport parameter was present
on the previous connection when using 0-RTT.
That is, SCONE packets cannot be sent on a connection
until the transport parameter is received.</t>
      <section anchor="indication">
        <name>Indicating Support on New Flows</name>
        <t>All new flows that are initiated by a client that supports SCONE
<bcp14>MUST</bcp14> include bytes with values 0xc8 and 0x13
as the last two bytes of the payload of the UDP datagrams
that commence a new flow, if the protocol permits it.</t>
        <t>For example, in QUIC version 1,
these datagrams contain QUIC packets with a long header (<xref section="17.2" sectionFormat="of" target="QUIC"/>).
The UDP datagrams sent by a client can contain:
one or more QUIC version 1 Initial packets,
zero or more 0-RTT packets,
padding or other data that is discarded on receipt,
and the indication bytes (0xc8, 0x13) as the final bytes of the UDP payload.</t>
        <t>This indication <bcp14>MUST</bcp14> be sent in every datagram
until the client receives any datagram from the server,
at which point the client can be confident that the indication was received.</t>
        <!--
This indicator is derived from the first two bytes of:
https://martinthomson.github.io/quic-pick/#seed=draft-ietf-scone-protocol-indication;field=version;codepoint=0xc813e2b1
-->

<t>A client that uses a QUIC version that sends length-delimited packets during the handshake,
which includes QUIC versions 1 <xref target="QUIC"/> and 2 <xref target="QUICv2"/>,
can include an indicator of SCONE support
outside of the QUIC packets at the end of datagrams that start a flow.
The handshakes of these protocols ensures that
the indication can be included in every datagram the client sends
until it receives a response -- of any kind -- from the server.</t>
      </section>
      <section anchor="limitations-of-indication">
        <name>Limitations of Indication</name>
        <t>This indication does not mean that SCONE signals will be respected,
only that the client is able to negotiate SCONE.
A server might not support SCONE
and either endpoint might choose not to send SCONE packets.
Finally, applications might be unable to apply throughput advice
or choose to ignore it.</t>
        <t>This indication being just two bytes
means that there is a non-negligible risk of collision with other protocols
or even QUIC usage without SCONE indications.
This means that the indication alone is not sufficient to indicate
that a flow is QUIC with the potential for SCONE support.</t>
        <t>Despite these limitations,
having an indication might allow network elements to change their starting posture
with respect to their enforcement of their rate limit policies.</t>
      </section>
      <section anchor="indications-for-migrated-flows">
        <name>Indications for Migrated Flows</name>
        <t>Applications <bcp14>MAY</bcp14> decide to indicate support for SCONE on new flows,
including when migrating to a new path (see <xref section="9" sectionFormat="of" target="QUIC"/>).
In QUIC version 1 and 2,
the two byte indicator cannot be used on migration.</t>
        <t>Sending a SCONE packet for the first few packets on a new path
gives network elements on that path the ability
to recognize the flow as being able to receive throughput advice
and also gives the network element an opportunity to provide that throughput advice.</t>
        <t>To enable this indication,
even if an endpoint would not otherwise send SCONE packets,
endpoints can send a SCONE packet
any time they send a QUIC PATH_CHALLENGE or PATH_RESPONSE frame.
This applies to both client and server endpoints,
but only if the peer has sent the transport parameter; see <xref target="tp"/>.</t>
      </section>
      <section anchor="avoiding-ossification-when-reading-the-indicator">
        <name>Avoiding Ossification When Reading the Indicator</name>
        <t>A network element could classify all 5-tuples where the first observed UDP
datagram ends in the indicator bytes as potential SCONE. A network element <bcp14>MAY</bcp14>
apply further criteria to further reduce the set of flows that are identifeid
as potentially supporting SCONE, reducing the likelihood of false positives.
However, it <bcp14>SHOULD NOT</bcp14> apply criteria that reduce the ability of new QUIC
versions to employ SCONE. SCONE operates independently of any specific QUIC
version, so any criteria should consult the QUIC version invariants in
<xref target="INVARIANTS"/>.</t>
      </section>
    </section>
    <section anchor="network-deployment">
      <name>Network Deployment</name>
      <t>QUIC endpoints can enable the use of the SCONE protocol
by sending SCONE packets (<xref target="packet"/>).
Network elements can then use SCONE and 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 (0x6f7dc0fd or 0xef7dc0fd).</t>
        <t>A network element then conditionally replaces the most significant bit of the
Version field and the Rate Signal High Bits 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
value for throughput advice;
otherwise, the original values are retained,
preserving the signal from the network element with the lower policy.
A network element <bcp14>MUST NOT</bcp14> replace a rate signal with a higher or unknown value.</t>
        <t>The following pseudocode indicates how a network element might detect a SCONE
packet and replace the existing rate signal (<tt>packet_signal</tt>) with a new rate
signal (<tt>target_signal</tt>) that encodes the throughput advice of this network
element.</t>
        <sourcecode type="pseudocode"><![CDATA[
is_long = packet[0] & 0x80 == 0x80
packet_version = ntohl(packet[1..5])
if is_long and (packet_version & 0x7fffffff) == SCONE_VERSION_BITS:
  packet_signal = ((packet[0] & 0x3f) << 1) | (packet_version >> 31)
  if target_signal < packet_signal:
    packet[0] = (packet[0] & 0xc0) | (target_signal >> 1)
    packet[1] = (packet[1] & 0x7f) | (target_signal << 7)
]]></sourcecode>
        <t>Once the throughput advice is updated,
the network element updates the UDP checksum for the datagram.</t>
        <t>To avoid throughput advice expiring,
a network element needs to ensure that it updates throughput advice in SCONE packets
with no more than a monitoring period (<xref target="time"/>) between each update.
Because this depends on the availability of SCONE packets
and packet loss can cause signals to be missed,
network elements might need to update more often.
Ideally, network elements update advice in SCONE packets
at least twice per monitoring period,
to match endpoint behavior (see <xref target="extra-packets"/>).</t>
        <t>At the start of a flow, network elements are encouraged to update the rate
signal of the first few SCONE packets it observes so that endpoints can obtain
throughput advice early.</t>
        <t>Senders that send a SCONE packet
or network elements that update SCONE packets
every 20–30 seconds are likely sufficient to ensure that throughput advice is not lost.
To reduce the risk of synchronization across multiple senders,
which could cause network elements to miss updates,
senders can include a small random delay.</t>
        <t>A network element <bcp14>MUST NOT</bcp14> alter datagrams to add SCONE packets
or synthesize datagrams that contain SCONE packets.
The latter will not be accepted and the former,
even if they do not exceed the path MTU as a result,
can be detected by applications and could be ignored.
This document does not define a mechanism to support detection,
but one might be added in future.</t>
      </section>
      <section anchor="monitoring">
        <name>Monitoring Flows</name>
        <t>Providing throughput advice is optional for any network.
A network that updates SCONE packets to provide throughput advice might,
also optionally, choose to monitor flows
to determine whether applications are following advice.</t>
        <t>This section outlines a method
that a network element could use
to determine whether advice is being followed.
Network deployments that choose to monitor
are free to follow any monitoring regime that suits their needs.</t>
        <t>This monitoring algorithm is guidance only.
However, monitoring any more strictly than the following
could mean that an application
might be incorrectly classified as not following advice.
A looser monitoring approach,
such as monitoring over a longer time window
than the monitoring period (67s)
or using a higher rate than is signaled,
has no risk of incorrect classification.</t>
        <t>When a network changes the throughput advice
it intends to provide,
applications need time to adjust their sending behavior.
As a result, any monitoring needs to allow time
for SCONE packets to be updated,
for those packets to be received by endpoints,
and for applications to adapt.</t>
        <t>A network element can then monitor affected flows
to determine whether the provided throughput advice
was followed.</t>
        <t>A network element <bcp14>SHOULD</bcp14> base its monitoring
on the maximum value that was configured to apply
during the preceding two monitoring periods.
If the network element cannot update the throughput advice in every SCONE packet
(or can do so only infrequently), a longer period might be used
to account for the possibility that the updated SCONE packets are lost.
This allows applications time to receive advice
and adapt their sending rate.</t>
        <t>Any monitoring and policy enforcement could be implemented
in different network elements than the ones that signal throughput advice.
However, network elements <bcp14>MUST NOT</bcp14> enforce throughput limits
based on throughput advice that are observed in SCONE packets
received from other entities.
Unlike endpoints,
network elements do not have the capability to validate other QUIC packets
contained in the same datagram; see <xref target="fake-packets"/>.</t>
      </section>
      <section anchor="policing">
        <name>Flows That Exceed Throughput Advice</name>
        <t>A network could deploy policy enforcement that drops or delays packets
to ensure that applications do not exceed throughput limits set in policy.</t>
        <t>SCONE allows networks to provide advice to applications,
so that there is less need to apply throughput limits on flows.
Implementing strict throughput limits can be inefficient
and lead to worse application performance.</t>
        <t>Some applications will not support SCONE.
Other applications either will not
or cannot
follow throughput advice.</t>
        <t>Networks can monitor flows to determine if applications follow advice;
see <xref target="monitoring"/>.
A network could choose to either disable or loosen policy enforcement
for flows where SCONE is active,
but re-enable or tighten enforcement if monitoring indicates
that throughput advice is not being respected.</t>
      </section>
    </section>
    <section anchor="endpoint-usage">
      <name>Endpoint Usage</name>
      <t>The SCONE protocol defines two versions (0x6f7dc0fd and 0xef7dc0fd)
that combined carry throughput advice that covers a range of bitrates
between 100 kbit/s and 199.5 Gbit/s.</t>
      <section anchor="extra-packets">
        <name>Providing Opportunities to Apply Throughput Advice Signals</name>
        <t>Endpoints that wish to offer network elements the option to provide throughput advice
signals can send SCONE packets at any time.  This is a decision that a sender
makes when constructing datagrams.</t>
        <t>As specified in <xref target="packet"/>, endpoints include a SCONE packet as the first
packet in a datagram, coalesced with additional packets.</t>
        <t>Upon confirmation that the peer is willing to receive SCONE packets, an endpoint
<bcp14>SHOULD</bcp14> include SCONE packets in the first few UDP datagrams that it sends. Doing
so increases the likelihood of eliciting early throughput advice from network
elements, allowing applications to apply that advice from the early stages of the
data transfer.</t>
        <t>After that, endpoints that seek to receive throughput advice on a flow <bcp14>MUST</bcp14> send
a SCONE packet at least twice each monitoring period; see <xref target="time"/>.</t>
        <t>Sending SCONE packets more often might be necessary to:</t>
        <dl>
          <dt>Avoid missing advice:</dt>
          <dd>
            <t>If SCONE packets are not sent, updated, and received
for an entire monitoring period,
an application might incorrectly assume that no advice is being provided.</t>
          </dd>
          <dt>Reduce latency:</dt>
          <dd>
            <t>The time between SCONE packets determines the maximum delay
between changes in throughput advice
and when that advice can be received and acted upon.</t>
          </dd>
        </dl>
        <t>A sender can track the receipt of the coalesced QUIC packet
and send another SCONE packet when loss is detected.
However, it is likely simpler to send SCONE packets more often.</t>
        <t>Sending a SCONE packet every 20–30 seconds
is likely sufficient to ensure that throughput advice is not lost,
though endpoints might send a packet every few seconds
to improve responsiveness.
This period could be determined by how quickly an application
is able to respond to a change in throughput advice.</t>
        <t>For example, a streaming application
that fetches video segments that are 5 seconds in length
might send SCONE packets on a similar cadence.
A real-time conferencing application might send more often.
In either case, the length of the monitoring period (<xref target="time"/>)
limits how fast any application can react.</t>
        <t>Though sending SCONE packets more than once each round trip time
might help reduce exposure to packet loss,
it is better to spread updates over time
rather than to send multiple SCONE packets in less frequent bursts.</t>
        <t>The main cost associated with sending SCONE packets
is the reduction in available space in datagrams
for application data.</t>
        <t>A network element that wishes to signal updated throughput advice waits for the
next SCONE packet in the desired direction; see <xref target="apply"/>.</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.
The expectation is that any signal is propagated to the application
for handling, rather than being handled automatically by the transport layer.
How a receiving application communicates throughput advice 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.  For instance, if a UDP datagram carrying both a
SCONE packet and an ack-eliciting QUIC packet is acknowledged, the sender
knows the SCONE packet was also received.  However, rather than relying
solely on transport-layer acknowledgments, an application-layer mechanism
might better indicate what has been received and acted upon.</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 throughput advice.
Senders will therefore proceed as though there was no advice.</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.</t>
      <t>Some off-path attackers could 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 throughput advice 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 throughput advice is not authenticated.  Throughput advice
might be incorrectly set in order to encourage endpoints to behave in ways that
are not in their interests.  Endpoints can ignore limits,
though that can have consequences; see <xref target="policing"/>.
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 throughput advice is respected,
network elements cannot assume that the signaled advice will be respected by
endpoints.</t>
      <section anchor="fake-packets">
        <name>Fake SCONE Packets</name>
        <t>Attackers that can inject packets could 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".
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 packet.</t>
        <t>Endpoints will reject such packets because they do not contain valid QUIC packets,
but network elements cannot detect this.
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, this might exhaust memory resources.
The mitigation is the same as for 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 an implementation that fully conforms to the specification of <xref target="packet"/>.</t>
      </section>
      <section anchor="damage-to-other-protocols">
        <name>Damage to Other Protocols</name>
        <t>Network elements that update SCONE packet fields might do that for datagrams
exchanged in other protocols.
If the first five bytes of the datagram match
the QUIC long header byte and SCONE version,
the network element might modify the signal,
resulting in damage to those protocols.</t>
        <t>The most serious damage occurs when every datagram matches
and is subsequently modified,
because that could mean that the protocol is
effectively unable to operate end-to-end.</t>
        <t>To that end, network elements <bcp14>MUST</bcp14> only update the content of datagrams
on a given address tuple
a few times each monitoring period.
Network elements <bcp14>MAY</bcp14> update more often
immediately after a change in their throughput advice,
to reduce the reaction time from senders.</t>
        <t>In addition, some heuristics might be used
to detect SCONE-compatible QUIC flows.
This includes identification of a QUIC handshake on the flow,
the presence of indications (<xref target="indication"/>),
or other heuristics.
If these heuristics indicate a non-QUIC flow,
the safest option is
for network elements to disable updating of datagrams.</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
throughput advice 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, 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 throughput advice 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 a 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) can prevent outside parties from
identifying 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 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>
        <figure anchor="f-vpn">
          <name>Client identification attack on VPN or proxy</name>
          <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>
        </figure>
        <t>An attacker that can manipulate SCONE headers might
cause an observable change in sending behavior; see <xref target="f-vpn"/>.
Though clients that use a VPN or proxy might choose to disable SCONE,
removing SCONE signals is of little help against this form of attack.
Lost or ECN-marked packets are likely to produce a congestion control response,
which are alternative methods available to an attacker
seeking to match flows.</t>
        <t>An effective, but wasteful, defense is to provide cover traffic
between the client and intermediary
to mask changes in sending rate on tunneled flows.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document registers new QUIC versions (<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>0x6f7dc0fd</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 - Even Signal Values</t>
          </dd>
        </dl>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>0xef7dc0fd</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 - Odd Signal Values</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>0x219e</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="RFC2474">
          <front>
            <title>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</title>
            <author fullname="K. Nichols" initials="K." surname="Nichols"/>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines the IP header field, called the DS (for differentiated services) field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2474"/>
          <seriesInfo name="DOI" value="10.17487/RFC2474"/>
        </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="DASH" target="https://www.iso.org/standard/83314.html">
          <front>
            <title>Information technology — Dynamic adaptive streaming over HTTP (DASH) — Part 1: Media presentation description and segment formats</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="August"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23009-1:2022"/>
        </reference>
        <reference anchor="QUIC-MP">
          <front>
            <title>Managing multiple paths for a QUIC connection</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 WELRI</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="17" month="March" year="2026"/>
            <abstract>
              <t>   This document specifies a multipath extension for the QUIC protocol
   to enable the simultaneous usage of multiple paths for a single
   connection.  It introduces explicit path identifiers to create,
   delete, and manage multiple paths.  This document does not specify
   address discovery or management, nor how applications using QUIC
   schedule traffic over multiple paths.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-multipath-21"/>
        </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="WHY-ECN">
          <front>
            <title>The Benefits of Using Explicit Congestion Notification (ECN)</title>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="M. Welzl" initials="M." surname="Welzl"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>The goal of this document is to describe the potential benefits of applications using a transport that enables Explicit Congestion Notification (ECN). The document outlines the principal gains in terms of increased throughput, reduced delay, and other benefits when ECN is used over a network path that includes equipment that supports Congestion Experienced (CE) marking. It also discusses challenges for successful deployment of ECN. It does not propose new algorithms to use ECN nor does it describe the details of implementation of ECN in endpoint devices (Internet hosts), routers, or other network devices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8087"/>
          <seriesInfo name="DOI" value="10.17487/RFC8087"/>
        </reference>
        <reference anchor="CONNECT-UDP">
          <front>
            <title>Proxying UDP in HTTP</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes how to proxy UDP in HTTP, similar to how the HTTP CONNECT method allows proxying TCP in HTTP. More specifically, this document defines a protocol that allows an HTTP client to create a tunnel for UDP communications through an HTTP server that acts as a proxy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9298"/>
          <seriesInfo name="DOI" value="10.17487/RFC9298"/>
        </reference>
        <reference anchor="HLS">
          <front>
            <title>HTTP Live Streaming</title>
            <author fullname="R. Pantos" initials="R." role="editor" surname="Pantos"/>
            <author fullname="W. May" initials="W." surname="May"/>
            <date month="August" year="2017"/>
            <abstract>
              <t>This document describes a protocol for transferring unbounded streams of multimedia data. It specifies the data format of the files and the actions to be taken by the server (sender) and the clients (receivers) of the streams. It describes version 7 of this protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8216"/>
          <seriesInfo name="DOI" value="10.17487/RFC8216"/>
        </reference>
        <reference anchor="RFC4787">
          <front>
            <title>Network Address Translation (NAT) Behavioral Requirements for Unicast UDP</title>
            <author fullname="F. Audet" initials="F." role="editor" surname="Audet"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <date month="January" year="2007"/>
            <abstract>
              <t>This document defines basic terminology for describing different types of Network Address Translation (NAT) behavior when handling Unicast UDP and also defines a set of requirements that would allow many applications, such as multimedia communications or online gaming, to work consistently. Developing NATs that meet this set of requirements will greatly increase the likelihood that these applications will function properly. 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="127"/>
          <seriesInfo name="RFC" value="4787"/>
          <seriesInfo name="DOI" value="10.17487/RFC4787"/>
        </reference>
      </references>
    </references>
    <?line 1202?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t><contact fullname="Jana Iyengar"/> made significant contributions to the original TRAIN
specification that forms the basis for a large part of this document.
The following people also contributed significantly
to the development of the protocol: <contact fullname="Alan Frindell"/>,
<contact fullname="Gorry Fairhurst"/>, <contact fullname="Kevin Smith"/>, <contact fullname="Martin Duke"/>,
and <contact fullname="Zaheduzzaman Sarker"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
/o/5AvT6X3/NgVKyC5TxuIQT838A36/tJ+i6AAA=

-->

</rfc>
