<?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.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-wkumari-dnsop-localroot-bcp-05" category="std" consensus="true" submissionType="IETF" updates="RFC8806" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="LocalRoot">Populating resolvers with the root zone</title>
    <seriesInfo name="Internet-Draft" value="draft-wkumari-dnsop-localroot-bcp-05"/>
    <author fullname="Warren Kumari">
      <organization>Google, Inc.</organization>
      <address>
        <email>warren@kumari.net</email>
      </address>
    </author>
    <author fullname="Wes Hardaker">
      <organization>USC/ISI and Google, Inc.</organization>
      <address>
        <email>ietf@hardakers.net</email>
      </address>
    </author>
    <author initials="J." surname="Reid" fullname="Jim Reid">
      <organization>RTFM llp</organization>
      <address>
        <postal>
          <street>St Andrews House</street>
          <city>382 Hillington Road, Glasgow Scotland</city>
          <code>G51 4BL</code>
          <country>UK</country>
        </postal>
        <email>jim@rfc1035.com</email>
      </address>
    </author>
    <author initials="G." surname="Huston" fullname="Geoff Huston">
      <organization>APNIC</organization>
      <address>
        <postal>
          <street>6 Cordelia St</street>
          <city>South Brisbane</city>
          <code>QLD 4101</code>
          <country>Australia</country>
        </postal>
        <email>gih@apnic.net</email>
      </address>
    </author>
    <date year="2026" month="June" day="01"/>
    <area>Operations and Management</area>
    <workgroup>Domain Name System Operations</workgroup>
    <keyword>DNS</keyword>
    <keyword>DNSSEC</keyword>
    <keyword>zone cut</keyword>
    <keyword>delegation</keyword>
    <keyword>referral</keyword>
    <abstract>
      <?line 109?>

<t>DNS recursive resolver operators need to provide the best service
possible for their users, which includes providing an operationally
robust and privacy protecting service.  Challenges to these deployment
goals include difficulty of getting responses from the root servers
(such as during a network attack), longer-than-desired round-trip
times to the closest DNS root server, and privacy issues relating to
queries sent to the DNS root servers.  Resolvers can solve all of
these issues by simply serving an already cached a copy of the full
root zone.</t>
      <t>This document shows how resolvers can fetch, cache and maintain a copy
of the root zone, how to detect if the contents becomes stale, and
procedures for handling error conditions.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://wkumari.github.io/draft-wkumari-dnsop-localroot-bcp/draft-wkumari-dnsop-localroot-bcp.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-wkumari-dnsop-localroot-bcp/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Domain Name System Operations Working Group mailing list (<eref target="mailto:dnsop@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dnsop/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dnsop/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/https://github.com/wkumari/draft-wkumari-dnsop-localroot-bcp"/>.</t>
    </note>
  </front>
  <middle>
    <?line 125?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>DNS recursive resolvers have to provide responses to all queries from
their clients, even those for domain names that do not exist.  For
each queried name that is within a top-level domain (TLD) that is not
in the recursive resolver's cache, the resolver must send a query to a
DNS root server to get the information for that TLD or to find out that
the TLD does not exist.  Many of the queries to root servers get
answers that are referrals to other servers.  But, research shows that
the vast majority of queries going to the root are for names that do
not exist in the DNS root zone <xref target="DNEROOTNAMES"/>.  Regardless of whether
the queries get positive or negative answers, there are privacy
implications related to the eavesdropping of these queries as they are
being transmitted to the DNS root servers.</t>
      <section anchor="goals">
        <name>Local Caching of Root Server Data</name>
        <t>Caching the IANA root zone data locally, commonly referred to as
running a "LocalRoot" instance, provides a method for the operator of
a recursive resolver to use a complete copy of the IANA root zone
locally instead of sending requests to the Root Server System (RSS).
This goal can be implemented using a number of different techniques,
including as described in this document.  However, the net effect will
be the same: few, if any, queries should be sent to the actual RSS.</t>
        <t>Implementation techniques are documented herein for achieving
