<?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-rfc2629 version 1.5.24 -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cel-nfsv4-rpc-over-quicv1-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" obsoletes="" updates="" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.0 -->
  <front>
    <title abbrev="RPC over QUIC">Remote Procedure Call over QUIC Version 1</title>
    <seriesInfo name="Internet-Draft" value="draft-cel-nfsv4-rpc-over-quicv1-00"/>
    <author initials="B." surname="Coddington" fullname="Benjamin Coddington">
      <organization>Red Hat</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>bcodding@redhat.com</email>
      </address>
    </author>
    <author initials="S." surname="Mayhew" fullname="Scott Mayhew">
      <organization>Red Hat</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>smayhew@redhat.com</email>
      </address>
    </author>
    <author initials="C." surname="Lever" fullname="Charles Lever" role="editor">
      <organization abbrev="Oracle">Oracle Corporation</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>chuck.lever@oracle.com</email>
      </address>
    </author>
    <date year="2022" month="January" day="07"/>
    <area>Transport</area>
    <workgroup>Network File System Version 4</workgroup>
    <abstract>
      <t>This document specifies a protocol for conveying Remote Procedure
(RPC) messages on QUIC version 1 connections. It requires no revision
to application RPC protocols or the RPC protocol itself.</t>
    </abstract>
    <note>
      <name>Note</name>
      <t>This note is to be removed before publishing as an RFC.</t>
      <t>Discussion of this draft occurs on the <eref target="nfsv4@ietf.org">NFSv4 working group mailing
list</eref>, archived at
<eref target="https://mailarchive.ietf.org/arch/browse/nfsv4/"/>. Working Group
information is available at
<eref target="https://datatracker.ietf.org/wg/nfsv4/about/"/>.</t>
      <t>Submit suggestions and changes as pull requests at
<eref target="https://github.com/chucklever/i-d-rpc-over-quicv1"/>. Instructions
are on that page.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>QUIC is a reliable, connection-oriented network transport protocol
that is designed to be general-purpose and secure <xref target="RFC9000" format="default"/>. Its
features include integrated transport layer security, multiple
streams over each connection, fast reconnect, and robust recovery
from packet loss and network congestion.</t>
      <t>Open Network Computing Remote Procedure Call (often shortened
to "RPC") is a Remote Procedure Call protocol that runs over a
variety of network transports <xref target="RFC5531" format="default"/>. RPC implementations so far
use UDP <xref target="RFC0768" format="default"/> or TCP <xref target="RFC0793" format="default"/>. This document specifies
how to transport RPC messages over QUIC version 1.</t>
      <aside>
        <t>Explain motivations:</t>
        <ul spacing="normal">
          <li>TLS</li>
          <li>Multiple streams--though applications are speculative at this point.
 (Maybe they will allow more sophisticated prioritization of traffic
 without the overhead of multiple TCP connections?)</li>
          <li>Lower-latency connection setup--though NFS connections are typically
 long-lived.</li>
          <li>Likely SMB adoption of QUIC should make QUIC implementations widely
 available.</li>
        </ul>
        <t>In addition, this section needs to document and demonstrate specific
use cases that cannot be addressed using existing RPC transports and
security mechanisms such as RPC-over-TCP, RPC-with-TLS, or
RPC-over-RDMA.</t>
      </aside>
    </section>
    <section anchor="requirements-language" numbered="true" toc="default">
      <name>Requirements Language</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" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="rpc-over-quic-framework" numbered="true" toc="default">
      <name>RPC-over-QUIC Framework</name>
      <t>RPC is first and foremost a message-passing protocol. This section
covers the implementaion details of exchanging RPC messages over
QUICv1. Readers should already be familiar with ONC RPC <xref target="RFC5531" format="default"/>.</t>
      <section anchor="transport-layer-security" numbered="true" toc="default">
        <name>Transport Layer Security</name>
        <t>RPC-over-QUIC provides peer authentication and encryption services
