<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ek-dtn-qubicle-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="DTN QUIC CL">DTN QUIC Bundle Protocol Convergence Layer (qubicle)</title>
    <seriesInfo name="Internet-Draft" value="draft-ek-dtn-qubicle-00"/>
    <author fullname="Rick Taylor">
      <organization>Aalyria Technologies</organization>
      <address>
        <email>&lt;rtaylor@aalyria.com&gt;</email>
      </address>
    </author>
    <author fullname="Erik Kline">
      <organization>Aalyria Technologies</organization>
      <address>
        <email>&lt;ek.ietf@gmail.com&gt;</email>
      </address>
    </author>
    <date year="2026" month="March" day="15"/>
    <area>INT</area>
    <workgroup>Delay/Disruption Tolerant Networking</workgroup>
    <keyword>DTN</keyword>
    <keyword>BPv7</keyword>
    <keyword>QUIC</keyword>
    <keyword>Convergence Layer</keyword>
    <abstract>
      <?line 45?>

<t>This document specifies a minimal convergence layer protocol for transferring Bundle Protocol version 7 (BPv7) bundles over QUIC. The protocol leverages QUIC's native capabilities for reliable streaming, connection management, and security, requiring no application-layer framing for reliable transfers. Unreliable transfers use the Bundle Transfer Protocol - Unidirectional (BTP-U) over QUIC datagrams.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ekline.github.io/draft-dtn-qubicle/draft-ek-dtn-qubicle.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ek-dtn-qubicle/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Delay/Disruption Tolerant Networking Working Group mailing list (<eref target="mailto:dtn@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dtn/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dtn/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ekline/draft-dtn-qubicle"/>.</t>
    </note>
  </front>
  <middle>
    <?line 49?>

<!--

XXX

To be considered:

* Port Selection and ALPN - Protocol identification and negotiation
* Connection Migration - Handling mobile nodes and NAT rebinding
* Connection Termination - Graceful shutdown and timeout handling

* receiver shutdown on 2nd bundle
* Error codes???

-->

<section anchor="introduction">
      <name>Introduction</name>
      <t>Bundle Protocol version 7 (BPv7) <xref target="RFC9171"/> requires Convergence Layer
Adapters (CLAs) to transfer bundles between nodes. This document specifies
the QUIC Bundle Protocol Convergence Layer (QBCL or "qubicle"),
a minimal CLA using QUIC <xref target="RFC9000"/> that embraces QUIC's native
capabilities rather than layering additional protocol machinery.</t>
      <t>The design philosophy is simple: QUIC already provides reliable streams, multiplexing, flow control, congestion control, and integrated security. This specification adds only what is strictly necessary to transfer bundles.</t>
      <t>The protocol provides two services:</t>
      <dl>
        <dt>Reliable Service:</dt>
        <dd>
          <t>Bundles are transferred on QUIC streams with guaranteed delivery.</t>
        </dd>
        <dt>Unreliable Service:</dt>
        <dd>
          <t>Bundles are transferred via QUIC datagrams <xref target="RFC9221"/> using <xref target="BTP-U"/> framing.</t>
        </dd>
      </dl>
    </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?>

