<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 4.0.1) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC8198 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8198.xml">
<!ENTITY RFC8615 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml">
<!ENTITY RFC8806 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8806.xml">
<!ENTITY RFC8976 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8976.xml">
<!ENTITY RFC9077 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9077.xml">
<!ENTITY RFC9364 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9364.xml">
<!ENTITY RFC9499 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9499.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC5936 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5936.xml">
<!ENTITY RFC9103 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9103.xml">
]>


<rfc ipr="trust200902" docName="draft-hoffman-rootcache-01" category="std" consensus="true" submissionType="IETF" obsoletes="8806">
  <front>
    <title abbrev="RootCache">RootCache: Filling Resolver Caches with Root Zone Records</title>

    <author initials="P." surname="Hoffman" fullname="Paul Hoffman">
      <organization>ICANN</organization>
      <address>
        <email>paul.hoffman@icann.org</email>
      </address>
    </author>

    <date year="2026" month="March" day="16"/>

    
    
    

    <abstract>


<?line 30?>

<t>Some DNS recursive resolver operators want to prevent snooping by third parties of requests sent to DNS root servers.
Resolvers can reduce the number of queries sent to root server, and thus prevent observation of requests,
by caching a copy of the full root zone.
This document shows how a resolver can securely receive the full root zone and put it into the resolver's cache.</t>

<t>This document obsoletes RFC 8806.</t>



    </abstract>



  </front>

  <middle>


<?line 39?>

<section anchor="introduction"><name>Introduction</name>

<t>This document describes RootCache, a method for a resolver to quickly and securely fill its cache with the entire root zone.
RootCache is an enhancement to resolver operations, but does not change the DNS protocol used in those resolvers at all.</t>

<t>[[ Copied from RFC 8806 with minor clarifications. ]]</t>

<t>DNS recursive resolvers have to provide answers 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 root server of the global DNS to get the information for that TLD or to find out that the TLD does not exist.
Research shows that the vast majority of queries going to the root are for names that do not exist in the root zone.</t>

<t>Many of the queries from recursive resolvers to root servers get answers that are referrals to other servers.
Malicious third parties might be able to observe that traffic on the network between the recursive resolver and root servers.</t>

<t>A different approach to solving some of the problems discussed in this document is described as a standalone solution in <xref target="RFC8198"/> and <xref target="RFC9077"/>.
This approach is included as part of RootCache.</t>

<t>Readers are expected to be familiar with <xref target="RFC9499"/>.</t>

<section anchor="use-case"><name>RootCache Use Case</name>

<t>[[ Copied from RFC 8806, but with changes to the goals. ]]</t>

<t>The primary goals of RootCache are to provide more reliable answers for queries to the root zone.
Using RootCache will probably have little effect on getting faster responses to the stub resolver for good queries on TLDs, because the TTL for most TLDs is usually long-lived (on the order of a day or two) and is thus usually already in the cache of the recursive resolver; the same is true for the TTL for negative answers from the root servers.</t>

</section>
<section anchor="design"><name>RootCache Design</name>

<t>RootCache is a method for the operator of a recursive resolver to have a complete root zone in their cache and to prevent queries going to the root servers.
This in turn prevents outsiders from seeing what queries the resolver's clients have made because those queries are never sent to the root servers.</t>

<t>The basic idea is to create an up-to-date set of root zone answers in the cache of the recursive server, if possible.
The recursive resolver validates all contents of the root zone before putting them in its cache, just as it would validate all responses from a remote root server.
It only puts the root zone records in the cache if doing so would not force out other records.</t>

<t>RootCache adds records to a resolver's cache, but does not change the way the cache works.
For example, if the operator stops running RootCache (either intentionally or accidentally), the cache acts exactly the same.</t>

</section>
<section anchor="differences-between-this-document-and-rfc-8806"><name>Differences Between This Document and RFC 8806</name>

<t>The core design of <xref target="RFC8806"/> was that resolvers would locally act as root servers.
That design has many failure cases that need to be dealt with in by resolver sofware.
The core design of RootCache is that resolvers will fill their cache with the contents of the root zone so that queries do not need to go to root servers
unless the records in their cache time out.
Failures to fill the cache do not cause any failure cases for the resolver as a whole.</t>

<t><xref target="RFC8806"/> focused on getting the root zone by AXFR requests to root server operators.
RootCache expands that by giving a standard way to get the root zone over HTTPS.</t>

<t>This document assumes that the vast majority of resolver operators will use the default configurations that come with their resolver software.</t>

<t>This document removes discussion of "faster responses", but will add it back in later versions if there is research to show that faster responses are measurably better for resolver operators or their users.</t>