using a framework based on Transport Layer Security (TLS).
Ergo, RPC-over-QUIC inherently fulfills many of the requirements of
<xref target="I-D.ietf-nfsv4-rpc-tls" format="default"/>.
The details of QUIC's use of TLS are specified in <xref target="RFC9001" format="default"/>.
In particular:</t>
        <ul spacing="normal">
          <li>With QUICv1, security at the transport layer is always enabled.
Thus, there is no need or use for the STARTTLS mechanism described
in <xref section="4" sectionFormat="of" target="I-D.ietf-nfsv4-rpc-tls" format="default"/>.</li>
          <li>The discussion in <xref target="I-D.ietf-nfsv4-rpc-tls" format="default"/> about the opportunistic
use of TLS does not apply to RPC-over-QUIC.</li>
          <li>The peer authentication requirements in <xref section="5.2" sectionFormat="of" target="I-D.ietf-nfsv4-rpc-tls" format="default"/> do apply to RPC-over-QUIC.</li>
          <li>The PKIX Extended Key Usage values defined in
<xref target="I-D.ietf-nfsv4-rpc-tls" format="default"/> are also valid for use with
RPC-over-QUIC.</li>
          <li>The ALPN defined in <xref section="8.2" sectionFormat="of" target="I-D.ietf-nfsv4-rpc-tls" format="default"/> is
also used for RPC-over-QUIC.</li>
        </ul>
      </section>
      <section anchor="rpc-message-framing" numbered="true" toc="default">
        <name>RPC Message Framing</name>
        <t>Record marking on QUIC is exactly as in TCP.
See <xref section="11" sectionFormat="of" target="RFC5531" format="default"/>.</t>
        <aside>
          <t>Discussion: This is the simplest thing to do.</t>
          <t>bfields: Open question whether we should do something more
 complicated that adds RDMA-like features or at least provides some
 minimal help with data alignment.  Possibilities might include a
 single additional integer giving the offset of a payload, serving
 only as a hint; or reference additional streams in the same
 connection for payloads; or even looking into full RDMA--long-term
 there may be interest in supporting RDMA over QUIC, and we may be
 able to piggyback on that effort.</t>
          <t>cel: Direct data placement over TCP can already be accomplished
 today using MPA/DDP protocols (formerly known as iWARP). Using a
 software iWARP implementation means no special hardware is
 necessary. Likewise, if MPA/DDP can be made to support QUIC, much of
 the need for a separate RPC-over-QUIC is moot. In addition, it would
 bring automatically transport layer security to other RDMA-enabled
 protocols (such as RPC-over-RDMA).</t>
          <t>lars: If changes to the RPC-over-QUIC binding might be desired in
  the future, how would they be negotiated/expressed? Should a
  versioned ALPN be used instead of the one from
  <xref target="I-D.ietf-nfsv4-rpc-tls" format="default"/>?</t>
        </aside>
      </section>
      <section anchor="connections-and-streams" numbered="true" toc="default">
        <name>Connections and Streams</name>
        <t>QUIC provides a "stream" abstraction, described in <xref section="2" sectionFormat="of" target="RFC9000" format="default"/>. Each QUIC stream can be unidirectional or bidirectional.
QUIC supports a nearly unlimited number of concurrent streams per
connection.</t>
        <t>Unless explicitly specified, when RPC protocol specifications refer to
a "connection", this applies to a QUIC connection, not to a stream.
As an example, in the case of NFSv4.1 <xref target="RFC8881" format="default"/>, a
BIND_CONN_TO_SESSION operation binds a QUIC connection and does not
need to be repeated for each stream on the connection.</t>
        <t>An RPC Reply <bcp14>MUST</bcp14> be sent over the same connection and stream as the