LocalRoot functionality (see <xref target="functionality"/>).  At a high level,
this involves a LocalRoot implementation pre-fetching the root zone at
regular intervals and populating its resolver's cache with
information, or by running an authoritative server in parallel that
acts as a local, authoritative root server for its associated resolver.
Other mechanisms for implementing LocalRoot functionality <bcp14>MAY</bcp14> be used.
To a client, the net effect of using any technique <bcp14>SHOULD</bcp14> be nearly
indistinguishable to that of a non-Localroot resolver.</t>
        <t>Note that enabling LocalRoot functionality in a resolver should have
little effect on improving resolver speed to its stub resolver clients
for queries under Top Level Domains (TLDs), as the TTL for most TLDs
is long-lived (two days in the current root zone). Thus, most TLD
nameserver and address records are typically already in a resolver's
cache.  Negative answers from the root servers are also cached in a
similar fashion, though potentially for a shorter time based on the
SOA negative cache timing (one day in the current root zone).</t>
        <t>Also note that a different approach to partially mitigating some of
the privacy problems that a LocalRoot enabled resolver solves can be
achieved using the "Aggressive Use of DNSSEC-Validated Cache"
<xref target="RFC8198"/> functionality.</t>
        <t>This document obsoletes <xref target="RFC8806"/>.</t>
      </section>
    </section>
    <section anchor="definitions">
      <name>Conventions and Definitions</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?>

<section anchor="terminology-used-in-this-document">
        <name>Terminology used in this document</name>
        <t>Readers are expected to be familiar with the terminology defined in
<xref target="RFC8499"/>.  In addition, the following terminology will be used in
this document:</t>
        <ul spacing="normal">
          <li>
            <t>IANA root zone: the Internet's globally unique DNS root zone as
published by IANA <xref target="RFC2826"/>.  This is the same source of root zone
data used by the Root Server Operators <xref target="RSSAC055"/>. <xref target="RFC8499"/>
describes the same root zone as "The zone of a DNS-based tree whose
apex is the zero- length label.  Also sometimes called ''the DNS
root'."</t>
          </li>
          <li>
            <t>IANA root zone data: the complete set of records that makes up the
IANA root zone.</t>
          </li>
          <li>
            <t>A LocalRoot enabled resolver: a recursive resolver that makes use of
a local copy of the root zone data while performing its DNS
resolution process.</t>
          </li>
          <li>
            <t>A LocalRoot implementation: the software or system of software
responsible for implementing the functionality described in this
specification. A LocalRoot implementation may be implemented as a
singular component within a recursive resolver or within multiple
components operating in coordination.  Implementations may also vary
significantly in how these tasks are performed, ranging from static
configuration to more active systems.  We refer to this entire
system, regardless of implementation sytle, as a "LocalRoot
implementation".</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="functionality">
      <name>Components of a LocalRoot enabled resolver</name>
      <t>To implement the goals described in <xref target="goals"/> and meet the
requirements described in <xref target="requirements"/>, a LocalRoot enabled
resolver will need to perform three fundamental tasks:</t>
      <ol spacing="normal" type="1"><li>
          <t>Identify locations from where root zone data can be obtained
(<xref target="root-zone-sources"/>).</t>
        </li>
        <li>
          <t>Downloading and refreshing the root zone data from one of the
publication points (<xref target="protocol-steps"/>).</t>
        </li>
        <li>
          <t>Integrating and serving the data while performing DNS resolutions
(<xref target="integrating-root-zone-data"/>).</t>
        </li>
      </ol>
      <t>Implementing these tasks entirely alleviates the need for sending any (other)
DNS requests to the RSS.</t>
      <t>Each of these tasks are described in greater detail in the subsections below.</t>
      <section anchor="root-zone-sources">
        <name>Identifying locations from where root zone data can be obtained</name>
        <t>For a LocalRoot enabled resolver to serve up to date data, an
implementation must be able to fetch the contents of the entire IANA
root zone on a regular basis from at least one publication source.
Implementations can find sources of root zone data in a number of
ways, including but not limited to:</t>
        <ol spacing="normal" type="1"><li>
            <t>An operationally configured list of sources (for example a
file of URLs) that can be used to fetch a copy of the IANA root
zone.</t>
          </li>
          <li>
            <t>A list of sources distributed with the resolver software itself,
(akin to how the root hints file is distributed with many resolvers
today).</t>
          </li>
          <li>
            <t>Downloading a list of available sources from IANA.  The mechanism
