<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 2.6.10) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-jennings-moq-discovery-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="moq-discovery">DNS and mDNS Discovery for MOQT</title>
    <seriesInfo name="Internet-Draft" value="draft-jennings-moq-discovery-00"/>
    <author initials="C." surname="Jennings" fullname="Cullen Jennings">
      <organization>Cisco</organization>
      <address>
        <email>fluffy@iii.ca</email>
      </address>
    </author>
    <author initials="S." surname="Nandakumar" fullname="Suhas Nandakumar">
      <organization>Cisco</organization>
      <address>
        <email>snandaku@cisco.com</email>
      </address>
    </author>
    <date/>
    <area>Web and Internet Transport</area>
    <workgroup>Media Over QUIC</workgroup>
    <keyword>media over quic</keyword>
    <keyword>svcb</keyword>
    <keyword>https records</keyword>
    <keyword>service discovery</keyword>
    <keyword>srv</keyword>
    <keyword>mdns</keyword>
    <keyword>dns-sd</keyword>
    <abstract>
      <?line 59?>

<t>This document defines how MOQT clients discover server endpoints using
DNS and Multicast DNS (mDNS).  It specifies SVCB and HTTPS DNS record
mappings for the <tt>moqt</tt> URI scheme, SRV records as a fallback
mechanism, and DNS-SD over mDNS for local network discovery.</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-jennings-moq-discovery/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Media Over QUIC Working Group mailing list (<eref target="mailto:moq@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/moq/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/moq/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/moq-wg/moq-transport"/>.</t>
    </note>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Media over QUIC Transport (MOQT) protocol <xref target="moq-transport"/> identifies
servers using the <tt>moqt</tt> URI scheme.  Clients establish MOQT sessions over
native QUIC or over WebTransport (<xref section="3" sectionFormat="comma" target="moq-transport"/>).</t>
      <t>This document defines three complementary discovery mechanisms:</t>
      <dl>
        <dt>SVCB and HTTPS records (<xref target="svcb"/>):</dt>
        <dd>
          <t>Unicast DNS records that carry connection parameters — including supported
ALPNs — alongside address records.  Section 2.4 of <xref target="RFC9460"/> requires a
mapping document for each URI scheme using SVCB; this document fulfills
that requirement for <tt>moqt</tt>.</t>
        </dd>
        <dt>SRV records (<xref target="srv"/>):</dt>
        <dd>
          <t>Unicast DNS records that provide port and target information for load
balancing and failover.  They carry no ALPN or connection parameters.</t>
        </dd>
        <dt>mDNS and DNS-SD (<xref target="mdns"/>):</dt>
        <dd>
          <t>Multicast DNS <xref target="RFC6762"/> and DNS Service Discovery <xref target="RFC6763"/> for local
network discovery without a central DNS server.</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?>

</section>
    <section anchor="svcb">
      <name>SVCB and HTTPS Records for MOQT</name>
      <section anchor="record-types">
        <name>Record Types</name>
        <t>MOQT uses two DNS record types:</t>
        <dl>
          <dt>SVCB RRs (RR type 64):</dt>
          <dd>
            <t>For native QUIC MOQT endpoints.  Published at a <tt>moqt</tt>-specific owner
name (<xref target="svcb-name"/>); carries <tt>moqt</tt>/<tt>moqt-N</tt> ALPNs only.</t>
          </dd>
          <dt>HTTPS RRs (RR type 65):</dt>
          <dd>
            <t>For WebTransport MOQT endpoints.  <bcp14>MAY</bcp14> carry both <tt>moqt</tt> and HTTP ALPN
(<tt>h3</tt>).  <tt>moqt</tt> URIs using WebTransport map to <tt>https</tt>
URIs (<xref section="3" sectionFormat="comma" target="moq-transport"/>); both schemes default to port 443.</t>
          </dd>
        </dl>
      </section>
      <section anchor="svcb-name">
        <name>Record Names</name>
        <section anchor="svcb-record-name">
          <name>SVCB Record Name</name>
          <t>For a <tt>moqt</tt> URI with host <tt>H</tt> and port <tt>P</tt>, the SVCB (type 64) owner
name is:</t>
          <ul spacing="normal">
            <li>
              <t><tt>_moqt.H</tt> when <tt>P</tt> is 443 or omitted (defaulting to 443).</t>
            </li>
            <li>
              <t><tt>_P._moqt.H</tt> when <tt>P</tt> is any other value.</t>
            </li>
          </ul>
        </section>
        <section anchor="https-record-name">
          <name>HTTPS Record Name</name>
          <t>For a <tt>moqt</tt> URI with host <tt>H</tt> and port <tt>P</tt>, the HTTPS (type 65) owner
name is:</t>
          <ul spacing="normal">
            <li>
              <t><tt>H</tt> when <tt>P</tt> is 443 or omitted (defaulting to 443).</t>
            </li>
            <li>
              <t><tt>_P._https.H</tt> when <tt>P</tt> is any other value, as specified in
<xref section="9.1" sectionFormat="comma" target="RFC9460"/>.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="default-alpn">
        <name>Default ALPN Identifiers</name>
        <t>Unlike <tt>https</tt> (which implies <tt>h2</tt>/<tt>h3</tt>), the <tt>moqt</tt> URI scheme has no
implicit default ALPN.  Every ServiceMode record <bcp14>MUST</bcp14> include an explicit
<tt>alpn</tt> SvcParamKey listing all supported protocols.</t>
        <t>The following ALPN identifiers are defined for MOQT:</t>
        <dl>
          <dt><tt>moqt</tt>:</dt>
          <dd>
            <t>Native QUIC, published MOQT specification (<xref target="RFC7301"/>).  <bcp14>MUST</bcp14> appear
in SVCB records; <bcp14>MAY</bcp14> appear in HTTPS records when the server supports
both native QUIC and WebTransport.</t>
          </dd>
          <dt><tt>moqt-N</tt> (where N is a non-negative integer):</dt>
          <dd>
            <t>Native QUIC, draft version N (e.g., <tt>moqt-15</tt>).  Ephemeral; <bcp14>MUST NOT</bcp14>
be used in production.  Same record-placement rules as <tt>moqt</tt>.</t>
          </dd>
          <dt><tt>h3</tt>:</dt>
          <dd>
            <t>WebTransport over HTTP/3 (<xref target="moq-transport"/>).  HTTPS records only.</t>
          </dd>
        </dl>
        <t>A client <bcp14>MUST</bcp14> treat a record whose <tt>alpn</tt> contains none of its supported
identifiers as unusable and proceed as if no record were present.</t>
        <t>TODO: Define ALPN identifier and record-placement rules for qmux once
the qmux specification matures.</t>
      </section>
      <section anchor="mandatory-keys">
        <name>Automatically Mandatory SvcParamKeys</name>
        <t>The <tt>moqt</tt> scheme introduces no additional automatically mandatory
SvcParamKeys; standard <xref target="RFC9460"/> processing rules apply.  Omitting <tt>alpn</tt>
is equivalent to publishing a record with no supported protocols
(<xref target="default-alpn"/>), which clients will treat as unusable.</t>
      </section>
      <section anchor="svcparams">
        <name>Relevant SvcParamKeys</name>
        <section anchor="alpn-and-no-default-alpn">
          <name>alpn and no-default-alpn</name>
          <t>The <tt>alpn</tt> SvcParamKey <bcp14>MUST</bcp14> be present in every ServiceMode record
(see <xref target="default-alpn"/>).  The <tt>no-default-alpn</tt> SvcParamKey <bcp14>MUST NOT</bcp14>
appear; with no default ALPNs defined, it has no effect and would be
misleading.</t>
        </section>
        <section anchor="port">
          <name>port</name>
          <t>When present, <tt>port</tt> specifies the UDP port (native QUIC or WebTransport
over HTTP/3).  When absent, the port from the <tt>moqt</tt> URI is used,
defaulting to 443.</t>
        </section>
        <section anchor="ech">
          <name>ech</name>
          <t>ECH <xref target="RFC9580"/> <bcp14>MAY</bcp14> appear in SVCB or HTTPS records.  Clients that
support ECH <bcp14>SHOULD</bcp14> use it; without it, the <tt>moqt</tt> URI authority is
exposed in the TLS SNI extension (<xref target="moq-transport"/>).</t>
        </section>
        <section anchor="ipv4hint-and-ipv6hint">
          <name>ipv4hint and ipv6hint</name>
          <t><bcp14>MAY</bcp14> be used to provide address hints that reduce DNS round trips.
Hints are advisory and do not replace A/AAAA resolution.</t>
        </section>
      </section>
      <section anchor="alpn-selection">
        <name>ALPN Selection</name>
        <t>A client uses the <tt>alpn</tt> SvcParamKey to determine which connection modes
the server supports and connects using any ALPN identifier from the record
that it supports.  Selection among multiple supported ALPNs is a matter of
local client policy and is out of scope for this document.</t>
      </section>
    </section>
    <section anchor="srv">
      <name>SRV Records for MOQT</name>
      <t>SRV records <xref target="RFC2782"/> provide port and target for load balancing and
failover but carry no ALPN or connection parameters.</t>
      <section anchor="srv-record-names">
        <name>SRV Record Names</name>
        <t>For a <tt>moqt</tt> URI with host <tt>H</tt>, SRV queries are performed at:</t>
        <ul spacing="normal">
          <li>
            <t><tt>_moqt._udp.H</tt> (both native QUIC and WebTransport over HTTP/3 use UDP).</t>
          </li>
        </ul>
      </section>
      <section anchor="using-srv-target-and-port">
        <name>Using SRV Target and Port</name>
        <t>When SRV records are found:</t>
        <ul spacing="normal">
          <li>
            <t>The target hostname and port from the SRV record <bcp14>MUST</bcp14> be used as the
connection endpoint.</t>
          </li>
          <li>
            <t>The original <tt>moqt</tt> URI's <tt>host</tt> component <bcp14>MUST</bcp14> be used as the TLS
SNI value and for certificate validation; it <bcp14>MUST NOT</bcp14> be replaced by
the SRV target hostname.</t>
          </li>
          <li>
            <t>SRV targets with a port of 0 and a dot (<tt>.</tt>) target indicate that the
service is not available at this name and <bcp14>MUST</bcp14> be treated as indicating
no service.</t>
          </li>
        </ul>
      </section>
      <section anchor="interaction-with-svcb">
        <name>Interaction with SVCB</name>
        <t>When SVCB (type 64) or HTTPS (type 65) records are available and usable
for a <tt>moqt</tt> authority, clients <bcp14>SHOULD</bcp14> prefer them over SRV records and
<bcp14>MAY</bcp14> skip the SRV query entirely.</t>
        <t>Operators <bcp14>SHOULD</bcp14> publish SVCB and/or HTTPS records rather than (or in
addition to) SRV records for new deployments.</t>
      </section>
    </section>
    <section anchor="mdns">
      <name>mDNS and DNS-SD Discovery for MOQT</name>
      <t>mDNS <xref target="RFC6762"/> and DNS-SD <xref target="RFC6763"/> enable MOQT discovery on local
links without a central DNS server.</t>
      <section anchor="mdns-names">
        <name>DNS-SD Service Names</name>
        <t>MOQT uses the following DNS-SD service types, which are also registered
for SRV use (<xref target="iana-service"/>):</t>
        <dl>
          <dt><tt>_moqt._udp</tt>:</dt>
          <dd>
            <t>Advertises MOQT endpoints (native QUIC and WebTransport over HTTP/3).</t>
          </dd>
        </dl>
        <t>A MOQT relay on the local network announces itself by publishing PTR,
SRV, and TXT records under the appropriate service type in the <tt>.local.</tt>
domain, as specified in <xref target="RFC6763"/>.</t>
      </section>
      <section anchor="mdns-txt">
        <name>TXT Record Parameters</name>
        <t>The TXT record for a MOQT DNS-SD instance <bcp14>MUST</bcp14> contain the following
key-value pair:</t>
        <dl>
          <dt><tt>alpn</tt>:</dt>
          <dd>
            <t>The ALPN identifier for the transport mode advertised by this instance
(e.g., <tt>moqt</tt>, <tt>moqt-15</tt>, <tt>h3</tt>).</t>
          </dd>
        </dl>
        <t>A client <bcp14>MUST</bcp14> treat an instance whose TXT record does not contain a
recognized <tt>alpn</tt> value as unusable.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="iana-service">
        <name>Service Name Registration</name>
        <t>IANA is requested to register the following entry in the "Service Name
and Transport Protocol Port Number Registry":</t>
        <ul spacing="normal">
          <li>
            <t>Service Name: moqt</t>
          </li>
          <li>
            <t>Transport Protocol(s): udp</t>
          </li>
          <li>
            <t>Assignee: IETF</t>
          </li>
          <li>
            <t>Contact: moq@ietf.org</t>
          </li>
          <li>
            <t>Description: Media over QUIC Transport</t>
          </li>
          <li>
            <t>Reference: This document and <xref target="moq-transport"/></t>
          </li>
          <li>
            <t>Port Number: 443</t>
          </li>
        </ul>
        <t>This registration covers use of the <tt>_moqt._udp</tt> service label in SRV
records (<xref target="RFC2782"/>) and DNS-SD (<xref target="RFC6763"/>).</t>
      </section>
      <section anchor="alpn-registration">
        <name>ALPN Registration</name>
        <t>The ALPN identifier <tt>moqt</tt> is already registered in the "TLS Application-
Layer Protocol Negotiation (ALPN) Protocol IDs" registry by <xref target="moq-transport"/>.
No additional registrations are requested by this document.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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>
        <reference anchor="RFC7301">
          <front>
            <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
            <author fullname="S. Friedl" initials="S." surname="Friedl"/>
            <author fullname="A. Popov" initials="A." surname="Popov"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="E. Stephan" initials="E." surname="Stephan"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7301"/>
          <seriesInfo name="DOI" value="10.17487/RFC7301"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC2782">
          <front>
            <title>A DNS RR for specifying the location of services (DNS SRV)</title>
            <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <author fullname="L. Esibov" initials="L." surname="Esibov"/>
            <date month="February" year="2000"/>
            <abstract>
              <t>This document describes a DNS RR which specifies the location of the server(s) for a specific protocol and domain. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2782"/>
          <seriesInfo name="DOI" value="10.17487/RFC2782"/>
        </reference>
        <reference anchor="RFC6762">
          <front>
            <title>Multicast DNS</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>As networked devices become smaller, more portable, and more ubiquitous, the ability to operate with less configured infrastructure is increasingly important. In particular, the ability to look up DNS resource record data types (including, but not limited to, host names) in the absence of a conventional managed DNS server is useful.</t>
              <t>Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server. In addition, Multicast DNS designates a portion of the DNS namespace to be free for local use, without the need to pay any annual fee, and without the need to set up delegations or otherwise configure a conventional DNS server to answer for those names.</t>
              <t>The primary benefits of Multicast DNS names are that (i) they require little or no administration or configuration to set them up, (ii) they work when no infrastructure is present, and (iii) they work during infrastructure failures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6762"/>
          <seriesInfo name="DOI" value="10.17487/RFC6762"/>
        </reference>
        <reference anchor="RFC6763">
          <front>
            <title>DNS-Based Service Discovery</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6763"/>
          <seriesInfo name="DOI" value="10.17487/RFC6763"/>
        </reference>
        <reference anchor="moq-transport">
          <front>
            <title>Media over QUIC Transport</title>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
              <organization>Google</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google</organization>
            </author>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Meta</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This document defines Media over QUIC Transport (MOQT), a publish/
   subscribe protocol that runs over QUIC and WebTransport.  MOQT
   leverages the features of these transports, such as streams,
   datagrams, priorities, and partial reliability.  MOQT operates both
   point-to-point and through intermediate relays, enabling scalable
   low-latency delivery.  Despite its name, MOQT is media agnostic and
   can be used for a wide range of use cases.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-19"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7838">
          <front>
            <title>HTTP Alternative Services</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="J. Reschke" initials="J." surname="Reschke"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This document specifies "Alternative Services" for HTTP, which allow an origin's resources to be authoritatively available at a separate network location, possibly accessed with a different protocol configuration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7838"/>
          <seriesInfo name="DOI" value="10.17487/RFC7838"/>
        </reference>
        <reference anchor="RFC8499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="January" year="2019"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has sometimes changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document obsoletes RFC 7719 and updates RFC 2308.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8499"/>
          <seriesInfo name="DOI" value="10.17487/RFC8499"/>
        </reference>
        <reference anchor="RFC9580">
          <front>
            <title>OpenPGP</title>
            <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
            <author fullname="D. Huigens" initials="D." surname="Huigens"/>
            <author fullname="J. Winter" initials="J." surname="Winter"/>
            <author fullname="Y. Niibe" initials="Y." surname="Niibe"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>This document specifies the message formats used in OpenPGP. OpenPGP provides encryption with public key or symmetric cryptographic algorithms, digital signatures, compression, and key management.</t>
              <t>This document is maintained in order to publish all necessary information needed to develop interoperable applications based on the OpenPGP format. It is not a step-by-step cookbook for writing an application. It describes only the format and methods needed to read, check, generate, and write conforming packets crossing any network. It does not deal with storage and implementation questions. It does, however, discuss implementation issues necessary to avoid security flaws.</t>
              <t>This document obsoletes RFCs 4880 ("OpenPGP Message Format"), 5581 ("The Camellia Cipher in OpenPGP"), and 6637 ("Elliptic Curve Cryptography (ECC) in OpenPGP").</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9580"/>
          <seriesInfo name="DOI" value="10.17487/RFC9580"/>
        </reference>
      </references>
    </references>
    <?line 302?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO: Acknowledgments to be added.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
BDZ01Bf/Aw6qhv1/IwAA

-->

</rfc>