<dl>
        <dt>Client:</dt>
        <dd>
          <t>The Qubicle peer that initiates the QUIC connection. This is a connection-level role and does not imply any restriction on bundle transfer direction.</t>
        </dd>
        <dt>Server:</dt>
        <dd>
          <t>The Qubicle peer that accepts the QUIC connection. This is a connection-level role and does not imply any restriction on bundle transfer direction.</t>
        </dd>
        <dt>Qubicle Session:</dt>
        <dd>
          <t>The period during which a QUIC connection is established between two Qubicle peers. A session begins when the QUIC handshake completes and ends when the QUIC connection closes. Both client and server are equal peers for the purpose of bundle transfer.</t>
        </dd>
      </dl>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <section anchor="connection-establishment">
        <name>Connection Establishment</name>
        <t>A Qubicle session is established by initiating a QUIC connection to a peer. The QUIC handshake provides mutual authentication via TLS 1.3 <xref target="RFC9001"/>.</t>
        <t>The ALPN identifier for Qubicle is <tt>qbcl</tt>.</t>
      </section>
      <section anchor="reliable-transfer">
        <name>Reliable Bundle Transfer</name>
        <t>For reliable transfer, each bundle is sent on a dedicated QUIC unidirectional stream:</t>
        <ol spacing="normal" type="1"><li>
            <t>The sender creates a new unidirectional stream.</t>
          </li>
          <li>
            <t>The sender writes the complete bundle (CBOR-encoded per <xref target="RFC9171"/>) to the stream.</t>
          </li>
          <li>
            <t>The sender closes the stream by sending a STREAM frame with the FIN bit set.</t>
          </li>
        </ol>
        <t>The bundle is implicitly framed by the stream boundaries. No length prefix or application-layer framing is required.</t>
        <t>The receiver reads data from the stream until FIN is received, then delivers the complete bundle to the BPA. Receipt of more than one Bundle on a given stream is a protocol error, and the receiver <bcp14>MUST</bcp14> abort the connection with <tt>QBCL_PROTOCOL_ERROR</tt>.</t>
        <t>QUIC guarantees reliable, in-order delivery of stream data. No application-layer acknowledgment is required; the sender can consider the transfer complete when QUIC confirms the stream data has been acknowledged by the peer.
Completed transfer at the convergence layer does not guarantee successful
receipt at the receiving Bundle Protocol Agent, so this signal alone does
not suffice to indicate when a Bundle can be deleted from the sender.
Additional information at the Bundle Protocol layer is required to confirm
successful transfer.</t>
        <section anchor="bidirectional-bundle-flow">
          <name>Bidirectional Bundle Flow</name>
          <t>Both peers can send bundles simultaneously. Each peer creates unidirectional streams to send its bundles. QUIC stream IDs inherently separate client-initiated streams (IDs 2, 6, 10...) from server-initiated streams (IDs 3, 7, 11...), ensuring no collision between the two directions of bundle flow.</t>
        </section>
        <section anchor="stream-selection-and-priority">
          <name>Stream Selection and Priority</name>
          <t>Senders <bcp14>MAY</bcp14> use QUIC stream priorities to expedite higher-priority bundles. The mapping of bundle priority to QUIC stream priority is an implementation matter.</t>
        </section>
        <section anchor="stream-exhaustion">
          <name>Stream Exhaustion</name>
          <t>QUIC stream identifiers are 62-bit values, providing an effectively unlimited number of streams per connection. The MAX_STREAMS transport parameter limits concurrent streams, not the total number of streams over a connection's lifetime.</t>
          <t>If an implementation reaches practical limits on stream creation, it <bcp14>SHOULD</bcp14> close the connection and establish a new one.</t>
        </section>
      </section>
      <section anchor="unreliable-transfer">
        <name>Unreliable Bundle Transfer</name>
        <t>For unreliable transfer, bundles are sent using QUIC datagrams <xref target="RFC9221"/> with <xref target="BTP-U"/> framing.</t>
        <t>Each QUIC datagram contains one or more <xref target="BTP-U"/> messages. The <xref target="BTP-U"/> specification defines segmentation, reassembly, transfer identification, and optional repetition for probabilistic reliability.</t>
        <t>Implementations <bcp14>MUST</bcp14> negotiate the QUIC <tt>max_datagram_frame_size</tt> transport parameter to enable datagram support.</t>
        <t>The mapping of bundle priority to <xref target="BTP-U"/> transfer interleaving is an implementation matter.</t>
      </section>
      <section anchor="connection-termination">
        <name>Connection Termination</name>
        <t>To terminate a session, a peer closes the QUIC connection using CONNECTION_CLOSE. Application-specific error codes are defined in <xref target="error-codes"/>.</t>
        <t>A peer <bcp14>MAY</bcp14> close the connection at any time. In-flight reliable transfers on incomplete streams will fail; the BPA is notified of the failure.</t>
      </section>
      <section anchor="transfer-cancellation">
        <name>Transfer Cancellation</name>
        <t>TODO(ek): describe how a receiver can cancel a transfer via <tt>STOP_SENDING</tt>.</t>
      </section>
      <section anchor="keepalive">
        <name>Keepalive</name>
        <t>Qubicle relies on QUIC's native idle timeout mechanism. Peers negotiate the <tt>max_idle_timeout</tt> transport parameter during connection establishment.</t>
        <t>If application-layer liveness detection is required, implementations <bcp14>MAY</bcp14> send QUIC PING frames.</t>
      </section>
    </section>
    <section anchor="error-codes">
      <name>Error Codes</name>
      <t>The following application error codes are defined for use with QUIC CONNECTION_CLOSE:</t>
      <table align="left" anchor="tab-error-codes">
        <name>Qubicle Error Codes</name>
        <thead>
          <tr>
            <th align="left">Code</th>
            <th align="left">Name</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0x00</td>
            <td align="left">QBCL_NO_ERROR</td>
            <td align="left">Graceful closure, no error</td>
          </tr>
          <tr>
            <td align="left">0x01</td>
            <td align="left">QBCL_PROTOCOL_ERROR</td>
            <td align="left">Qubicle protocol error encountered</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="transport-security">
        <name>Transport Security</name>
        <t>QUIC mandates TLS 1.3 for all connections, providing confidentiality, integrity, and authentication. Qubicle inherits these security properties.</t>
        <!-- XXX -->
