<?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.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-add-resolver-info-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="DNS Resolver Information">DNS Resolver Information</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-add-resolver-info-05"/>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <city>Rennes</city>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <date year="2023" month="September" day="20"/>
    <area>Internet</area>
    <workgroup>ADD</workgroup>
    <keyword>Transparency</keyword>
    <keyword>User Experience</keyword>
    <keyword>DNS server selection</keyword>
    <abstract>
      <?line 50?>

<t>This document specifies a method for DNS resolvers to publish
   information about themselves.  DNS clients can use the resolver
   information to identify the capabilities of DNS resolvers. How such an information is then used by DNS clients is out of the scope of the document.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Adaptive DNS Discovery Working Group mailing list (add@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/add/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/add-resolver-information"/>.</t>
    </note>
  </front>
  <middle>
    <?line 56?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Historically, DNS stub resolvers communicated with upstream
   resolvers without needing to know anything about the features
   supported by these recursive resolvers.  As more and more recursive
   resolvers expose different features that may impact delivered DNS
   services, means to help stub resolvers to identify the capabilities of
   resolvers are valuable.  Typically, stub resolvers can discover
   and authenticate encrypted DNS resolvers provided by a local network,
   for example, using the techniques specified in <xref target="I-D.ietf-add-dnr"/> and
   <xref target="I-D.ietf-add-ddr"/>.  However, these stub resolvers need a mechanism to
   retrieve information from the discovered recursive resolvers about
   their capabilities.</t>
      <t>This document fills that void by specifying a method for stub
   resolvers to retrieve such information.  To that aim, a new resource record (RR) type
   is defined for stub resolvers to query the recursive resolvers.  The
   information that a resolver might want to expose is defined in
   <xref target="key-val"/>.</t>
      <t>Retrieved information can be used to feed the server selection
   procedure. However, that selection procedure is out of the scope of this document.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</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 makes use of the terms defined in <xref target="RFC8499"/>. The following additional terms are used:</t>
      <dl>
        <dt>Encrypted DNS:</dt>
        <dd>
          <t>Refers to a DNS scheme where DNS exchanges are
 transported over an encrypted channel between a DNS client and server (e.g.,
 DNS over HTTPS (DoH) <xref target="RFC8484"/>, DNS over TLS (DoT) <xref target="RFC7858"/>, or
 DNS over QUIC (DoQ) <xref target="RFC9250"/>).</t>
        </dd>
        <dt>Encrypted DNS resolver:</dt>
        <dd>
          <t>Refers to a DNS resolver that supports any encrypted DNS scheme.</t>
        </dd>
      </dl>
    </section>
    <section anchor="retrieving-resolver-information">
      <name>Retrieving Resolver Information</name>
      <t>A stub resolver that wants to retrieve the resolver information may
   use the RR type "RESINFO" defined in this document.</t>
      <t>The content of the RDATA in a response to a RESINFO RR type query is defined in
   <xref target="key-val"/>.  If the resolver understands the RESINFO RR type, the
   RRSet in the Answer section <bcp14>MUST</bcp14> have exactly one record.</t>
      <t>A DNS client can retrieve the resolver information using the RESINFO
   RR type and the QNAME of the domain name that is used to authenticate the
   DNS resolver (referred to as the Authentication Domain Name (ADN) in <xref target="I-D.ietf-add-dnr"/>).</t>
      <t>If the Special-Use Domain Name "resolver.arpa", defined in
   <xref target="I-D.ietf-add-ddr"/>, is used to discover an encrypted DNS resolver, the
   client can retrieve the resolver information using the RESINFO RR
   type and QNAME of "resolver.arpa".  For DDR, the client has to
   validate a designated resolver using a secure connection (<xref section="4.2" sectionFormat="of" target="I-D.ietf-add-ddr"/>)
   and then issue a DNS request to retrieve the resolver information.</t>
    </section>
    <section anchor="format">
      <name>Format of the Resolver Information</name>
      <t>The resolver information uses the same format as DNS TXT records.
   The motivation for using the same format as TXT records is to convey a
   small amount of useful information about a DNS resolver.  As a
   reminder, the format rules for TXT records are defined in
   the base DNS specification (<xref section="3.3.14" sectionFormat="of" target="RFC1035"/>) and further
   elaborated in the DNS-based Service Discovery (DNS-SD) specification
   (<xref section="6.1" sectionFormat="of" target="RFC6763"/>). The recommendations to limit the TXT record size are
   discussed in <xref section="6.1" sectionFormat="of" target="RFC6763"/>.</t>
      <t>Similar to DNS-SD, the RESINFO RR type uses "key/value" pairs to
   convey the resolver information.  Each "key/value" pair is encoded
   using the format rules defined in <xref section="6.3" sectionFormat="of" target="RFC6763"/>.  Using
   standardized "key/value" syntax within the RESINFO RR type makes it
   easier for future keys to be defined.  If a DNS client sees unknown
   keys in a RESINFO RR type, it <bcp14>MUST</bcp14> silently ignore them.  The same
   rules for the keys as those defined in <xref section="6.4" sectionFormat="of" target="RFC6763"/> <bcp14>MUST</bcp14>
   be followed for RESINFO.</t>
      <t>Keys <bcp14>MUST</bcp14> either be defined in the IANA registry (<xref target="key-reg"/>) or begin
   with the substring "temp-" for names defined for local use only.</t>
    </section>
    <section anchor="key-val">
      <name>Resolver Information Keys/Values</name>
      <t>The following resolver information keys are defined:</t>
      <dl>
        <dt>qnamemin:</dt>
        <dd>
          <t>If the DNS resolver supports QNAME minimisation <xref target="RFC9156"/>
 to improve DNS privacy, the key is present.  Note that, as per the
 rules for the keys defined in <xref section="6.4" sectionFormat="of" target="RFC6763"/>, if there
 is no '=' in a key, then it is a boolean attribute, simply
 identified as being present, with no value.
</t>
          <t>This is an optional attribute.</t>
        </dd>
        <dt>exterr:</dt>
        <dd>
          <t>If the DNS resolver supports extended DNS errors (EDE) option
 <xref target="RFC8914"/> to return additional information about the cause of DNS
 errors, the value of this key lists the possible extended DNS
 error codes that can be returned by this DNS resolver.  When
 multiple values are present, these values <bcp14>MUST</bcp14> be comma-separated.
</t>
          <t>This is an optional attribute.</t>
        </dd>
        <dt>infourl:</dt>
        <dd>
          <t>An URL that points to the generic unstructured resolver
 information (e.g., DoH APIs supported, possible HTTP status codes
 returned by the DoH server, how to report a problem) for
 troubleshooting purposes.
</t>
          <t>The server <bcp14>MUST</bcp14> support the content-type 'text/html'.  The DNS
 client <bcp14>MUST</bcp14> reject the URL if the scheme is not "https".  The URL
 <bcp14>SHOULD</bcp14> be treated only as diagnostic information for IT staff.  It
 is not intended for end user consumption as the URL can possibily
 provide misleading information.  A DNS client <bcp14>MAY</bcp14> choose to display
 the URL to the end user, if and only if the encrypted resolver has
 sufficient reputation, according to some local policy (e.g., user
 configuration, administrative configuration, or a built-in list of
 respectable resolvers).</t>
          <t>This is an optional attribute.  For example, a DoT server may
 not want to host an HTTPS server.</t>
        </dd>
        <dt>sig:</dt>
        <dd>
          <t>It contains the signature of the RESINFO RR excluding the "sig"  <br/>
attribute.  The signature is generated by the encrypted DNS
resolver using all of the attributes in the RESINFO RR except the "sig"    attribute. The signature algorithm <bcp14>MUST</bcp14> be compatible with the
public key in the DNS resolver's end-entity certificate.  As a  reminder, the server's end-entity certificate's public key will be    <br/>
compatible with the selected authentication algorithm from the  client's "signature_algorithms" TLS extension (<xref section="4.4.2.2" sectionFormat="of" target="RFC8446"/>).
</t>
          <t>This is an optional attribute.</t>
        </dd>
      </dl>
      <t>New keys can be defined as per the procedure defined in <xref target="key-reg"/>.</t>
      <t><xref target="ex-1"/> shows an example of a published resolver information record:</t>
      <figure anchor="ex-1">
        <name>An Example of Resolver Information Record</name>
        <artwork align="center"><![CDATA[
resolver.example.net. 7200 IN RESINFO qnamemin exterr=15,16,17
                      infourl=https://resolver.example.com/guide
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>In order to prevent DNS response forgery attacks, DNS clients <bcp14>MUST</bcp14> either use an authenticated secure
   connection to the DNS resolver or use local DNSSEC validation (<xref section="10" sectionFormat="of" target="RFC8499"/>) to retrieve the resolver information.</t>
      <t>If a resolver supports DDR but does not support RESINFO, the client<br/>
   can receive a positive RESINFO response from an upstream DNS resolver      <br/>
   or an attacker.  To prevent such an attack, resolvers supporting DDR 
   <bcp14>MUST</bcp14> convey the "sig" attribute. DNS clients using DDR for encrypted
   resolver discovery querying for a RESINFO RR <bcp14>MUST</bcp14> validate the signature
   in the "sig" attribute for data origin authentication using the public key
   in the certificate, including ensuring that the certificate contains
   the IP address that DDR uses for validation as per <xref section="4.2" sectionFormat="of" target="I-D.ietf-add-ddr"/>.
   If the signature validation fails, the DNS client <bcp14>MUST</bcp14> reject the RESINFO RR.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <ul empty="true">
        <li>
          <t>Note to the RFC Editor: Please update "RFCXXXX" occurences with the RFC number to be assigned to this document.</t>
        </li>
      </ul>
      <section anchor="resinfo-rr-type">
        <name>RESINFO RR Type</name>
        <t>This document requests IANA to register a new value from the
   "Resource Record (RR) TYPEs" registry of the "Domain Name System
   (DNS) Parameters" registry group available at <xref target="RRTYPE"/>:</t>
        <artwork><![CDATA[
Type: RESINFO
Value: TBD
Meaning: Resolver Information as Key/Value Pairs
Reference: RFCXXXX
]]></artwork>
      </section>
      <section anchor="key-reg">
        <name>DNS Resolver Information Key Registration</name>
        <t>This document requests IANA to create a new registry entitled "DNS
   Resolver Information Keys" under the "Domain Name System (DNS) Parameters" registry group (<xref target="IANA-DNS"/>).  This new registry contains definitions of
   the keys that can be used to provide the resolver information.</t>
        <t>The registration procedure is Specification Required (<xref section="4.6" sectionFormat="of" target="RFC8126"/>).</t>
        <t>The structure of the registry is as follows:</t>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>The key name.  The name <bcp14>MUST</bcp14> conform to the definition in
 <xref target="format"/> of this document.  The IANA registry <bcp14>MUST NOT</bcp14> register names that begin
 with "temp-", so these names can be used freely by any
 implementer.</t>
          </dd>
          <dt>Value Type:</dt>
          <dd>
            <t>The type of the value to be used in the key.</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>A description of the registered key.</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>The reference specification for the registered
 element.</t>
          </dd>
        </dl>
        <t>The initial content of this registry is provided in <xref target="initial"/>.</t>
        <table anchor="initial">
          <name>Initial RESINFO Registry</name>
          <thead>
            <tr>
              <th align="center">Name</th>
              <th align="center">Value Type</th>
              <th align="left">Description</th>
              <th align="center">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">qnamemin</td>
              <td align="center">None</td>
              <td align="left">The presence of the key name indicates that 'qnameminimization' is enabled</td>
              <td align="center">RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">exterr</td>
              <td align="center">16-bit unsigned integer</td>
              <td align="left">Lists the set of supported extended DNS errors. It must be a value in the "Extended DNS Error Codes" registry.</td>
              <td align="center">RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">infourl</td>
              <td align="center">string</td>
              <td align="left">Provides an URL that points to an unstructured resolver information that is used for troubleshooting</td>
              <td align="center">RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">sig</td>
              <td align="center">binary</td>
              <td align="left">Includes a signature of RESINFO RR for data origin authentication</td>
              <td align="center">RFCXXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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="RFC1035">
          <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="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="RFC9156">
          <front>
            <title>DNS Query Name Minimisation to Improve Privacy</title>
            <author fullname="S. Bortzmeyer" initials="S." surname="Bortzmeyer"/>
            <author fullname="R. Dolmans" initials="R." surname="Dolmans"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="November" year="2021"/>
            <abstract>
              <t>This document describes a technique called "QNAME minimisation" to improve DNS privacy, where the DNS resolver no longer always sends the full original QNAME and original QTYPE to the upstream name server. This document obsoletes RFC 7816.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9156"/>
          <seriesInfo name="DOI" value="10.17487/RFC9156"/>
        </reference>
        <reference anchor="RFC8914">
          <front>
            <title>Extended DNS Errors</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="E. Hunt" initials="E." surname="Hunt"/>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines an extensible method to return additional information about the cause of DNS errors. Though created primarily to extend SERVFAIL to provide additional information about the cause of DNS and DNSSEC failures, the Extended DNS Errors option defined in this document allows all response types to contain extended error information. Extended DNS Error information does not change the processing of RCODEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8914"/>
          <seriesInfo name="DOI" value="10.17487/RFC8914"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RRTYPE" target="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml">
          <front>
            <title>Resource Record (RR) TYPEs</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA-DNS" target="http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4">
          <front>
            <title>Domain Name System (DNS) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-add-dnr">
          <front>
            <title>DHCP and Router Advertisement Options for the Discovery of Network-designated Resolvers (DNR)</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Dan Wing" initials="D." surname="Wing">
              <organization>Citrix Systems, Inc.</organization>
            </author>
            <author fullname="Neil Cook" initials="N." surname="Cook">
              <organization>Open-Xchange</organization>
            </author>
            <author fullname="Tommy Jensen" initials="T." surname="Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="27" month="April" year="2023"/>
            <abstract>
              <t>   The document specifies new DHCP and IPv6 Router Advertisement options
   to discover encrypted DNS resolvers (e.g., DNS-over-HTTPS, DNS-over-
   TLS, DNS-over-QUIC).  Particularly, it allows a host to learn an
   authentication domain name together with a list of IP addresses and a
   set of service parameters to reach such encrypted DNS resolvers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-dnr-16"/>
        </reference>
        <reference anchor="I-D.ietf-add-ddr">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Patrick McManus" initials="P." surname="McManus">
              <organization>Fastly</organization>
            </author>
            <author fullname="Tommy Jensen" initials="T." surname="Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="5" month="August" year="2022"/>
            <abstract>
              <t>   This document defines Discovery of Designated Resolvers (DDR), a
   mechanism for DNS clients to use DNS records to discover a resolver's
   encrypted DNS configuration.  An encrypted DNS resolver discovered in
   this manner is referred to as a "Designated Resolver".  This
   mechanism can be used to move from unencrypted DNS to encrypted DNS
   when only the IP address of a resolver is known.  This mechanism is
   designed to be limited to cases where unencrypted DNS resolvers and
   their designated resolvers are operated by the same entity or
   cooperating entities.  It can also be used to discover support for
   encrypted DNS protocols when the name of an encrypted DNS resolver is
   known.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-ddr-10"/>
        </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="BCP" value="219"/>
          <seriesInfo name="RFC" value="8499"/>
          <seriesInfo name="DOI" value="10.17487/RFC8499"/>
        </reference>
        <reference anchor="RFC8484">
          <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="RFC7858">
          <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="RFC9250">
          <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="I-D.pp-add-resinfo">
          <front>
            <title>DNS Resolver Information Self-publication</title>
            <author fullname="Puneet Sood" initials="P." surname="Sood">
              <organization>Google</organization>
            </author>
            <author fullname="Paul E. Hoffman" initials="P. E." surname="Hoffman">
              <organization>ICANN</organization>
            </author>
            <date day="30" month="June" year="2020"/>
            <abstract>
              <t>   This document describes methods for DNS resolvers to self-publish
   information about themselves.  The information is returned as a JSON
   object.  The names in this object are defined in an IANA registry
   that allows for light-weight registration.  Applications and
   operating systems can use the methods defined here to get the
   information from resolvers in order to make choices about how to send
   future queries to those resolvers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-pp-add-resinfo-02"/>
        </reference>
      </references>
    </references>
    <?line 288?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This specification leverages the work that has been documented in
   <xref target="I-D.pp-add-resinfo"/>.</t>
      <t>Thanks to Tommy Jensen, Vittorio Bertola, Vinny Parla, Chris Box, Ben
   Schwartz, Tony Finch, Daniel Kahn Gillmor, Eric Rescorla, Shashank
   Jain, Florian Obser, and Richard Baldry for the discussion and
   comments.</t>
      <t>Thanks to Mark Andrews, Joe Abley, Paul Wouters, Tim
   Wicinski, and Steffen Nurpmeso for the discussion on the RR
   formatting rules.</t>
      <t>Thanks to Tommy Jensen for the Shepherd review.</t>
      <t>Thanks to Johan Stenstam for the dns-dir review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
