<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-deleg-06" category="std" consensus="true" submissionType="IETF" updates="1034, 1035, 4035, 6672, 6840" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="DELEG">Extensible Delegation for DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-deleg-06"/>
    <author initials="T." surname="April" fullname="Tim April">
      <organization>Google, LLC</organization>
      <address>
        <email>ietf@tapril.net</email>
      </address>
    </author>
    <author initials="P." surname="Špaček" fullname="Petr Špaček">
      <organization>ISC</organization>
      <address>
        <email>pspacek@isc.org</email>
      </address>
    </author>
    <author initials="R." surname="Weber" fullname="Ralf Weber">
      <organization>Akamai Technologies</organization>
      <address>
        <email>rweber@akamai.com</email>
      </address>
    </author>
    <author initials="D." surname="Lawrence" fullname="David C Lawrence">
      <organization>Salesforce</organization>
      <address>
        <email>tale@dd.org</email>
      </address>
    </author>
    <date year="2025" month="November" day="26"/>
    <area>Internet</area>
    <workgroup>deleg</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>DNS</keyword>
    <keyword>delegation</keyword>
    <abstract>
      <?line 51?>
<t>This document proposes a new extensible method for the delegation of authority for a domain in the Domain Name System (DNS) using DELEG and DELEGI records.</t>
      <t>A delegation in the DNS enables efficient and distributed management of the DNS namespace.
The traditional DNS delegation is based on NS records which contain only hostnames of servers and no other parameters.
The new delegation records are extensible, can be secured with DNSSEC, and eliminate the problem of having two sources of truth for delegation information.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/ietf-wg-deleg/draft-ietf-deleg-base/tree/gh-pages"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-deleg/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        deleg Working Group mailing list (<eref target="mailto:dd@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dd/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dd/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-deleg/draft-ietf-deleg-base/"/>.</t>
    </note>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In the Domain Name System, responsibility for each subdomain within the domain name hierarchy can be delegated to different servers, which makes them authoritative for their portion of the namespace.</t>
      <t>The original DNS record that does this, called an NS record, contains only the hostname of a single name server and no other parameters.
The resolver needs to resolve these names into usable addresses and infer other required parameters, such as the transport protocol and any other protocol features.
Moreover, the NS record set exists in two places--one at the delegation point, and the other, possibly different, in the child zone.
The DNS Security Extensions (DNSSEC) protect only one copy, those in the child zone.</t>
      <t>These properties of NS records limit resolvers to unencrypted UDP and TCP port 53, and this initial contact cannot be protected with DNSSEC.
Even if these two problems were somehow solved, the NS record does not offer extensibility for any other parameters.
This limitation is a barrier for the efficient introduction of new DNS technology.</t>
      <t>The proposed DELEG and DELEGI resource record (RR) types remedy this problem by providing extensible parameters to indicate server capabilities and additional information, such as other transport protocols that a resolver may use.</t>
      <t>The DELEG record creates a new delegation.
It is authoritative in the parent side of delegation and thus can be signed with DNSSEC.
This makes it possible to validate all delegation parameters, including those of future extensions.</t>
      <t>The DELEGI record is an auxiliary record which does not create a delegation by itself but provides an optional layer of indirection.
It can be used to share the same delegation information across any number of zones.
DELEGI is treated like regular authoritative record.</t>
      <t>The DELEG record can be used instead of or alongside a NS record to create a delegation.
The combination of DELEG+NS is fully compatible with old resolvers, facilitating the incremental rollout of this new method of delegation.</t>
      <t>Future documents can use the extensibility mechanism for more advanced features like connecting to a name server with an encrypted transport.</t>
      <section anchor="terminology">
        <name>Terminology</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 <br/>
BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in
all capitals, as shown here.</t>
        <t>Terminology regarding the Domain Name System comes from <xref target="BCP219"/>, with addition terms defined here:</t>
        <ul spacing="normal">
          <li>
            <t>legacy delegation: A delegation that is done with an NS RRset</t>
          </li>
          <li>
            <t>DELEG-aware: An authoritative server or resolver that follows the protocol defined in this document</t>
          </li>
          <li>
            <t>DELEG-unaware: An authoritative server or resolver that does not follow the protocol defined in this document</t>
          </li>
          <li>
            <t>non-DELEG specifications: DNS protocols that predate this protocol, or are written after this protocol is published but are not related to this protocol</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>This section is a brief overview of the protocol.
It is meant for people who want to understand the protocol before they dive deeper into the protocol specifics.</t>
      <t>When a DELEG-aware resolver sends queries, it sets the DE bit in the EDNS0 header to 1 in queries to authoritative servers as a signal that it is indeed DELEG-aware (<xref target="de-bit"/>).</t>
      <t>DELEG-unaware authoritative servers ignore this signal.</t>
      <t>A DELEG-aware authoritative server uses that signal to determine the type of response it will send.
If the response is not a referral, the authoritative server doesn't change anything in the response (<xref target="ns-no-deleg"/>).
If the response is a referral, the authoritative server checks if there is a DELEG RRset for the queried zone;
if so, it returns the DELEG RRset instead of the NS RRset in the response (<xref target="aware-referral"/>).</t>
      <t>Records in the DELEG RRset for a zone describe how to find nameservers for that zone (<xref target="deleg-delegi"/>).
The Rdata for DELEG records has key=value pairs (<xref target="nameserver-info"/>).</t>
      <ul spacing="normal">
        <li>
          <t>"server-ipv4" and "server-ipv6" keys have IP addresses for the delegated name servers</t>
        </li>
        <li>
          <t>"server-name" keys have hostnames for the delegated name servers; the addresses must be fetched</t>
        </li>
        <li>
          <t>"include-delegi" keys have domain names which in turn have more information about the delegation</t>
        </li>
        <li>
          <t>"mandatory" keys have a list of other keys which the resolver must understand in order to use the record</t>
        </li>
      </ul>
      <t>The DELEG-aware resolver seeing the DELEG RRset uses that information to form the list of best servers to ask about the original zone (<xref target="finding-best"/>).
If the DELEG RRset contains "include-delegi", the resolver queries those hostnames for DELEGI RRsets.
DELEGI records have the same format as DELEG records; thus, they can have the same key=value pairs.</t>
      <t>The DELEG protocol changes how zones are signed (<xref target="signers"/>) and validated (<xref target="dnssec-validators"/>).
The changes are primarily because DELEG RRsets are authoritative on the parent side of a zone cut and thus are signed and validated as authoritative data (similar to DS records).</t>
      <t>There are many parts of the DELEG protocol that are not included in this brief overview.
For example, DELEG-aware authoritative servers have choices to make depending both on the request and the contents of the zone file.
For those readers who learn better from examples than the definitive text, see <xref target="examples"/>.</t>
    </section>
    <section anchor="deleg-delegi">
      <name>DELEG and DELEGI Resource Record Types</name>
      <t>The DELEG record, RR type TBD, and the DELEGI record, RR type TBD2 (different from that of DELEG), have the same wire and presentation formats,
but their semantics are different as described in a following section.
These records are defined for the IN class.</t>
      <t>The record format is based on the extensible key=value list that was originally defined as "SvcParams" for the SVCB record type <xref target="RFC9460"/>.
