<?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.6.36 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ihlar-masque-datagram-numbers-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="TODO - Abbreviation">A Sequence Number Extension for HTTP Datagrams</title>
    <seriesInfo name="Internet-Draft" value="draft-ihlar-masque-datagram-numbers-02"/>
    <author fullname="Marcus Ihlar">
      <organization>Ericsson AB</organization>
      <address>
        <email>marcus.ihlar@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Westerlund" fullname="Magnus Westerlund">
      <organization>Ericsson</organization>
      <address>
        <email>magnus.westerlund@ericsson.com</email>
      </address>
    </author>
    <date year="2023" month="July" day="10"/>
    <area>TSV</area>
    <workgroup>Masque Working Group</workgroup>
    <keyword>masque</keyword>
    <keyword>datagram</keyword>
    <keyword>multipath</keyword>
    <abstract>
      <?line 71?>

<t>This document defines a sequence number extension to HTTP datagrams used to carry proxied UDP payload or IP datagrams.
This extension is useful when HTTP datagrams are transported on top of a multipath protocol that does not ensure
in-order delivery as it allows for example a masque endpoint to implement reordering logic specific to its needs.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ihlar-masque-datagram-numbers/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        WG Working Group mailing list (<eref target="mailto:masque@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/masque/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/masque/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ihlar/draft-ihlar-masque-datagram-numbers"/>.</t>
    </note>
  </front>
  <middle>
    <?line 77?>

<section anchor="introduction">
      <name>Introduction</name>
      <!--
When HTTP datagrams are used with the multipath extension to QUIC it is possible that they are sent over two or
more paths simultaneously. Simultaneous transfer over multiple paths can lead to datagrams arriving out-of-order. HTTP
datagrams sent over a QUIC connection can either be encoded as capsules that are sent reliably in QUIC streams or as
QUIC datagrams that do not provide any reliability. Both these "modes" can be problematic when datagrams are used to
proxy IP or UDP. QUIC streams ensure that proxied datagrams are delivered in-order at the cost of introducing buffering
with corresponding delay variation. With QUIC datagrams there will be no delay variations in the proxy, but instead
out-of-order data needs to be handled by the endpoints. -->

<t>This document defines a sequence number extension to HTTP datagrams <xref target="RFC9297"/>. Sequence numbers at the HTTP
datagram layer allows a receiving endpoint to implement arbitrary reordering logic, which can be useful when proxied
datagrams are sent over multiple paths simultaneously, such as when using the multipath QUIC extension
<xref target="MPQUIC"/>. The extension applies to HTTP datagrams and specifices its use with the extended
CONNECT method, and the protocols connect-ip <xref target="CONNECT-IP"/> and connect-udp
<xref target="RFC9298"/>.</t>
      <section anchor="atsss">
        <name>ATSSS</name>
        <t>This extension is motivated by the Access Traffic Steering, Switching, and Splitting (ATSSS) feature
outlined for the 5G System by 3GPP in section 5.32 of <xref target="_3GPPTS23.501"/>.</t>
        <t>ATSSS, an optional feature of the 5G system, permits the concurrent usage of 3GPP and non-3GPP accesses within a single
PDU session. This is managed by a number of steering functionalities and modes, determining the types of supported
concurrent path usage. As of Release 18 of the 5G System Architecture specification, three steering functionalities have
been defined for ATSSS: ATSSS-LL, MPTCP, and Multipath QUIC.</t>
        <t>ATSSS-LL, a "Lower Layer Functionality," operates beneath the IP layer. It's capable of steering to one path, switching
from one path to another, and splitting all traffic types, encompassing both IP and Ethernet PDU sessions. However, it
doesn't support splitting a single traffic flow among multiple paths. In contrast, MPTCP and Multipath QUIC, termed as
"Higher Layer Functionalities," operate above the IP layer, steering, switching, and splitting TCP and UDP traffic
respectively.</t>
        <t>The Multipath QUIC steering functionality uses multipath capable HTTP3 proxies supporting the extended CONNECT
method with the connect-udp protocol. It establishes two datagram modes for UDP payload encapsulation. The default mode
sends HTTP datagrams unreliably over QUIC datagrams, while the optional mode encapsulates UDP payload in HTTP datagrams
augmented with sequence numbers.</t>
        <t>Steering modes influence how traffic flows utilize concurrent paths. Load Balancing traffic steering and Redundant
traffic steering are two modes where sequence numbers prove beneficial.</t>
        <t>The Load Balancing steering mode involves parallel transmission over the 3GPP and non-3GPP accesses, a process often
referred to as bandwidth aggregation. Distributing data transmission over multiple paths, while increasing available
bandwidth, can result in out-of-order packet delivery. The impact of packet disorder is largely dependent on the
properties of the protocols and applications conveyed over the proxied payload. Negative effects of large degrees of
packet reordering may include increased frequency of packet acknowledgements, inaccurate loss detection and spurious
retransmissions. By buffering out-of-order data, an ATSSS endpoint can reconcile path latency differences and reduce the
volume of data delivered out-of-order to the final endpoints. Furthermore, an ATSSS endpoint can set an upper bound on
the time packets are delayed in its reorder buffer, thus incurring less packet delay variation in the face of loss than
if the proxied payload is encoded over reliable streams. Which datagram mode is used for load balancing traffic steering
depends on application requirements expressed as ATSSS rules.</t>
        <t>With the Redundant steering mode proxied payload is duplicated over the 3GPP and non-3GPP accesses. Despite
the added cost, this steering mode is useful for applications and users with stringent availability requirements.
Data duplication at one end necessitates de-duplication at the other. This can be efficiently accomplished through
sequence numbering, which provides a straightforward method for de-duplication.</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="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document uses notational conventions described in <xref section="1.3" sectionFormat="of" target="RFC9000"/>.</t>
    </section>
    <section anchor="sequence-number-datagram-extension">
      <name>Sequence Number Datagram Extension</name>
      <t>The Sequence Number datagram extension prepends sequence numbers to HTTP datagrams. Datagram sequence numbers are
unsigned integers initiated to 0 and are incremented by 1 for every transmitted HTTP datagram, except for when the
integer overflows and is reset to 0. The extension can be used with the HTTP CONNECT method when the :protocol pseudo
header is equal to "connect-udp" or "connect-ip". Use of the sequence number extension is determined per request, and
the scope of a datagram sequence is limited to a single request stream. Datagrams with different quarter stream IDs have
distinct sequence number spaces.</t>
      <section anchor="registration">
        <name>Registration</name>
        <t>Endpoints indicate support for Sequence Number Datagram type by including the boolean-valued Item Structured Field
"DG-Sequence: ?1" in the HTTP Request and Response headers (See <xref section="3.3.6" sectionFormat="of" target="RFC8941"/> for information about the
boolean format.).</t>
        <t>A datagram sequence is registered by sending a REGISTER_SEQUENCE_CONTEXT capsule. An endpoint <bcp14>MAY</bcp14> send multiple
REGISTER_SEQUENCE_CONTEXT capsules in order to support multiple payload formats.</t>
        <artwork><![CDATA[
REGISTER_SEQUENCE_CONTEXT Capsule {
  Type (i) = REGISTER_SEQUENCE_CONTEXT,
  Length (i),
  Context ID (i),
  Payload Context ID (i),
  [Representation (8)]
}
]]></artwork>
        <t>The capsule has the following fields:</t>
        <t>Context ID: Identifies a sequence number context. The value <bcp14>MUST</bcp14> be unique within the scope of a request stream.</t>
        <t>Payload Context ID: Identifies the type of payload that follows a sequence number. The value <bcp14>MUST</bcp14> be equal to a
previously registered Context ID.</t>
        <t>Representation: The size in bits of the unsigned interger used to encode the sequence number, the value <bcp14>MUST</bcp14> be one of
the following: 8, 16, 32 or 64. This field <bcp14>MUST</bcp14> be present in the first REGISTER_SEQUENCE_CONTEXT capsule sent on a
request stream and it <bcp14>MAY</bcp14> be omitted in subsequent capsules.</t>
      </section>
      <section anchor="datagram-format">
        <name>Datagram Format</name>
        <t>A Sequence Number Datagram has the following format:</t>
        <artwork><![CDATA[
Sequence Number Datagram {
  Context ID (i),
  Sequence Number (8..64),
  Payload (..)
}
]]></artwork>
        <t>Context ID: This value indicates that the datagram contains a sequence number and the format of the data that follows
the sequence number.</t>
        <t>Sequence Number: Unsigned integer of size specified in registration, indicates the transmission order of the datagagram.</t>
        <t>Payload: Datagram payload.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Although the usage of the sequence number is not defined by this specification,
there is an underlying assumption that the sequence numbers are assigned in
transmission order of HTTP datagram sent in the context of this HTTP
request. Any attacker that can break that assumption will thus impact any node
that uses the sequence number. By altering the sequence number in HTTP
datagrams, an attacker can impact how much data a receiver is buffering for the
following purposes:</t>
      <ul spacing="normal">
        <li>Resource exhaustion attack by maximizing the amount of data buffered in each
HTTP request context</li>
        <li>Introducing reordering, jitter and additional delay in the path properties
for these datagram</li>
        <li>Cause the sequence number using node to drop some HTTP Datagrams by causing
them to be so far reordered that some policy in the receiving node drops the
datagram.</li>
      </ul>
      <t>A malicious endpoint is more likely to mount a resource exhaustion attack, while
HTTP intermediares could be used by an third party attacker to impact the HTTP
datagram flow between a source and a destination.</t>
      <t>A user that buffers datagrams based on sequence numbers should ensure that they
have protection against resource exhaustion attacks by limiting the size of
their buffers.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="capsule-types">
        <name>Capsule types</name>
        <t>This document adds following entries to the "HTTP Capsule Types" registry:</t>
        <table anchor="iana-capsule-type">
          <name>New Capsule Type to register</name>
          <thead>
            <tr>
              <th align="left">Capsule Type</th>
              <th align="left">Value</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">REGISTER_SEQUENCE_CONTEXT</td>
              <td align="left">TBD</td>
              <td align="left">(This document)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="http-headers">
        <name>HTTP headers</name>
        <t>This document adds following entry to the "Hypertext Transfer Protocol (HTTP) Field Name Registry":</t>
        <table anchor="iana-http-field">
          <name>HTTP Field Name to register</name>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Template</th>
              <th align="left">Status</th>
              <th align="left">Reference</th>
              <th align="left">Comments</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">DG-Sequence</td>
              <td align="left"> </td>
              <td align="left">permanent</td>
              <td align="left">(This document)</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC9297">
          <front>
            <title>HTTP Datagrams and the Capsule Protocol</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="L. Pardue" initials="L." surname="Pardue"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes HTTP Datagrams, a convention for conveying multiplexed, potentially unreliable datagrams inside an HTTP connection.</t>
              <t>In HTTP/3, HTTP Datagrams can be sent unreliably using the QUIC DATAGRAM extension. When the QUIC DATAGRAM frame is unavailable or undesirable, HTTP Datagrams can be sent using the Capsule Protocol, which is a more general convention for conveying data in HTTP connections.</t>
              <t>HTTP Datagrams and the Capsule Protocol are intended for use by HTTP extensions, not applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9297"/>
          <seriesInfo name="DOI" value="10.17487/RFC9297"/>
        </reference>
        <reference anchor="CONNECT-IP">
          <front>
            <title>Proxying IP in HTTP</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="David Schinazi" initials="D." surname="Schinazi">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Alex Chernyakhovsky" initials="A." surname="Chernyakhovsky">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Magnus Westerlund" initials="M." surname="Westerlund">
              <organization>Ericsson</organization>
            </author>
            <date day="28" month="April" year="2023"/>
            <abstract>
              <t>   This document describes how to proxy IP packets in HTTP.  This
   protocol is similar to UDP proxying in HTTP, but allows transmitting
   arbitrary IP packets.  More specifically, this document defines a
   protocol that allows an HTTP client to create an IP tunnel through an
   HTTP server that acts as an IP proxy.  This document updates RFC
   9298.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-masque-connect-ip-13"/>
        </reference>
        <reference anchor="RFC9298">
          <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="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">
          <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>
        <reference anchor="RFC9000">
          <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="RFC8941">
          <front>
            <title>Structured Field Values for HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P-H. Kamp" surname="P-H. Kamp"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields that wish to use a common syntax that is more restrictive than traditional HTTP field values.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8941"/>
          <seriesInfo name="DOI" value="10.17487/RFC8941"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="_3GPPTS23.501" target="https://www.3gpp.org/ftp/Specs/archive/23_series/23.501/23501-i22.zip">
          <front>
            <title>System architecture for the 5G System (5GS) - Release 18</title>
            <author initials="" surname="3rd Generation Partnership Project">
              <organization/>
            </author>
            <date year="2023" month="July"/>
          </front>
        </reference>
        <reference anchor="MPQUIC">
          <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>Alibaba Inc.</organization>
            </author>
            <author fullname="Quentin De Coninck" initials="Q." surname="De Coninck">
              <organization>UCLouvain</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="13" month="March" year="2023"/>
            <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/mirjak/draft-lmbdhk-quic-multipath.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-multipath-04"/>
        </reference>
      </references>
    </references>
    <?line 266?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
