<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.18 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-masque-h3-datagram-02" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.5.0 -->
  <front>
    <title abbrev="HTTP/3 Datagrams">Using QUIC Datagrams with HTTP/3</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-masque-h3-datagram-02"/>
    <author initials="D." surname="Schinazi" fullname="David Schinazi">
      <organization>Google LLC</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View, California 94043</city>
          <country>United States of America</country>
        </postal>
        <email>dschinazi.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="L." surname="Pardue" fullname="Lucas Pardue">
      <organization>Cloudflare</organization>
      <address>
        <email>lucaspardue.24.7@gmail.com</email>
      </address>
    </author>
    <date year="2020" month="December" day="14"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>The QUIC DATAGRAM extension provides application protocols running over QUIC
with a mechanism to send unreliable data while leveraging the security and
congestion-control properties of QUIC. However, QUIC DATAGRAM frames do not
provide a means to demultiplex application contexts. This document defines how
to use QUIC DATAGRAM frames when the application protocol running over QUIC is
HTTP/3 by adding an identifier at the start of the frame payload. This allows
HTTP messages to convey related information using unreliable DATAGRAM frames,
ensuring those frames are properly associated with an HTTP message.</t>
      <t>Discussion of this work is encouraged to happen on the MASQUE IETF mailing list
(<eref target="mailto:masque@ietf.org">masque@ietf.org</eref>) or on the GitHub repository which
contains the draft: <eref target="https://github.com/DavidSchinazi/draft-h3-datagram"/>.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>The QUIC DATAGRAM extension <xref target="DGRAM" format="default"/> provides
application protocols running over QUIC <xref target="QUIC" format="default"/> with
a mechanism to send unreliable data while leveraging the security and
congestion-control properties of QUIC. However, QUIC DATAGRAM frames do not
provide a means to demultiplex application contexts. This document defines how
to use QUIC DATAGRAM frames when the application protocol running over QUIC is
HTTP/3 <xref target="H3" format="default"/> by adding an identifier at the start of the
frame payload. This allows HTTP messages to convey related information using
unreliable DATAGRAM frames, ensuring those frames are properly associated with
an HTTP message.</t>
      <t>This design mimics the use of Stream Types in HTTP/3, which provide a
demultiplexing identifier at the start of each unidirectional stream.</t>
      <t>Discussion of this work is encouraged to happen on the MASQUE IETF mailing list
(<eref target="mailto:masque@ietf.org">masque@ietf.org</eref>) or on the GitHub repository which
contains the draft: <eref target="https://github.com/DavidSchinazi/draft-h3-datagram"/>.</t>
      <section anchor="defs" numbered="true" toc="default">
        <name>Conventions and Definitions</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/>
when, and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="flow-id" numbered="true" toc="default">
      <name>Flow Identifiers</name>
      <t>Flow identifiers represent bidirectional flows of datagrams within a single QUIC
connection. These are conceptually similar to streams in the sense that they
allow multiplexing of application data.  Flows lack any of the ordering
or reliability guarantees of streams.</t>
      <t>Beyond this, a sender SHOULD ensure that DATAGRAM frames within a single flow
are transmitted in order relative to one another. If multiple DATAGRAM frames
can be packed into a single QUIC packet, the sender SHOULD group them by flow
identifier to promote fate-sharing within a specific flow and improve the
ability to process batches of datagram messages efficiently on the receiver.</t>
    </section>
    <section anchor="flow-id-alloc" numbered="true" toc="default">
      <name>Flow Identifier Allocation</name>
      <t>Implementations of HTTP/3 that support the DATAGRAM extension MUST provide a
flow identifier allocation service. That service will allow applications
co-located with HTTP/3 to request a unique flow identifier that they can
subsequently use for their own purposes. The HTTP/3 implementation will then
parse the flow identifier of incoming DATAGRAM frames and use it to deliver the
frame to the appropriate application.</t>
      <t>Even-numbered flow identifiers are client-initiated, while odd-numbered flow
identifiers are server-initiated. This means that an HTTP/3 client
implementation of the flow identifier allocation service MUST only provide
even-numbered identifiers, while a server implementation MUST only provide
odd-numbered identifiers. Note that, once allocated, any flow identifier can be
used by both client and server - only allocation carries separate namespaces to
avoid requiring synchronization.</t>
    </section>
    <section anchor="format" numbered="true" toc="default">
      <name>HTTP/3 DATAGRAM Frame Format</name>
      <t>When used with HTTP/3, the Datagram Data field of QUIC DATAGRAM frames uses the