Unlike SVCB, the DELEG protocol does not have "SvcPriority" and "TargetName" fields.
The keys in the DELEG protocol are different than those used in SVCB.
To avoid confusion between the two protocols, the list of key=value parameters used by the DELEG protocol are called DelegInfos and will be tracked in their own IANA registry for Delegation Information.</t>
      <t>The following rules are adapted from SVCB, but with changed names:</t>
      <ul spacing="normal">
        <li>
          <t>The whole RDATA consists of a single list called "DelegInfos".</t>
        </li>
        <li>
          <t>DelegInfos consists of individual DelegInfo key=value pairs.</t>
        </li>
        <li>
          <t>Each DelegInfo pair has DelegInfoKey and a possibly optional DelegInfoValue.</t>
        </li>
        <li>
          <t>Each DelegInfo has a specified presentation format and wire encoding.</t>
        </li>
        <li>
          <t>Each DelegInfoKey has a presentation name and a registered key number.</t>
        </li>
        <li>
          <t>Each DelegInfoValue is in a format specific to its DelegInfoKey.</t>
        </li>
      </ul>
      <t>Implementations can reuse the same code to parse SvcParams and DelegInfos and only plug in a different list of key=value pairs for SVCB/HTTPS and DELEG/DELEGI record families.</t>
      <t>The initial set of DelegInfoKeys and their formats are defined in <xref target="nameserver-info"/>.</t>
      <section anchor="presentation-format">
        <name>Presentation Format</name>
        <t>The RDATA presentation format of the DELEG and DELEGI resource records consists of a single list, DelegInfos.</t>
        <t>The DelegInfos presentation format is defined exactly the same as SvcParams in Section 2.1 of <xref target="RFC9460"/>. The following rules are adapted from SVCB, but with changed names:</t>
        <ul spacing="normal">
          <li>
            <t>DelegInfos is a whitespace-separated list with each DelegInfo consisting of a DelegInfoKey=DelegInfoValue pair, or a standalone DelegInfoKey.</t>
          </li>
          <li>
            <t>Individual element definitions are the same as <xref target="RFC9460"/>:
            </t>
            <ul spacing="normal">
              <li>
                <t>The DelegInfo syntax is the same as SvcParam, but it references DelegInfo elements instead of SvcParam elements.</t>
              </li>
              <li>
                <t>DelegInfoKey syntax is the same as SvcParamKey.</t>
              </li>
              <li>
                <t>The syntax for unknown keys in Section 2.1 of <xref target="RFC9460"/> applies.</t>
              </li>
              <li>
                <t>The DelegInfoValue syntax is the same as SvcParamValue.</t>
              </li>
              <li>
                <t>The rules from Appendix A of <xref target="RFC9460"/> apply.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>All the requirements in Section 2.1 of <xref target="RFC9460"/> apply.</t>
          </li>
        </ul>
        <t>DelegInfos MAY be zero-length; this is similar to what is allowed in SVCB records.</t>
      </section>
      <section anchor="rdata-wire-format">
        <name>RDATA Wire Format</name>
        <t>The RDATA portion of the DELEG and DELEGI resource record has variable length and entirely consists of a single "DelegInfos" element:</t>
        <artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                         DelegInfos                            /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The format of the DelegInfos element is identical to the format of the SvcParams element defined in <xref target="RFC9460"/> Section 2.2,
including the requirements for strictly increasing numeric order to keys and no key duplication allowed.</t>
        <t>All the requirements in Section 2.2 of <xref target="RFC9460"/> apply.</t>
        <t>The DelegInfos element is a sequence of individual DelegInfo elements and MAY be empty.