and list format for doing so is described in
<xref target="draft-hardaker-dnsop-iana-root-zone-publication-points"/>, which
asks IANA to aggregate, publish and maintain a list of IANA DNS
root zone sources at <em>TBD-URL</em> Guidance to IANA (or for other
entities wishing to collect and redistribute a list of sources) for
how to collect and maintain a list of IANA root data publication
sources is also discussed separately in
<xref target="draft-hardaker-dnsop-root-zone-pub-list-guidelines"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="protocol-steps">
        <name>Downloading and refreshing root zone data</name>
        <t>Once a list of available publication points of IANA root zone data
have been configured or obtained, a LocalRoot implementation <bcp14>MAY</bcp14> be
use the following steps to obtain and maintain an up to date copy of
the IANA root zone data.  Note that as long as the desired effect of
performing normal DNS resolution remains stable when combined with
LocalRoot functionality, other implementation strategies <bcp14>MAY</bcp14> be used.</t>
        <t>If a local copy of the IANA root zone data is unavailable for use in
DNS resolution at any point in these steps, resolvers <bcp14>SHOULD</bcp14> fall back
to performing DNS resolution by issuing queries directly to the RSS
instead.  If a resolver is unable to do so, it <bcp14>MUST</bcp14> respond to client
requests with a SERVFAIL response code.</t>
        <ol spacing="normal" type="1"><li>
            <t>A LocalRoot implementation <bcp14>SHOULD</bcp14> use a list of root zone sources
identified in <xref target="root-zone-sources"/> for obtaining a copy of the
IANA root zone.</t>
          </li>
          <li>
            <t>A LocalRoot implementation <bcp14>SHOULD</bcp14> select one of the available
sources from step 1, and from it retrieve a current copy of the
IANA root zone.  Resolvers <bcp14>SHOULD</bcp14> prioritize sources that can be
fetched the most efficiently.  For example, when supported, https
sources should be preferred as it allows for compression
negotiation as well as the use of low-cost, well-distributed
Content Delivery Networks (CDNs).  </t>
            <t>
