<?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.3 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnssd-multi-qtypes-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title>DNS Multiple QTYPEs</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnssd-multi-qtypes-00"/>
    <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="2023" month="December" day="04"/>
    <area>Internet</area>
    <workgroup>DNSSD Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 31?>

<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.</t>
    </abstract>
  </front>
  <middle>
    <?line 37?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>RFC EDITOR: PLEASE REMOVE THE FOLLOWING PARAGRAPH BEFORE PUBLISHING:
The source for this draft is maintained in GitHub at:
https://github.com/raybellis/draft-ietf-dnssd-multi-qtypes
Please submit suggested changes as issues or pull requests there.</t>
      <t>A commonly requested DNS <xref target="RFC1035"/> 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 both the A and AAAA
records for a domain name together, rather than having to issue
multiple queries.</t>
      <t>The DNS wire protocol in theory supports having multiple questions in
a single packet, but in practise this does not work:</t>
      <ul spacing="normal">
        <li>
          <t>Each question consists of the tuple (QNAME, QTYPE, QCLASS).  Since
each question has its own QNAME field it would be possible for one
name to exist and another to not exist, resulting in an
inconsistent response code.</t>
        </li>
        <li>
          <t><xref target="RFC1035"/> says that QDCOUNT is "usually 1" but the only documented
exceptions relate to the IQuery OpCode which was obsoleted in <xref target="RFC3425"/>.
Other text in <xref target="RFC1035"/> strongly implies a singular question.</t>
        </li>
        <li>
          <t>The idea that only a single question is allowed is sufficiently
entrenched that many DNS servers will simply return an error (or
fail to response at all) if they receive a query with a question
count (QDCOUNT) of more than one.</t>
        </li>
      </ul>
      <t>To mitigate these issues, this document constrains the problem to 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.</t>
      <t>TODO: why not "ANY" ?</t>
    </section>
    <section anchor="terminology-used-in-this-document">
      <name>Terminology used in this document</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" 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>
    </section>
    <section anchor="description">
      <name>Description</name>
      <section anchor="multiple-qtype-edns-option-format">
        <name>Multiple QTYPE EDNS Option Format</name>
        <t>The overall format of an EDNS option is shown for reference below,
per <xref target="RFC6891"/>, followed by the option specific data:</t>
        <artwork><![CDATA[
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0: |                          OPTION-CODE                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2: |                         OPTION-LENGTH                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4: |                                                               |
   /                          OPTION-DATA                          /
   /                                                               /
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
]]></artwork>
        <t>OPTION-CODE: TBD by IANA</t>
        <t>OPTION-LENGTH: Size (in octets) of OPTION-DATA.</t>
        <t>OPTION-DATA: Option specific, as below:</t>
        <artwork><![CDATA[
                +0 (MSB)                            +1 (LSB)
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0: |QTD|   reserved    |  QTCOUNT  |           QT1 (MSB)           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2: |           QT1 (LSB)           |              ...              |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |              ...             ///          QTn (MSB)           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |           QTn (LSB)           |
   +---+---+---+---+---+---+---+---+
]]></artwork>
        <t>QTD: this bit indicates the direction of the packet.  It MUST be clear
(0) in a request and set (1) in a response.</t>
        <t>QTCOUNT: a 3 bit field with range 0 .. 7 specifying the number of QT
fields to follow.  NB: Whilst the QTCOUNT could in theory be calculated
based on the OPTION-LENGTH field, having it explicitly specified ensures
a sensible constraint on its range of values.</t>
        <t>QTn: a 2 byte field (MSB first) specifying a DNS RR type.  The RR type
MUST be for a real resource record, and MUST NOT refer to a pseudo RR
type such as "OPT", "IXFR", "TSIG", "*", etc.</t>
      </section>
      <section anchor="response-generation">
        <name>Response Generation</name>
        <section anchor="server-side-processing">
          <name>Server Side Processing</name>
          <t>A conforming server that receives a Multiple QTYPE Option in a query
MUST return a Multiple QTYPE Option in its response.</t>
          <t>The QTD bit in that response MUST be set (1) as protection against
servers which simply echo unknown EDNS options verbatim.  If the QTD bit
in a response is zero the client MUST treat the response as if this
option is unsupported.</t>
          <t>The server SHOULD attempt to return any resource records known to it
that match the additional (QNAME, QTn, QCLASS) tuples.  These records
MUST be returned in the Answer Section of the response, but the answer
for the primary QTYPE from the Question Section MUST be included first.</t>
          <t>For any particular QTn in the query, if the server provides additional
answers, or has knowledge that the RR type type does not exist for that
QNAME (a "negative answer"), it must include that QTn value in the
Multiple QTYPE Option of its response.</t>
          <t>A negative answer is therefore indicated by the combination of the