The wire format of an individual DelegInfo element is the same as for a SvcParam element,
but it references DelegInfo elements instead of SvcParam elements.</t>
        <artwork><![CDATA[
                +0 (MSB)                            +1 (LSB)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0:  |                          DelegInfoKey                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2:  |                length of DelegInfoValue                       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4:  /                          DelegInfoValue ...                   /
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The permissible lengths depend on the DelegInfoKey value.
Some future keys may have no DelegInfoValue, which would be indicated with an explicit 0 length.</t>
      </section>
      <section anchor="overview-of-differences-between-deleg-and-delegi-semantics">
        <name>Overview of Differences between DELEG and DELEGI Semantics</name>
        <t>The following is a brief summary of semantic differences between the DELEG and DELEGI types.</t>
        <ul spacing="normal">
          <li>
            <t>DELEG creates a delegation for its owner name, similar to the NS RR type.</t>
          </li>
          <li>
            <t>DELEG and NS RR types can coexist at the same owner name.</t>
          </li>
          <li>
            <t>DELEG is authoritative in the parent zone of the delegated zone, similar to the DS RR type, and unlike the NS RR type.</t>
          </li>
          <li>
            <t>DELEG is signed by the parent zone of the delegated zone when using DNSSEC, similar to the DS RR type, and unlike the NS RR type.</t>
          </li>
          <li>
            <t>DELEG cannot be present at the apex of the delegated zone, similar to the DS RR type, and unlike the NS RR type.</t>
          </li>
          <li>
            <t>DELEG has special processing for being included in answers.</t>
          </li>
        </ul>
        <t>Conversely,</t>
        <ul spacing="normal">
          <li>
            <t>DELEGI is like any normal RR and doesn't require any special processing.</t>
          </li>
          <li>
            <t>DELEGI does not create a delegation for its owner name.</t>
          </li>
          <li>
            <t>DELEGI cannot coexist at the same owner name with DELEG or NS RR types.</t>
          </li>
          <li>
            <t>DELEGI DNSSEC signing and record placement rules are the same as for any ordinary RR type.</t>
          </li>
          <li>
            <t>DELEGI is used as the target of the DELEG protocol's "include" mechanism, as described in section <xref target="slist"/>.</t>
          </li>
        </ul>
        <t>TODO: Add some introduction comparing how resolvers see legacy delegation (set of NS and A/AAAA records) and DELEG delegation (DELEG and DELEGI records with server-ipv4 and server-ipv6 keys)</t>
      </section>
    </section>
    <section anchor="use-of-deleg-records">
      <name>Use of DELEG Records</name>
      <t>The DELEG RRset MAY contain multiple records.
A DELEG RRset MAY be present with or without NS or DS RRsets at the delegation point, though without NS records then DELEG-unaware software will not be able to resolve records in the the delegated zone.</t>
      <t>DELEG RRsets MUST NOT appear at a zone's apex.
The erroneous inclusion of DELEG RRset at zone's apex will cause DNSSEC validation failures.
Servers MAY refuse to load such an invalid zone, similar to the DS RR type.</t>
      <section anchor="resolvers">
        <name>Resolvers</name>
        <section anchor="de-bit">
          <name>Signaling DELEG Support</name>
          <t>There will be both DELEG and NS needed for delegation for a long time.
Both legacy delegation and the DELEG protocol enable recursive resolution.
This document defines a new EDNS flag to signal that a resolver is DELEG-aware and therefore does not need NS records or glue information in a referral response.</t>
          <t>A resolver that is DELEG-aware MUST signal in queries that it supports the DELEG protocol by setting a bit in the OPT RR TTL as described in <xref target="RFC6891"/>.
This bit referred to as the "DELEG" (DE) bit, expected to be assigned by IANA at Bit 2 in the EDNS Header Flags registry, as follows:</t>
          <artwork><![CDATA[
            +0 (MSB)                +1 (LSB)
     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  0: |   EXTENDED-RCODE      |       VERSION         |
     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  2: |DO|CO|DE|              Z                       |
     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
]]></artwork>
          <t>Setting the DE bit to one in a query indicates the resolver understands the DELEG semantics and does not need NS records to follow a referral.
The DE bit set to 0 indicates the resolver is not DELEG-aware, and therefore can only be served referrals with NS records and other data according to non-DELEG specifications.</t>
        </section>
        <section anchor="referral">
          <name>Referral</name>
          <t>The DELEG record creates a zone cut similar to the NS record.</t>
          <t>If one or more DELEG records exist at a given delegation point, a DELEG-aware resolver MUST treat the name servers from those DELEG records as authoritative for the child zone.
In such a case, a DELEG-aware resolver MUST NOT use NS records for the zone if they are present, even if resolution using DELEG records has failed.
Such fallback from DELEG to NS would invalidate the security guarantees of the DELEG protocol.</t>
          <t>If no DELEG record exists at a given delegation point, DELEG-aware resolvers MUST use NS records as specified by <xref target="RFC1034"/>.
See <xref target="dnssec-validators"/> for more information about protection from downgrade attacks.</t>
        </section>
        <section anchor="parent-side-types-qtypedeleg">
          <name>Parent-side types, QTYPE=DELEG</name>
          <t>Record types defined as authoritative on the parent side of zone cut, currently the DS and DELEG types, retain the same special handling as described in Section 2.6 of <xref target="RFC4035"/>.</t>
          <t>DELEG-unaware resolvers can get different types of answers for QTYPE=DELEG queries based on the configuration of the server, such as whether it is DELEG-aware and whether it also is authoritative for subdomains.
For example, a DELEG-unaware authoritative name server which has loaded DELEG records via the <xref target="RFC3597"/> unknown types mechanism would answer with them only if there were no NS records at the owner name, and answer with an NS delegation otherwise.
See <xref target="de0-deleg"/> for more information.</t>
        </section>
        <section anchor="finding-best">
          <name>Algorithm for "Finding the Best Servers to Ask"</name>
          <t>This document updates instructions for finding the best servers to ask.
It was covered in Section 5.3.3 of <xref target="RFC1034"/> and Section 3.4.1 of <xref target="RFC6672"/> with the text "2. Find the best servers to ask.".
These instructions were informally updated by section 4.2 of <xref target="RFC4035"/> for the DS RR type but the algorithm change was not made explicit.
This document simply extends this existing behavior from DS RR type to DELEG RR type as well, and makes this special case explicit.</t>
          <t>When a DELEG RRset exists for a delegation in a zone, DELEG-aware resolvers ignore any NS RRset for the delegated zone, whether from the parent or from the apex of the child.</t>
          <t>Each delegation level can have a mixture of DELEG and NS RR types, and DELEG-aware resolvers MUST be able to follow chains of delegations which combines both types in arbitrary ways.</t>
          <t>An example of a valid delegation tree:</t>
          <artwork><![CDATA[
; root zone with NS-only delegations
. SOA ...
test. NS ...

; test. zone with NS+DELEG delegations
test. SOA ...
sld.test. NS ...
sld.test. DELEG ...

; sld.test. zone with NS-only delegation
sld.test. SOA ...
nssub.sld.test. NS ...

; nssub.sld.test. zone with DELEG-only delegation
delegsub.sub.sld.test. DELEG ...
]]></artwork>
          <t>TODO: after the text below, refer back to this figure and show the order that a DELEG-aware resolver would take when there is a failure to find any good DELEG addresses at sub.sld.test, then any usable name servers at sub.sld.test, and then maybe a good DELEG record at test.</t>
          <t>The terms SNAME and SLIST used here are defined in Section 5.3.2 of <xref target="RFC1034"/>:</t>
          <t>SNAME is the domain name we are searching for.</t>
          <t>SLIST is a structure which describes the name servers and the zone which the resolver is currently trying to query.
Neither <xref target="RFC1034"/> nor this document define how a resolver uses SLIST; they only define how to populate it.</t>
          <t>A DELEG-aware SLIST needs to be able to hold two types of information, delegations defined by NS records and delegations defined by DELEG records.
DELEG and NS delegations can create cyclic dependencies and/or lead to duplicate entries which point to the same server.
Resolvers need to enforce suitable limits to prevent damage even if someone has incorrectly configured some of the data used to create an SLIST.</t>
          <t>This leads to a modifications of the description from earlier documents for DELEG-aware resolvers can find the best servers to ask.
That description becomes:</t>
          <ol spacing="normal" type="1"><li>
              <t>Determine deepest possible zone cut which can potentially hold the answer for a given (query name, type, class) combination:  </t>
              <ol spacing="normal" type="1"><li>
                  <t>Start with SNAME equal to QNAME.</t>
                </li>
                <li>
                  <t>If QTYPE is a type that is authoritative at the parent side of a zone cut (currently, DS or DELEG), remove the leftmost label from SNAME.
For example, if the QNAME is "test.example." and the QTYPE is DELEG or DS, set SNAME to "example.".</t>
                </li>
              </ol>
            </li>
            <li>
              <t>Look for locally-available DELEG and NS RRsets, starting at current SNAME.  </t>
              <ol spacing="normal" type="1"><li>
                  <t>For a given SNAME, check for the existence of a DELEG RRset.
If it exists, the resolver MUST use its content to populate SLIST.
However, if the DELEG RRset is known to exist but is unusable (for example, if it is found in DNSSEC BAD cache, or content of individual RRs is unusable for any reason), the resolver MUST NOT instead use an NS RRset; instead, the resolver MUST treat this case as if no servers were available.</t>
                </li>
                <li>
                  <t>If a given SNAME is proven to not have a DELEG RRset but does have an NS RRset, the resolver MUST copy the NS RRset into SLIST.</t>
                </li>
                <li>
                  <t>If SLIST is now populated, stop walking up the DNS tree.</t>
                </li>
                <li>
                  <t>However, if SLIST is not populated, remove the leftmost label from SNAME and go back to the first step, using the newly shortened SNAME.</t>
                </li>
              </ol>
            </li>
          </ol>
          <t>The rest of Step 2's description is not affected by this document.</t>
          <t>Resolvers MUST respond to "QNAME=. / QTYPE=DELEG" queries in the same fashion as they respond to "QNAME=. / QTYPE=DS" queries.</t>
        </section>
        <section anchor="nameserver-info">
          <name>Name Server Information for Delegation</name>
          <t>The DELEG and DELEGI records have four keys that describe information about name servers.
The purpose of this information is to populate the SLIST with IP addresses of the name servers for a zone.
The types of information defined in this document are:</t>
          <ul spacing="normal">
            <li>
              <t>server-ipv4: an unordered collection of IPv4 addresses for name servers</t>
            </li>
            <li>
              <t>server-ipv6: an unordered collection of IPv6 addresses for name servers</t>
            </li>
            <li>
              <t>server-name: an unordered collection of hostnames of name servers; the addresses must be fetched</t>
            </li>
            <li>
              <t>include-delegi: an unordered collection of domain names that point to a DELEGI RRsets, which in turn have more information about the delegation</t>
            </li>
          </ul>
          <t>These keys MUST have a non-empty DelegInfoValue.</t>
          <t>The presentation values for server-ipv4 and server-ipv6 are comma-separated list of one or more IP addresses of the appropriate family in standard textual format <xref target="RFC5952"/> <xref target="RFC4001"/>.
The wire formats for server-ipv4 and server-ipv6 are a sequence of IP addresses, in network byte order, for the respective address family.</t>
          <t>The presentation values for server-name and include-delegi are an unordered collection of fully-qualified domain names and relative domain names, separated by commas.
Relative names in the presentation format are interpreted according origin rules in Section 5.1 of <xref target="RFC1035"/>.
Parsing the comma-separated list is specified in Section A.1 of <xref target="RFC9460"/>.</t>
          <t>The DELEG protocol allows the use of all valid domain names, as defined in <xref target="RFC1035"/> and Section 11 of <xref target="RFC2181"/>.
The presentation format for names with special characters requires both double-escaping by applying rules of Section 5.1 of <xref target="RFC1034"/> together with the escaping rules from Section A.1 of <xref target="RFC9460"/>.</t>
          <t>TODO: add an example that requires this escaping.</t>
          <t>The wire format for server-name and include-delegi are each a concatenated unordered collection of a wire-format domain names, where the root label provides the separation between names:</t>
          <artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| name | name | name | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-
]]></artwork>
          <t>The names in the wire format MUST NOT be compressed.</t>
          <t>A DELEG or DELEGI record that has a non-empty DelegInfos MUST have one, and only one, set of server information, chosen from the following:</t>
          <ul spacing="normal">
            <li>
              <t>one server-ipv4 key</t>
            </li>
            <li>
              <t>one server-ipv6 key</t>
            </li>
            <li>
              <t>a pair consisting of one server-ipv4 key and one server-ipv6 key</t>
            </li>
            <li>
              <t>one server-name key</t>
            </li>
            <li>
              <t>one include-delegi key</t>
            </li>
          </ul>
          <t>This restriction only applies to a single DELEG or DELEGI record; a DELEG or DELEGI RRset can have records with different server information keys.</t>
          <t>When using server-name, the addresses for all the names in the set must be fetched using normal DNS resolution.
