<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnssd-multi-qtypes-14" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>DNS Multiple QTYPEs</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnssd-multi-qtypes-14"/>
    <author initials="R." surname="Bellis" fullname="Ray Bellis">
      <organization abbrev="ISC">Internet Systems Consortium, Inc.</organization>
      <address>
        <postal>
          <street>PO Box 360</street>
          <city>Newmarket</city>
          <code>NH 03857</code>
          <country>USA</country>
        </postal>
        <phone>+1 650 423 1300</phone>
        <email>ray@isc.org</email>
      </address>
    </author>
    <date year="2026" month="February" day="27"/>
    <area>Internet</area>
    <workgroup>DNSSD</workgroup>
    <keyword>DNS</keyword>
    <keyword>resource record</keyword>
    <abstract>
      <?line 35?>

<t>This document specifies a method for a DNS client to request additional
DNS record types to be delivered alongside the primary record type
specified in the question section of a DNS QUERY (OpCode=0).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://dnssd-wg.github.io/draft-ietf-dnssd-multi-qtypes/draft-ietf-dnssd-multi-qtypes.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dnssd-multi-qtypes/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        DNSSD Working Group mailing list (<eref target="mailto:dnssd@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dnssd/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dnssd/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dnssd-wg/draft-ietf-dnssd-multi-qtypes"/>.</t>
    </note>
  </front>
  <middle>
    <?line 41?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A commonly requested DNS <xref target="STD13"/> feature is the ability to receive
multiple related resource records (RRs) in a single DNS response.</t>
      <t>For example, it may be desirable to receive the A, AAAA, and HTTPS
RRs for a domain name together, rather than having to issue
multiple queries.</t>
      <t>The DNS wire protocol in theory supported having multiple questions in a
single packet, but in practice this does not work.  In <xref target="RFC9619"/>,
<xref target="RFC1035"/> is updated to only permit a single question in a QUERY
(OpCode=0) request.</t>
      <t>Sending QTYPE=ANY does not guarantee that all resource record sets (RRsets) will be returned.
<xref section="4.1" sectionFormat="of" target="RFC8482"/> specifies that responders may return a single RRset of
their choosing.</t>
      <t>This document provides a solution for those cases where only the QTYPE
varies by specifying a new option for the Extension Mechanisms for DNS
(EDNS) <xref target="RFC6891"/> that contains an additional list of QTYPE values
that the client wishes to receive in addition to the single
QTYPE appearing in the question section.  A different EDNS option is
used in response packets as protection against DNS middleboxes that echo
EDNS options verbatim.</t>
      <t>The specification described herein is applicable both for queries from a
stub resolver to recursive servers, and from recursive resolvers to
authoritative servers. It does not apply to Multicast DNS queries
<xref target="RFC6762"/>, which are already designed to allow requesting multiple
records in a single query, but is applicable to DNS-Based Service
Discovery (DNS-SD) <xref target="RFC6763"/>.</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 DNS terminology defined in <xref target="RFC9499"/>.</t>
    </section>
    <section anchor="specification">
      <name>Specification</name>
      <section anchor="multiple-qtype-edns-options-format">
        <name>Multiple QTYPE EDNS Options Format</name>
        <t>The overall format of an EDNS option is shown for reference in <xref target="fig-edns"/>,
