<?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.31 (Ruby 3.2.3) -->
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-sury-dnsop-parent-centric-resolver-00" category="std" consensus="true" submissionType="IETF" updates="1034, 1035" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="Parent-Centric Resolver">Parent-Centric Delegation Handling in DNS Resolvers</title>
    <seriesInfo name="Internet-Draft" value="draft-sury-dnsop-parent-centric-resolver-00"/>
    <author initials="O." surname="Surý" fullname="Ondřej Surý">
      <organization>Internet Systems Consortium</organization>
      <address>
        <postal>
          <country>Czechia</country>
        </postal>
        <email>ondrej@isc.org</email>
      </address>
    </author>
    <author initials="C." surname="Vidal" fullname="Colin Vidal">
      <organization>Internet Systems Consortium</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>colin@isc.org</email>
      </address>
    </author>
    <author initials="E." surname="Hunt" fullname="Evan Hunt">
      <organization>Internet Systems Consortium</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>each@isc.org</email>
      </address>
    </author>
    <date year="2026" month="March" day="16"/>
    <area>Operations and Management</area>
    <workgroup>DNSOP</workgroup>
    <keyword>DNS</keyword>
    <keyword>delegation</keyword>
    <keyword>resolver</keyword>
    <keyword>parent-centric</keyword>
    <keyword>DELEG</keyword>
    <abstract>
      <?line 92?>

<t>This document specifies a parent-centric behavioral model for DNS
recursive resolvers, in which delegation decisions are always based on
the NS RRset (or DELEG RRset) received from the parent side of a zone
cut and are never overwritten by child-side NS data.</t>
      <t>The parent-centric model eliminates the "two sources of truth" problem
inherent in the current DNS delegation design, closes the Ghost Domain
and Phoenix Domain attack vectors, provides deterministic behavior in
the presence of parent/child NS mismatches, and enables resolvers to
safely accept sibling (out-of-bailiwick) glue by scoping delegation
information to individual zone cuts.  It also provides the behavioral
foundation required for deployment of the DELEG extensible delegation
mechanism.</t>
      <t>This document updates RFC 1034 and RFC 1035.</t>
    </abstract>
  </front>
  <middle>
    <?line 110?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Domain Name System (DNS) <xref target="RFC1034"/> <xref target="RFC1035"/> uses NS (Name Server)
records to delegate authority over portions of the namespace from a parent
zone to a child zone.  A fundamental consequence of the current delegation
model is that NS records exist in two places: at the delegation point in
the parent zone (the "parent-side" NS RRset) and at the apex of the child
zone (the "child-side" or "apex" NS RRset).</t>
      <t>Historically, most recursive resolver implementations have followed a
"child-centric" approach: when a referral is received from a parent zone,
the resolver caches the parent-side NS RRset, but subsequently replaces it
with the child-side apex NS RRset if one is observed in a response from
the delegated zone.  This replacement is performed on the assumption that
the child zone's apex NS RRset is "more authoritative" than the parent's
delegation point NS RRset.</t>
      <t>This document specifies a "parent-centric" behavioral model for recursive
resolvers, in which delegation decisions are always based on the NS RRset
(or DELEG RRset) received from the parent side of a zone cut, and are
never overwritten by child-side NS data.  The parent-centric model
eliminates an entire class of inconsistency and security problems inherent
in the child-centric approach.  It also provides the behavioral foundation
needed for the deployment of extensible delegation mechanisms such as the
DELEG record <xref target="I-D.ietf-deleg"/>.</t>
      <t>This document does not prescribe any particular cache architecture,
data-structure layout, or lookup ordering for implementations.
Conforming implementations are free to use any internal organization --
including a single unified cache -- that achieves the required behavior.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<dl>
          <dt>Parent-side NS RRset:</dt>
          <dd>
            <t>The set of NS records present at a delegation point in the parent zone.
These records are non-authoritative in the parent zone (they are "glue")
and are included in referral responses.</t>
          </dd>
          <dt>Child-side NS RRset:</dt>
          <dd>
            <t>The set of NS records present at the apex of the delegated (child) zone.
These records are authoritative within the child zone.</t>
          </dd>
          <dt>Delegation information:</dt>
          <dd>
            <t>The data a resolver uses to determine which nameservers are responsible
for a zone cut: nameserver names, associated glue addresses, and (when
DELEG <xref target="I-D.ietf-deleg"/> is supported) DELEG and DELEGPARAM parameters.
This information originates from referral responses received from a
parent zone's nameservers.</t>
          </dd>
          <dt>Child-centric resolver:</dt>
          <dd>
            <t>A resolver that replaces parent-side delegation information with
child-side apex NS data when available.</t>
          </dd>
          <dt>Parent-centric resolver:</dt>
          <dd>
            <t>A resolver that retains parent-side delegation information as the
authoritative source for delegation decisions and does not overwrite it
with child-side NS data.</t>
          </dd>
          <dt>Answer data:</dt>
          <dd>
            <t>Resource records cached by the resolver for the purpose of answering
client queries.  In the context of this document, the child-side NS
RRset is answer data: it is the authoritative answer to an NS query
at a zone apex.</t>
          </dd>
          <dt>Delegation data:</dt>
          <dd>
            <t>Information used internally by the resolver to determine which
nameservers to contact when resolving queries.  In the context of this
document, the parent-side NS RRset (and associated glue) is delegation
data.  Delegation data is never returned to clients as an answer.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="problem-statement">
      <name>Problem Statement</name>
      <section anchor="two-sources">
        <name>Two Sources of Truth</name>
        <t><xref target="RFC1034"/> Section 4.2.1 specifies that NS records appear both at the
delegation point in the parent zone and at the apex of the child zone.
Ideally these two NS RRsets are identical, but in practice they frequently
diverge.  When a zone administrator updates the nameserver set, it is
common for either the parent or the child NS RRset to be updated first,
creating a window (sometimes indefinitely long) during which the two
disagree.</t>
        <t>A child-centric resolver that replaces parent-side NS data with child-side
NS data effectively trusts the child zone to define its own delegation.
This creates several problems:</t>
        <ul spacing="normal">
          <li>
            <t>A compromised or misconfigured child zone can redirect resolution by