This means the names in the value of the server-name key or the include-delegi key cannot sensibly be inside the delegated domain.
Resolvers MUST ignore names in the server-name key or the include-delegi key if they are in the delegated domain.</t>
          <t>With this initial DELEG specification, servers are still expected to be reached on the standard DNS port for both UDP and TCP, 53.  While a future specification is expected to address other transports using other ports, its eventual semantics are not covered here.</t>
        </section>
        <section anchor="mandatory">
          <name>Metadata keys</name>
          <t>This specification defines a key which serves as a protocol extensibility mechanism, but is not directly used for contacting DNS servers.</t>
          <t>Any DELEG or DELEGI record can have key named "mandatory" which is similar to the key of the same name in <xref target="RFC9460"/>.</t>
          <t>The value in the presentation value MUST be a comma-separated list of one or more valid DelegInfoKeys, either by their registered name or in the unknown-key format.</t>
          <t>The value in the wire format is a sequence of DelegInfoKey numeric values in network byte order, concatenated, in strictly increasing numeric order.</t>
          <t>The "mandatory" key itself is optional, but when it is present, the RR in which it appears MUST NOT be used by a resolver in the resolution process if any of the DelegInfoKeys referenced by the "mandatory" DelegInfo element are not supported in the resolver's implementation.</t>
        </section>
        <section anchor="slist">
          <name>Populating the SLIST from DELEG and DELEGI Records</name>
          <t>Each individual DELEG record inside a DELEG RRset, or each individual DELEGI record in a DELEGI RRset, can cause the addition of zero or more entries to SLIST.</t>
          <t>A resolver processes each individual DELEG record within a DELEG RRset, or each individual DELEGI record in a DELEGI RRset, using the following steps:</t>
          <ol spacing="normal" type="1"><li>
              <t>Remove all DelegInfo elements with unsupported DelegInfoKey values.
If the resulting record has zero-length DelegInfos field, stop processing the record.</t>
            </li>
            <li>
              <t>If a DelegInfo element with the "mandatory" DelegInfoKey is present, check its DelegInfoValue.
The DelegInfoValue is a list of keys which MUST have a corresponding DelegInfo elements in this record.
If any of the listed DelegInfo elements is not found, stop processing this record.</t>
            </li>
            <li>
              <t>If a record has more than one type of server information key (excluding the IPv4/IPv6 case), or has multiple server information keys of the same type, that record is malformed.
Stop processing this record.</t>
            </li>
            <li>
              <t>If server-ipv4 and/or server-ipv6 keys are present inside the record, copy all of the address values into SLIST.
Stop processing this record.</t>
            </li>
            <li>
              <t>If a server-name key is present in the record, resolve each name in the value into IPv4 and/or IPv6 addresses.
Copy these addresses into SLIST.
Stop processing this record.</t>
            </li>
            <li>
              <t>If an include-delegi key is present in the record, resolve each name in the value using the DELEGI RR type.
Recursively apply the algorithm described in this section, after checking that the maximum loop count described in <xref target="too-much-work"/> has not been reached.</t>
            </li>
            <li>
              <t>If none of the above applies, SLIST is not modified by this particular record.</t>
            </li>
          </ol>
          <t>A DELEG-aware resolver MAY implement lazy filling of SLIST, such as by deferring processing remaining records if SLIST already has what the resolver considers a sufficiently large pool of addresses to contact.</t>
          <t>The order in which to try the servers in the final SLIST is outside the scope of this document.</t>
        </section>
      </section>
      <section anchor="authoritative-servers">
        <name>Authoritative Servers</name>
        <t>The DELEG RR type defines a zone cut in similar way as the NS RR type.
Behavior defined for zone cuts in existing non-DELEG specifications apply to zone cuts created by the DELEG record.
A notable example of this is that the occlusion (usually accidentally) created by NS records in a parent zone would also be created by DELEG records in a parent zone.</t>
        <t>DELEG-aware authoritative servers act differently when handling queries from DELEG-unaware clients (those with DE=0) than from DELEG-aware clients (those with DE=1).</t>
        <t>The server MUST copy the value of the DE bit from the query into the response, to signal that it is a DELEG-aware server.</t>
        <section anchor="aware-referral">
          <name>DELEG-aware Clients</name>
          <t>When the client indicates that it is DELEG-aware by setting DE=1 in the query, DELEG-aware authoritative servers treat DELEG records as zone cuts, and the servers are authoritative on the parent side of the zone cut.
This new zone cut has priority over a legacy delegation.</t>
          <section anchor="deleg-aware-clients-requesting-qtypedeleg">
            <name>DELEG-aware Clients Requesting QTYPE=DELEG</name>
            <t>An explicit query for the DELEG RR type at a delegation point behaves much like query for the DS RR type: the server answers authoritatively from the parent zone.
All non-DELEG specifications for special handling queries with QTYPE=DS apply equally to QTYPE=DELEG.
In summary, the server either provides an authoritative DELEG RRset or declares its non-existence, with relevant DNSSEC proofs when requested and available.</t>
          </section>
          <section anchor="delegation-with-deleg">
            <name>Delegation with DELEG</name>
            <t>If the delegation has a DELEG RRset, the authoritative server MUST put the DELEG RRset into the Authority section of the referral.
In this case, the server MUST NOT include the NS RRset in the Authority section.
Include the covering RRSIG following the normal DNSSEC procedure for answers with authoritative zone data.</t>
            <t>Similarly, rules for DS RRset inclusion in referrals apply as specified by the DNSSEC protocol.</t>
          </section>
          <section anchor="ns-no-deleg">
            <name>DELEG-aware Clients with NS RRs Present but No DELEG RRs</name>
            <t>If the delegation does not have a DELEG RRset, the authoritative server MUST put the NS RRset into the authority section of the referral.
The absence of the DELEG RRset MUST be proven as specified by the DNSSEC protocol for authoritative data.</t>
            <t>Similarly, rules for DS RRset inclusion into referrals apply as specified by the DNSSEC protocol.
Please note, in practice the same process and records are used to prove the non-existence of both DELEG and DS RRsets.</t>
          </section>
        </section>
        <section anchor="deleg-unaware-clients">
          <name>DELEG-unaware Clients</name>
          <t>A general principle for DELEG-aware authoritative servers is that they respond to a DELEG-unaware client by following non-DELEG specifications.</t>
          <t>DELEG-unaware clients do not recognize DELEG records as a zone cut and are not aware of the special handling rules for DELEG records.
They understand a DELEG RRset as an ordinary unknown RR type.</t>
          <t>In summary, DELEG records are not returned in referral responses to DELEG-unaware clients,