per <xref target="RFC6891"/>, followed by the option specific data.</t>
        <figure anchor="fig-edns">
          <name>EDNS Option Format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="552" viewBox="0 0 552 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,32 L 32,112" fill="none" stroke="black"/>
                <path d="M 32,144 L 32,160" fill="none" stroke="black"/>
                <path d="M 544,32 L 544,112" fill="none" stroke="black"/>
                <path d="M 544,144 L 544,160" fill="none" stroke="black"/>
                <path d="M 32,32 L 544,32" fill="none" stroke="black"/>
                <path d="M 32,64 L 544,64" fill="none" stroke="black"/>
                <path d="M 32,96 L 544,96" fill="none" stroke="black"/>
                <path d="M 32,160 L 544,160" fill="none" stroke="black"/>
                <g class="text">
                  <text x="12" y="52">0:</text>
                  <text x="288" y="52">OPTION-CODE</text>
                  <text x="12" y="84">2:</text>
                  <text x="288" y="84">OPTION-LENGTH</text>
                  <text x="12" y="116">4:</text>
                  <text x="32" y="132">:</text>
                  <text x="288" y="132">OPTION-DATA</text>
                  <text x="544" y="132">:</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    0: |                          OPTION-CODE                          |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    2: |                         OPTION-LENGTH                         |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    4: |                                                               |
       :                          OPTION-DATA                          :
       |                                                               |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
]]></artwork>
          </artset>
        </figure>
        <t>OPTION-CODE: MQTYPE-Query (20) in queries and MQTYPE-Response (21) in responses.</t>
        <t>OPTION-LENGTH: Size (in octets) of OPTION-DATA.</t>
        <t>OPTION-DATA: Option specific, as depicted in <xref target="fig-qtx"/>.</t>
        <figure anchor="fig-qtx">
          <name>MQTYPE OPTION-DATA Format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="552" viewBox="0 0 552 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,32 L 32,80" fill="none" stroke="black"/>
                <path d="M 32,112 L 32,160" fill="none" stroke="black"/>
                <path d="M 544,32 L 544,80" fill="none" stroke="black"/>
                <path d="M 544,112 L 544,160" fill="none" stroke="black"/>
                <path d="M 32,32 L 544,32" fill="none" stroke="black"/>
                <path d="M 32,64 L 544,64" fill="none" stroke="black"/>
                <path d="M 32,128 L 544,128" fill="none" stroke="black"/>
                <path d="M 32,160 L 544,160" fill="none" stroke="black"/>
                <g class="text">
                  <text x="12" y="52">0:</text>
                  <text x="288" y="52">QT1</text>
                  <text x="12" y="84">2:</text>
                  <text x="32" y="100">:</text>
                  <text x="288" y="100">...</text>
                  <text x="544" y="100">:</text>
                  <text x="288" y="148">QTn</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    0: |                              QT1                              |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    2: |                                                               |
       :                              ...                              :
       |                                                               |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
       |                              QTn                              |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
]]></artwork>
          </artset>
        </figure>
        <t>A list of 2-octet values in network order (MSB first) each specifying a
DNS RRTYPE that must be for a data RRTYPE as described in
<xref section="3.1" sectionFormat="of" target="RFC6895"/>.  Individual values from the list (with unspecified index "x") are referred to as QTx in the following sections.</t>
      </section>
      <section anchor="client-request-generation">
        <name>Client Request Generation</name>
        <t>DNS clients implementing this specification <bcp14>MUST</bcp14> generate packets that
conform to the server request parsing rules described in <xref target="sec-server-request"/>.</t>
        <t>The choice of when a client implementation should attempt to coalesce
queries for multiple QTYPEs using this method is implementation specific
and not discussed further herein. However, careful considerations should
be taken into account when coalescing queries on behalf of an application
if such a feature is not explicitly requested by the application. How
an application interacts with an underlying name resolution library is
internal to the implementation and is thus out of scope.</t>
      </section>
      <section anchor="sec-server-request">
        <name>Server Request Parsing</name>
        <t>In addition to the error cases discussion in <xref section="7" sectionFormat="of" target="RFC6891"/>,
the server <bcp14>MUST</bcp14> return a FORMERR response if the server receives:</t>
        <ul spacing="normal">
          <li>
            <t>An MQTYPE-Query option in any inbound DNS message with an
OpCode other than QUERY (0).</t>
          </li>
          <li>
            <t>An MQTYPE-Response option in any inbound DNS message.</t>
          </li>
          <li>
            <t>More than one MQTYPE-Query option in a query.</t>
          </li>
          <li>
            <t>An MQTYPE-Query in a query that contains no primary