publishing NS records pointing to servers not sanctioned by the parent.</t>
          </li>
          <li>
            <t>NS RRsets learned from the child side may include nameservers that are
not present at the delegation point, creating inconsistencies in the
resolver's view of the namespace.</t>
          </li>
          <li>
            <t>The child-side NS RRset may have a different (often longer) TTL than the
parent-side delegation, causing the resolver to use stale delegation
information.</t>
          </li>
        </ul>
      </section>
      <section anchor="ghost-domains">
        <name>Ghost Domain Attacks</name>
        <t>The Ghost Domain attack <xref target="GHOST-DOMAIN"/> demonstrated that a child-centric
resolver's willingness to replace cached delegation data with fresher
child-side NS records allows an attacker to keep a revoked domain name
resolvable indefinitely.  The attack works by exploiting the cache update
logic: even after the parent zone has removed the delegation, the attacker
can trigger queries that cause the resolver to contact the (still-running)
rogue nameserver, which returns a child-side NS RRset with a fresh TTL,
overwriting the stale (or absent) parent-side delegation data in the
cache.  Experiments showed that more than 70% of tested open resolvers
were still resolving a revoked domain a week after removal from the parent
zone.</t>
        <t>The follow-up work on Phoenix Domain <xref target="PHOENIX-DOMAIN"/> showed that the
original Ghost Domain mitigations (TTL capping on NS replacement) were
insufficient.  The Phoenix Domain attack uncovered additional vulnerable
cache operations in the delegation process that allowed revoked domains
to remain resolvable for over a month on more than 25% of tested
resolvers.  Critically, the Phoenix Domain paper identifies the
child-centric vs. parent-centric distinction as a key architectural
factor: parent-centric resolvers that do not overwrite delegation data
with child-side NS records are immune to the T1 class of Phoenix Domain
attacks, because the attacker cannot inject fresh delegation data through
child-zone responses.</t>
        <t>A parent-centric resolver as specified in this document eliminates the
Ghost Domain and Phoenix Domain T1 attack vectors entirely, because
delegation decisions are never influenced by child-side NS data.</t>
      </section>
      <section anchor="inconsistent-rpz-behavior">
        <name>Inconsistent RPZ Behavior</name>
        <t>Response Policy Zones (RPZ) <xref target="RFC7719"/> include NSDNAME and NSIP trigger
types that match against the nameservers of the zone containing the
answer.  When a child-centric resolver replaces the parent-side NS RRset
with the child-side NS RRset, the set of nameserver names and addresses
visible to RPZ policy evaluation changes unpredictably depending on
whether the child-side data has been cached yet.  This leads to
inconsistent policy enforcement: the same query may or may not trigger an
RPZ rule depending on the cache state.</t>
        <t>A parent-centric resolver provides a stable set of delegation information
for RPZ evaluation, because the delegation data used for resolution is
always the parent-side data received in referrals, regardless of what
child-side NS data may exist in the cache.</t>
      </section>
      <section anchor="impediment-to-deleg-deployment">
        <name>Impediment to DELEG Deployment</name>
        <t>The DELEG record <xref target="I-D.ietf-deleg"/> is an extensible delegation mechanism
that is authoritative on the parent side of a zone cut.  DELEG records can
carry server addresses, transport parameters, and other extensible
metadata directly in the delegation, eliminating the need for additional
queries to resolve nameserver addresses.  The companion DELEGPARAM record
provides an indirection mechanism for sharing delegation parameters across
multiple zones.</t>
        <t>A child-centric resolver cannot cleanly support DELEG, because:</t>
        <ul spacing="normal">
          <li>
            <t>DELEG data is exclusively parent-side; there is no child-side equivalent.
A child-centric resolver that overwrites parent-side data with child-side
NS data would lose the DELEG information.</t>
          </li>
          <li>
            <t><xref target="I-D.ietf-deleg"/> Section 5.1.1 requires that when DELEG records exist
at a delegation point, a DELEG-aware resolver <bcp14>MUST</bcp14> use the name servers
from those DELEG records and <bcp14>MUST NOT</bcp14> use NS records for the zone, even
if resolution using DELEG records has failed.  A parent-centric resolver
naturally enforces this rule because it never overwrites parent-side
delegation data with child-side NS data.</t>
          </li>
        </ul>
      </section>
      <section anchor="strict-glue-problem">
        <name>Interaction with Strict Glue Checking</name>
        <t>Recent resolver releases have adopted strict (hardened) glue checking
<xref target="STRICT-GLUE"/>: glue records in referral responses are only accepted when
the NS target name is at or below the delegation point (in-bailiwick
glue).  Glue for out-of-bailiwick nameserver names -- so-called "sibling
glue" -- is discarded, and those names must be resolved iteratively.</t>
        <t>For example, given the delegation from <tt>.org</tt>:</t>
        <artwork><![CDATA[
example.org.      NS  ns1.example.org.
example.org.      NS  ns2.otherdomain.org.
ns1.example.org.  A   198.51.100.42
ns2.otherdomain.org.  A   203.0.113.53
]]></artwork>
        <t>strict glue checking accepts the A record for <tt>ns1.example.org</tt> (which is
below <tt>example.org</tt>) but discards the A record for <tt>ns2.otherdomain.org</tt>
(which is not).  The resolver must then iteratively resolve
<tt>ns2.otherdomain.org</tt>, following a separate delegation chain through the
<tt>otherdomain.org</tt> zone.</t>
        <section anchor="why-strict-glue-was-necessary">
          <name>Why Strict Glue Was Necessary</name>
          <t>In a child-centric resolver that stores all cached data in a shared
namespace, sibling glue is dangerous because it can contaminate unrelated
delegations.  If a referral for <tt>example.org</tt> includes a glue A record
for <tt>ns1.example.net</tt>, that record enters the shared cache and may be
used when resolving names under <tt>example.net</tt> -- even though the glue was
provided by the <tt>.org</tt> zone, which has no authority over <tt>example.net</tt>
addresses.  An attacker who controls a delegation in <tt>.org</tt> can exploit
this to inject forged address records for nameservers in <tt>.net</tt>,
effectively poisoning the resolution of unrelated zones.</t>
          <t>Strict glue checking prevents this cross-delegation contamination by