and DELEG-unaware clients do not consider DELEG records authoritative on the parent side of a zone cut.</t>
          <t>An authoritative server responding to DELEG-unaware clients has to handle three distinct situations:</t>
          <ul spacing="normal">
            <li>
              <t>No DELEG RRset is present. In this case, the authoritative server follows the non-DELEG specifications.</t>
            </li>
            <li>
              <t>An NS RRset and a DELEG RRset are both present. In this case, the authoritative server uses the NS RRset when constructing referral responses, following the non-DELEG specifications. See also <xref target="signers"/> and <xref target="examples"/>.</t>
            </li>
            <li>
              <t>A DELEG RRset is present, but an NS RRset is not. See <xref target="no-ns"/>.</t>
            </li>
          </ul>
          <section anchor="no-ns">
            <name>DELEG-unaware Clients with DELEG RRs Present but No NS RRs</name>
            <t>Authoritative servers may receive requests from DELEG-unaware clients for which the child zone is authoritative and is delegated with DELEG RRs only (that is, without any NS RRs).
Such a zone is by definition not resolvable for DELEG-unaware clients.
From the perspective of a DELEG-unaware client, the zone cut created by the DELEG RRs is invisible.
In such a situation, the authoritative server should respond in a way that makes sense to DELEG-unaware clients.</t>
            <t>The primary current use case for zone owners that have zones to have DELEG records but no NS records is that they want resolution of those zones only if the resolver uses future features of the DELEG protocol, such as encrypted DNS transports.</t>
            <t>The authoritative server is RECOMMENDED to supplement its responses to DELEG-unaware resolvers with an <xref target="RFC8914"/> Extended DNS Error using the (IANA-TBD) value "New Delegation Only" from the Extended DNS Error Codes registry.</t>
            <t>When there is no NS records for a delegated zone, a DELEG-aware authoritative server MUST respond to DELEG-unaware clients with an answer that accurately describes the situation to a DELEG-unaware resolver.
For a query of the delegated zone itself, the response has an RCODE of NOERROR; for a query that has more labels than the delegated zone, the response has an RCODE of NXDOMAIN; this is no different than what is already specified in <xref target="RFC1035"/>.
NSEC and DS records are returned following the existing rules in <xref target="RFC4035"/>.</t>
          </section>
          <section anchor="de0-deleg">
            <name>DELEG-unaware Clients Requesting QTYPE=DELEG</name>
            <t>From the perspective of DELEG-unaware clients, the DELEG RR type does not have special semantics and should behave like an old ordinary RR type such as TXT.
Thus, queries with DE=0 and QTYPE=DELEG MUST result in a response which can be validated by DELEG-unaware client.</t>
            <ul spacing="normal">
              <li>
                <t>If there is an NS RRset, this will be a legacy referral to the child zone. From the perspective of a DELEG-unaware client, the DELEG RR is effectively occluded by NS RRset.
The DELEG-unaware resolver can then obtain a final answer which can be validated from the child zone in similar fashion as described in <xref target="RFC4035"/> section 3.1.4.1.</t>
              </li>
              <li>
                <t>If there is no NS RRset but there is a DELEG RRset, this will be a normal authoritative response with the DELEG RRset, following non-DELEG specifications.</t>
              </li>
              <li>
                <t>If there is no NS RRset and no DELEG RRset, this will be a standard negative response following non-DELEG specifications.</t>
              </li>
            </ul>
            <t>TODO: Should we have an example with auth having parent+child zone at the same time, and DE=0 QTYPE=DELEG query?</t>
          </section>
        </section>
      </section>
      <section anchor="signers">
        <name>DNSSEC Signers</name>
        <t>The DELEG record is authoritative on the parent side of a zone cut and needs to be signed as such.
Existing rules from the DNSSEC specifications apply.</t>
        <t>In summary: for DNSSEC signing, treat the DELEG RR type the same way as the DS RR type.</t>
        <t>DELEG RR type defines a zone cut in similar way as NS RR type. This has several consequences which stem from existing non-DELEG specifications:</t>
        <ul spacing="normal">
          <li>
            <t>All owner names below zone cut are occluded and thus not present in NSEC chains.</t>
          </li>
          <li>
            <t>All RRsets which are not permissible at the parent side of zone cut are occluded too and not represented in NSEC chain type bitmap.</t>
          </li>
        </ul>
        <t>See examples in <xref target="example-root"/> and <xref target="example-occluded"/>.</t>
        <t>In order to protect validators from downgrade attacks this draft introduces a new DNSKEY flag ADT (Authoritative Delegation Types).
In zones which contain a DELEG RRset, this flag MUST be set to 1 in at least one of the DNSKEY records published in the zone.</t>
      </section>
      <section anchor="dnssec-validators">
        <name>DNSSEC Validators</name>
        <t>DELEG awareness introduces additional requirements on validators.</t>
        <section anchor="clarifications-on-nonexistence-proofs">
          <name>Clarifications on Nonexistence Proofs</name>
          <t>This document updates Section 4.1 of <xref target="RFC6840"/> to include "NS or DELEG" types in the type bitmap as indication of a delegation point, and generalizes applicability of ancestor delegation proof to all RR types that are authoritative at the parent (that is, both DS and DELEG).
The text in that section is updated as follows:</t>
          <t>An "ancestor delegation" NSEC RR (or NSEC3 RR) is one with:</t>
          <ul spacing="normal">
            <li>
              <t>the NS and/or DELEG bit set,</t>
            </li>
            <li>
              <t>the Start of Authority (SOA) bit clear, and</t>
            </li>
            <li>
              <t>a signer field that is shorter than the owner name of the NSEC RR,
or the original owner name for the NSEC3 RR.</t>
            </li>
          </ul>
          <t>Ancestor delegation NSEC or NSEC3 RRs MUST NOT be used to assume
nonexistence of any RRs below that zone cut, which include all RRs at
that (original) owner name, other than types authoritative at the parent-side of a
zone cut (DS and DELEG), and all RRs below that owner name regardless of
type.</t>
        </section>
        <section anchor="insecure-delegation-proofs">
          <name>Insecure Delegation Proofs</name>
          <t>This document updates Section 4.4 of <xref target="RFC6840"/> to include securing DELEG records, and explicitly states that Opt-Out is not applicable to the DELEG protocol.
The first paragraph of that section is updated to read:</t>
          <t>Section 5.2 of <xref target="RFC4035"/> specifies that a validator, when proving a
delegation is not secure, needs to check for the absence of the DS
and SOA bits in the NSEC (or NSEC3) type bitmap; this was clarified in Section 4.1 of <xref target="RFC6840"/>.
This document updates <xref target="RFC4035"/> and <xref target="RFC6840"/> to specify that the validator MUST also check for the presence of the NS or the DELEG bit in the matching NSEC (or NSEC3) RR (proving that there is, indeed, a delegation).
Alternately, the validator must make sure that the delegation with an NS record is covered by an NSEC3
RR with the Opt-Out flag set.
Opt-Out is not applicable to DELEG RR type
because DELEG records are authoritative at the parent side of a zone cut in the same
way that DS RR types are.</t>
        </section>
        <section anchor="referral-downgrade-protection">
          <name>Referral downgrade protection</name>
          <t>If the zone is DNSSEC-secure, and if any DNSKEY of the zone has the ADT flag set to 1, a DELEG-aware validator MUST prove the absence of a DELEG RRset in referral responses from this particular zone.</t>
          <t>Without this check, an attacker could strip the DELEG RRset from a referral response and replace it with an unsigned (and potentially malicious) NS RRset.