question (i.e. QDCOUNT=0).</t>
          </li>
          <li>
            <t>An MQTYPE-Query option in a query where the primary question
is a non-data RRTYPE (e.g. ANY, AXFR).</t>
          </li>
          <li>
            <t>An MQTYPE-Query option with an empty QT list.</t>
          </li>
          <li>
            <t>An invalid QTx (e.g. one corresponding to a Meta RRTYPE).</t>
          </li>
          <li>
            <t>A duplicate QTx (or one duplicating the primary QTYPE field)
in a query.</t>
          </li>
        </ul>
      </section>
      <section anchor="server-response-generation">
        <name>Server Response Generation</name>
        <t>A conforming server that receives an MQTYPE-Query option in a valid query <bcp14>MUST</bcp14>
return an MQTYPE-Response option in its response, even if
that response is truncated (TC=1). This is necessary to indicate that the server does
support this extension. Refer to <xref target="sec-server-request"/> for invalid queries.</t>
        <t>The server <bcp14>MUST</bcp14> first start constructing a response for the primary
(QNAME, QCLASS, QTYPE) tuple specified in the Question section per
the existing DNS sections.  The RCODE and all other flags (such as AA or
AD) <bcp14>MUST</bcp14> be determined at this time.</t>
        <t>If this initial response results in truncation (TC=1) then the
additional queries specified in the MQTYPE-Query option <bcp14>MUST NOT</bcp14> be
processed.</t>
        <t>After the initial response is prepared, the server <bcp14>MUST</bcp14> attempt to
combine the responses for individual (QNAME, QCLASS, QTx) combinations
into the response for the first query.  If a recursive server does
not yet have those responses available it <bcp14>MAY</bcp14> first make appropriate
outbound queries to populate its caches.</t>
        <t>For each individual combination the server <bcp14>MUST</bcp14> evaluate the resulting
RCODE and other flags and check that they all match the values generated
from the primary query.</t>
        <t>If any mismatch is detected the mismatching additional response <bcp14>MUST NOT</bcp14>
be included in the final combined response and its QTx value <bcp14>MUST NOT</bcp14> be
included in the MQTYPE-Response option's list.  This might happen, for
example, if the primary query resulted in a NOERROR response but a QTx
query resulted in a SERVFAIL, or if the primary response has AA=0 but a
QTx response has AA=1, such as might happen if the NS and DS records
were both requested at the parent side of a zone cut.</t>
        <t>The server <bcp14>MUST</bcp14> attempt to combine the remaining individual RRs into the
same sections in which they would have appeared in a standalone query,
i.e. as if each combination had been "the question" per
<xref section="4.1" sectionFormat="of" target="RFC1035"/>.</t>
        <t>The server <bcp14>MUST</bcp14> detect duplicate RRs and keep only a single copy of each
RR in its respective section.  Duplicates can occur, for example, in the Answer
section if a CNAME chain is involved, or in the Authority section if
multiple QTYPEs don't exist, etc.  Note that RRs can be legitimately
duplicated in different sections such as for the (SOA, TYPE12345)
combination at a zone apex where TYPE12345 is not present.</t>
        <t>Handling of an MQTYPE-Query option <bcp14>MUST NOT</bcp14> itself trigger a truncated
response.  If response size (or other) limits do not allow all of the
data obtained by querying for an additional QTx to be included in the
final response in their entirety (i.e. as complete RRsets) then the
server <bcp14>MUST NOT</bcp14> include the respective QTx in the MQTYPE-Response
option's list and <bcp14>MAY</bcp14> stop processing further QTx combinations.</t>
        <t>If all RRs for a single QTx combination fit into the message then the
server <bcp14>MUST</bcp14> include the respective QTx in the MQTYPE-Response
option's list to indicate that the given query type was completely
processed.</t>
        <t>Note that it is possible for the resulting MQTYPE-Response option to
