<?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 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 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 RFC8198 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8198.xml">
<!ENTITY RFC9103 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9103.xml">
]>


<rfc ipr="trust200902" docName="draft-hoffman-rootcache-00" 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="02"/>

    
    
    

    <abstract>


<?line 29?>

<t>Some DNS recursive resolver operators want to reduce the number of queries they send to the root servers of the global DNS in order to give faster responses to their clients.
Some DNS recursive resolver operators want to prevent snooping by third parties of requests sent to DNS root servers.
In both cases, 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 in <xref target="RFC8198"/>.</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 hide queries for the root zone from outsiders.
The basic idea is to create an up-to-date set of root zone answers in the cache of the recursive server.
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.</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.</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>

</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>

<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 are then added to the resolve's cache, replacing any records with the same name/class/type triple that are already in the cache.</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>

</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>[[ More to come ]]</t>

</section>


  </middle>

  <back>


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

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

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


    </references>

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

&RFC5936;
&RFC8198;
&RFC9103;


    </references>

</references>


<?line 221?>

<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:
H4sIAAAAAAAAA8Va23bcuLF951fgyA9HzlK3JI/HF01WcjSSPVYs24okxyfx
zAOaRHdjxCY6BKl2x0v/km/Jl2VXFUCCrZZn5eWctebSAsFCoS67bhyNRllj
m9IcqZ1L55oTnc/x+7UtS1vN1KXxrrw1teJ1r1a2mSvap/7mKoPHuasLv5Pp
yaQ2t0eqI5EVLq/0AqSKWk+b0dxNpwtdjWpsyGnD6OAgs8v6SDV165snBwcv
D55kvp0srPfWVc16iXfPXl2/znLdHCnfFJmbgBnTGH+kXrw4eJZlum3mrj7K
lBrhX6VshUcXY/VGDuM1YeJCt+Vg2dUzXdl/6AZn4ZyT4/fved0stC2P1BL7
x4Hn/7G5rqox3siyytULvHNr6NDL1ycvnh1+H3+Cpfjz5fP48+V3z57Gn09f
vjzKMltNN4h8j03xzcOXL+L2w4PvsH00Gik98U2t8ybLrtzCqNP3V6o2eVt7
0MCvoCK3NLVuXA0t6apRjcOjos2NauZGVe1iQnum6u+tqS1UidW18qYqaCdt
IdVgoQYtTxtpbVa6iS75RFtBaAVoYPuMDp5q3+BPnL90lSeKTMfWKi+tqRo/
/g/ZXcKE8J7ylXNLsr7JGgRtXUAddUM8g6va4AK+8cQ6v8XkE9bH2VmlJg52
mmtwtded6LFQfVsmkWZCb09pEtG89R1/sEM8YtNJOdrLwC/ZNrGuVe6W6yjG
aVuWQvQfcJtxdj23XsFD2gXfd+5WXuE/eKsTD/HqSWqmXJP4DAnvPi3mbtk2
yuKfKmoyEPlvz/zgwI0TO08iQ2NnGoulLWxRlCbLHqmzqqkdREW33Hy9MD6v
7YRej/4OMamFgTsWCuadXgQ8/b21+Q2uQbx2d5oCYsB1YFGQhZjHAbY2qbS6
QxSYgFhMNddVbhZRWUOLAr9Q+gQiKRw4rEAmx/6ZSI+sZVm7xuWuVK03Bdk1
2PYmsRPdKF2WEMnPn3/+rE5gjNg3rd2iE5ewu7DAA1i7ru0UIMFHj9XPv/z8
S5Ztt3qoWZMeydjdrS1If35F61jCmZ0l8mkDb9pTZH2BV5Jx4YBVFQMcebOm
C/N1zRfrm3H2GnsMxBZoFrxTNlpBcrytcfByVIJ0GQnuXp+fPu72EUEWkdly
nWhgewOzUwsgukCL5sPXfLvUq7bgC8GKaXi1g0g4GN2UeQFXyrE5TS0ou7aR
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

-->

</rfc>