rejecting all out-of-bailiwick glue.  However, this strict policy causes
significant operational problems:</t>
          <ul spacing="normal">
            <li>
              <t>When sibling glue is rejected, the resolver performs more iterative
lookups, each of which traverses additional delegation chains.  Any
parent/child NS mismatch along those chains can cause resolution
failures or inconsistent behavior.</t>
            </li>
            <li>
              <t>In pathological cases, the combination of strict glue rejection and
nested out-of-bailiwick delegations can produce resolution failures that
succeed on retry (after intermediate records have been cached), making
the problem intermittent and difficult to diagnose.</t>
            </li>
            <li>
              <t>The increased query volume puts additional load on authoritative servers
and increases resolution latency for end users.</t>
            </li>
          </ul>
        </section>
        <section anchor="how-parent-centric-behavior-resolves-this">
          <name>How Parent-Centric Behavior Resolves This</name>
          <t>The parent-centric model eliminates the underlying security problem that
strict glue checking was designed to address, because delegation
information is self-contained per zone cut and is not shared across
delegations.</t>
          <t>When a parent-centric resolver accepts sibling glue for <tt>ns1.example.net</tt>
in a referral for <tt>example.org</tt>, that address is recorded as part of the
<tt>example.org</tt> delegation information.  It is used only when contacting
servers for <tt>example.org</tt> and is never used when resolving names under
<tt>example.net</tt> or any other zone.  The delegation information for
<tt>example.net</tt> is a separate entry, populated from referrals received from
the <tt>.net</tt> zone's parent, and is completely unaffected by glue received in
referrals for <tt>example.org</tt>.</t>
          <t>This scoping means that a parent-centric resolver can safely accept
sibling glue again without risk of cross-delegation contamination.
The operational problems caused by strict glue rejection -- increased
query volume, resolution failures due to nested out-of-bailiwick
delegations, and sensitivity to parent/child NS mismatches -- are avoided,
because the sibling glue is used directly from the delegation information
without requiring additional iterative resolution.</t>
          <t>Resolver implementations adopting the parent-centric model <bcp14>MAY</bcp14> therefore
accept sibling glue from referral responses, provided that the glue is
stored as part of the delegation information for the specific zone cut and
is not used for any other purpose.</t>
        </section>
      </section>
    </section>
    <section anchor="specification">
      <name>Specification</name>
      <section anchor="core-behavioral-requirement">
        <name>Core Behavioral Requirement</name>
        <t>A conforming resolver <bcp14>MUST</bcp14> use delegation information received from parent
zones (via referral responses) as the basis for all delegation decisions.
Delegation information <bcp14>MUST NOT</bcp14> be overwritten, replaced, or supplemented
by child-side NS RRsets observed in authoritative responses from the
delegated zone.</t>
        <t>This requirement applies regardless of how the resolver organizes its
internal data structures.  A conforming implementation <bcp14>MAY</bcp14> use a single
unified cache, multiple caches, or any other internal organization,
provided that the behavioral requirements in this section are met.  This
document intentionally does not specify or recommend any particular cache
architecture, data-structure choice, or lookup strategy.</t>
      </section>
      <section anchor="processing-referrals">
        <name>Processing Referrals</name>
        <t>When a resolver receives a referral (a response with no answer, containing
NS records in the authority section and optional glue in the additional
section), it <bcp14>MUST</bcp14> process the delegation as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Extract the zone cut name from the owner name of the NS RRset in the
authority section.</t>
          </li>
          <li>
            <t>Record the delegation information: the nameserver names from the NS
RRset, and any A/AAAA glue records present in the additional section
for those nameserver names.  Because delegation information in the
parent-centric model is scoped to the individual zone cut and is not
shared across delegations, both in-bailiwick glue and sibling
(out-of-bailiwick) glue can be safely accepted; see
<xref target="strict-glue-problem"/> and <xref target="glue-record-trust"/> for the security
analysis.  The effective TTL of the delegation information <bcp14>SHOULD</bcp14> be
the minimum of the NS RRset TTL and the accepted glue record TTLs.</t>
          </li>
          <li>
            <t>Use this delegation information for subsequent resolution of names
under the zone cut, until it expires or is replaced by a newer referral
for the same zone cut.</t>
          </li>
        </ol>
        <t>The resolver <bcp14>MUST NOT</bcp14> store the referral NS RRset in its cache as if it
were an authoritative child-side NS RRset.  The referral NS RRset is
parent-side data and <bcp14>MUST</bcp14> be treated as delegation information only.</t>
      </section>
      <section anchor="processing-auth">
        <name>Processing Authoritative Responses</name>
        <t>When a resolver receives an authoritative response (AA bit set) that
includes a child-side NS RRset (either in the answer section for an
NS-type query, or in the authority section as part of the response), the
resolver <bcp14>MUST</bcp14> cache the child-side NS RRset as answer data, subject to
normal cache admission policies.  This cached child-side NS RRset is used
to answer explicit NS queries from clients (<xref target="answering-ns-queries"/>) but
<bcp14>MUST NOT</bcp14> be used to update, replace, or supplement the delegation
information used for delegation decisions.</t>
        <t>The child-side NS RRset is authoritative data from the child zone and is
the correct answer to an NS query.  The parent-side NS RRset received in
referrals is non-authoritative delegation information and <bcp14>MUST NOT</bcp14> be
returned as the answer to an NS query.</t>
      </section>
      <section anchor="answering-ns-queries">
        <name>Answering Explicit NS Queries</name>
        <t>When a recursive resolver receives a query for the NS RRset at a zone
name (QTYPE=NS, QNAME=&lt;zone apex&gt;), it <bcp14>MUST</bcp14> resolve and return the
child-side (authoritative) NS RRset, not the parent-side delegation data.
This is a fundamental distinction of the parent-centric model: parent-side
NS data drives delegation decisions internally, but the child-side NS data
is the authoritative answer to NS queries.</t>
        <t>The resolver processes this query through normal recursive resolution:</t>
        <ol spacing="normal" type="1"><li>
            <t>Using its delegation information, the resolver contacts an
authoritative server for the queried zone.</t>
          </li>
          <li>
            <t>The authoritative server returns the apex NS RRset with the AA
(Authoritative Answer) flag set.</t>
          </li>
          <li>
            <t>The resolver caches this child-side NS RRset as answer data and