contain an empty list, but as described above the option must still be
returned.</t>
      </section>
      <section anchor="client-response-processing">
        <name>Client Response Processing</name>
        <t>If the response to a query containing an MQTYPE-Query option does not
contain an MQTYPE-Response option, or if it erroneously contains an
MQTYPE-Query option, the client <bcp14>MUST</bcp14> treat the response as if this
option is unsupported by the server and <bcp14>MUST</bcp14> process the primary
response as if the MQTYPE-Query option had not been used.</t>
        <t>In the above case, or if the server generates a FORMERR response, the
client <bcp14>MUST</bcp14> issue additional standalone queries (that is, without using the
MQTYPE-Query option) for all QTYPEs for which an answer is still
required.</t>
        <t>If the MQTYPE-Response option is present more than once or if a QTx
value is duplicated (or duplicates the primary QTYPE field) the client
<bcp14>MUST</bcp14> treat the answer as invalid (equivalent to FORMERR).</t>
        <t>The Question section and the list of types present in the
MQTYPE-Response option indicates the list of (QNAME, QCLASS, qtypes)
combinations which are completely answered and contained within the
received response.  The answers to all query combinations share the same
RCODE and all other flags.</t>
        <t>All RRs required by existing DNS specifications are expected to be
present in the respective sections of the DNS message, including proofs
of nonexistence where required. The client <bcp14>MUST NOT</bcp14> rely on any
particular order of RRs in the message sections.</t>
        <t>For the purposes of <xref section="5.4.1" sectionFormat="of" target="RFC2181"/> any authoritative
answers received <bcp14>MUST</bcp14> be ranked the same as the answer for the primary
question.</t>
        <t>Clients <bcp14>MUST</bcp14> take into account that individual RRs might originate from
different DNS zones and that proofs of non-existence might have been
produced by different signers.</t>
        <t>Absence of QTx values which were requested by the client but are not present
in the MQTYPE-Response option indicates that:</t>
        <ul spacing="normal">
          <li>
            <t>(for responses from recursive servers) the server does not have
any records for that QTx value in cache, and/or</t>
          </li>
          <li>
            <t>the individual responses could not be combined into one message
because of RCODE or other flag mismatches, and/or</t>
          </li>
          <li>
            <t>the server was unwilling to process the request (for example, because a limit
was exceeded), and/or</t>
          </li>
          <li>
            <t>the response size limit would be exceeded</t>
          </li>
        </ul>
        <t>The client <bcp14>MUST</bcp14> subsequently initiate separate standalone queries for
all QTx values for which an answer is still required.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The method documented here does not change any of the security
properties of the DNS protocol itself.</t>
      <t>It should however be noted that this method does increase the potential
amplification factor when the DNS protocol is used as a vector for a
denial-of-service attack.  A further risk is being able to maliciously
cause recursive servers to perform large amounts of additional work.</t>
      <t>Implementors <bcp14>SHOULD</bcp14> therefore allow operators to configure limits on the
number of QTx values specified and/or the resulting response size.  The
recommended values of those limits will depend on the environment in
which this specification is used.  In public DNS it is expected that a
limit of four QTx values would be appropriate, but when used with DNS-SD
or within private networks higher limits would be acceptable.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA has assigned the following values in the "DNS EDNS0 Option Codes (OPT)"
registry within "Domain Name System (DNS) Parameters" registry group:</t>
      <table>
        <name>MQTYPE EDNS Option Numbers</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Name</th>
            <th align="left">Status</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">20</td>
            <td align="left">MQTYPE-Query</td>
            <td align="left">Optional</td>
            <td align="left">RFC TBD</td>
          </tr>
          <tr>
            <td align="left">21</td>
            <td align="left">MQTYPE-Response</td>
            <td align="left">Optional</td>
            <td align="left">RFC TBD</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The author wishes to thank the following for their feedback and reviews