<t>Implementations <bcp14>SHOULD</bcp14> require peer certificate authentication. The Node ID in the transport parameter <bcp14>SHOULD</bcp14> match an identity in the peer's certificate. The <tt>BundleEID</tt> OtherName form defined in <xref section="4.4.2" sectionFormat="comma" target="RFC9174"/> provides a standard mechanism for embedding DTN Node IDs in X.509 certificates. Automated certificate provisioning is available via the ACME extensions defined in <xref target="RFC9891"/>.</t>
      </section>
      <section anchor="bundle-security">
        <name>Bundle Security</name>
        <t>Transport security protects bundles in transit between adjacent nodes. For end-to-end bundle security, implementations <bcp14>SHOULD</bcp14> use BPSec <xref target="RFC9172"/>.</t>
      </section>
      <section anchor="denial-of-service">
        <name>Denial of Service</name>
        <t>QUIC provides built-in protection against many denial-of-service attacks, including address validation and amplification prevention.</t>
        <t>Implementations <bcp14>SHOULD</bcp14> apply rate limiting on bundle reception to prevent resource exhaustion.</t>
      </section>
      <section anchor="rtt-considerations">
        <name>0-RTT Considerations</name>
        <t>QUIC 0-RTT data is subject to replay attacks. Implementations that enable 0-RTT <bcp14>SHOULD</bcp14> only send bundles that are safe to replay (e.g., bundles with replay protection at the bundle layer).</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="version-negotiation">
        <name>Version Negotiation</name>
        <t>Qubicle endpoints wishing to combat various ossification vectors are
<bcp14>RECOMMENDED</bcp14> to support version negotiation and the same Bundle transfer
operations described in this memo over QUIC v2 <xref target="RFC9369"/>.</t>
      </section>
      <section anchor="convergence-layer-fallback">
        <name>Convergence Layer Fallback</name>
        <t>As noted in <xref target="RFC9308"/>, some networks block UDP traffic such that
Qubicle connections cannot be established. Bundle Protocol Agents that
employ Qubicle are <bcp14>RECOMMENDED</bcp14> to support additional Convergence Layers,
e.g. TCPCLv4 <xref target="RFC9174"/>.</t>
      </section>
      <section anchor="coexistence-with-other-udp-based-convergence-layers">
        <name>Coexistence With Other UDP-based Convergence Layers</name>
        <t>It is <bcp14>RECOMMENDED</bcp14> that Qubicle implementations use a dedicated UDP port for
operational simplicity.</t>
        <t>Bundle Protocol Agents that employ Qubicle and other UDP-based Convergence
Layers on the same UDP port <bcp14>MUST</bcp14> be able to disambiguate received datagrams
in order to route them to the correct CLA. For UDP CLs that use DTLS,
<xref target="RFC9443"/> provides the required guidance to disambiguate QUIC traffic
from DTLS-encapsulated CL traffic.</t>
      </section>
      <section anchor="finding-a-qubicle-endpoint-via-dns">
        <name>Finding a Qubicle Endpoint Via DNS</name>
        <t>Qubicle senders may be manually provisioned with a hostname