</section>
<section anchor="bcp-14-language"><name>BCP 14 Language</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>
</section>
<section anchor="rootcache-requirements-and-operation"><name>RootCache Requirements and Operation</name>

<t>[[ The following paragraph and the first three bullets are copied from RFC 8806. ]]</t>

<t>In order to implement the RootCache mechanism described in this document:</t>

<t><list style="symbols">
  <t>The system <bcp14>MUST</bcp14> be able to validate every signed record in a zone with DNSSEC <xref target="RFC9364"/>.</t>
  <t>The system <bcp14>MUST</bcp14> have an up-to-date copy of the public part of the Key Signing Key (KSK) <xref target="RFC9364"/> used to sign the DNS root.</t>
  <t>The system <bcp14>MUST</bcp14> be able to retrieve a copy of the entire root zone (including all DNSSEC-related records).</t>
  <t>The system <bcp14>MUST</bcp14> be able to verify the contents of the root zone data using the ZONEMD record <xref target="RFC8976"/> from the root zone.</t>
</list></t>

</section>
<section anchor="the-system-should-implement-aggressive-use-of-the-dnssec-validated-cache-as-described-in-rfc8198-and-rfc9077"><name>The system SHOULD implement aggressive use of the DNSSEC-validated cache as described in <xref target="RFC8198"/> and <xref target="RFC9077"/>.</name>

<t>In order to enhance its cache with RootCache, a resolver performs the following steps in order.</t>

<section anchor="retrieval"><name>Retrieval</name>

<t>The resolver periodically retrieves the entire root zone.
It can do this from any source; see <xref target="root-sources"/> for information on where the zone might be found and <xref target="refresh"/> for considerations on how often to refresh.</t>

</section>
<section anchor="verification"><name>Verification</name>

<t>The contents of the retrieved root zone <bcp14>MUST</bcp14> be verified for completeness by checking it against the ZONEMD record in the zone, using the methods described in <xref target="RFC8976"/>.
If the ZONEMD verification fails, the retrieved zone <bcp14>MUST</bcp14> be abandoned; the resolver <bcp14>SHOULD</bcp14> then try other configured sources.</t>

</section>
<section anchor="validation"><name>Validation</name>

<t>After validating the contents of that root zone, every record in the root zone <bcp14>MUST</bcp14> be validated using DNSSEC <xref target="RFC9364"/>.
If the DNSSEC validation fails, the retrieved zone <bcp14>MUST</bcp14> be abandoned; the resolver <bcp14>SHOULD</bcp14> then try other configured sources.</t>

<t>Performing this step is <bcp14>REQUIRED</bcp14> even for resolvers that are not configured to do DNSSEC validation for queries from clients.</t>

</section>
<section anchor="comparison"><name>Comparison</name>

<t>The resolver <bcp14>MUST</bcp14> compare the serial number in the SOA record in the retrieved root zone against the serial number in the SOA record for the root zone in its cache.
If the serial number in the retrieved record is higher, or there is no SOA record for the root zone in the cache, the records of the retrieved root zone can be added to the resolver's cache, replacing any records with the same name/class/type triple that are already in the cache or adding new records.</t>

<t>However, if adding these newly-retrieved records to the cache would force other records out of the cache, the resolver <bcp14>SHOULD NOT</bcp14> add the new root records.
Adding the new root records would cause one set of queries to not be sent on the wire, but would cause a different set of records to be forced out early and thus might expose a different set of queries on the wire.
Implementations <bcp14>MAY</bcp14> choose to simply replace current root-level records in the cache with the ones received, or they <bcp14>MAY</bcp14> simply ignore the new records.</t>

</section>
<section anchor="aggressive"><name>Reducing Queries to the Root Servers Even Further</name>

<t>Resolvers implementing RootCache <bcp14>SHOULD</bcp14> also implement aggressive use of the DNSSEC-validated cache as described in <xref target="RFC8198"/> and <xref target="RFC9077"/>.
This process, often called "aggressive NSEC", will prevent queries that would get negative replies from being sent to the root server system.</t>

</section>
</section>
<section anchor="root-sources"><name>Sources of the Root Zone</name>

<t>[[ Loosely copied from RFC 8806, with additions. ]]</t>

<t>The root zone can be retrieved from anywhere as long as it comes with all the DNSSEC records needed for validation.</t>

<t>Currently, a resolver can get the root zone from ICANN by zone transfer AXFR (see <xref target="RFC5936"/>) over TCP from DNS servers at xfr.lax.dns.icann.org and xfr.cjr.dns.icann.org.</t>

<t>[[ Should likely talk about <xref target="RFC9103"/>. ]]</t>

<t>Currently, there is <eref target="https://www.iana.org/domains/root/files">a description of how the root zone file can be obtained from IANA</eref>.</t>