during the initial development of this document: Michael Graff, Olafur
Gudmundsson, Matthijs Mekking, and Paul Vixie.</t>
      <t>In addition the author wishes to thank the following for subsequent
review during discussion in the DNSSD Working Group: Chris Box, Stuart
Cheshire, Esko Dijk, Ted Lemon, David Schinazi and Petr Spacek.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="STD13" target="https://www.rfc-editor.org/info/std13">
          <reference anchor="RFC1034" target="https://www.rfc-editor.org/info/rfc1034">
            <front>
              <title>Domain names - concepts and facilities</title>
              <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
              <date month="November" year="1987"/>
              <abstract>
                <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="13"/>
            <seriesInfo name="RFC" value="1034"/>
            <seriesInfo name="DOI" value="10.17487/RFC1034"/>
          </reference>
          <reference anchor="RFC1035" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
        <reference anchor="RFC9619">
          <front>
            <title>In the DNS, QDCOUNT Is (Usually) One</title>
            <author fullname="R. Bellis" initials="R." surname="Bellis"/>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>This document updates RFC 1035 by constraining the allowed value of the QDCOUNT parameter in DNS messages with OPCODE = 0 (QUERY) to a maximum of one, and it specifies the required behavior when values that are not allowed are encountered.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9619"/>
          <seriesInfo name="DOI" value="10.17487/RFC9619"/>
        </reference>
        <reference anchor="RFC6891">
          <front>
            <title>Extension Mechanisms for DNS (EDNS(0))</title>
            <author fullname="J. Damas" initials="J." surname="Damas"/>
            <author fullname="M. Graff" initials="M." surname="Graff"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders. This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
              <t>This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations. It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="75"/>
          <seriesInfo name="RFC" value="6891"/>
          <seriesInfo name="DOI" value="10.17487/RFC6891"/>
        </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="RFC6895">
          <front>
            <title>Domain Name System (DNS) IANA Considerations</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This document specifies Internet Assigned Numbers Authority (IANA) parameter assignment considerations for the allocation of Domain Name System (DNS) resource record types, CLASSes, operation codes, error codes, DNS protocol message header bits, and AFSDB resource record subtypes. It obsoletes RFC 6195 and updates RFCs 1183, 2845, 2930, and 3597.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="42"/>
          <seriesInfo name="RFC" value="6895"/>
          <seriesInfo name="DOI" value="10.17487/RFC6895"/>
        </reference>
        <reference anchor="RFC2181">
          <front>
            <title>Clarifications to the DNS Specification</title>
            <author fullname="R. Elz" initials="R." surname="Elz"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <date month="July" year="1997"/>
            <abstract>
              <t>This document considers some areas that have been identified as problems with the specification of the Domain Name System, and proposes remedies for the defects identified. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2181"/>
          <seriesInfo name="DOI" value="10.17487/RFC2181"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8482">
          <front>
            <title>Providing Minimal-Sized Responses to DNS Queries That Have QTYPE=ANY</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson"/>
            <author fullname="M. Majkowski" initials="M." surname="Majkowski"/>
            <author fullname="E. Hunt" initials="E." surname="Hunt"/>
            <date month="January" year="2019"/>
            <abstract>
              <t>The Domain Name System (DNS) specifies a query type (QTYPE) "ANY". The operator of an authoritative DNS server might choose not to respond to such queries for reasons of local policy, motivated by security, performance, or other reasons.</t>
              <t>The DNS specification does not include specific guidance for the behavior of DNS servers or clients in this situation. This document aims to provide such guidance.</t>
              <t>This document updates RFCs 1034 and 1035.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8482"/>
          <seriesInfo name="DOI" value="10.17487/RFC8482"/>
        </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="RFC9499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <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 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 updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </reference>
      </references>
    </references>
    <?line 335?>

<section anchor="examples">
      <name> Examples</name>
      <t>The examples below are shown as might be reported by the ISC Dig utility.