Call message with a matching XID. Forward-direction RPC messages <bcp14>MUST</bcp14>
be sent over a client-initiated bidirectional stream (stream type
0x00). Reverse-direction RPC messages <bcp14>MUST</bcp14> be sent over a
server-initiated bidirectional stream (stream type 0x01). Otherwise,
unless otherwise explicitly specified, RPC callers are free to use
streams as they wish, and responders have to accommodate callers that
do so.</t>
        <aside>
          <t>NFS requirement on resends: QUIC allows reconnecting using the same
 connection ID, so isn't breaking/reconnection somewhat ambiguous?
 When can a server drop or a client resend? Any advice needed for
 server-side DRC implementations?</t>
          <t>lars: I'm not sure I understand what is meant by "reconnecting"
  above. Is this referring to connection migration? Or a 0-RTT
  repeated connection instance? Something else?</t>
          <t>lars: Also, I'm not sure if the use of streams is fully specified by
  the above. Is the intent here to leave it to callers to decide if
  they want to use a fresh stream for each RPC, or reuse an existing
  stream for a series of RPCs?</t>
        </aside>
      </section>
    </section>
    <section anchor="implementation-status" numbered="true" toc="default">
      <name>Implementation Status</name>
      <t>This section is to be removed before publishing as an RFC.</t>
      <t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in
<xref target="RFC7942" format="default"/>. The description of implementations in this section is
intended to assist the IETF in its decision processes in progressing
drafts to RFCs.</t>
      <t>Please note that the listing of any individual implementation here
does not imply endorsement by the IETF. Furthermore, no effort has
been spent to verify the information presented here that was supplied
by IETF contributors. This is not intended as, and must not be
construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.</t>
      <t>There are no known implementations of RPC-over-QUICv1 as
described in this document.</t>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Readers should refer to the discussion of QUIC's transport layer
security in <xref section="21" sectionFormat="of" target="RFC9000" format="default"/>.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>RFC Editor: In the following subsections, please replace RFC-TBD with
the RFC number assigned to this document. Furthermore, please remove
this Editor's Note before this document is published.</t>
      <section anchor="netids-for-rpc-over-quic" numbered="true" toc="default">
        <name>Netids for RPC-over-QUIC</name>
        <t>Each new RPC transport is assigned one or more RPC "netid" strings.
These strings are an rpcbind <xref target="RFC1833" format="default"/> string naming the underlying
transport protocol, appropriate message framing, and the format of
service addresses and ports, among other things.</t>
        <t>This document requests that IANA allocate
the following "Netid" registry strings in the "ONC RPC Netid"
registry, as defined in <xref target="RFC5665" format="default"/>:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
      NC_QUIC    "quic"
      NC_QUIC6   "quic6"
]]></artwork>
        <t>These netids <bcp14>MUST</bcp14> be used for any transport satisfying the