returns it to the client.</t>
          </li>
        </ol>
        <t>The response to the client <bcp14>MUST</bcp14> accurately reflect the properties of the
child-side NS data:</t>
        <dl>
          <dt>AA flag:</dt>
          <dd>
            <t>The child-side NS RRset is authoritative data from the child zone.
When a resolver that is also configured as an authoritative server for
the queried zone returns this data, it <bcp14>MUST</bcp14> set the AA flag.  When a
purely recursive resolver returns a cached child-side NS RRset, it
<bcp14>SHOULD</bcp14> set the AA flag to indicate that the data originates from the
authoritative child zone, distinguishing the response from a referral
(which would contain parent-side NS data without the AA flag).
This is consistent with the principle that the answer to an NS query
at a zone apex is authoritative data, regardless of how the resolver
obtained it.</t>
          </dd>
          <dt>AD flag:</dt>
          <dd>
            <t>If the child-side NS RRset has been DNSSEC-validated, the resolver
<bcp14>SHOULD</bcp14> set the AD (Authenticated Data) flag in the response, subject
to the normal AD flag rules (<xref target="RFC4035"/> Section 3.2.3 and
<xref target="RFC6840"/> Section 5.8).  DNSSEC validation of the child-side NS
RRset provides the client with cryptographic assurance that the
nameserver set is authentic, a property that parent-side delegation
NS data (which is unsigned glue) can never provide.</t>
          </dd>
        </dl>
        <t>The resolver <bcp14>MUST NOT</bcp14> return the parent-side delegation NS data as the
answer to an NS query under any circumstances.  The parent-side data is
non-authoritative and would provide the client with incorrect information
about the zone's published nameserver set.</t>
        <t>Note that the child-side NS RRset returned to the client may differ from
the parent-side NS RRset used for delegation.  This is expected and
correct: the two serve different purposes.  The child-side NS is the
zone's own statement of its nameservers (answer data), while the
parent-side NS is the parent's statement of which servers are delegated
(delegation data).</t>
        <section anchor="interaction-with-minimal-responses">
          <name>Interaction with Minimal Responses</name>
          <t>When <tt>minimal-responses</tt> is enabled (as <bcp14>RECOMMENDED</bcp14> for cached responses
in <xref target="impact-on-responses"/>), the resolver omits the NS RRset from the
authority section of non-NS-type responses.  This has no effect on
explicit NS queries: when the client queries for NS records specifically,
the full child-side NS RRset is returned in the answer section regardless
of the minimal-responses setting.</t>
        </section>
        <section anchor="ns-queries-when-child-side-ns-is-not-cached">
          <name>NS Queries When Child-Side NS Is Not Cached</name>
          <t>If the resolver receives an NS query for a zone name and does not have