A referral response with an unsigned NS and signed DS RRsets does not require additional proofs of nonexistence according to non-DELEG DNSSEC specification, and it would have been accepted as a delegation without the DELEG RRset.</t>
        </section>
        <section anchor="chaining">
          <name>Chaining</name>
          <t>A Validating Stub Resolver that is DELEG-aware has to use a Security-Aware Resolver that is DELEG-aware and, if it is behind a forwarder, that forwarder has to be security-aware and DELEG-aware as well.</t>
          <t><xref target="RFC9606"/> specifies a DNS resource record type RESINFO to allow resolvers to publish information about their capabilities and policies. This can be used to inform DNS clients that DELEG is supported by the DNS resolver.</t>
          <t>A resolver which supports <xref target="RFC9606"/> SHOULD add the "deleg" key if it supports DELEG protocol.</t>
          <t>Note that, per the rules for the keys defined in Section 6.4 of <xref target="RFC6763"/>, if there is no '=' in a key, then it is a boolean attribute, simply identified as being present, with no value.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO: Add more here</t>
      <section anchor="too-much-work">
        <name>Preventing Over-work Attacks</name>
        <t>Resolvers MUST prevent situations where accidental misconfiguration of zones or malicious attacks cause them to perform too much work when resolving.
This document describes two sets of actions that, if not controlled, could lead to over-work attacks.</t>
        <t>Long chains of include-delegi information (<xref target="nameserver-info"/>), and those with circular chains of include-delegi information, can be burdensome.
To prevent this, the resolver SHOULD NOT follow more than 3 include-delegi chains in an RRset when populating SLIST.
Note that include-delegi chains can have CNAME steps in them; in such a case, a CNAME step is counted the same as a DELEGI step when determining when to stop following a chain.</t>
      </section>
      <section anchor="preventing-downgrade-attacks">
        <name>Preventing Downgrade Attacks</name>
        <t>During the rollout of the DELEG protocol, the operator of an authoritative server can upgrade the server software to be DELEG-aware before changing any DNS zones.
Such deployment should work and provide DELEG-aware clients with correct DELEG-aware answers.
However, the deployment will not be protected from downgrade attacks against the DELEG protocol.</t>
        <t>To protect DNSSEC-secure DNS zones that use DELEG delegations, the delegating zone needs to have at least one DNSKEY with the ADT flag set to 1.
Failure to set this flag in a DNSKEY record in the zone allows an attacker to remove the DELEG RRset from referrals which contain the DS RRset, and replace the original signed DELEG RRset with an arbitrary unsigned NS set.
Doing so would be a downgrade from the strong protection offered by DNSSEC for DELEG.
That is, the DELEG protocol when used with upgraded DNSKEY records gives the same protection to DELEG that the zone's DS RR set has.
Without DELEG, there are no security guarantees for the NS RR set on the parent side of the zone cut.</t>
        <t>Please note that a full DNSKEY rollover is not necessary to achieve the downgrade protection for DELEG.
Any single DNSKEY with the ADT flag set to 1 is sufficient; the zone can introduce an otherwise unused record into the DNSKEY RRset.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="changes-to-existing-registries">
        <name>Changes to Existing Registries</name>
        <t>IANA is requested to allocate the DELEG RR and the DELEGI RR in the Resource Record (RR) TYPEs registry, with the meaning "enhanced delegation information" and referencing this document.</t>
        <t>IANA is requested to assign a new bit in the DNSKEY RR Flags registry (<xref target="RFC4034"/>) for the ADT bit (N), with the description "Authoritative Delegation Types" and referencing this document.
For compatibility reasons, we request the bit 14 to be used.
This value has been proven to work whereas bit 0 was proven to break in practical deployments (because of bugs).</t>
        <t>IANA is requested to assign a bit from the EDNS Header Flags registry (<xref target="RFC6891"/>), with the abbreviation DE, the description "DELEG enabled", and referencing this document.</t>
        <t>IANA is requested to assign a value from the Extended DNS Error Codes (<xref target="RFC8914"/>), with the Purpose "New Delegation Only" and referencing this document.</t>
        <t>IANA is requested to add the name "deleg" to DNS Resolver Information Keys registry (<xref target="RFC9606"/>),
with the description of "The presence of the key indicates that DELEG protocol is supported."
and referencing this document.</t>
      </section>
      <section anchor="new-registry-for-delegation-information">
        <name>New Registry for Delegation Information</name>
        <t>IANA is requested to create the "DELEG Delegation Information" registry.
This registry defines the namespace for delegation information keys, including string representations and numeric key values.</t>
        <section anchor="procedure">
          <name>Procedure</name>
          <t>A registration MUST include the following fields:</t>
          <t>Number:  Wire-format numeric identifier (range 0-65535)
Name:  Unique presentation name
Meaning:  A short description
Reference:  Location of specification or registration source
Change Controller:  Person or entity, with contact information if appropriate</t>
          <t>To enable code reuse from SVCB parsers, the requirements for registered Name exactly copy requirements set by <xref target="RFC9460"/> section 14.3.1:
The characters in the registered Name field entry MUST be lowercase alphanumeric or "-".
The name MUST NOT start with "key" or "invalid".</t>
          <t>The registration policy for new entries is Expert Review (<xref target="RFC8126"/>).
The designated expert MUST ensure that the reference is stable and publicly available and that it specifies how to convert the delegation information's presentation format to wire format.
The reference MAY be any individual's Internet-Draft or a document from any other source with similar assurances of stability and availability.
An entry MAY specify a reference of the form "Same as (other key name)" if it uses the same presentation and wire formats as an existing key.</t>
          <t>This arrangement supports the development of new parameters while ensuring that zone files can be made interoperable.</t>
        </section>
        <section anchor="initial-contents">
          <name>Initial Contents</name>
          <t>The "DELEG Delegation Information" registry should be populated with the following initial registrations:</t>
          <artwork><![CDATA[
Number:  0
Name:  mandatory
Meaning: Mandatory keys in this RR
Reference:  {{mandatory}} of this document
Change Controller:  IETF

Number:  1
Name:  server-ipv4
Meaning:  An unordered collection of IPv4 addresses of name servers
Reference:  {{nameserver-info}} of this document
Change Controller:  IETF

Number:  2
Name:  server-ipv6
Meaning:  An unordered collection of IPv6 addresses of name servers
Reference:  {{nameserver-info}} of this document
Change Controller:  IETF

Number:  3
Name:  server-name
Meaning:  An unordered collection of hostnames of name servers
Reference:  {{nameserver-info}} of this document
Change Controller:  IETF

Number:  4
Name:  include-delegi
Meaning:  An unordered collection of domain names of DELEGI records
Reference:  {{nameserver-info}} of this document
Change Controller:  IETF

The registration for numbers 65280-65534 is reserved for private use.
The registration for number 65535 is reserved.
]]></artwork>
        </section>
      </section>
      <section anchor="temporary-assignments">
        <name>Temporary Assignments</name>
        <t>This section gives the values that can be used for interoperability testing before IANA makes permanent assignments.