following format (using the notation from the "Notational Conventions" section
of <xref target="QUIC" format="default"/>):</t>
      <figure anchor="h3-datagram-format">
        <name>HTTP/3 DATAGRAM Frame Format</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
HTTP/3 DATAGRAM Frame {
  Flow Identifier (i),
  HTTP/3 Datagram Payload (..),
}
]]></artwork>
      </figure>
      <dl>
        <dt>
Flow Identifier:  </dt>
        <dd>
          <t>A variable-length integer indicating the Flow Identifier of the datagram (see
<xref target="flow-id" format="default"/>).</t>
        </dd>
        <dt>
HTTP/3 Datagram Payload:  </dt>
        <dd>
          <t>The payload of the datagram, whose semantics are defined by individual
applications. Note that this field can be empty.</t>
        </dd>
      </dl>
      <t>Endpoints MUST treat receipt of a DATAGRAM frame whose payload is too short to
parse the flow identifier as a connection error of type PROTOCOL_VIOLATION.</t>
    </section>
    <section anchor="setting" numbered="true" toc="default">
      <name>The H3_DATAGRAM HTTP/3 SETTINGS Parameter</name>
      <t>Implementations of HTTP/3 that support this mechanism can indicate that to
their peer by sending the H3_DATAGRAM SETTINGS parameter with a value of 1.
The value of the H3_DATAGRAM SETTINGS parameter MUST be either 0 or 1. A value
of 0 indicates that this mechanism is not supported. An endpoint that receives
the H3_DATAGRAM SETTINGS parameter with a value that is neither 0 or 1 MUST
terminate the connection with error H3_SETTINGS_ERROR.</t>
      <t>An endpoint that sends the H3_DATAGRAM SETTINGS parameter with a value of 1
MUST send the max_datagram_frame_size QUIC Transport Parameter <xref target="DGRAM" format="default"/>.
An endpoint that receives the H3_DATAGRAM SETTINGS parameter with a value of 1
on a QUIC connection that did not also receive the max_datagram_frame_size
QUIC Transport Parameter MUST terminate the connection with error
H3_SETTINGS_ERROR.</t>
      <t>When clients use 0-RTT, they MAY store the value of the server's H3_DATAGRAM
SETTINGS parameter.  Doing so allows the client to use HTTP/3 datagrams in
0-RTT packets.  When servers decide to accept 0-RTT data, they MUST send a
H3_DATAGRAM SETTINGS parameter greater or equal to the value they sent to the
client in the connection where they sent them the NewSessionTicket
message.  If a client stores the value of the H3_DATAGRAM SETTINGS parameter
with their 0-RTT state, they MUST validate that the new value of the
H3_DATAGRAM SETTINGS parameter sent by the server in the handshake is greater
or equal to the stored value; if not, the client MUST terminate the connection
with error H3_SETTINGS_ERROR.</t>
    </section>
    <section anchor="header" numbered="true" toc="default">
      <name>Datagram-Flow-Id Header Field Definition</name>
      <t>"Datagram-Flow-Id" is a Item Structured
Field <xref target="STRUCT-FIELD" format="default"/>. Its value MUST be an
Integer. Its ABNF is:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
  Datagram-Flow-Id = sf-integer
]]></artwork>
      <t>The "Datagram-Flow-Id" header field is used to associate a datagram flow
identifier with an HTTP message. For example, the definition of an HTTP method
could instruct the client to use its flow identifier allocation service to
allocate a new flow identifier, and then the client will add the
"Datagram-Flow-Id" header field to its request to communicate that value to the
server. For example, the resulting header field could look like:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
  Datagram-Flow-Id = 2
]]></artwork>
      <t>Definitions of HTTP features that use the "Datagram-Flow-Id" header field MAY
define their own parameters (parameters are defined in Section 3.1.2 of
<xref target="STRUCT-FIELD" format="default"/>). For example, an HTTP method that wishes to use two datagram
flow identifiers for the lifetime of its request stream could encode the second
flow identifier as a parameter, which could look like this:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
  Datagram-Flow-Id = 42; alternate=44
]]></artwork>
      <t>The "Datagram-Flow-Id" header field MUST NOT be present more than once on a given
HTTP message; any HTTP message containing more than one "Datagram-Flow-Id"
header field is malformed.</t>
      <t>Since the QUIC STREAM frame that contains the "Datagram-Flow-Id" header field could