the child-side NS RRset cached, it <bcp14>MUST</bcp14> resolve the query through normal
recursion (contacting the zone's authoritative servers) rather than
returning the parent-side delegation data from its delegation information.
The parent-side data is not a valid answer to an NS query.</t>
        </section>
      </section>
      <section anchor="best-zone-cut-selection">
        <name>Best Zone Cut Selection</name>
        <t>When a resolver needs to determine the closest enclosing zone cut for a
query name (the "best zone cut"), it <bcp14>MUST</bcp14> select among the following
sources in this order of preference:</t>
        <ol spacing="normal" type="1"><li>
            <t>Locally configured zones: forward zones, stub zones, static-stub
zones, and other policy-configured delegations.</t>
          </li>
          <li>
            <t>Delegation information learned from referrals, as described in
<xref target="processing-referrals"/>.</t>
          </li>
          <li>
            <t>Root hints, if no other delegation information is available.</t>
          </li>
        </ol>
        <t>When both a locally configured zone and referral-learned delegation
information exist for overlapping names, the more specific (closer to the
query name) delegation is preferred, with the exception that static-stub
zones always take precedence over referral-learned delegations at the same
name.</t>
        <t>Child-side NS RRsets cached from authoritative responses
(<xref target="processing-auth"/>) <bcp14>MUST NOT</bcp14> be considered when selecting the best zone
cut.</t>
      </section>
      <section anchor="ttl-and-expiration">
        <name>TTL and Expiration</name>
        <t>Delegation information learned from referrals is subject to TTL-based
expiration.  The TTL is computed as described in <xref target="processing-referrals"/>.
Expired delegation information <bcp14>MUST NOT</bcp14> be used for delegation decisions;
the resolver <bcp14>MUST</bcp14> fall back to the next available delegation source (a
less specific referral-learned delegation, a locally configured zone, or
root hints).</t>
        <t>Implementations <bcp14>SHOULD NOT</bcp14> apply a minimum TTL floor to delegation
information that differs from the floor applied to cached answer data, as
the two serve different purposes and have different operational
characteristics.</t>
      </section>
      <section anchor="delegation-information-replacement">
        <name>Delegation Information Replacement</name>
        <t>When a resolver receives a new referral for a zone cut for which it
already holds unexpired delegation information, the new referral replaces
the existing delegation information.  This ensures that the resolver
tracks changes in the parent zone's delegation.</t>
        <t>A resolver <bcp14>MUST NOT</bcp14> merge delegation information from multiple referrals
for the same zone cut.  Each referral provides a complete delegation, and
the most recently received delegation supersedes any previous one.</t>
      </section>
      <section anchor="deleg-integration">
        <name>DELEG Integration</name>
        <t>When a resolver supports the DELEG record <xref target="I-D.ietf-deleg"/>, delegation
information for a zone cut may include DELEG parameters (server addresses,
server names, DELEGPARAM references, transport parameters) in addition to
or instead of NS-based delegation data.</t>
        <t>A conforming resolver that receives a referral containing DELEG records
at a zone cut <bcp14>MUST</bcp14> use the DELEG-based delegation information to populate
its SLIST (per <xref target="I-D.ietf-deleg"/> Section 5.1.3 and Section 5.1.4) and
<bcp14>MUST NOT</bcp14> use NS records for that zone, even if DELEG-based resolution
fails (per <xref target="I-D.ietf-deleg"/> Section 5.1.1).</t>
        <t>The parent-centric model naturally accommodates DELEG because:</t>
        <ul spacing="normal">
          <li>
            <t>DELEG data is exclusively parent-side and arrives in referrals, which is
exactly the data the parent-centric resolver trusts.</t>
          </li>
          <li>
            <t>DELEG records can carry server addresses directly (via server-ipv4 and
server-ipv6 parameters), eliminating the need for glue records and the
associated trust questions.  DELEGPARAM records can provide an additional
layer of indirection for shared delegation configurations.</t>
          </li>
          <li>
            <t>DELEG records are signed on the parent side, enabling DNSSEC validation
of delegation parameters -- a capability fundamentally impossible with
unsigned parent-side NS records.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="interaction-with-other-mechanisms">
      <name>Interaction with Other Mechanisms</name>
      <section anchor="qname-minimization">
        <name>QNAME Minimization</name>
        <t>QNAME minimization <xref target="RFC9156"/> relies on knowing the current best zone cut
in order to construct minimized queries.  A parent-centric resolver
provides more reliable zone cut information for QNAME minimization because
the delegation data used for zone cut determination is never polluted by
child-side NS data that might indicate a different (and potentially
incorrect) zone boundary.</t>
        <t>When resuming QNAME minimization after receiving a referral, the resolver
uses the updated delegation information as the basis for subsequent
minimized queries.</t>
      </section>
      <section anchor="dnssec-validation">
        <name>DNSSEC Validation</name>
        <t>Parent-side NS records are not signed (they are glue), so delegation
information learned from NS-based referrals is not directly
DNSSEC-validated.  This is consistent with current practice: even
child-centric resolvers use unsigned referral NS data to locate
authoritative servers.</t>
        <t>The DNSSEC chain of trust for a delegated zone is established through DS
records, which are authoritative on the parent side and are validated
normally.  The parent-centric model does not change DS record processing.</t>
        <t>When DELEG records are deployed (<xref target="deleg-integration"/>), the delegation
parameters are signed on the parent side and can be validated as part of
the delegation.  This provides a cryptographic binding between the
delegation parameters and the parent zone's DNSSEC chain -- a significant
security improvement over the current unsigned NS-based delegation model.</t>
      </section>
      <section anchor="delegation-limits">
        <name>Delegation Limits</name>
        <t>Resolvers typically impose a limit on the number of nameservers or
addresses they will process from a single delegation, to prevent excessive
resource consumption from very large delegations.  The parent-centric
model preserves this limit.  Implementations <bcp14>SHOULD</bcp14> make this limit
configurable (for example, via a <tt>max-delegation-servers</tt> option) with a
reasonable default (e.g., 13).</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="compatibility-with-existing-infrastructure">
        <name>Compatibility with Existing Infrastructure</name>
        <t>The parent-centric model is fully compatible with the existing DNS
infrastructure.  No changes are required to authoritative servers,
registries, registrars, or stub resolvers.  The change is entirely within
the recursive resolver's internal processing.</t>
        <t>This approach has been deployed in production by multiple resolver
implementations, including Nominum Vantio and Google Public DNS, without
causing widespread operational issues.</t>
      </section>
      <section anchor="impact-on-responses">
        <name>Impact on Responses to Recursive Clients</name>
        <t>A child-centric resolver that has both parent-side and child-side NS data
may include the child-side NS in the authority section of responses to
recursive clients (when <tt>minimal-responses</tt> is disabled).  A
parent-centric resolver that does not use child-side NS data for
delegation has no reason to look up the child-side NS RRset during
resolution; therefore, the child-side NS may not be readily available for
inclusion in the authority section.</t>
        <t>Implementations adopting the parent-centric model <bcp14>SHOULD</bcp14> treat recursive
responses served from the cache as if <tt>minimal-responses</tt> is enabled,
omitting the NS RRset from the authority section.  This is consistent with
modern best practice, reduces response size, and avoids the need to
perform additional lookups solely for populating the authority section.</t>
        <t>This only affects responses served from the cache by a recursive resolver.
Authoritative responses (where the server is authoritative for the queried
zone) are not affected by this change.</t>
      </section>
      <section anchor="zones-with-differing-parent-and-child-ns-sets">
        <name>Zones with Differing Parent and Child NS Sets</name>
        <t>Some zones intentionally maintain different NS RRsets at the parent and
child, for example to include "stealth" nameservers in the child-side NS
RRset that are not registered at the parent.  Under the parent-centric
model, these stealth nameservers will not be used for delegation decisions.
This is the intended and correct behavior: the parent zone is the
authority for delegation, and nameservers not listed in the parent's
delegation are not part of the delegation.</t>
        <t>The child-side NS RRset remains available for answering explicit NS
queries (<xref target="answering-ns-queries"/>) and for any purpose other than
delegation decisions.  Clients that query for the NS RRset at a zone
apex will receive the child-side NS data (with the AA flag set),
which may include nameservers not present in the parent-side delegation.
This makes the difference between the two NS sets visible and auditable
by zone operators.</t>
      </section>
      <section anchor="transition-considerations">
        <name>Transition Considerations</name>
        <t>Resolver operators transitioning from a child-centric to a parent-centric
implementation should be aware of the following:</t>
        <ul spacing="normal">
          <li>
            <t>After the transition, responses to queries with RD=1 may no longer
include NS records in the authority section for cached answers.
Monitoring systems that check for the presence of authority-section NS
records in recursive responses should be updated.</t>
          </li>
          <li>
            <t>Zones that rely on child-side NS records to "override" the parent's
delegation (e.g., to work around stale delegation data at a registry)
will no longer benefit from this override.  Such zones should instead
update their parent-side delegation.</t>
          </li>
          <li>
            <t>RPZ rules that were tuned based on child-side NS data may need to be
reviewed, as the nameserver set visible to RPZ evaluation will be
the (more stable) parent-side set.</t>
          </li>
          <li>
            <t>Resolver implementations that have previously deployed strict glue
checking (rejecting sibling glue) may relax this restriction after
adopting the parent-centric model, because delegation information is
scoped per zone cut and sibling glue can no longer contaminate
unrelated delegations (see <xref target="strict-glue-problem"/>).  Accepting sibling
glue again reduces the number of iterative queries needed to resolve
out-of-bailiwick delegations and avoids the resolution failures
associated with strict glue rejection.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="elimination-of-child-side-ns-overwrite-attacks">
        <name>Elimination of Child-Side NS Overwrite Attacks</name>
        <t>The most significant security benefit of the parent-centric model is that
a compromised or malicious child zone cannot redirect resolution by
publishing rogue NS records at its apex.  Since the resolver never uses
child-side NS data for delegation decisions, such attacks are ineffective.</t>
        <t>This closes an attack vector that has been present in child-centric
resolvers since the inception of the DNS: an attacker who compromises only
the child zone (but not the parent) can add NS records pointing to
attacker-controlled servers, and a child-centric resolver will follow
those NS records for subsequent queries.</t>
      </section>
      <section anchor="mitigation-of-ghost-domain-and-phoenix-domain-attacks">
        <name>Mitigation of Ghost Domain and Phoenix Domain Attacks</name>
        <t>As discussed in <xref target="ghost-domains"/>, the Ghost Domain <xref target="GHOST-DOMAIN"/> and
Phoenix Domain <xref target="PHOENIX-DOMAIN"/> attacks exploit the child-centric cache
update logic to keep revoked domain names resolvable.  A parent-centric
resolver is immune to the T1 class of these attacks because:</t>
        <ul spacing="normal">
          <li>
            <t>It does not accept child-side NS RRsets as delegation data, so an
attacker cannot refresh a stale or removed delegation by responding with
a child-side NS RRset carrying a new TTL.</t>
          </li>
          <li>
            <t>Once the parent-side delegation information expires (or is never
received because the parent has removed the delegation), the resolver
falls back to the next enclosing zone cut or root hints, which will not
lead to the revoked zone.</t>
          </li>
        </ul>
        <t>The T2 class of Phoenix Domain attacks (which exploits protocol-level
TTL semantics in referral responses from still-delegated parent zones) is
not fully addressed by the parent-centric model alone, but the attack
surface is significantly reduced because the resolver maintains a clear
separation between delegation data and answer data.</t>
      </section>
      <section anchor="glue-record-trust">
        <name>Glue Record Trust</name>
        <t>Parent-side glue records (A/AAAA records in the additional section of
referrals) are not authoritative and can be forged by an on-path attacker.
However, the parent-centric model fundamentally changes the security
properties of glue by scoping it to individual delegations.</t>
        <section anchor="elimination-of-cross-delegation-glue-contamination">
          <name>Elimination of Cross-Delegation Glue Contamination</name>
          <t>In a child-centric resolver with a shared cache, the primary risk of
sibling glue is cross-delegation contamination: an A/AAAA record for
<tt>ns1.example.net</tt> received in a referral for <tt>example.org</tt> enters the
shared cache and can be used when resolving <tt>example.net</tt>, even though the
glue was provided by the <tt>.org</tt> zone which has no authority over
<tt>example.net</tt> addresses.  This is the attack vector that strict glue
checking <xref target="STRICT-GLUE"/> was designed to prevent.</t>
          <t>In the parent-centric model, delegation information is self-contained per
zone cut.  Glue received in a referral for <tt>example.org</tt> is part of the
<tt>example.org</tt> delegation and is used only for contacting servers for that
zone.  It has no effect on the delegation information for <tt>example.net</tt> or
any other zone.  This scoping eliminates the cross-delegation
contamination vector entirely, without the operational cost of discarding
sibling glue.</t>
          <t>A parent-centric resolver can therefore safely accept sibling glue from
referral responses (see <xref target="strict-glue-problem"/>), recovering the
operational benefits of sibling glue (fewer iterative queries, faster
resolution, tolerance of out-of-bailiwick delegation configurations) while
maintaining security against cross-delegation poisoning.</t>
        </section>
        <section anchor="remaining-glue-trust-considerations">
          <name>Remaining Glue Trust Considerations</name>
          <t>Even with per-delegation scoping, glue records are still non-authoritative
data that can be forged by an on-path attacker between the parent zone's
authoritative server and the resolver.  A forged glue record would cause
the resolver to contact an attacker-controlled server for the specific
delegation that received the forged glue.  This risk is identical to the
existing risk of forged referral responses and is mitigated by the same
mechanisms (source port randomization, DNS cookies, DNSSEC validation of
the subsequent responses from the delegation).</t>
          <t>When DELEG records are used, server addresses included directly in the
DELEG RDATA are signed on the parent side, providing DNSSEC-validated
address information.  This eliminates the glue trust problem entirely for
DELEG-aware delegations, as the addresses are authenticated data rather
than unsigned glue, and out-of-bailiwick resolution of nameserver names
is no longer necessary.</t>
        </section>
      </section>
      <section anchor="stable-delegation-view">
        <name>Stable Delegation View</name>
        <t>By ensuring that delegation decisions are always based on parent-side
data, the parent-centric model provides a more stable and predictable view
of the delegation hierarchy.  This stability benefits security mechanisms
that depend on knowing the authoritative server set, including RPZ, DNS
firewall policies, and logging/auditing systems.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <ul empty="true">
        <li>
          <t><strong>Note to the RFC Editor:</strong> Please remove this section before publication.</t>
        </li>
      </ul>
      <t>The parent-centric resolver behavior described in this document has been
implemented in BIND 9 as part of a resolver refactoring.  The
implementation ensures that delegation decisions are based on
referral-learned data rather than child-side NS RRsets from the cache.
The fetch context uses a delegation set abstraction (containing nameserver
names, IPv4/IPv6 addresses, and DELEG/DELEGPARAM parameters) instead of
raw NS rdatasets throughout the resolution process.</t>
      <t>The implementation passes the full BIND 9 system test suite with
adjustments to tests that previously depended on child-side NS records
appearing in the authority section of recursive responses.</t>
      <t>The parent-centric approach has also been deployed in production by
Google Public DNS and was previously used by Nominum Vantio.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="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="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="RFC9156">
          <front>
            <title>DNS Query Name Minimisation to Improve Privacy</title>
            <author fullname="S. Bortzmeyer" initials="S." surname="Bortzmeyer"/>
            <author fullname="R. Dolmans" initials="R." surname="Dolmans"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="November" year="2021"/>
            <abstract>
              <t>This document describes a technique called "QNAME minimisation" to improve DNS privacy, where the DNS resolver no longer always sends the full original QNAME and original QTYPE to the upstream name server. This document obsoletes RFC 7816.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9156"/>
          <seriesInfo name="DOI" value="10.17487/RFC9156"/>
        </reference>
        <reference anchor="RFC8179">
          <front>
            <title>Intellectual Property Rights in IETF Technology</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <author fullname="J. Contreras" initials="J." surname="Contreras"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>The IETF policies about Intellectual Property Rights (IPR), such as patent rights, relative to technologies developed in the IETF are designed to ensure that IETF working groups and participants have as much information as possible about any IPR constraints on a technical proposal as early as possible in the development process. The policies are intended to benefit the Internet community and the public at large, while respecting the legitimate rights of IPR holders. This document sets out the IETF policies concerning IPR related to technology worked on within the IETF. It also describes the objectives that the policies are designed to meet. This document updates RFC 2026 and, with RFC 5378, replaces Section 10 of RFC 2026. This document also obsoletes RFCs 3979 and 4879.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="79"/>
          <seriesInfo name="RFC" value="8179"/>
          <seriesInfo name="DOI" value="10.17487/RFC8179"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="GHOST-DOMAIN" target="https://www.ndss-symposium.org/ndss2012/">
          <front>
            <title>Ghost Domain Names: Revoked Yet Still Resolvable</title>
            <author initials="J." surname="Jiang" fullname="Jian Jiang">
              <organization/>
            </author>
            <author initials="J." surname="Liang" fullname="Jinjin Liang">
              <organization/>
            </author>
            <author initials="K." surname="Li" fullname="Kang Li">
              <organization/>
            </author>
            <author initials="J." surname="Li" fullname="Jun Li">
              <organization/>
            </author>
            <author initials="H." surname="Duan" fullname="Haixin Duan">
              <organization/>
            </author>
            <author initials="J." surname="Wu" fullname="Jianping Wu">
              <organization/>
            </author>
            <date year="2012" month="February"/>
          </front>
          <seriesInfo name="In" value="Proceedings of the Network and Distributed System Security Symposium (NDSS 2012)"/>
        </reference>
        <reference anchor="PHOENIX-DOMAIN" target="https://www.ndss-symposium.org/ndss-paper/ghost-domain-reloaded-vulnerable-links-in-domain-name-delegation-and-revocation/">
          <front>
            <title>Ghost Domain Reloaded: Vulnerable Links in Domain Name Delegation and Revocation</title>
            <author initials="X." surname="Li" fullname="Xiang Li">
              <organization/>
            </author>
            <author initials="B." surname="Liu" fullname="Baojun Liu">
              <organization/>
            </author>
            <author initials="X." surname="Bai" fullname="Xuesong Bai">
              <organization/>
            </author>
            <author initials="H." surname="Duan" fullname="Haixin Duan">
              <organization/>
            </author>
            <author initials="Q." surname="Li" fullname="Qi Li">
              <organization/>
            </author>
            <author initials="Q." surname="Pan" fullname="Qingfeng Pan">
              <organization/>
            </author>
            <date year="2023" month="February"/>
          </front>
          <seriesInfo name="In" value="Proceedings of the Network and Distributed System Security Symposium (NDSS 2023)"/>
        </reference>
        <reference anchor="STRICT-GLUE" target="https://kb.isc.org/docs/strict-glue">
          <front>
            <title>Operational Notification: Impact of Stricter Glue Checking</title>
            <author>
              <organization>Internet Systems Consortium</organization>
            </author>
            <date year="2025" month="December"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-deleg">
          <front>
            <title>Extensible Delegation for DNS</title>
            <author fullname="Petr Špaček" initials="P." surname="Špaček">
              <organization>ISC</organization>
            </author>
            <author fullname="Ralf Weber" initials="R." surname="Weber">
              <organization>Akamai Technologies</organization>
            </author>
            <author fullname="David C Lawrence" initials="" surname="Lawrence">
              <organization>Salesforce</organization>
            </author>
            <date day="6" month="February" year="2026"/>
            <abstract>
              <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 DELEGPARAM records.

   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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-deleg-07"/>
        </reference>
        <reference anchor="RFC7719">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="December" year="2015"/>
            <abstract>
              <t>The DNS is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has sometimes changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7719"/>
          <seriesInfo name="DOI" value="10.17487/RFC7719"/>
        </reference>
      </references>
    </references>
    <?line 824?>

<section anchor="rationale-for-delegations-in-positive-responses">
      <name>Rationale for Delegations in Positive Responses</name>
      <t>During implementation, the question arose of whether delegation
information should also be recorded when it appears in positive
authoritative responses (AA set) rather than only in referrals.  Consider
the following zone structure:</t>
      <artwork><![CDATA[
zone             nameserver
----             ----------
example          ns1
foo.example      ns2
bar.foo.example  ns2
]]></artwork>
      <t>To resolve <tt>a.bar.foo.example</tt>, the resolver:</t>
      <ol spacing="normal" type="1"><li>
          <t>Asks a root server for <tt>example</tt>, receives a referral to <tt>ns1</tt>.</t>
        </li>
        <li>
          <t>Asks <tt>ns1</tt> for <tt>foo.example</tt>, receives a referral to <tt>ns2</tt>.</t>
        </li>
        <li>
          <t>Asks <tt>ns2</tt> for <tt>bar.foo.example/NS</tt>, receives a positive authoritative
answer (AA set) with the NS in the answer section.</t>
        </li>
      </ol>
      <t>If the delegation from step 3 is not recorded, the closest zone cut known
to the resolver is <tt>foo.example</tt>, which still works because <tt>ns2</tt> is
authoritative for both <tt>foo.example</tt> and <tt>bar.foo.example</tt>.</t>
      <t>However, not recording this delegation means the resolver will not have
address information for <tt>bar.foo.example</tt> nameservers available, so
additional section data in subsequent responses may be incomplete.  Whether
this trade-off is acceptable depends on the deployment context and whether
<tt>minimal-responses</tt> is in use.</t>
      <t>Implementations <bcp14>MAY</bcp14> choose to record delegation information learned from
positive authoritative responses, but <bcp14>SHOULD</bcp14> carefully evaluate the impact
on query volume and consistency.</t>
    </section>
    <section anchor="relationship-to-deleg">
      <name>Relationship to DELEG</name>
      <t>The DELEG record <xref target="I-D.ietf-deleg"/> defines an extensible delegation
mechanism that is exclusively parent-side.  The parent-centric resolver
behavior described in this document provides the necessary behavioral
foundation for DELEG support:</t>
      <ul spacing="normal">
        <li>
          <t>Delegation information as defined in this document naturally accommodates
DELEG data alongside or instead of NS-based delegations.</t>
        </li>
        <li>
          <t>Each delegation can contain DELEG entries with embedded server addresses
(server-ipv4, server-ipv6), server names (server-name), and DELEGPARAM
references (include-delegparam), in addition to traditional NS names and
glue.</t>
        </li>
        <li>
          <t>When DELEG records are present at a delegation point, the parent-centric
model provides a natural enforcement point for the rule from
<xref target="I-D.ietf-deleg"/> Section 5.1.1 that a DELEG-aware resolver <bcp14>MUST</bcp14> use
name servers from DELEG records and <bcp14>MUST NOT</bcp14> fall back to NS records.</t>
        </li>
        <li>
          <t>Because DELEG is signed on the parent side, a parent-centric resolver
can validate delegation parameters through the normal DNSSEC chain of
trust -- a capability that is fundamentally impossible with unsigned
parent-side NS records.</t>
        </li>
      </ul>
      <t>The parent-centric behavioral model is a prerequisite for correct DELEG
implementation.  A child-centric resolver that overwrites parent-side
delegation data with child-side NS data would lose the DELEG information
and could not maintain the invariant that DELEG takes precedence over NS.</t>
    </section>
    <section anchor="intellectual-property-note">
      <name>Intellectual Property Note</name>
      <ul empty="true">
        <li>
          <t><strong>Note to the RFC Editor:</strong> Please remove this appendix before
publication.</t>
        </li>
      </ul>
      <t>The authors are aware of U.S. Patent 7,769,826 ("Systems and methods of
providing DNS services using separate answer and referral caches", filed
June 26, 2003, assigned to Nominum, Inc., now held by Akamai
Technologies).  That patent claims a specific cache architecture in which
answer information and referral information are stored in separate data
structures (a flat/hash table for answers and a hierarchical/tree
structure for referrals) with a particular lookup order and
classification-based routing of responses to the appropriate store.</t>
      <t>This document intentionally does not specify, recommend, or require any
particular cache architecture, data-structure choice, lookup ordering, or
response classification scheme.  It specifies only the behavioral
requirement that delegation decisions be based on parent-side NS (or
DELEG) data from referrals and not be overwritten by child-side NS data.
Conforming implementations are free to use any internal organization --
including a single unified cache -- that achieves the required behavior.</t>
      <t>An IPR disclosure relating to this document should be filed with the IETF
Secretariat in accordance with BCP 79 <xref target="RFC8179"/>.</t>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The concept of parent-centric delegation handling has been explored by
multiple DNS implementations over the years.  The authors would like to
acknowledge the prior work by Nominum (Vantio) and Google (Public DNS) in
deploying parent-centric resolvers at scale, which demonstrated the
viability of this approach.</t>
      <t>The BIND 9 implementation was developed by Colin Vidal with contributions
from Evan Hunt and Ondřej Surý, building on the issue analysis by Petr
Špaček.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71963IbR5bm/3yKXCo2DDgASKR8Zd+WImmLPRJFk7Td7p2N
VQFIkGUCVdjKKlJohh5hH2D+zYvMn5np99pzy1tVAVR7ItYR0yMCqKy8nPv5
zsnxeKzqvF6aQ713kVWmqMfH8D9VPtMnZmlusjovC/06K+bLvLjReaFPzq/0
pbHl8t5Udk9l02ll7rtPu5/sqXk5K7IVvGBeZYt6bJtqM54XtlyP1/zIjB8Z
V/LI+MULNctqc1NWm0Nt67lq1nP42x7q/Rcvvxjh/36p8nV1qOuqsfXBixff
vjhQtpmucmthvvVmDa87O73+TsEbMpjcu7WpaClWw1L026zIbswK3runHsrq
7qYqmzX8DNb27mJP3ZkNfDo/VFqPcb30/+d+O+hPN1n6I10IP3b65vR7pWwN
7/vf2bIsYEYbY9U6x2HrcsZ/am3Lqq7Mwvq/N6v4z1m5Wmez2n/bTP0nRalU
1tS3ZUUzhf/TcEDw5LuJvmqq//g3+oT3/l0x//u/mF+jz8vqJivyv9GKYLOK
2lSFqfXVxtZmZfUx7BXMLG9W9GuzyvLloS6LeWV+/R+5nU3gefpmVjawajio
47+Z2W2epVM5nuif8nm2jKZyXAIpRZ/+ponMcJD+eXxXZcXMpNM4nejX8HU0
i9P7rAif/aY5mGx22z+FH4u8NnN9VSPV6nKhj1YGCCNTKi8WZbWC99wbPLTv
X7+7uh6fvHt7dHZ+SGM4Zvz+trS1PinhVYU+hynDKi7NfXkH4/6CU6vz5VK4
LJsuzR4/nVU3Bkjjtq7X9vD584eHh0kxt3YMVLUuLSwAJ/scPzp4sX/wnB4K
NIT/jXnH/jzRf86z4kY+dduGnyVfhJ+/6f158SvM/033gX/CB1q//if4Vfg0
Hrk9bFN0fvd6ok+arGj98nWWf0ChFb4Jw/7c9CxujWJOvkGhc6hxo8YgX/AT
C8doLB6i2669s2IPpV9VzoyZw8N03vWt0eemRtlCAucktyAZpg1RBRGVvjKz
psrrDfwtR6MH5ydXV/S+IR7nxet3p+dnf3maPC7NsszmZn6of2qWBUg6oAfY
n+LOksAONBTLdJwWEtSM/vyHyQeEN8jU5zc4j/GcXgECnOcxvvfTGC9xGmP4
Un6DOz0OsnQM04Dn3DR2EORfeujgL3kfxbzCX7bP9lVW/kpU03SGfZV1xm2A
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

-->

</rfc>