When sending requests to a source of IANA root zone data, the
resolver <bcp14>SHOULD</bcp14> minimize its impact on the source by querying at a
rate no faster than specified by the SOA refresh timer and <bcp14>SHOULD</bcp14>
use data freshness protocol checks instead of downloading the
entire contents at each refresh (example checks include the HEAD
method <xref target="RFC9110"/> when using HTTP(s) or by querying the root
zone's SOA over DNS first when using AXFR, IXFR or XoT).  Once
fetched, an implementation <bcp14>MUST NOT</bcp14> make use of the obtained IANA
root zone data with a SOA serial number older than any previously
obtained copy <xref target="RFC1982"/>.</t>
          </li>
          <li>
            <t>If the LocalRoot implementation failed to retrieve the IANA root
zone data in step 2, or the SOA serial number was deemed to be
older than the already cached data, then it <bcp14>SHOULD</bcp14> attempt to
retrieve the IANA root zone data from another source. If the
LocalRoot implementation resolver has exhausted the list of
sources, it <bcp14>SHOULD</bcp14> stop attempting to download the IANA root zone
data and <bcp14>SHOULD</bcp14> wait another refresh time length until retrying
sources again.</t>
          </li>
          <li>
            <t>Having successfully downloaded a copy of the IANA root zone, the
LocalRoot implementation <bcp14>MUST</bcp14> verify the contents of the IANA root
zone data using the ZONEMD <xref target="RFC8976"/> record contained within it.
Note that this REQUIRES verification of the ZONEMD record using
DNSSEC <xref target="BCP237"/> with the configured IANA root zone trust anchor.
The contents of the fetched zone <bcp14>MUST NOT</bcp14> be used until after
ZONEMD verification, including its DNSSEC verification, is complete
and successful.  Once the IANA root zone data has been verified,
the LocalRoot implementation can begin LocalRoot enabled DNS
resolution, potentially using the steps defined in
<xref target="integrating-root-zone-data"/>.</t>
          </li>
          <li>
            <t>The resolver <bcp14>MUST</bcp14> check at least one the sources in step 1 at a
regular interval to identify when a new copy of the IANA root zone
data is available.  This frequency <bcp14>MAY</bcp14> be configurable and <bcp14>SHOULD</bcp14>
default to the IANA root zone's current SOA refresh value. When a
resolver has detected that a new copy of the IANA root zone data is
available, the resolver <bcp14>SHOULD</bcp14> start at step 2 to obtain a new copy
of the IANA root zone data.  Resolvers <bcp14>MAY</bcp14> check multiple sources
to ensure one source has not fallen significantly behind in its
copy of the IANA root zone.</t>
          </li>
        </ol>
      </section>
      <section anchor="integrating-root-zone-data">
        <name>Integrating and serving root zone data during resolution</name>
        <t>Any mechanism a LocalRoot implementation uses to integrate the IANA
root zone data obtained in <xref target="protocol-steps"/> to perform DNS resolution
tasks is sufficient if it is virtually indistinguishable to the DNS
resolver's clients.  Two example implementation strategies are included
below.</t>
        <section anchor="pre-caching-the-root-zone-data">
          <name>Pre-caching the root zone data</name>
          <t>Once the IANA root zone data has been collected and verified as complete
and correct (<xref target="protocol-steps"/>), a resolver <bcp14>MAY</bcp14> simply update its
cache with the newly obtained records.  Note that it is <bcp14>RECOMMENDED</bcp14>
that such implementations also perform aggressive DNSSEC caching
<xref target="RFC8198"/>, otherwise significant traffic will still be sent to the
Root Server System.</t>
        </section>
        <section anchor="running-a-local-authoratative-copy-of-the-root-zone-in-parallel">
          <name>Running a local authoratative copy of the root zone in parallel</name>
          <t><xref target="RFC8806"/> described an implementation mechanism where a copy of the
IANA root zone could be run in an authoratative server running in
parallel to the recursive resolver.  The recursive resolver could then
be configured to simply point at this parallel server for obtaining
data related to the root zone instead of the RSS itself.</t>
          <t>Note that <xref target="RFC8806"/> required that the parallel server be running on
a loopback address, but this specification removes that requirement.
Instead, implementations <bcp14>MAY</bcp14> run the parallel service on any service
address it can legitimately use.  However, such a server <bcp14>MUST NOT</bcp14> use
an address of one of the official root server addresses in the root
zone.</t>
        </section>
      </section>
    </section>
    <section anchor="requirements">
      <name>LocalRoot enabled resolver requirements</name>
      <t>The following requirements are to be followed when creating and/or
deploying a LocalRoot implementation:</t>
      <ul spacing="normal">
        <li>
          <t>A LocalRoot implementation <bcp14>MUST</bcp14> have a configured DNSSEC trust
anchor such as an up-to-date copy of the public part of the Key Signing
Key (KSK) <xref target="RFC4033"/> or used to sign the DNS root or its DS record.</t>
        </li>
        <li>
          <t>A LocalRoot implementation <bcp14>MUST</bcp14> retrieve or be provisioned with a
copy of the entire current root zone (including all DNSSEC-related
records) (see <xref target="protocol-steps"/>).</t>
        </li>
        <li>
          <t>A LocalRoot implementation <bcp14>MUST</bcp14> validate the contents of the root zone using
ZONEMD <xref target="RFC8976"/>, and <bcp14>MUST</bcp14> check the validity of the ZONEMD record
using DNSSEC.</t>
        </li>
        <li>
          <t>A LocalRoot implementation <bcp14>MUST</bcp14> use and serve records from the root
zone without modification.</t>
        </li>
        <li>
          <t>A LocalRoot enabled resolver <bcp14>SHALL</bcp14> return identical answers about
the DNS root, or any other part of the DNS, as if it would if it
were not operating as a LocalRoot enabled resolver.</t>
        </li>
        <li>
          <t>A LocalRoot implementation <bcp14>SHOULD</bcp14> be able to fall back to querying the
authoritative RSS servers whenever the local copy of the root zone
data is unavailable or has been deemed stale (see <xref target="protocol-steps"/>).</t>
        </li>
        <li>
          <t>A LocalRoot implementation <bcp14>MUST</bcp14> have an upper time limit beyond
which if a new copy of the IANA root zone data is not available it
will revert to sending regular DNS queries to the RSS for performing
DNS resolutions on behalf of its clients.  This upper limit value
<bcp14>MAY</bcp14> be configurable and <bcp14>SHOULD</bcp14> default to the root zone's current
SOA expiry value.  It <bcp14>MUST NOT</bcp14> be longer than the root zone's
current SOA expiry value.  Once the LocalRoot implementation's copy
of the IANA root zone has been successfully refreshed and is no
longer considered expired, the resolver may resume LocalRoot enabled
resolution operations.</t>
        </li>
        <li>
          <t>A LocalRoot implementation <bcp14>MUST</bcp14> revert to using regular DNS for
querying the root server when the downloaded zone contains RRTYPEs
or cryptographic algorithm types it does not understand.</t>
        </li>
        <li>
          <t>A LocalRoot implementation <bcp14>SHOULD</bcp14> use the EDNS EXPIRE Option <xref target="RFC7314"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>There are areas of potential concern that are mitigated to some extent
by using this mechanism.</t>
      <section anchor="iana-root-zone-data-security">
        <name>IANA root zone data security</name>
        <t>Secure DNS verification of an obtained copy of the IANA root zone is
possible because of the use of the RSS's ZONEMD <xref target="RFC8976"/> record.
This allows for the entire zone to be fetched and subsequently
verified before being used within recursive resolvers resolvers.
DNSSEC provides the same assurance for individual signed resource
records sourced from the root zone, including of the ZONEMD record
itself.</t>
      </section>
      <section anchor="leakage-of-potentially-sensitive-information">
        <name>Leakage of potentially sensitive information</name>
        <t>One privacy concern with the use of DNS is the leakage of potentially
sensitive information that may be contained in the query name used in
DNS queries. Most root servers (except b.root-servers.net) do not
currently support queries over encrypted transports, resulting in
query names that are visible to on-the-wire eavesdroppers, and may
also be held in any operational logs maintained by root server
operators. Such concerns may be mitigated by Query Name Minimization
<xref target="RFC9156"/>, but common implementations of this mechanism appear to
only minimize query names of four or fewer labels, and the uptake rate
of query name minimization appears to be quite low
<xref target="QNAMEMIN"/>. Furthermore, even with Query Name Minimization, queries
for non-existent names (generated from keyword searches and
mis-configurations) can cause additional privacy leaks.  <xref target="RFC8806"/>
eliminates the need for the resolver to perform specific queries to
any root nameserver, and obviates any such consideration of query name
leakage <xref target="LOCALROOTPRIVACY"/>.</t>
      </section>
      <section anchor="local-resiliency-of-the-dns">
        <name>Local resiliency of the DNS</name>
        <t>Another issue solved with LocalRoot is that when information is always
available locally, usage of it is no longer subject to DDoS attacks
against dependent networks and remote servers.  By having the answers
effectively permanently in cache, no queries to the upstream service
provider (such as root servers) are needed since LocalRoot enabled
resolvers effectively always have a cached set of data that is
considered fresh longer than the typical TTL records within the zone
<xref target="CACHEME"/> <xref target="LOCALROOTPRIVACY"/>.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document contains no requests to IANA, although its companion
documents do.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="BCP237" target="https://www.rfc-editor.org/info/bcp237">
          <reference anchor="RFC9364" target="https://www.rfc-editor.org/info/rfc9364">
            <front>
              <title>DNS Security Extensions (DNSSEC)</title>
              <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
              <date month="February" year="2023"/>
              <abstract>
                <t>This document describes the DNS Security Extensions (commonly called "DNSSEC") that are specified in RFCs 4033, 4034, and 4035, as well as a handful of others. One purpose is to introduce all of the RFCs in one place so that the reader can understand the many aspects of DNSSEC. This document does not update any of those RFCs. A second purpose is to state that using DNSSEC for origin authentication of DNS data is the best current practice. A third purpose is to provide a single reference for other documents that want to refer to DNSSEC.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="237"/>
            <seriesInfo name="RFC" value="9364"/>
            <seriesInfo name="DOI" value="10.17487/RFC9364"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC1982">
          <front>
            <title>Serial Number Arithmetic</title>
            <author fullname="R. Elz" initials="R." surname="Elz"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <date month="August" year="1996"/>
            <abstract>
              <t>The DNS has long relied upon serial number arithmetic, a concept which has never really been defined, certainly not in an IETF document, though which has been widely understood. This memo supplies the missing definition. It is intended to update RFC1034 and RFC1035. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1982"/>
          <seriesInfo name="DOI" value="10.17487/RFC1982"/>
        </reference>
        <reference anchor="RFC4033">
          <front>
            <title>DNS Security Introduction and Requirements</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>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4033"/>
          <seriesInfo name="DOI" value="10.17487/RFC4033"/>
        </reference>
        <reference anchor="RFC7314">
          <front>
            <title>Extension Mechanisms for DNS (EDNS) EXPIRE Option</title>
            <author fullname="M. Andrews" initials="M." surname="Andrews"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document specifies a method for secondary DNS servers to honour the SOA EXPIRE field as if they were always transferring from the primary, even when using other secondaries to perform indirect transfers and refresh queries.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7314"/>
          <seriesInfo name="DOI" value="10.17487/RFC7314"/>
        </reference>
        <reference anchor="RFC8198">
          <front>
            <title>Aggressive Use of DNSSEC-Validated Cache</title>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <author fullname="A. Kato" initials="A." surname="Kato"/>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>The DNS relies upon caching to scale; however, the cache lookup generally requires an exact match. This document specifies the use of NSEC/NSEC3 resource records to allow DNSSEC-validating resolvers to generate negative answers within a range and positive answers from wildcards. This increases performance, decreases latency, decreases resource utilization on both authoritative and recursive servers, and increases privacy. Also, it may help increase resilience to certain DoS attacks in some circumstances.</t>
              <t>This document updates RFC 4035 by allowing validating resolvers to generate negative answers based upon NSEC/NSEC3 records and positive answers in the presence of wildcards.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8198"/>
          <seriesInfo name="DOI" value="10.17487/RFC8198"/>
        </reference>
        <reference anchor="RFC8499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="January" year="2019"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has sometimes changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document obsoletes RFC 7719 and updates RFC 2308.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8499"/>
          <seriesInfo name="DOI" value="10.17487/RFC8499"/>
        </reference>
        <reference anchor="RFC8806">
          <front>
            <title>Running a Root Server Local to a Resolver</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Some DNS recursive resolvers have longer-than-desired round-trip times to the closest DNS root server; those resolvers may have difficulty getting responses from the root servers, such as during a network attack. Some DNS recursive resolver operators want to prevent snooping by third parties of requests sent to DNS root servers. In both cases, resolvers can greatly decrease the round-trip time and prevent observation of requests by serving a copy of the full root zone on the same server, such as on a loopback address or in the resolver software. This document shows how to start and maintain such a copy of the root zone that does not cause problems for other users of the DNS, at the cost of adding some operational fragility for the operator.</t>
              <t>This document obsoletes RFC 7706.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8806"/>
          <seriesInfo name="DOI" value="10.17487/RFC8806"/>
        </reference>
        <reference anchor="RFC8976">
          <front>
            <title>Message Digest for DNS Zones</title>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Barber" initials="P." surname="Barber"/>
            <author fullname="M. Weinberg" initials="M." surname="Weinberg"/>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>This document describes a protocol and new DNS Resource Record that provides a cryptographic message digest over DNS zone data at rest. The ZONEMD Resource Record conveys the digest data in the zone itself. When used in combination with DNSSEC, ZONEMD allows recipients to verify the zone contents for data integrity and origin authenticity. This provides assurance that received zone data matches published data, regardless of how the zone data has been transmitted and received. When used without DNSSEC, ZONEMD functions as a checksum, guarding only against unintentional changes.</t>
              <t>ZONEMD does not replace DNSSEC: DNSSEC protects individual RRsets (DNS data with fine granularity), whereas ZONEMD protects a zone's data as a whole, whether consumed by authoritative name servers, recursive name servers, or any other applications.</t>
              <t>As specified herein, ZONEMD is impractical for large, dynamic zones due to the time and resources required for digest calculation. However, the ZONEMD record is extensible so that new digest schemes may be added in the future to support large, dynamic zones.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8976"/>
          <seriesInfo name="DOI" value="10.17487/RFC8976"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2826">
          <front>
            <title>IAB Technical Comment on the Unique DNS Root</title>
            <author>
              <organization abbrev="IAB">Internet Architecture Board</organization>
            </author>
            <date month="May" year="2000"/>
            <abstract>
              <t>This document discusses the existence of a globally unique public name space in the Internet called the DNS (Domain Name System). This name space is a hierarchical name space derived from a single, globally unique root. It is a technical constraint inherent in the design of the DNS. One root must be supported by a set of coordinated root servers administered by a unique naming authority. It is not technically feasible for there to be more than one root in the public DNS. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2826"/>
          <seriesInfo name="DOI" value="10.17487/RFC2826"/>
        </reference>
        <reference anchor="RFC5936">
          <front>
            <title>DNS Zone Transfer Protocol (AXFR)</title>
            <author fullname="E. Lewis" initials="E." surname="Lewis"/>
            <author fullname="A. Hoenes" initials="A." role="editor" surname="Hoenes"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The standard means within the Domain Name System protocol for maintaining coherence among a zone's authoritative name servers consists of three mechanisms. Authoritative Transfer (AXFR) is one of the mechanisms and is defined in RFC 1034 and RFC 1035.</t>
              <t>The definition of AXFR has proven insufficient in detail, thereby forcing implementations intended to be compliant to make assumptions, impeding interoperability. Yet today we have a satisfactory set of implementations that do interoperate. This document is a new definition of AXFR -- new in the sense that it records an accurate definition of an interoperable AXFR mechanism. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5936"/>
          <seriesInfo name="DOI" value="10.17487/RFC5936"/>
        </reference>
        <reference anchor="RFC7766">
          <front>
            <title>DNS Transport over TCP - Implementation Requirements</title>
            <author fullname="J. Dickinson" initials="J." surname="Dickinson"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="R. Bellis" initials="R." surname="Bellis"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <date month="March" year="2016"/>
            <abstract>
              <t>This document specifies the requirement for support of TCP as a transport protocol for DNS implementations and provides guidelines towards DNS-over-TCP performance on par with that of DNS-over-UDP. This document obsoletes RFC 5966 and therefore updates RFC 1035 and RFC 1123.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7766"/>
          <seriesInfo name="DOI" value="10.17487/RFC7766"/>
        </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="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="BIND-MIRROR" target="https://bind9.readthedocs.io/en/stable/reference.html#namedconf-statement-type%20mirror">
          <front>
            <title>BIND 9 Mirror Zones</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="UNBOUND-AUTH-ZONE" target="https://nlnetlabs.nl/documentation/unbound">
          <front>
            <title>Unbound Auth Zone</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="KNOT-PREFILL" target="https://knot-resolver.readthedocs.io/en/stable/modules-prefill.html">
          <front>
            <title>Knot Resolver Prefill</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="QNAMEMIN" target="https://www.potaroo.net/ispcol/2019-08/qmin.html">
          <front>
            <title>DNS Query Privacy</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="LOCALROOTPRIVACY" target="http://ant.isi.edu/~hardaker/papers/2018-02-ndss-analyzing-root-privacy.pdf">
          <front>
            <title>Analyzing and mitigating privacy with the DNS root service</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CACHEME" target="https://ant.isi.edu/~johnh/PAPERS/Moura19b.pdf">
          <front>
            <title>Cache Me If You Can: Effects of DNS Time-to-Live</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="draft-hardaker-dnsop-dns-xfr-scheme" target="https://datatracker.ietf.org/doc/draft-hardaker-dnsop-dns-xfr-scheme/">
          <front>
            <title>The DNS XFR URI Schemes</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="draft-hardaker-dnsop-root-zone-pub-list-guidelines" target="https://datatracker.ietf.org/doc/draft-hardaker-dnsop-root-zone-pub-list-guidelines">
          <front>
            <title>Guidelines for IANA DNS Root Zone Publication List Providers</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="draft-hardaker-dnsop-iana-root-zone-publication-points" target="https://datatracker.ietf.org/doc/draft-hardaker-dnsop-iana-root-zone-publication-points">
          <front>
            <title>A format for publishing a list of sources of IANA root zone data</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="NOROOTS" target="https://www.icir.org/mallman/pubs/All19b/All19b.pdf">
          <front>
            <title>On Eliminating Root Nameservers from the DNS</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="DNEROOTNAMES" target="https://rssac002.root-servers.org/rcode_0_v_3.html">
          <front>
            <title>NoError vs NxDomain by-week</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RSSAC055" target="https://itp.cdn.icann.org/en/files/root-server-system-advisory-committee-rssac-publications/rssac-055-07jul21-en.pdf">
          <front>
            <title>Principles Guiding the Operation of the Public Root Server System</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 474?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors have discussed this idea with many people, and have likely
forgotten to acknowledge and credit many of them. If we discussed this with
you, and you are not listed, please please let us know and we'll add you.</t>
      <t>This work has been founded upon previous documents.  Most importantly,
<xref target="RFC8806"/>, authored by Warren Kumari and Paul Hoffman, and "On
Eliminating Root Nameservers from the DNS" <xref target="NOROOTS"/> by Mark Allman.</t>
      <t>The authors would like to thank Joe Abley, Vint Cerf, John Crain,
Marco Davids, Peter Koch, Matt Larson, Florian Obser, Swapneel
Patnekar, Puneet Sood, Robert Story, Ondrej Sury, Suzanne Woolf, and
many many others for their comments, suggestions and input to both
past and current versions of this document.</t>
      <t>In addition, one of the authors would like to once again thank the
bands "Infected Mushroom", "Kraftwerk", and "deadmau5" for providing
the soundtrack to which this was written.  Another author recently
discovered the band "Trampled by Turtles" while working on this
document and is submitting it as a nomination for the
best-band-name-ever award.</t>
    </section>
    <section numbered="false" anchor="history-of-the-localroot-concept">
      <name>History of the LocalRoot concept</name>
      <t>Note: DNSOP needs to discuss whether to publish this as a BCP or as a
proposed standard.  Currently this is listed as STD track based on a
number of preliminary conversations the authors had with both
operators and IETF participants.</t>
      <t><xref target="RFC8806"/> is an Informational document that describes a mechanism
that resolver operators can use to improve the performance,
reliability, and privacy of their resolvers.  This document concludes
the concept of <xref target="RFC8806"/> was a success, but that actual
implementation of it has varied according to the needs of various code
bases and operational environments.  Thus, this document houses many
of the original concepts of <xref target="RFC8806"/> but is largely a complete
rewrite to match modern expectations based on recent implementation
and deployment experiences.</t>
      <t>This document differs in a number of critical ways (TBD: this list is incomplete):</t>
      <ol spacing="normal" type="1"><li>
          <t>promotes the behavior in <xref target="RFC8806"/> to be either a Proposed
standard or a Best Current Practice, depending on what the WG
decides.</t>
        </li>
        <li>
          <t>RECOMMENDS that resolver implementations provide a simple configuration
option to enable or disable functionality, and</t>
        </li>
        <li>
          <t>RECOMMENDS that resolver implementations enable this behavior by default, and</t>
        </li>
        <li>
          <t>REQUIRES that <xref target="RFC8976"/> be used to validate the IANA root zone information
before loading it.</t>
        </li>
        <li>
          <t>Adds a mechanism for priming the list of places for fetching root zone data.</t>
        </li>
        <li>
          <t>Adds protocol steps for ensuring resolution stability and resiliency.</t>
        </li>
      </ol>
      <section numbered="false" anchor="an-important-change-from-rfc8806">
        <name>An important change from RFC8806</name>
        <t><xref target="RFC8806"/> Section 2 (Requirements) states that:</t>
        <ul empty="true">
          <li>
            <t>The system <bcp14>MUST</bcp14> be able to run an authoritative service for the
root zone on the same host.  The authoritative root service <bcp14>MUST</bcp14>
only respond to queries from the same host.  One way to assure not
responding to queries from other hosts is to run an authoritative
server for the root that responds only on one of the loopback
addresses (that is, an address in the range 127/8 for IPv4 or ::1
in IPv6).  Another method is to have the resolver software also
act as an authoritative server for the root zone, but only for
answering queries from itself.</t>
          </li>
        </ul>
        <t>This document relaxes this requirement. Resolver implementations can
achieve the desired behavior of directly serving the contents of the
root zone via multiple implementation choices, beyond those listed in
<xref target="RFC8806"/>.  This can include the implementation guidance described
in RFC8806, but this document allows for implementations to select any
mechanism for fetching and re-distributing the contents of the root
zone on their resolver service addresses as long as the other
requirements specified in this document are still followed (see
<xref target="requirements"/>).</t>
        <t>For example, an implementation can simply "prefill" the resolver's
cache with the current contents of the root zone. As the resulting
behavior is (essentially) indistinguishable from the mechanism defined
in RFC8806, this is viewed as being an acceptable implementation
decision.</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
