<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-masque-connect-ip-dns-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="CONNECT-IP DNS and PREF64">DNS and PREF64 Configuration for Proxying IP in HTTP</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-masque-connect-ip-dns-07"/>
    <author initials="D." surname="Schinazi" fullname="David Schinazi">
      <organization>Google LLC</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94043</code>
          <country>United States of America</country>
        </postal>
        <email>dschinazi.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="Y." surname="Rosomakho" fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <postal>
          <street>120 Holger Way</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95134</code>
          <country>United States of America</country>
        </postal>
        <email>yrosomakho@zscaler.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="13"/>
    <area>Web and Internet Transport</area>
    <workgroup>MASQUE</workgroup>
    <keyword>quic</keyword>
    <keyword>http</keyword>
    <keyword>datagram</keyword>
    <keyword>udp</keyword>
    <keyword>tcp</keyword>
    <keyword>proxy</keyword>
    <keyword>tunnels</keyword>
    <keyword>quic in quic</keyword>
    <keyword>turtles all the way down</keyword>
    <keyword>masque</keyword>
    <keyword>http-ng</keyword>
    <keyword>dns</keyword>
    <abstract>
      <?line 57?>

<t>Proxying IP in HTTP allows building a VPN through HTTP load balancers. However,
at the time of writing, that mechanism lacks a way to communicate network
configuration details such as DNS information or IPv6 NAT64 prefixes (PREF64).
In contrast, most existing VPN protocols provide mechanisms to exchange
such configuration information.</t>
      <t>This document defines extensions that convey DNS and PREF64 configuration