(or IP addresses) and UDP port corresponding to the listening Qubicle
endpoint for a peer Bundle Protocol Agent.
If only a hostname is known but a port is not, <xref target="RFC9460"/> SVCB
Resource Records may be looked up to find a listening
UDP port and confirm expected ALPN configuration.</t>
        <t>Consider this zone file for <tt>example.</tt>:</t>
        <artwork name="dns-zone-example"><![CDATA[
;; zone: example.
;
$ORIGIN example.
_dtn-bundle._tcp.mars-orbiter IN SRV 10 20 4556 cloud-agent.example.
_qbcl.mars-orbiter IN SVCB 0 cloud-agent.example.

cloud-agent IN A    192.0.2.1
cloud-agent IN AAAA 2001:db8::1
cloud-agent IN SVCB 10 . (
    ipv4hint=192.0.2.1
    ipv6hint=2001:db8::1
    port=1234 alpn="qbcl")
]]></artwork>
        <t>A BPA supporting both <xref target="RFC9174"/> may attempt to resolve an SRV record
for the <tt>_dtn-bundle._tcp</tt> prefixed hostname. A BPA that support Qubicle
might also issue DNS SVCB queries for the <xref target="AttrLeaf"/> prefix "_qbcl". The
sample above indicates that <tt>mars-orbiter.example.</tt> has an SVCB record in
<tt>AliasMode</tt> referring to <tt>cloud-agent.example.</tt>  The SVCB record associated
with <tt>cloud-agent.example.</tt> contains all required QUIC transport rendezvous
information.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="alpn-identifier">
        <name>ALPN Identifier</name>
        <t>IANA is requested to register the following ALPN identifier in the "TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs" registry:</t>
        <table align="left" anchor="tab-alpn">
          <name>ALPN Registration</name>
          <thead>
            <tr>
              <th align="left">Protocol</th>
              <th align="left">Identification Sequence</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Qubicle</td>
              <td align="left">0x71 0x62 0x63 0x6C ("qbcl")</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="attrleaf-node-name">
        <name>AttrLeaf Node Name</name>
        <t>Per <xref target="AttrLeaf"/>, IANA is request to add the following entry to the DNS