For the purposes of brevity irrelevant content is omitted.</t>
      <section anchor="stub-query-for-a-with-mqtype-query-for-aaaa-https">
        <name>Stub query for A with MQType-Query for AAAA + HTTPS</name>
        <t>In this example a stub resolver has requested the A record for
www.example.com, along with an MQTYPE-Query option requesting AAAA and
HTTPS records.  The stub resolver has also set the DO bit, indicating
DNSSEC support.</t>
        <t>The presence of the HTTPS QTYPE in the MQTYPE-Response option of the response
coupled with its absence from the answer section indicates that the
recursive server currently holds no data for this QTYPE.  The corresponding
type fields in the NSEC3 record further provide a cryptographic proof of
non-existence for the HTTPS QTYPE and the SOA record also indicates a
"negative answer".</t>
        <figure anchor="figaaaahttps">
          <name>A + AAAA + HTTPS</name>
          <artwork><![CDATA[
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11111
;; flags: qr rd ra ad
;; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1232
; MQTYPE-Response: AAAA HTTPS

;; QUESTION SECTION:
;www.example.com.         IN  A

;; ANSWER SECTION:
www.example.com.    2849  IN  A       192.0.2.1
www.example.com.    2849  IN  RRSIG   A [...]
www.example.com.    3552  IN  AAAA    3fff::1234
www.example.com.    3552  IN  RRSIG   AAAA [...]

;; AUTHORITY SECTION:
example.com.        2830  IN  SOA     ns.example.com. [...]
example.com.        2830  IN  RRSIG   SOA 13 2 [...]
[...].example.com.  2830  IN  NSEC3   [...] A TXT AAAA RRSIG
[...].example.com.  2830  IN  RRSIG   NSEC3 [...]
]]></artwork>
        </figure>
      </section>
      <section anchor="stub-query-for-ds-with-mqtype-query-for-dnskey">
        <name>Stub query for DS with MQType-Query for DNSKEY</name>
        <t>In this similar example, the primary QTYPE is for DS and the MQTYPE-Query
field only contains DNSKEY.</t>
        <t>Both the DS and DNSKEY records are returned, along with their corresponding
RRSIG records.</t>
        <figure anchor="figdsdnskey">
          <name>Stub DS + DNSKEY</name>
          <artwork><![CDATA[
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33333
;; flags: qr rd ra ad
;; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1232
; MQTYPE-Response: DNSKEY

;; QUESTION SECTION:
;example.com.                 IN      DS

;; ANSWER SECTION:
example.com.        625   IN  DNSKEY  256 3 13 [...]
example.com.        625   IN  DNSKEY  257 3 13 [...]
example.com.        625   IN  RRSIG   DNSKEY [...] example.com. [...]
example.com.      86185   IN  DS      370 13 2 [...]
example.com.      86185   IN  RRSIG   DS [...] com. [...]
]]></artwork>
        </figure>
      </section>
      <section anchor="recursive-query-for-ds-with-mqtype-query-for-ns">
        <name>Recursive query for DS with MQType-Query for NS</name>
        <t>In this instance, a recursive resolver is sending a DS record query to the
parent zone's authoritative server and simultaneously requesting the NS
records for the zone.</t>
        <t>Since the DS record response is marked as authoritative (AA = 1) but the
NS record data on the parent side of a zone cut is not authoritative
(AA = 0) the server is unable to merge the responses, and the NS QTYPE
is omitted from the MQTYPE-Response field.</t>
        <figure anchor="figdsns">
          <name>Recursive DS + NS</name>
          <artwork><![CDATA[
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33333
;; flags: qr aa
;; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1232
; MQTYPE-Response: [empty]

;; QUESTION SECTION:
;example.com.             IN  DS

;; ANSWER SECTION:
example.com.      86185   IN  DS      370 13 2 [...]
example.com.      86185   IN  RRSIG   DS [...] com. [...]
]]></artwork>
        </figure>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