be lost or reordered, it is possible that an endpoint will receive an HTTP/3
datagram with a flow identifier that it does not know as it has not yet
received the corresponding "Datagram-Flow-Id" header field. Endpoints MUST NOT treat
that as an error; they MUST either silently discard the datagram or buffer it
until they receive the "Datagram-Flow-Id" header field.</t>
      <t>Note that integer structured fields can only encode values up to 10^15-1,
therefore the maximum possible value of the "Datagram-Flow-Id" header field is
lower then the theoretical maximum value of a flow identifier which is 2^62-1
due to the QUIC variable length integer encoding. If the flow identifier
allocation service of an endpoint runs out of values lower than 10^15-1, the
endpoint MUST treat is as a connection error of type H3_ID_ERROR.</t>
    </section>
    <section anchor="intermediaries" numbered="true" toc="default">
      <name>HTTP Intermediaries</name>
      <t>HTTP/3 DATAGRAM flow identifiers are specific to a given HTTP/3 connection.
However, in some cases, an HTTP request may travel across multiple HTTP
connections if there are HTTP intermediaries involved; see Section 2.3 of
<xref target="RFC7230" format="default"/>.</t>
      <t>If an intermediary has sent the H3_DATAGRAM SETTINGS parameter with a value of 1
on its client-facing connection, it MUST inspect all HTTP requests from that
connection and check for the presence of the "Datagram-Flow-Id" header field. If
the HTTP method of the request is not supported by the intermediary, it MUST
remove the "Datagram-Flow-Id" header field before forwarding the request. If the
intermediary supports the method, it MUST either remove the header field or
adhere to the requirements leveraged by that method on intermediaries.</t>
      <t>If an intermediary has sent the H3_DATAGRAM SETTINGS parameter with a value of 1
on its server-facing connection, it MUST inspect all HTTP responses from that
connection and check for the presence of the "Datagram-Flow-Id" header field. If
the HTTP method of the request is not supported by the intermediary, it MUST
remove the "Datagram-Flow-Id" header field before forwarding the response. If
the intermediary supports the method, it MUST either remove the header field or
adhere to the requirements leveraged by that method on intermediaries.</t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This document does not have additional security considerations beyond those
defined in <xref target="QUIC" format="default"/> and <xref target="DGRAM" format="default"/>.</t>
    </section>
    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="iana-setting" numbered="true" toc="default">
        <name>HTTP SETTINGS Parameter</name>
        <t>This document will request IANA to register the following entry in the
"HTTP/3 Settings" registry:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  +--------------+-------+---------------+---------+
  | Setting Name | Value | Specification | Default |
  +==============+=======+===============+=========+
  | H3_DATAGRAM  | 0x276 | This Document |    0    |
  +--------------+-------+---------------+---------+
]]></artwork>
      </section>
      <section anchor="iana-header" numbered="true" toc="default">
        <name>HTTP Header Field</name>
        <t>This document will request IANA to register the "Datagram-Flow-Id"