The section will be removed when IANA makes permanent assignments.</t>
        <ul spacing="normal">
          <li>
            <t>DELEG RR type code is 61440</t>
          </li>
          <li>
            <t>DELEGI RR type code is 65433</t>
          </li>
          <li>
            <t>DELEG EDNS DE flag bit is 2</t>
          </li>
          <li>
            <t>DNSKEY ADT (Authoritative Delegation Types) flag bit is 14</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9460">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </reference>
        <reference anchor="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="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="RFC4035">
          <front>
            <title>Protocol Modifications 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 new resource records and protocol modifications that add data origin authentication and data integrity to the DNS. This document describes the DNSSEC protocol modifications. This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC. These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications.</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="4035"/>
          <seriesInfo name="DOI" value="10.17487/RFC4035"/>
        </reference>
        <reference anchor="RFC6672">
          <front>
            <title>DNAME Redirection in the DNS</title>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <author fullname="W. Wijngaards" initials="W." surname="Wijngaards"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>The DNAME record provides redirection for a subtree of the domain name tree in the DNS. That is, all names that end with a particular suffix are redirected to another part of the DNS. This document obsoletes the original specification in RFC 2672 as well as updates the document on representing IPv6 addresses in DNS (RFC 3363). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6672"/>
          <seriesInfo name="DOI" value="10.17487/RFC6672"/>
        </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="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>
        <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="RFC6840">
          <front>
            <title>Clarifications and Implementation Notes for DNS Security (DNSSEC)</title>
            <author fullname="S. Weiler" initials="S." role="editor" surname="Weiler"/>
            <author fullname="D. Blacka" initials="D." role="editor" surname="Blacka"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document is a collection of technical clarifications to the DNS Security (DNSSEC) document set. It is meant to serve as a resource to implementors as well as a collection of DNSSEC errata that existed at the time of writing.</t>
              <t>This document updates the core DNSSEC documents (RFC 4033, RFC 4034, and RFC 4035) as well as the NSEC3 specification (RFC 5155). It also defines NSEC3 and SHA-2 (RFC 4509 and RFC 5702) as core parts of the DNSSEC specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6840"/>
          <seriesInfo name="DOI" value="10.17487/RFC6840"/>
        </reference>
        <reference anchor="RFC9606">
          <front>
            <title>DNS Resolver Information</title>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="June" year="2024"/>
            <abstract>
              <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 DNS clients use such information is beyond the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9606"/>
          <seriesInfo name="DOI" value="10.17487/RFC9606"/>
        </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="RFC4034">
          <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="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 anchor="sec-informative-references">
        <name>Informative 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>
        <referencegroup anchor="BCP219" target="https://www.rfc-editor.org/info/bcp219">
          <reference anchor="RFC9499" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
        <reference anchor="RFC3597">
          <front>
            <title>Handling of Unknown DNS Resource Record (RR) Types</title>
            <author fullname="A. Gustafsson" initials="A." surname="Gustafsson"/>
            <date month="September" year="2003"/>
            <abstract>
              <t>Extending the Domain Name System (DNS) with new Resource Record (RR) types currently requires changes to name server software. This document specifies the changes necessary to allow future DNS implementations to handle new RR types transparently. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3597"/>
          <seriesInfo name="DOI" value="10.17487/RFC3597"/>
        </reference>
        <reference anchor="RFC5952">
          <front>
            <title>A Recommendation for IPv6 Address Text Representation</title>
            <author fullname="S. Kawamura" initials="S." surname="Kawamura"/>
            <author fullname="M. Kawashima" initials="M." surname="Kawashima"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>As IPv6 deployment increases, there will be a dramatic increase in the need to use IPv6 addresses in text. While the IPv6 address architecture in Section 2.2 of RFC 4291 describes a flexible model for text representation of an IPv6 address, this flexibility has been causing problems for operators, system engineers, and users. This document defines a canonical textual representation format. It does not define a format for internal storage, such as within an application or database. It is expected that the canonical format will be followed by humans and systems when representing IPv6 addresses as text, but all implementations must accept and be able to handle any legitimate RFC 4291 format. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5952"/>
          <seriesInfo name="DOI" value="10.17487/RFC5952"/>
        </reference>
        <reference anchor="RFC4001">
          <front>
            <title>Textual Conventions for Internet Network Addresses</title>
            <author fullname="M. Daniele" initials="M." surname="Daniele"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <author fullname="S. Routhier" initials="S." surname="Routhier"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <date month="February" year="2005"/>
            <abstract>
              <t>This MIB module defines textual conventions to represent commonly used Internet network layer addressing information. The intent is that these textual conventions will be imported and used in MIB modules that would otherwise define their own representations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4001"/>
          <seriesInfo name="DOI" value="10.17487/RFC4001"/>
        </reference>
        <reference anchor="I-D.tapril-ns2">
          <front>
            <title>Parameterized Nameserver Delegation with NS2 and NS2T</title>
            <author fullname="Tim April" initials="T." surname="April">
              <organization>Akamai Technologies</organization>
            </author>
            <date day="13" month="July" year="2020"/>
            <abstract>
              <t>   Within the DNS, there is no mechanism for authoritative servers to
   advertise which transport methods they are capable of.  If secure
   transport methods are adopted by authoritative operators, transport
   signaling would be required to negotiate how authoritative servers
   would be contacted by resolvers.  This document provides two new
   Resource Record Types, NS2 and NS2T, to facilitate this negotiation
   by allowing zone owners to signal how the authoritative nameserver(s)
   for their zone(s) may accept queries.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tapril-ns2-01"/>
        </reference>
      </references>
    </references>
    <?line 712?>

<section anchor="examples">
      <name>Examples</name>
      <section anchor="example-root">
        <name>Root zone file</name>
        <t>The following example shows an excerpt from a signed root zone.
It shows the delegation point for "example." and "test."</t>
        <t>The "example." delegation has DELEG and NS records.
The "test." delegation has DELEG but no NS records.</t>
        <t>TODO: Add examples that have server-name and include-delegi being sets of more than one name.</t>
        <artwork><![CDATA[
example.   DELEG server-ipv4=192.0.2.1 server-ipv6=2001:DB8::1
example.   DELEG server-name=ns2.example.net.,ns3.example.org.
example.   RRSIG DELEG 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDELEG/ )

example.   NS    ns1.example.
example.   NS    ns2.example.net.
example.   NS    ns3.example.org.

example.   DS    44444 13 2 ABCDEF01234567...
example.   RRSIG DS 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDS )

example.   NSEC  net. NS DS RRSIG NSEC DELEG
example.   RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleNSEC+/ )

; unsigned glue for legacy (NS) delegation
; it is NOT present in NSEC chain
ns1.example. A     192.0.2.1
ns1.example. AAAA  2001:DB8::1
]]></artwork>
        <t>The "test." delegation point has a DELEG record and no NS or DS records.</t>
        <t>Please note:
This is an example of unnecessarily complicated setup to demonstrate capabilities of DELEG and DELEGI RR types.</t>
        <artwork><![CDATA[
test.      DELEG server-ipv6=3fff::33
test.      DELEG include-delegi=Acfg.example.org.
test.      DELEG include-delegi=config2.example.net.
test.      RRSIG DELEG 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestDELEG )

test.      NSEC  . RRSIG NSEC DELEG
test.      RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestNSEC/ )