requirements described in this document. The "quic" netid is
to be used when IPv4 addressing is employed by the underlying
transport, and "quic6" for IPv6 addressing. IANA should use this
document (RFC-TBD) as the reference for the new entries.</t>
        <aside>
          <t>lars: Why one per IP address family? This seems common practice with
  netids, but also seems to be a layering violation?</t>
        </aside>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.ietf-nfsv4-rpc-tls">
          <front>
            <title>Towards Remote Procedure Call Encryption By Default</title>
            <author fullname="Trond Myklebust">
              <organization>Hammerspace Inc</organization>
            </author>
            <author fullname="Charles Lever">
              <organization>Oracle Corporation</organization>
            </author>
            <date day="23" month="November" year="2020"/>
            <abstract>
              <t>   This document describes a mechanism that, through the use of
   opportunistic Transport Layer Security (TLS), enables encryption of
   Remote Procedure Call (RPC) transactions while they are in-transit.
   The proposed mechanism interoperates with ONC RPC implementations
   that do not support it.  This document updates RFC 5531.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-nfsv4-rpc-tls-11"/>
        </reference>
        <reference anchor="RFC1833">
          <front>
            <title>Binding Protocols for ONC RPC Version 2</title>
            <author fullname="R. Srinivasan" initials="R." surname="Srinivasan">
              <organization/>
            </author>
            <date month="August" year="1995"/>
            <abstract>
              <t>This document describes the binding protocols used in conjunction with the ONC Remote Procedure Call (ONC RPC Version 2) protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1833"/>
          <seriesInfo name="DOI" value="10.17487/RFC1833"/>
        </reference>
        <reference anchor="RFC5531">
          <front>
            <title>RPC: Remote Procedure Call Protocol Specification Version 2</title>
            <author fullname="R. Thurlow" initials="R." surname="Thurlow">
              <organization/>
            </author>
            <date month="May" year="2009"/>
            <abstract>
              <t>This document describes the Open Network Computing (ONC) Remote Procedure Call (RPC) version 2 protocol as it is currently deployed and accepted.  This document obsoletes RFC 1831.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5531"/>
          <seriesInfo name="DOI" value="10.17487/RFC5531"/>
        </reference>
        <reference anchor="RFC5665">
          <front>
            <title>IANA Considerations for Remote Procedure Call (RPC) Network Identifiers and Universal Address Formats</title>
            <author fullname="M. Eisler" initials="M." surname="Eisler">
              <organization/>
            </author>
            <date month="January" year="2010"/>
            <abstract>
              <t>This document lists IANA Considerations for Remote Procedure Call (RPC) Network Identifiers (netids) and RPC Universal Network Addresses (uaddrs).  This document updates, but does not replace, RFC 1833.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5665"/>
          <seriesInfo name="DOI" value="10.17487/RFC5665"/>
        </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">
              <organization/>
            </author>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <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="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC0768">
          <front>
            <title>User Datagram Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel">
              <organization/>
            </author>
            <date month="August" year="1980"/>
          </front>
          <seriesInfo name="STD" value="6"/>
          <seriesInfo name="RFC" value="768"/>
          <seriesInfo name="DOI" value="10.17487/RFC0768"/>
        </reference>
        <reference anchor="RFC0793">
          <front>
            <title>Transmission Control Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel">
              <organization/>
            </author>
            <date month="September" year="1981"/>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="793"/>
          <seriesInfo name="DOI" value="10.17487/RFC0793"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer">
              <organization/>
            </author>
            <author fullname="A. Farrel" initials="A." surname="Farrel">
              <organization/>
            </author>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section.  This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory.  Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications.  This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC8881">
          <front>
            <title>Network File System (NFS) Version 4 Minor Version 1 Protocol</title>
            <author fullname="D. Noveck" initials="D." role="editor" surname="Noveck">
              <organization/>
            </author>
            <author fullname="C. Lever" initials="C." surname="Lever">
              <organization/>
            </author>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document describes the Network File System (NFS) version 4 minor version 1, including features retained from the base protocol (NFS version 4 minor version 0, which is specified in RFC 7530) and protocol extensions made subsequently.  The later minor version has no dependencies on NFS version 4 minor version 0, and is considered a separate protocol. </t>
              <t>This document obsoletes RFC 5661.  It substantially revises the treatment of features relating to multi-server namespace, superseding the description of those features appearing in RFC 5661.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8881"/>
          <seriesInfo name="DOI" value="10.17487/RFC8881"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>The authors express their deepest appreciation for the
contributions of J. Bruce Fields who was an original author
of this document.
In addition, we are indebted to Lars Eggert and the QUIC
working group for the creation of the QUIC transport protocol.</t>
      <t>The editor is grateful to Bill Baker, Greg Marsden, and Martin Thomson
for their input and support.</t>
      <t>Special thanks to Transport Area Directors Martin Duke and
Zaheduzzaman Sarker, NFSV4 Working Group Chairs David Noveck and
Brian Pawlowski, and NFSV4 Working Group Secretary Thomas Haynes for
their guidance and oversight.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
csW9Trp85F7PcoXz/S8/25A/RygAAA==

-->

</rfc>