header field in the "Permanent Message Header Field Names"
registry maintained at
&lt;<eref target="https://www.iana.org/assignments/message-headers"/>&gt;.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  +-------------------+----------+--------+---------------+
  | Header Field Name | Protocol | Status |   Reference   |
  +-------------------+----------+--------+---------------+
  | Datagram-Flow-Id  |   http   |  std   | This document |
  +-------------------+----------+--------+---------------+
]]></artwork>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="DGRAM" target="http://www.ietf.org/internet-drafts/draft-ietf-quic-datagram-01.txt">
        <front>
          <title>An Unreliable Datagram Extension to QUIC</title>
          <author initials="T" surname="Pauly" fullname="Tommy Pauly">
            <organization/>
          </author>
          <author initials="E" surname="Kinnear" fullname="Eric Kinnear">
            <organization/>
          </author>
          <author initials="D" surname="Schinazi" fullname="David Schinazi">
            <organization/>
          </author>
          <date month="August" day="24" year="2020"/>
          <abstract>
            <t>This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.  Discussion of this work is encouraged to happen on the QUIC IETF mailing list quic@ietf.org (mailto:quic@ietf.org) or on the GitHub repository which contains the draft: https://github.com/quicwg/ datagram (https://github.com/quicwg/datagram).</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-datagram-01"/>
      </reference>
      <reference anchor="QUIC" target="http://www.ietf.org/internet-drafts/draft-ietf-quic-transport-33.txt">
        <front>
          <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
          <author initials="J" surname="Iyengar" fullname="Jana Iyengar">
            <organization/>
          </author>
          <author initials="M" surname="Thomson" fullname="Martin Thomson">
            <organization/>
          </author>
          <date month="December" day="13" year="2020"/>
          <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.  DO NOT DEPLOY THIS VERSION OF QUIC  DO NOT DEPLOY THIS VERSION OF QUIC UNTIL IT IS IN AN RFC.  This verion is still a work in progress.  For trial deployments, please use earlier versions.  Note to Readers  Discussion of this draft takes place on the QUIC working group mailing list (quic@ietf.org (mailto:quic@ietf.org)), which is archived at https://mailarchive.ietf.org/arch/search/?email_list=quic  Working Group information can be found at https://github.com/quicwg; source code and issues list for this draft can be found at https://github.com/quicwg/base-drafts/labels/-transport.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-transport-33"/>
      </reference>
      <reference anchor="H3" target="http://www.ietf.org/internet-drafts/draft-ietf-quic-http-32.txt">
        <front>
          <title>Hypertext Transfer Protocol Version 3 (HTTP/3)</title>
          <author initials="M" surname="Bishop" fullname="Mike Bishop">
            <organization/>
          </author>
          <date month="October" day="20" year="2020"/>
          <abstract>
            <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment.  This document describes a mapping of HTTP semantics over QUIC.  This document also identifies HTTP/2 features that are subsumed by QUIC, and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-http-32"/>
      </reference>
      <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 initials="S." surname="Bradner" fullname="S. Bradner">
            <organization/>
          </author>
          <date year="1997" month="March"/>
          <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 initials="B." surname="Leiba" fullname="B. Leiba">
            <organization/>
          </author>
          <date year="2017" month="May"/>
          <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="STRUCT-FIELD" target="http://www.ietf.org/internet-drafts/draft-ietf-httpbis-header-structure-19.txt">
        <front>
          <title>Structured Field Values for HTTP</title>
          <author initials="M" surname="Nottingham" fullname="Mark Nottingham">
            <organization/>
          </author>
          <author initials="P" surname="Kamp" fullname="Poul-Henning Kamp">
            <organization/>
          </author>
          <date month="June" day="3" year="2020"/>
          <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="Internet-Draft" value="draft-ietf-httpbis-header-structure-19"/>
      </reference>
      <reference anchor="RFC7230" target="https://www.rfc-editor.org/info/rfc7230">
        <front>
          <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
          <author initials="R." surname="Fielding" fullname="R. Fielding" role="editor">
            <organization/>
          </author>
          <author initials="J." surname="Reschke" fullname="J. Reschke" role="editor">
            <organization/>
          </author>
          <date year="2014" month="June"/>
          <abstract>
            <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems.  This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7230"/>
        <seriesInfo name="DOI" value="10.17487/RFC7230"/>
      </reference>
    </references>
    <section numbered="false" anchor="acks" toc="default">
      <name>Acknowledgments</name>
      <t>The DATAGRAM flow identifier was previously part of the DATAGRAM frame
definition itself, the author would like to acknowledge the authors of
that document and the members of the IETF QUIC working group for their
suggestions. Additionally, the author would like to thank Martin Thomson
for suggesting the use of an HTTP/3 SETTINGS parameter.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
WqdFq2aOw282gNYcie/9jC/G2zQZVah7/oTPmt453qQ9w82Ms0t7qKO8STAO
/lg2N67yuVhuZvyaLimGZl3EMfm1B+wG4VS5burh74adf9/1/vbX8YRDnyJE
eUFV5Sf5CzsclkOe8pn4E3XiCplFfiJMrzv/vuv97a/jiTG1PR4/9387/OF7
/GUJnUQJfaJLkPv0v0/fxhOX/I2KOtOEoJxmjvC1unm0fPeV1OA9zFwVPB0J
HUGHDJK0G4ioQLq6wmU83ZyoxH+0rpasVqsRkUxXVZ4rR5d12M2eh04jsOKe
/efoM1bQF9d3O9ZaxrBFJ9bexztUn/iibO1YR1cahTHHyJ2a+kq8W70c4yAx
SH50VcoPXY39z/B6Q8GjnKrkhpx+nFB/kul07oPZ3RO8QGV3dxQ/Wb4ezFTm
9CDcz/lcqSdXyHRIIrfG1o6+frZufna/04jWYAbZTWczP53w96rlyjfA3PvS
xDTSp1ubaOrgm53NtZw4TddEtouo+aIUV+d0u4qc3l+ZaL62C1fPw90/N5Lj
JrRm6weooqr7Rr4Di7D/ycLmzhaCQEZgISWFq2WbD9U7Rs7ivwHGKOmxKy8A
AA==

-->

</rfc>