<t>Currently, the root can also be retrieved by AXFR over TCP from many of the root server operators at their service addresses.
It can also be retrieved from the <eref target="https://localroot.isi.edu/">LocalRoot service</eref>.</t>

<t>It is crucial to note that none of the above services are guaranteed to be available.
It is possible that ICANN or some of the root server operators will turn off the AXFR capability on the DNS servers.
Using AXFR over TCP to addresses that are likely to be anycast (as the ones above are) may conceivably have transfer problems due to anycast, but current practice shows that to be unlikely.</t>

<section anchor="root-zone-sources-over-https"><name>Root Zone Sources over HTTPS</name>

<t>[[ Readers familiar with "/.well-known/" will want to review this carefully. The wording here is quite likely to change ]]</t>

<t>Since the publication of <xref target="RFC8806"/>, there has been an increased desire to be able to retrieve the root zone over HTTPS.
This section shows a method for operators of web services that want to publish the root zone to make the zone easily findable, using the "/.well-known/" URL path prefix (<xref target="RFC8615"/>).</t>

<t>Web serververs that offer to serve the root zone, they <bcp14>SHOULD</bcp14> do so at an HTTPS URL whose path component is exactly "/.well-known/dns-root-zone/".
Thus, a client who wants to get the root zone from the HTTPS web server at example.com would use the URL "https://example.com//.well-known/dns-root-zone/".</t>

</section>
<section anchor="configuration-of-sources-for-rootcache"><name>Configuration of Sources for RootCache</name>

<t>It seems likely that the vast majority of resolver operators will use the default configurations that come with their resolver software.
Based on that, this document assumes that the list of sources for root zone information will be at least initially collected by the resolver software implementers.
Those implementers are well-positioned to find and test sources, and to update their software when the list of good sources changes.</t>

<t>Resolver software that implements RootCache <bcp14>SHOULD</bcp14> come with a list of at least five sources of the root zone that are known at the time that the software is released.
It <bcp14>SHOULD</bcp14> also allow the resolver operator to change the list of sources for the root zone.</t>

<t>It seems likely that some people will create and maintain lists of sources for RootCache zones.
This is not a requirement for RootCache to be successful, but there might be a population of resolver operators who want to use a wider set of sources than what their resolver developer gives them in any particular software release.</t>

</section>
</section>
<section anchor="refresh"><name>Refresh Period</name>

<t>[[ Discussion in the DNSOP WG in January 2026 indicates that determining this value will be contentious, at least initially.
This is really just a placeholder, and it is likely that this section will have multiple orthogonal methods. ]]</t>

<t>The resolver <bcp14>SHOULD</bcp14> get a new copy of the root zone from any of its configured sources approximately twice a day.
This value is based on the TTLs of the records in the root zone in early 2026.
These TTLs have been the same for over a decade, but IANA could change in the future.
Any such change in the root zone could change the values given here.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="registration-in-the-the-well-known-uris-registry"><name>Registration in the the "Well-Known URIs" Registry</name>

<t>(This template is based on <xref target="RFC8615"/>.)</t>

<t>URI suffix:  dns-root-zone</t>

<t>Change controller:  IETF</t>

<t>Specification document(s):  This document</t>

<t>Status:  permanent</t>

<t>Related information: N/A</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This document assumes that all sources of the root zone serve it unaltered, regardless of the protocol used to retrieve it.
Further, it assumes that all such sources make a best-faith effort to serve quite fresh versions, and that those sources will stop service if they are unable to get fresh versions themselves.</t>

<t>If any of the <bcp14>MUST</bcp14>-level requirements in <xref target="verification"/>, <xref target="validation"/>, or <xref target="comparison"/> are not followed, a resolver can be tricked into serving bad data for records from the root zone.</t>

<t>A resolver that does not implement aggressive NSEC as described in <xref target="aggressive"/> will leak negative queries to the root server system.</t>

<t>[[ More to come ]]</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC8198;
&RFC8615;
&RFC8806;
&RFC8976;
&RFC9077;
&RFC9364;
&RFC9499;
&RFC2119;
&RFC8174;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&RFC5936;
&RFC9103;


    </references>

</references>


<?line 243?>

<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The discussions in the DNSOP Working Group led to many ideas here about improvements to <xref target="RFC8806"/>.
Thanks go to Warren Kumari, Wes Hardaker, Jim Reid, and Geoff Huston for authoring
and getting discussion going with a draft on "Populating resolvers with the root zone".
Particular thanks go to Warren Kumari for co-authoring <xref target="RFC8806"/> (and RFC 7706 that preceded it).</t>

</section>


  </back>

<!-- ##markdown-source:
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
le3QG/0fpyc7Nsg0AAA=

-->

</rfc>