; a forgotten glue from legacy (NS) delegation
; it is NOT present in NSEC chain and it is occluded
a.test.    A     192.0.2.1
]]></artwork>
        <t>Delegations to org and net zones omitted for brevity.</t>
      </section>
      <section anchor="exampleorg-zone-file">
        <name>Example.org zone file</name>
        <t>The following example shows an excerpt from an unsigned example.org zone.</t>
        <artwork><![CDATA[
Acfg.example.org.    DELEGI server-ipv6=2001:DB8::6666
Acfg.example.org.    DELEGI server-name=ns3.example.org.
Acfg.example.org.    DELEGI include-delegi=subcfg.example.org.

ns3.example.org.       AAAA   3fff::33

subcfg.example.org.  DELEGI server-ipv4=203.0.113.1 server-ipv6=3fff::2
]]></artwork>
      </section>
      <section anchor="examplenet-zone-file">
        <name>Example.net zone file</name>
        <t>The following example shows an excerpt from an unsigned example.net zone.</t>
        <artwork><![CDATA[
ns2.example.net.       A      198.51.100.1

config2.example.net. DELEGI server-name=b.example.org.
]]></artwork>
      </section>
      <section anchor="responses">
        <name>Responses</name>
        <t>The following sections show referral examples:</t>
        <section anchor="do-bit-clear-de-bit-clear">
          <name>DO bit clear, DE bit clear</name>
          <section anchor="query-for-fooexample">
            <name>Query for foo.example</name>
            <artwork><![CDATA[
;; Header: QR RCODE=NOERROR
;;

;; Question
foo.example.  IN MX

;; Answer
;; (empty)

;; Authority
example.   NS    ns1.example.
example.   NS    ns2.example.net.
example.   NS    ns3.example.org.

;; Additional
ns1.example. A     192.0.2.1
ns1.example. AAAA  2001:DB8::1
]]></artwork>
          </section>
          <section anchor="query-for-footest">
            <name>Query for foo.test</name>
            <artwork><![CDATA[
;; Header: QR AA RCODE=NXDOMAIN
;;

;; Question
foo.test.   IN MX

;; Answer
;; (empty)

;; Authority
.   SOA ...

;; Additional
;; OPT with Extended DNS Error: New Delegation Only
]]></artwork>
          </section>
          <section anchor="query-for-atest">
            <name>Query for a.test</name>
            <t>A forgotten glue record under the "test." delegation point is occluded by DELEG RRset.</t>
            <artwork><![CDATA[
;; Header: QR AA RCODE=NXDOMAIN
;;

;; Question
a.test.   IN A

;; Answer
;; (empty)

;; Authority
.   SOA ...

;; Additional
;; OPT with Extended DNS Error: New Delegation Only
]]></artwork>
          </section>
        </section>
        <section anchor="do-bit-set-de-bit-clear">
          <name>DO bit set, DE bit clear</name>
          <section anchor="query-for-fooexample-1">
            <name>Query for foo.example</name>
            <artwork><![CDATA[
;; Header: QR DO RCODE=NOERROR
;;

;; Question
foo.example.   IN MX

;; Answer
;; (empty)

;; Authority

example.   NS    ns1.example.
example.   NS    ns2.example.net.
example.   NS    ns3.example.org.
example.   DS    44444 13 2 ABCDEF01234567...
example.   RRSIG DS 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDS )
;; Additional
ns1.example. A     192.0.2.1
ns1.example. AAAA  2001:DB8::1
]]></artwork>
          </section>
          <section anchor="legacynxdomain">
            <name>Query for foo.test</name>
            <artwork><![CDATA[
;; Header: QR DO AA RCODE=NXDOMAIN
;;

;; Question
foo.test.      IN MX

;; Answer
;; (empty)

;; Authority
.          SOA ...
.          RRSIG SOA ...
test.      NSEC  . RRSIG NSEC DELEG
test.      RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestNSEC/ )

;; Additional
;; OPT with Extended DNS Error: New Delegation Only
]]></artwork>
          </section>
          <section anchor="example-occluded">
            <name>Query for a.test</name>
            <t>A forgotten glue record under the "test." delegation point is occluded by DELEG RRset.
This is indicated by NSEC chain which "skips" over the owner name with A RRset.</t>
            <artwork><![CDATA[
;; Header: QR DO AA RCODE=NXDOMAIN
;;

;; Question
a.test.      IN A

;; Answer
;; (empty)

;; Authority
.          SOA ...
.          RRSIG SOA ...
test.      NSEC  . RRSIG NSEC DELEG
test.      RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestNSEC/ )

;; Additional
;; OPT with Extended DNS Error: New Delegation Only
]]></artwork>
          </section>
        </section>
        <section anchor="do-bit-clear-de-bit-set">
          <name>DO bit clear, DE bit set</name>
          <section anchor="query-for-fooexample-2">
            <name>Query for foo.example</name>
            <artwork><![CDATA[
;; Header: QR DE RCODE=NOERROR
;;

;; Question
foo.example.  IN MX

;; Answer
;; (empty)

;; Authority
example.   DELEG server-ipv4=192.0.2.1 server-ipv6=2001:DB8::1
example.   DELEG server-name=ns2.example.net.,ns3.example.org.

;; Additional
;; (empty)
]]></artwork>
          </section>
          <section anchor="query-for-footest-1">
            <name>Query for foo.test</name>
            <artwork><![CDATA[
;; Header: QR AA RCODE=NOERROR
;;

;; Question
foo.test.   IN MX

;; Answer
;; (empty)

;; Authority
test.      DELEG server-ipv6=3fff::33
test.      DELEG include-delegi=Acfg.example.org.
test.      DELEG include-delegi=config2.example.net.

;; Additional
;; (empty)
]]></artwork>
            <t>Follow-up example in <xref target="delegi-example"/> explains ultimate meaning of this response.</t>
          </section>
        </section>
        <section anchor="do-bit-set-de-bit-set">
          <name>DO bit set, DE bit set</name>
          <section anchor="query-for-fooexample-3">
            <name>Query for foo.example</name>
            <artwork><![CDATA[
;; Header: QR DO DE RCODE=NOERROR
;;

;; Question
foo.example.  IN MX

;; Answer
;; (empty)

;; Authority
example.   DELEG server-ipv4=192.0.2.1 server-ipv6=2001:DB8::1
example.   DELEG server-name=ns2.example.net.,ns3.example.org.
example.   RRSIG DELEG 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDELEG/ )
example.   DS    44444 13 2 ABCDEF01234567...
example.   RRSIG DS 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDS )

;; Additional
ns1.example. A     192.0.2.1
ns1.example. AAAA  2001:DB8::1
]]></artwork>
          </section>
          <section anchor="query-for-footest-2">
            <name>Query for foo.test</name>
            <artwork><![CDATA[
;; Header: QR DO DE AA RCODE=NOERROR
;;

;; Question
foo.test.      IN MX

;; Answer
;; (empty)

;; Authority
test.      DELEG server-ipv6=3fff::33
test.      DELEG include-delegi=Acfg.example.org.
test.      DELEG include-delegi=config2.example.net.
test.      RRSIG DELEG 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestDELEG )
test.      NSEC  . RRSIG NSEC DELEG
test.      RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestNSEC/ )

;; Additional
;; (empty)
]]></artwork>
            <t>Follow-up example in <xref target="delegi-example"/> explains the ultimate meaning of this response.</t>
          </section>
        </section>
      </section>
      <section anchor="delegi-example">
        <name>DELEGI Interpretation</name>
        <t>In the examples above, the test. DELEG record uses indirection and points to other domain names with DELEGI, A, and AAAA records.
During resolution, a resolver will gradually build set of name servers to contact, as defined in <xref target="slist"/>.</t>
        <t>To visualize end result of this process we represent full set of name servers in form of a 'virtual' DELEG RRset.</t>
        <artwork><![CDATA[
test. DELEG server-ipv4=198.51.100.1
test. DELEG server-ipv4=203.0.113.1
test. DELEG server-ipv6=2001:DB8::6666
test. DELEG server-ipv6=3fff::2
; IPv6 address 3fff::33 was de-duplicated (input RRsets listed it twice)
test. DELEG server-ipv6=3fff::33
]]></artwork>
        <t>Implementations are free to use arbitrary representation for this data as it is not directly exposed via DNS protocol.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document is heavily based on past work done by Tim April in
<xref target="I-D.tapril-ns2"/> and thus extends the thanks to the people helping on this which are:
John Levine, Erik Nygren, Jon Reed, Ben Kaduk, Mashooq Muhaimen, Jason Moreau, Jerrod Wiesman, Billy Tiemann, Gordon Marx and Brian Wellington.</t>
      <t>Work on DELEG protocol has started at IETF 118 Hackaton.
Hackaton participants: Christian Elmerot, David Blacka, David Lawrence, Edward Lewis, Erik Nygren, George Michaelson, Jan Včelák, Klaus Darilion, Libor Peltan, Manu Bretelle, Peter van Dijk, Petr Špaček, Philip Homburg, Ralf Weber, Roy Arends, Shane Kerr, Shumon Huque, Vandan Adhvaryu, Vladimír Čunát, Andreas Schulze.</t>
      <t>Other people joined the effort after the initial hackaton: Ben Schwartz, Bob Halley, Paul Hoffman, Miek Gieben ...</t>
      <t>RESINFO extension was contributed by Florian Obser.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