"Underscored and Globally Scoped DNS Node Names" registry:</t>
        <table align="left" anchor="tab-attrleaf">
          <name>AttrLeaf Registration</name>
          <thead>
            <tr>
              <th align="left">RR Type</th>
              <th align="left">_NODE NAME</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SVCB</td>
              <td align="left">_qbcl</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="application-error-codes">
        <name>Application Error Codes</name>
        <t>IANA is requested to create a new registry "Qubicle Error Codes" with the following initial values:</t>
        <table align="left" anchor="tab-error-registry">
          <name>Error Code Registry</name>
          <thead>
            <tr>
              <th align="left">Code</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x00</td>
              <td align="left">QBCL_NO_ERROR</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">0x01</td>
              <td align="left">QBCL_PROTOCOL_ERROR</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">0x02-0xEF</td>
              <td align="left">Unassigned</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">0xF0-0xFF</td>
              <td align="left">Reserved for Private Use</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="AttrLeaf">
          <front>
            <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="222"/>
          <seriesInfo name="RFC" value="8552"/>
          <seriesInfo name="DOI" value="10.17487/RFC8552"/>
        </reference>
        <reference anchor="BTP-U">
          <front>
            <title>Bundle Transfer Protocol - Unidirectional</title>
            <author fullname="Rick Taylor" initials="R." surname="Taylor">
              <organization>Aalyria Technologies</organization>
            </author>
            <date day="17" month="February" year="2026"/>
            <abstract>
              <t>   This document defines a protocol for the unidirectional transfer of
   large binary objects, typically Bundle Protocol version 7 bundles,
   between two nodes connected by a unidirectional, unreliable, frame-
   based link-layer protocol, without requiring IP services.

   The protocol does not require a return path for acknowledgements, but
   instead supports data repetition as a mechanism to protect against
   data loss.  It fully supports the disaggregation of flows of binary
   objects of different priority, preventing head-of-line blocking
   impacting performance.

   The wire format of the protocol is designed to enable performant
   implementation in hardware or software, with the aim of enabling
   protocol implementations to run at the line-rate of the underlying
   link-layer protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dtn-btpu-02"/>
        </reference>
        <reference anchor="RFC9171">
          <front>
            <title>Bundle Protocol Version 7</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <author fullname="K. Fall" initials="K." surname="Fall"/>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document presents a specification for the Bundle Protocol, adapted from the experimental Bundle Protocol specification developed by the Delay-Tolerant Networking Research Group of the Internet Research Task Force and documented in RFC 5050.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9171"/>
          <seriesInfo name="DOI" value="10.17487/RFC9171"/>
        </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="RFC9221">
          <front>
            <title>An Unreliable Datagram Extension to QUIC</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="March" year="2022"/>
            <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.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9221"/>
          <seriesInfo name="DOI" value="10.17487/RFC9221"/>
        </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="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <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="RFC9174">
          <front>
            <title>Delay-Tolerant Networking TCP Convergence-Layer Protocol Version 4</title>
            <author fullname="B. Sipos" initials="B." surname="Sipos"/>
            <author fullname="M. Demmer" initials="M." surname="Demmer"/>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="S. Perreault" initials="S." surname="Perreault"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document describes a TCP convergence layer (TCPCL) for Delay-Tolerant Networking (DTN). This version of the TCPCL protocol resolves implementation issues in the earlier TCPCL version 3 as defined in RFC 7242 and provides updates to the Bundle Protocol (BP) contents, encodings, and convergence-layer requirements in BP version 7 (BPv7). Specifically, TCPCLv4 uses BPv7 bundles encoded by the Concise Binary Object Representation (CBOR) as its service data unit being transported and provides a reliable transport of such bundles. This TCPCL version also includes security and extensibility mechanisms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9174"/>
          <seriesInfo name="DOI" value="10.17487/RFC9174"/>
        </reference>
        <reference anchor="RFC9172">
          <front>
            <title>Bundle Protocol Security (BPSec)</title>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <author fullname="K. McKeever" initials="K." surname="McKeever"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document defines a security protocol providing data integrity and confidentiality services for the Bundle Protocol (BP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9172"/>
          <seriesInfo name="DOI" value="10.17487/RFC9172"/>
        </reference>
        <reference anchor="RFC9369">
          <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>
        <reference anchor="RFC9443">
          <front>
            <title>Multiplexing Scheme Updates for QUIC</title>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="G. Salgueiro" initials="G." surname="Salgueiro"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>RFC 7983 defines a scheme for a Real-time Transport Protocol (RTP) receiver to demultiplex Datagram Transport Layer Security (DTLS), Session Traversal Utilities for NAT (STUN), Secure Real-time Transport Protocol (SRTP) / Secure Real-time Transport Control Protocol (SRTCP), ZRTP, and Traversal Using Relays around NAT (TURN) channel packets arriving on a single port. This document updates RFC 7983 and RFC 5764 to also allow QUIC packets to be multiplexed on a single receiving socket.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9443"/>
          <seriesInfo name="DOI" value="10.17487/RFC9443"/>
        </reference>
        <reference anchor="RFC9460">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9308">
          <front>
            <title>Applicability of the QUIC Transport Protocol</title>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document discusses the applicability of the QUIC transport protocol, focusing on caveats impacting application protocol development and deployment over QUIC. Its intended audience is designers of application protocol mappings to QUIC and implementors of these application protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9308"/>
          <seriesInfo name="DOI" value="10.17487/RFC9308"/>
        </reference>
        <reference anchor="RFC9891">
          <front>
            <title>Automated Certificate Management Environment (ACME) Delay-Tolerant Networking (DTN) Node ID Validation Extension</title>
            <author fullname="B. Sipos" initials="B." surname="Sipos"/>
            <date month="November" year="2025"/>
            <abstract>
              <t>This document specifies an extension to the Automated Certificate Management Environment (ACME) protocol that allows an ACME server to validate the Delay-Tolerant Networking (DTN) Node ID for an ACME client. A DTN Node ID is an identifier used in the Bundle Protocol (BP) to name a "singleton endpoint": an endpoint that is registered on a single BP Node. The DTN Node ID is encoded both as a certificate Subject Alternative Name (SAN) identity of type otherName with an Other Name form of BundleEID and as an ACME Identifier type "bundleEID".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9891"/>
          <seriesInfo name="DOI" value="10.17487/RFC9891"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
0ClrRUXxrVepJv4Plsa4cR0wAAA=

-->

</rfc>