using HTTP capsules. This mechanism supports encrypted DNS transports
and can be used to inform peers about network translation prefixes for IPv6/IPv4
synthesis.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-masque.github.io/draft-ietf-masque-connect-ip-dns/draft-ietf-masque-connect-ip-dns.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-masque-connect-ip-dns/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Multiplexed Application Substrate over QUIC Encryption Working Group mailing list (<eref target="mailto:masque@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/masque/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/masque/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-masque/draft-ietf-masque-connect-ip-dns"/>.</t>
    </note>
  </front>
  <middle>
    <?line 70?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Proxying IP in HTTP (<xref target="CONNECT-IP"/>) allows building a VPN through
HTTP load balancers. However, at the time of writing, that mechanism lacks
a way to communicate network configuration details such as DNS information
or IPv6 NAT64 prefixes (PREF64). In contrast, most existing VPN protocols provide
mechanisms to exchange such configuration information (for example
<xref target="IKEv2"/> supports discovery of DNS servers).</t>
      <t>This document defines extensions that allow CONNECT-IP peers to convey DNS
and PREF64 configuration information to its peer using HTTP capsules
(<xref target="HTTP-DGRAM"/>). These extensions do not define any new way to
transport DNS queries or responses, but instead enable the exchange of DNS
resolver configuration and NAT64 prefix information inline with CONNECT-IP
sessions.</t>
      <t>Note that these extensions are meant for cases where CONNECT-IP operates as a
Remote Access VPN (see <xref section="8.1" sectionFormat="of" target="CONNECT-IP"/>) or a Site-to-Site VPN
(see <xref section="8.2" sectionFormat="of" target="CONNECT-IP"/>), but not for cases like IP Flow Forwarding
(see <xref section="8.3" sectionFormat="of" target="CONNECT-IP"/>).</t>
      <t>For DNS configuration, this specification uses Service Bindings (<xref target="SVCB"/>)
to exchange information about nameservers, such as which encrypted DNS transport is
supported. This allows support for DNS over HTTPS (<xref target="DoH"/>), DNS over
QUIC (<xref target="DoQ"/>), DNS over TLS (<xref target="DoT"/>), unencrypted DNS over
UDP port 53 and TCP port 53 (<xref target="DNS"/>), as well as potential future DNS
transports. PREF64 configuration is represented in a way similar to Router
Advertisement option defined in <xref section="4" sectionFormat="of" target="PREF64-RA"/>.</t>
      <t>Similar to how Proxying IP in HTTP exchanges IP address configuration
information (<xref section="4.7" sectionFormat="of" target="CONNECT-IP"/>), the mechanism defined in this document
leverages capsules. Similarly, these mechanisms are bidirectional: either endpoint
can send configuration information.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document uses terminology from <xref target="QUIC"/>. Where this document
defines protocol types, the definition format uses the notation from <xref section="1.3" sectionFormat="of" target="QUIC"/>. This specification uses the variable-length integer encoding
from <xref section="16" sectionFormat="of" target="QUIC"/>. Variable-length integer values do not
need to be encoded in the minimum number of bytes necessary.</t>
      <t>In this document, we use the term "nameserver" to refer to a DNS recursive
resolver as defined in <xref section="6" sectionFormat="of" target="DNS-TERMS"/>, and the term
"domain name" is used as defined in <xref section="2" sectionFormat="of" target="DNS-TERMS"/>.</t>
    </section>
    <section anchor="dns-configuration-mechanism">
      <name>DNS Configuration Mechanism</name>
      <t>Either endpoint can send DNS configuration information in a
<tt>DNS_ASSIGN</tt> capsule. The capsule format is defined below.</t>
      <section anchor="domain-structure">
        <name>Domain Structure</name>
        <figure anchor="domain-format">
          <name>Domain Format</name>
          <artwork><![CDATA[
Domain {
  Domain Length (i),
  Domain Name (..),
}
]]></artwork>
        </figure>
        <t>Each Domain contains the following fields:</t>
        <dl>
          <dt>Domain Length:</dt>
          <dd>
            <t>Length of the following Domain field, encoded as a variable-length integer.</t>
          </dd>
          <dt>Domain Name:</dt>
          <dd>
            <t>A Fully Qualified Domain Name (FQDN) in common display format
(<xref section="2" sectionFormat="of" target="DNS-TERMS"/>). The trailing dot representing the DNS root
<bcp14>MUST</bcp14> be omitted. Internationalized labels <bcp14>MUST</bcp14> be encoded as IDNA A-labels
(<xref target="IDNA"/>).</t>
          </dd>
        </dl>
        <t>Since these are FQDNs,
receivers <bcp14>MUST NOT</bcp14> append a search domain or any other suffix to non-empty
values. Empty values have the meaning specified by the field containing
the Domain structure.</t>
      </section>
      <section anchor="domain-struct">
        <name>Nameserver Structure</name>
        <figure anchor="ns-format">
          <name>Nameserver Format</name>
          <artwork><![CDATA[
Nameserver {
  Service Priority (16),
  IPv4 Address Count (i),
  IPv4 Address (32) ...,
  IPv6 Address Count (i),
  IPv6 Address (128) ...,
  Authentication Domain Name (..),
  Service Parameters Length (i),
  Service Parameters (..),
}
]]></artwork>
        </figure>
        <t>Each Nameserver structure contains the following fields:</t>
        <dl>
          <dt>Service Priority:</dt>
          <dd>
            <t>The priority of this attribute compared to other nameservers, as specified in
<xref section="2.4.1" sectionFormat="of" target="SVCB"/>. Since this specification relies on using Service
Bindings in ServiceMode (<xref section="2.4.3" sectionFormat="of" target="SVCB"/>), this field <bcp14>MUST NOT</bcp14> be set
to 0.</t>
          </dd>
          <dt>IPv4 Address Count:</dt>
          <dd>
            <t>The number of IPv4 Address fields following this field. Encoded as a
variable-length integer.</t>
          </dd>
          <dt>IPv4 Address:</dt>
          <dd>
            <t>Sequence of IPv4 Addresses that can be used to reach this nameserver. Encoded
in network byte order.</t>
          </dd>
          <dt>IPv6 Address Count:</dt>
          <dd>
            <t>The number of IPv6 Address fields following this field. Encoded as a
variable-length integer.</t>
          </dd>
          <dt>IPv6 Address:</dt>
          <dd>
            <t>Sequence of IPv6 Addresses that can be used to reach this nameserver. Encoded
in network byte order.</t>
          </dd>
          <dt>Authentication Domain Name:</dt>
          <dd>
            <t>A Domain structure (see <xref target="domain-struct"/>) representing the domain name of
the nameserver. This <bcp14>MAY</bcp14> be empty if the nameserver only supports unencrypted
DNS (as traditionally sent over UDP port 53 and TCP port 53).</t>
          </dd>
          <dt>Service Parameters Length:</dt>
          <dd>
            <t>Length of the following Service Parameters field, encoded as a
variable-length integer.</t>
          </dd>
          <dt>Service Parameters:</dt>
          <dd>
            <t>Set of service parameters that apply to this nameserver. Encoded using the
wire format specified in <xref section="2.2" sectionFormat="of" target="SVCB"/>.</t>
          </dd>
        </dl>
        <t>Service parameters allow exchanging additional information about the nameserver:</t>
        <ul spacing="normal">
          <li>
            <t>The "port" service parameter is used to indicate which port the nameserver is
reachable on. If no "port" service parameter is included, this indicates that
default port numbers should be used.</t>
          </li>
          <li>
            <t>The "alpn" service parameter is used to indicate which encrypted DNS
transports are supported by this nameserver. If the "no-default-alpn" service
parameter is omitted, that indicates that the nameserver supports unencrypted
DNS, as is traditionally sent over UDP port 53 and TCP port 53. In that case,
the sum of IPv4 Address Count and IPv6 Address Count <bcp14>MUST</bcp14> be nonzero. If
Authentication Domain Name is empty, the "alpn" and "no-default-alpn" service
parameter <bcp14>MUST</bcp14> be omitted.</t>
          </li>
          <li>
            <t>The "dohpath" service parameter is used to convey a relative DNS over HTTPS
URI Template, see <xref section="5" sectionFormat="of" target="SVCB-DNS"/>.</t>
          </li>
          <li>
            <t>The service parameters <bcp14>MUST NOT</bcp14> include "ipv4hint" or "ipv6hint" SvcParams,
as they are superseded by the included IP addresses.</t>
          </li>
        </ul>
      </section>
      <section anchor="dns-configuration-structure">
        <name>DNS Configuration Structure</name>
        <figure anchor="dns-configuration">
          <name>DNS Configuration Format</name>
          <artwork><![CDATA[
DNS Configuration {
  Nameserver Count (i),
  Nameserver (..) ...,
  Internal Domain Count (i),
  Internal Domain (..) ...,
  Search Domain Count (i),
  Search Domain (..) ...,
}
]]></artwork>
        </figure>
        <t>Each DNS Configuration contains the following fields:</t>
        <dl newline="true" spacing="normal">
          <dt>Nameserver Count:</dt>
          <dd>
            <t>The number of Nameserver structures following this field. Encoded as
a variable-length integer. This field <bcp14>MUST NOT</bcp14> be zero.</t>
          </dd>
          <dt>Nameserver:</dt>
          <dd>
            <t>A series of Nameserver structures representing nameservers.</t>
          </dd>
          <dt>Internal Domain Count:</dt>
          <dd>
            <t>The number of Domain structures following this field. Encoded as a
variable-length integer.</t>
          </dd>
          <dt>Internal Domain:</dt>
          <dd>
            <t>A series of Domain structures representing internal domain names.</t>
          </dd>
          <dt>Search Domain Count:</dt>
          <dd>
            <t>The number of Domain structures following this field. Encoded as a
variable-length integer.</t>
          </dd>
          <dt>Search Domain:</dt>
          <dd>
            <t>A series of Domain structures representing search domains.</t>
          </dd>
        </dl>
      </section>
      <section anchor="dns-assign">
        <name>DNS_ASSIGN Capsule</name>
        <t>The DNS_ASSIGN capsule (see <xref target="iana"/> for the value of the capsule type) allows
an endpoint to send DNS configuration to its peer.</t>
        <figure anchor="dns-assign-format">
          <name>DNS_ASSIGN Capsule Format</name>
          <artwork><![CDATA[
DNS_ASSIGN Capsule {
  Type (i) = DNS_ASSIGN,
  Length (i),
  DNS Configuration (..) ...,
}
]]></artwork>
        </figure>
        <t>DNS_ASSIGN capsule <bcp14>MAY</bcp14> include multiple DNS configurations if different DNS
servers are responsible for separate internal domains.</t>
        <t>If multiple DNS_ASSIGN capsules are sent in one direction, each DNS_ASSIGN
capsule supersedes prior ones.</t>
        <t>An empty DNS_ASSIGN capsule indicates that there are no DNS services available;
this can be used to withdraw previous configurations.</t>
      </section>
      <section anchor="handling">
        <name>Handling</name>
        <t>Note that internal domains include subdomains. In other words, if the DNS
configuration contains a domain, that indicates that the corresponding domain
and all of its subdomains can be resolved by the nameservers exchanged in the
same DNS configuration. Sending an empty string as an internal domain indicates
the DNS root; i.e., that the corresponding nameserver can resolve all domain
names.</t>
        <t>As with other IP Proxying capsules, the receiver can decide whether to use or
ignore the configuration information. For example, in the consumer VPN
scenario, clients will trust the IP proxy and apply received DNS configuration,
whereas IP proxies will ignore any DNS configuration sent by the client.</t>
        <t>If the IP proxy sends a DNS_ASSIGN capsule containing a DNS over HTTPS
nameserver, then the client can validate whether the IP proxy is authoritative
for the origin of the URI template. If this validation succeeds, the client
<bcp14>SHOULD</bcp14> send its DNS queries to that nameserver directly as independent HTTPS
requests. When possible, those requests <bcp14>SHOULD</bcp14> be coalesced over the same HTTPS
connection.</t>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <section anchor="full-tunnel-consumer-vpn">
          <name>Full-Tunnel Consumer VPN</name>
          <t>A full-tunnel consumer VPN hosted at masque.example.org could configure the
client to use DNS over HTTPS to the IP proxy itself by sending the following
configuration.</t>
          <figure anchor="ex-doh">
            <name>Full Tunnel Example</name>
            <artwork><![CDATA[
DNS Configuration = {
  Nameservers = [{
    Service Priority = 1,
    IPv4 Address = [],
    IPv6 Address = [],
    Authentication Domain Name = "masque.example.org",
    Service Parameters = {
      alpn=h2,h3
      no-default-alpn
      dohpath=/dns-query{?dns}
    },
  }],
  Internal Domains = [""],
  Search Domains = [],
}
]]></artwork>
          </figure>
        </section>
        <section anchor="split-tunnel-enterprise-vpn">
          <name>Split-Tunnel Enterprise VPN</name>
          <t>An enterprise switching their preexisting IKEv2/IPsec split-tunnel VPN to
connect-ip could use the following configuration.</t>
          <figure anchor="ex-split">
            <name>Split Tunnel Example</name>
            <artwork><![CDATA[
DNS Configuration = {
  Nameservers = [{
    Service Priority = 1,
    IPv4 Address = [192.0.2.33],
    IPv6 Address = [2001:db8::1],
    Authentication Domain Name = "",
    Service Parameters = {},
  }],
  Internal Domains = ["internal.corp.example"],
  Search Domains = [
    "internal.corp.example",
    "corp.example",
  ],
}
]]></artwork>
          </figure>
        </section>
      </section>
    </section>
    <section anchor="pref64-configuration-mechanism">
      <name>PREF64 Configuration Mechanism</name>
      <t>This document defines a new capsule type, <tt>PREF64</tt>, that allows a CONNECT-IP peer
to communicate the IPv6 NAT64 prefixes to be used for IPv6/IPv4 address synthesis.
This information enables an endpoint operating in an IPv6-only environment to
construct IPv4-reachable addresses from IPv6 literals when a NAT64 translator is in use.</t>
      <section anchor="pref64-capsule">
        <name>PREF64 Capsule</name>
        <t>Each PREF64 capsule conveys zero or more NAT64 prefixes. If multiple capsules are sent
in the same direction, the most recent one supersedes any previously advertised prefixes.
Empty PREF64 capsule is used to inform that NAT64 prefixes are not available.</t>
        <t>The capsule has the following structure (see <xref target="iana"/> for the value of the capsule type):</t>
        <figure anchor="pref64-format">
          <name>PREF64 Capsule Format</name>
          <artwork><![CDATA[
PREF64 Capsule {
  Type (i) = PREF64,
  Length (i),
  NAT64 Prefix (104) ...,
}
]]></artwork>
        </figure>
        <t>Individual NAT64 prefix has the following structure:</t>
        <figure anchor="nat64-prefix">
          <name>NAT64 Prefix Format</name>
          <artwork><![CDATA[
NAT64 Prefix {
  Prefix Length (8),
  Prefix (96),
}
]]></artwork>
        </figure>
        <t>NAT64 prefix fields are:</t>
        <dl>
          <dt>Prefix Length:</dt>
          <dd>
            <t>The length of the NAT64 prefix in bits encoded as a single byte. Valid values are 32, 40, 48,
56, 64, and 96. These lengths correspond to the prefix sizes permitted for the IPv6-to-IPv4
address synthesis algorithm described in <xref section="2.2" sectionFormat="of" target="IPv6-TRANSLATOR"/>.</t>
          </dd>
          <dt>Prefix:</dt>
          <dd>
            <t>The highest 96 bits of the IPv6 prefix, encoded in network byte order. Note that this field is
always 96 bits long, regardless of the value in the Prefix Length field
preceding it, see <xref section="2.2" sectionFormat="of" target="IPv6-TRANSLATOR"/> for details.</t>
          </dd>
        </dl>
      </section>
      <section anchor="handling-1">
        <name>Handling</name>
        <t>Upon receiving a PREF64 capsule, a peer updates its local NAT64 configuration for the
corresponding CONNECT-IP session. The newly received PREF64 capsule supersedes any previously
received PREF64 capsules in the same direction.</t>
        <t>If an endpoint receives a capsule that does not meet one of the requirements listed in <xref target="pref64-capsule"/>, or
with a length that is not a multiple of 13 bytes, it <bcp14>MUST</bcp14> treat it as malformed. An empty
PREF64 capsule invalidates any previously received NAT64 Prefixes.</t>
      </section>
      <section anchor="example">
        <name>Example</name>
        <t>A CONNECT-IP peer would use the following capsule to signal a single NAT64 prefix of <tt>64:ff9b::/96</tt></t>
        <figure anchor="ex-pref64">
          <name>PREF64 Capsule Example</name>
          <artwork><![CDATA[
PREF64 Capsule {
  Type (i) = PREF64,
  Length (i) = 13,
  NAT64 Prefix {
    Prefix Length (8) = 96
    Prefix (96) = 0x00 0x64 0xff 0x9b 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
  }
}
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Acting on received DNS_ASSIGN capsules can have significant impact on endpoint
security. Endpoints <bcp14>MUST</bcp14> ignore DNS_ASSIGN capsules unless it has reason to
trust its peer and is expecting DNS configuration from it.</t>
      <t>This mechanism can cause an endpoint to use a nameserver that is outside of the
connect-ip tunnel. While this is acceptable in some scenarios, in others it
could break the privacy properties provided by the tunnel. To avoid this,
implementations need to ensure that DNS_ASSIGN capsules are not sent before the
corresponding ROUTE_ADVERTISEMENT capsule.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document, if approved, will request IANA add the following values to the
"HTTP Capsule Types" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/masque"/>&gt;.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Capsule Type</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0x1ACE79EC (if this document is approved, this value will be</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">replaced by a smaller one before publication)</td>
            <td align="left">DNS_ASSIGN</td>
          </tr>
          <tr>
            <td align="left">0x274C0FBC (if this document is approved, this value will be</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">replaced by a smaller one before publication)</td>
            <td align="left">PREF64</td>
          </tr>
        </tbody>
      </table>
      <t>All of these new entries use the following values for these fields:</t>
      <dl spacing="compact" newline="false">
        <dt>Status:</dt>
        <dd>
          <t>provisional (permanent if this document is approved)</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
        <dt>Change Controller:</dt>
        <dd>
          <t>IETF</t>
        </dd>
        <dt>Contact:</dt>
        <dd>
          <t>masque@ietf.org</t>
        </dd>
        <dt>Notes:</dt>
        <dd>
          <t>None</t>
        </dd>
      </dl>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="CONNECT-IP">
          <front>
            <title>Proxying IP in HTTP</title>
            <author fullname="T. Pauly" initials="T." role="editor" surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="A. Chernyakhovsky" initials="A." surname="Chernyakhovsky"/>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="October" year="2023"/>
            <abstract>
              <t>This document describes how to proxy IP packets in HTTP. This protocol is similar to UDP proxying in HTTP but allows transmitting arbitrary IP packets. More specifically, this document defines a protocol that allows an HTTP client to create an IP tunnel through an HTTP server that acts as an IP proxy. This document updates RFC 9298.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9484"/>
          <seriesInfo name="DOI" value="10.17487/RFC9484"/>
        </reference>
        <reference anchor="HTTP-DGRAM">
          <front>
            <title>HTTP Datagrams and the Capsule Protocol</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="L. Pardue" initials="L." surname="Pardue"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes HTTP Datagrams, a convention for conveying multiplexed, potentially unreliable datagrams inside an HTTP connection.</t>
              <t>In HTTP/3, HTTP Datagrams can be sent unreliably using the QUIC DATAGRAM extension. When the QUIC DATAGRAM frame is unavailable or undesirable, HTTP Datagrams can be sent using the Capsule Protocol, which is a more general convention for conveying data in HTTP connections.</t>
              <t>HTTP Datagrams and the Capsule Protocol are intended for use by HTTP extensions, not applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9297"/>
          <seriesInfo name="DOI" value="10.17487/RFC9297"/>
        </reference>
        <reference anchor="SVCB">
          <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="DoH">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="DoQ">
          <front>
            <title>DNS over Dedicated QUIC Connections</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>This document describes the use of QUIC to provide transport confidentiality for DNS. The encryption provided by QUIC has similar properties to those provided by TLS, while QUIC transport eliminates the head-of-line blocking issues inherent with TCP and provides more efficient packet-loss recovery than UDP. DNS over QUIC (DoQ) has privacy properties similar to DNS over TLS (DoT) specified in RFC 7858, and latency characteristics similar to classic DNS over UDP. This specification describes the use of DoQ as a general-purpose transport for DNS and includes the use of DoQ for stub to recursive, recursive to authoritative, and zone transfer scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9250"/>
          <seriesInfo name="DOI" value="10.17487/RFC9250"/>
        </reference>
        <reference anchor="DoT">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="DNS">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </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="QUIC">
          <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="DNS-TERMS">
          <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="IDNA">
          <front>
            <title>Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document is one of a collection that, together, describe the protocol and usage context for a revision of Internationalized Domain Names for Applications (IDNA), superseding the earlier version. It describes the document collection and provides definitions and other material that are common to the set. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5890"/>
          <seriesInfo name="DOI" value="10.17487/RFC5890"/>
        </reference>
        <reference anchor="SVCB-DNS">
          <front>
            <title>Service Binding Mapping for DNS Servers</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>The SVCB DNS resource record type expresses a bound collection of endpoint metadata, for use when establishing a connection to a named service. DNS itself can be such a service, when the server is identified by a domain name. This document provides the SVCB mapping for named DNS servers, allowing them to indicate support for encrypted transport protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9461"/>
          <seriesInfo name="DOI" value="10.17487/RFC9461"/>
        </reference>
        <reference anchor="IPv6-TRANSLATOR">
          <front>
            <title>IPv6 Addressing of IPv4/IPv6 Translators</title>
            <author fullname="C. Bao" initials="C." surname="Bao"/>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>This document discusses the algorithmic translation of an IPv6 address to a corresponding IPv4 address, and vice versa, using only statically configured information. It defines a well-known prefix for use in algorithmic translations, while allowing organizations to also use network-specific prefixes when appropriate. Algorithmic translation is used in IPv4/IPv6 translators, as well as other types of proxies and gateways (e.g., for DNS) used in IPv4/IPv6 scenarios. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6052"/>
          <seriesInfo name="DOI" value="10.17487/RFC6052"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IKEv2">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="PREF64-RA">
          <front>
            <title>Discovering PREF64 in Router Advertisements</title>
            <author fullname="L. Colitti" initials="L." surname="Colitti"/>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <date month="April" year="2020"/>
            <abstract>
              <t>This document specifies a Neighbor Discovery option to be used in Router Advertisements (RAs) to communicate prefixes of Network Address and Protocol Translation from IPv6 clients to IPv4 servers (NAT64) to hosts.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8781"/>
          <seriesInfo name="DOI" value="10.17487/RFC8781"/>
        </reference>
        <reference anchor="IKEv2-DNS">
          <front>
            <title>Split DNS Configuration for the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This document defines two Configuration Payload Attribute Types (INTERNAL_DNS_DOMAIN and INTERNAL_DNSSEC_TA) for the Internet Key Exchange Protocol version 2 (IKEv2). These payloads add support for private (internal-only) DNS domains. These domains are intended to be resolved using non-public DNS servers that are only reachable through the IPsec connection. DNS resolution for other domains remains unchanged. These Configuration Payloads only apply to split- tunnel configurations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8598"/>
          <seriesInfo name="DOI" value="10.17487/RFC8598"/>
        </reference>
        <reference anchor="IKEv2-SVCB">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2) Configuration for Encrypted DNS</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies new Internet Key Exchange Protocol Version 2 (IKEv2) Configuration Payload Attribute Types to assign DNS resolvers that support encrypted DNS protocols, such as DNS over HTTPS (DoH), DNS over TLS (DoT), and DNS over QUIC (DoQ).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9464"/>
          <seriesInfo name="DOI" value="10.17487/RFC9464"/>
        </reference>
      </references>
    </references>
    <?line 513?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The mechanism in this document was inspired by <xref target="IKEv2"/>,
<xref target="IKEv2-DNS"/>, and <xref target="IKEv2-SVCB"/>. The authors would like to
thank <contact fullname="Alejandro Sedeño"/>, <contact fullname="Alex Chernyakhovsky"/>, <contact fullname="Tommy Pauly"/>,
<contact fullname="Marten Seemann"/>, and other enthusiasts in the MASQUE Working Group for
their contributions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
QAAA

-->

</rfc>