presence of a QTn value in the Multiple QTYPE Option and the absence of
a matching record in the Answer Section.  This is necessary (in the
absence of DNSSEC) to differentiate between absence of the record from
the zone and absence of the record from the response.</t>
          <t>A server that is authoritative for the specified QNAME on receipt of a
Multiple QTYPE Option MUST attempt to return all specified RR types
except where that would result in truncation in which case it may omit
some (or all) of the records for the additional RR types.  Those RR
types MUST then also be omitted from the Multiple QTYPE Option in the
response.</t>
          <t>A caching recursive server receiving a Multiple QTYPE Option SHOULD
attempt to fill its positive and negative caches with all of the
specified RR types before returning its response to the client.</t>
          <t>TODO: is there a case for mandatory answers, i.e. the client saying I
<em>really</em> want all these?</t>
        </section>
        <section anchor="client-side-processing">
          <name>Client Side Processing</name>
          <t>Recursive resolvers MAY use this method to obtain multiple records from
an authoritative server.  For the purposes of Section 5.4.1 of
<xref target="RFC2181"/> any authoritative answers received MUST be ranked the same
as the answer for the primary question.</t>
        </section>
        <section anchor="dnssec">
          <name>DNSSEC</name>
          <t>If the DNS client sets the "DNSSEC OK" (DO) bit in the query then the
server MUST also return the related DNSSEC records that would have been
returned in a standalone query for the same QTYPE.</t>
          <t>A negative answer from a signed zone MUST contain the appropriate
authenticated denial of existence records, per <xref target="RFC4034"/> and
<xref target="RFC5155"/>.</t>
          <t>In a signed zone there is a theoretical risk of valid signatures for one
RR type and invalid signatures for another.  This is the only case known
to the author where the response code for any particular QNAME may be
inconsistent across different RR types.</t>
          <t>Should a validating resolver produce NOERROR for some RR types and
SERVFAIL for others it MUST omit the RR types that failed to validate
from its response and from the QTn fields on the Multiple QTYPE option.
The client MAY then initiate standalone queries for those RR types.</t>
        </section>
      </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.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign a new value in the DNS EDNS0 Option Codes
registry.</t>
    </section>
    <section 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, Paul Vixie.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1035" target="https://www.rfc-editor.org/info/rfc1035" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
          <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="RFC6891" target="https://www.rfc-editor.org/info/rfc6891" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6891.xml">
          <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" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="RFC2181" target="https://www.rfc-editor.org/info/rfc2181" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2181.xml">
          <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>
        <reference anchor="RFC4034" target="https://www.rfc-editor.org/info/rfc4034" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4034.xml">
          <front>
            <title>Resource Records for the DNS Security Extensions</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of resource records and protocol modifications that provide source authentication for the DNS. This document defines the public key (DNSKEY), delegation signer (DS), resource record digital signature (RRSIG), and authenticated denial of existence (NSEC) resource records. The purpose and format of each resource record is described in detail, and an example of each resource record is given.</t>
              <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4034"/>
          <seriesInfo name="DOI" value="10.17487/RFC4034"/>
        </reference>
        <reference anchor="RFC5155" target="https://www.rfc-editor.org/info/rfc5155" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5155.xml">
          <front>
            <title>DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="G. Sisson" initials="G." surname="Sisson"/>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="D. Blacka" initials="D." surname="Blacka"/>
            <date month="March" year="2008"/>
            <abstract>
              <t>The Domain Name System Security (DNSSEC) Extensions introduced the NSEC resource record (RR) for authenticated denial of existence. This document introduces an alternative resource record, NSEC3, which similarly provides authenticated denial of existence. However, it also provides measures against zone enumeration and permits gradual expansion of delegation-centric zones. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5155"/>
          <seriesInfo name="DOI" value="10.17487/RFC5155"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3425" target="https://www.rfc-editor.org/info/rfc3425" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3425.xml">
          <front>
            <title>Obsoleting IQUERY</title>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <date month="November" year="2002"/>
            <abstract>
              <t>The IQUERY method of performing inverse DNS lookups, specified in RFC 1035, has not been generally implemented and has usually been operationally disabled where it has been implemented. Both reflect a general view in the community that the concept was unwise and that the widely-used alternate approach of using pointer (PTR) queries and reverse-mapping records is preferable. Consequently, this document deprecates the IQUERY operation, declaring it entirely obsolete. This document updates RFC 1035. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3425"/>
          <seriesInfo name="DOI" value="10.17487/RFC3425"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
If4DfFJxTKkhAAA=

-->

</rfc>
