<?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-04" category="std" consensus="true" submissionType="IETF" updates="RFC8806" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="LocalRoot">Populating resolvers with the root zone</title>
    <seriesInfo name="Internet-Draft" value="draft-wkumari-dnsop-localroot-bcp-04"/>
    <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="March" day="12"/>
    <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>This behavior <bcp14>SHOULD</bcp14> be used by all general-purpose recursive
resolvers used on the public Internet.</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>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 473?>

<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:
H4sIAAAAAAAAA61863IbObLmfzxFrhwbbU+QlOVb24qzfVqW5LamdRtRnp6e
jY0JsAok0SoC1QCKNFuh8yz7LPtkG5kJVKFISu09e36JIquABJDXLzMxHA5F
0KFSh7B3beumkkGbGTjlbbVUzsNKhzmEuQJnbYA/rFF7Qk4mTi0PYe/cFrK6
sTbsiUIGNbNufQg+lEKUtjByoQ6hdHIahqu7ZiGdHpbG23pY4Ws43nBS1MNK
BuWD8M1kob3X1oR1rQ7h7PT2kyis8cr4xh9CcI0Sy0N4LaRT8hD2rmrlZNDW
eJCmhAtp5EwtlAl7YmXd3czZpj6EvRO7kNrApVwoGK99UAvo3twTd2q9sq48
FDCEk8tx/DM+PcZPuFwomoCfS1WpGb2F/zk1Vc7JSjR1ifQfws2n4/fvX74T
S2UadSgAvpEAAF7v3i/W3eHe/4Tv4fcLqatD2KM9+1GrMB1ZN8MfpCvmh7A3
D6H2h/v7+Bx+pZdqlB7bxy/2J86uvNqnEfbxzZkO82aSvctfjAq72I9ntP+n
J4YD8aFlA8XnR3FAbf98nD9/YjQPi2pPCNmEuXW4qUMBADBtqorZ6xfpnDLw
Mw1Bv1k3k0b/Qdt7CD9ZO6vUAM5MMaKfFe/qit77MRJtVNg1tvLwWbpS3im3
Y+gv4+P9s/EZMd9j0+Bx/DiPY/jePNr4Q/jrCG6ULukLnvSvetF9Zd3sEG5u
P11AVdX0jQ9OqXAI4wBHpnRq5eGzbbyiHwsd1ofw+v0r+KyrSptZsAZurCwH
8FMl/cyuYFzYUEnDwxe2VIfw09sDePPxPH7TmIBC/OXnfBm/6cWPblocvHz9
Flmlv4afRvC58QHlord9Pyk7neY/9bfv6Pry7DifZKbnP8ra6CJuU7fYd3Bs
XakqLWEcspWObRPm8NFpP5FGZUv62/kJvDl4edBf01Hjg5OVlkIY6xYy6CUJ
6sfj61evv8dPN5+ODz68f3UI8AzGV0ewkGHOX795+fo1fZ2UA375/euDN/G1
9wcf3qePbz58SB/fv3yXPn74/t2hENpM86lvPh2/ev/qHY18dnR5BLPKTmQF
jdG/NwonI73LT7798PpdogH+iarp1knjp8SdSM7377rf6afaugB2qRzcHl/z
Qx8O3vJDf7s8ujiFC230Qvuo1/iBg5f0wOfb22sYq4U0QRdRx6owt6UXuGln
lyfDi7Obm6ubQ9rmZEXwB/gAF9o564hMUnIAQboZnmbSGBNtyg8jp2QZ5qq0
hUelocy+D3JSqX3SsMoUipTAM+SpsrBmOvRBBtLzQ1Sc//3VywVNJQC+XH68
+nJ5Mjz6cvt5+M+ry9M+ZV/MxDamhCPkmn+SJdtFl6mMCpWc+JGp9ktbNDgX
bdB+wyMIgJ8vr26H1zenn87Oz/uz/GxsgJtoP+Haqamuqt0z3RkbhsnUPr4T
C1s2lfLDmsei/RDAB3hxdtmbHo/+b41ya7h2eimL9c6JV6vVqLZBOmtR2Pa1
rwtb7b96efBh+PL9/u8LbdIs51fHR+c3V1e31zdnfz86/rU325GR1foPNFrI
HQsd9Iz9h5on77yHxMnglVvqQm2Rdbi/L00Yaa9Hqmz2/yMpzf1a1sp5pO39
8OWroSm9H8o075AsRZxtVJdTAXB8dPz59GLj7I9lMVdwoeBsCr/aBo6lOYTT
6VQVwYOdssjohRoGOzzXy0dYo0fhb3Zu5vvXR9enN+P9C9s4efBhEmlgy5bW
EE1bafzw69QNfTFXC9Wj7zZu0T8+3cCXmzMY0yN+JxGlDDI4Wdwp15n70hb7
3zDp/mO00T6iuzOsm8mw0j4MZ41GnWuU75H6U/s1TK1jrYWkoxvIWum6mVS6
IImBc+0DXDu71KVy/xXreZLQx1anpZH9NxOBw9pqE/orPALW0bQ+etbPiccB
p0Nu8bZxhSLGofW3vjHgYv4LVvmnBAuAyysUy3GP9CsDp5VeaMNiSGeCjidK
HXrzU2cXSR4f1Qy60I7IW8iqWkizXzcTv39UVQcfJvFPZPOTy1OkARVRn45L
e0rqf+nh8mt0gCfr4Uqpu53TOu9l8fLlqxGtOVJLNDi06P96+a/lv14nlXQz
Hh8dv3z7tjfjtdOm0HWlPHEorh7X2XraeFb4BTMn78yY5olO+U66dKhHRWlG
upDGED3K7E91pfx+RunQ0whDWS61t249LOxioUNQakgLy8/P81qHL9++Hb78
/remenUwVIb2UwyHQ5ATdFKKIASpTFU0zuulaiMysLQi6zwYpUoIFmoWL1re
RPlOx9bWez2pFDFymCvtoPHK+QGs5rqYgzZF1ZTKxxFYj8cJtDWyqtbC2Unj
A+n3pNRrZ4MqiMHiTCOA47msKmVmyiNJYa68glLVlV2j+RQzKyufJoRST6e6
aKqwxmOZqZCCzhrjvYxNW5OByuO5b4o5SA9l41gejQoY6oEMQRZ3LwZQWTNT
bhjm0gxL5bVTJTg02cPgdC2CXrT0QVFZj7vVM03KDXpr1d43yoNTMTAOVvze
KKeVB69MSGNtjOFH0LoAHgppgD6DrCqwU8G7E4eerMHrRV2teTP5DGSF3sAa
CjRbJUgobL1OLIwutmhVzkiI27n2kDwV8HO78jC3qyyKRxKmKhTzAQ/J9lpq
E1AyeXgRh29HHtAgwUKp8LxB8++FNUGZ4GGiCov76YPE2AejitrZQpWNi8Zh
Lk2JcQgo0gaFNaUmIRgxsy90WVZKiGdwZoKzZVOQH/oI63uYy6XKOb7jmGBp
c9PZIAMJ5vii0kjtANRSGQhz61keStZK6Fd6CHMZoLSAvpv6qn0YAXyyTihZ
zOOgJT3KT2rGRWjrAgataqmqNOLz2/OTF+1zxgahDW/s1oq+83wcg/h7FPFF
Q0Js8OB/J2cOlyc2mAy/nKlAr7ZhhTVR2GWA2/MTsPTYVJsSbBPoe9wX+q20
yvdWfCFNy2RpJ4PtMTbOKKTxK/xMs0inWjSEHrdhrlwmCB+bMMC1KYQkIne2
dCylD7CQv1mnWRmkeWeWxa1jSZwI19Y7MdHSD3GX210ie3x/n9uohwcSzJl0
ZaU82e/VXCG9Il8z7mptvcYoDXfQEPCD8ssLp+NyiiiKikKgCCcVz+qClTOO
q+RS+dLZusY18Qb7bjqJq1FrHE5MFC0bgzeyIOWjGkaIZ8+AADhA5zaOnNu1
Exkk3D8j1fsgRHoKR9vhtQAhL9V6AGi9rKnW8ViZBumFa4xhvZsBf4gBBGkK
NUhS6UHCggLFZHdam4XKT+4yasGiZSJFtKgrFVRP4fWpFZFQmlnJkhwyZUo2
Ib83yodWx2+beXh+Mx6/GLHOxK0h3ThRgAdIYaUqofHRvjSLCZrcKVksDEcD
BFXMKTr3A8H2jJ71UCpfOD1RJXNippJHAJ/tSpFxQaqMCqAo9oCVrioxYdvt
CTaZqtUAVa0060HLIn5um6pEMnOrI4vQyAr9oZEQZ4l+1gIdmcSmiRRVArKu
ZjWBHKHQ5oj2QGHamIKtP0rkc69QiHpfPjy8GAEcBZAw17M5kPYbCFqyNks8
UeSBbkjdJ612akjGKHFjx4gyCKdmTSUdaBOUW6JOIXvcYdM6+C0FSupYZFpw
gHI7WUPLswYYRNSBRTnqUG2glg5dl4qVksSAUCL9xGaDjddy/Ys7qOlpbwtN
At8G8+KKtOBCFXNptF+wPWw3Akl6bMsvjn7Fg268Kkfi1qJQkAnb4h07TYxq
1t15w/jz1ZfzExzCKOmqtdCm1B6nbLSfI6LA/CNpBAnGmuF5Ql2zFbCITNRc
LrV12bBIGe4tGtyZMsrJalg3rkbL2sq26Kw2PW9ZO7MnjOZeOaPCSIhLG6JV
VUZOqqd2huxtqzOiTKBPICodQqXajTG406iNslQG+Dr6y3hmPjST7qfoIwg8
oyRyjSkRN7M1nJN15yjGk3n3LwZRa8Pt7Tkd7cJ6srheaE9u6LDSS1XC87Cy
UMq1T/apaBzpkZbpX4zgdt74QTuEMG3ERrwvy9KhtXKqsK5keQ7rWrMWTK5i
b3O+84LkYgRwuWG8djvXNKisvE0uJw4nvF5gagGm0s9JqMLcNrM51BY9QE3z
kx7Bw3ABFbleKJjI7sQF4qitAWVhDRihzuA5m571EzsjxBHSZFoekZkmlnXt
LDpo6BFKF+nJUChvFyr623nwMqnUIjkvGa8R+2UyzD67j/ZBsK5sjQOOuXc0
m+HJ4Mq+eBVxpPHp8fDvstIlaQQCnvbE/X0EiR8e+ky95b7bibdoAT3wO+9f
vnt4QGsPx9YscdtTxutETbVhfxrun5Xdfw84poI7tYYVcczexZfx7d6A/8Ll
FX2+Of3bl7Ob0xP8PP58dH7efhDxCRb57lP35vHVxcXp5Qm/fHl1C72vxN7F
0a97HEjtXV3fnl1dHp3vbZlFZmRLxhf1Qe0U7pj0omdKPx5f/5//ffAG7u//
G8LlBwcfHh7iP+8Pvn/z8IA+nOHZyG3hf9GlErKuFdkSUlaFrHWQlSfhRUfU
kDEcCfGX/4k7878O4d8mRX3w5of4BS6492Xas96XtGfb32y9zJu446sd07S7
2ft+Y6f79B792vs/7Xv25b/9O6JkMDx4/+8/CPIfb5VbaGMrO1uzmt48IyFu
lCyTglBfa1VEp3SiYCoXutLSdTBvyMYjhqQhI/e/+fCBHPAzgypNh6hR0Kuv
KrsiqcreR9eoNTfaiB5dh0L8ZcMvPGRfMVqW73zMpVTrzWxKdDUQQ4voHtsz
Go5IxZwMkUqiqX3rnkXkDyW980eB/edkFjf9zqsWsLm/T9AVDp5tCg4RWT6b
K6cV9lCi6R8y2ieX4yGrWcyRwQrDWswM1+provcP5ewQEJMJc6jkRFXotaE6
Rb3IUAiaEFXCd991mCDO+t1ob3t/aZWHEQKIXrpX5EQky0Q6dSHv0HzWpP1h
YxCUNTh6Qusewu4AIRuZNC0ull20XqiwEdOs5rpSUCuHjmFyHuM6cegmOqS2
UN5v0db3W3np3k7DCmXBOmDYjwFh/pbHRUyixd16Ph/DN7lPsxU1CEBPpdDT
GE2OniAJFnK9Gbug74pjoL+HthvPyhpUty1ksQtVdOnnRVMFxFEFdK/6BAri
DhoorHUlYcxIHvQjD09EkSuxlG5NpMwMLccEitoYVqIQOEh/x6olnpEqB+Ck
meFM5Khgtk8XRIyZ6lkT0dxgYWEdhUDkzdNJINrwS0Qj2MfVHnDn6WD4GYQi
8vh/Y0P9OhCW5XtRroCN5/aiQe72Z/q0L3H/rB9CCfTs2zGJLxgi7fHD/T0H
7w+M1ylGewRGudrRm1sv5L89PAx2UdW65qxiWxiZTwDCHDXKtDGlpPVWfEqH
QhyM4KzE/ZyuSfT4uOmYVgSIbEhfjKztBFFGRTUHz+/vu7RGTKNgPClejeDE
rkxlZZnyiU5NnfI7okQanKaN+pA1DWQwO3CaBOdDuNoWthr6oGqe7PWI7MQs
sjROlsBXnGm36mBQMikNH1eju3GyhA2OQDN1YXkcvGV65kty4Cu1xPDRxwBP
MXCSMA2M7p4TqPYiAqMbGAeF/6foCLfQUidXPfaYOSXRSy9VkLpKfrdvJl4V
fJgTVdkVY0vpqJGG/8Rpw/2z7ZMW4hOFC09ISrAck5AFwdAp8Pjo4IlN9YdA
6URBCmoJVeiD1NEu8G6TMeqgcwxRUBuyopxIr+P6ZIBKITKJD+VcxesYiU2V
R/g6gqxZZnBje0jztoCSWMm1H0AHIE2aQFgsZu/Yw2KBO9pIyLR6UJVb6cjn
yDbqq0TiyAgApqrwiS835z5i0vGYyFtpt0zuxttwCLbar9AMbc6HsILTkwbp
7eoEu/ApWkodvKqmAxIYeadJeUcTwJs0J1ElWvWOURcoAS2cgMMEW8o1y3FP
abQUyiXWxCFXJFrpXHFh5NWpDpnB8VAB0KtZ4re0HEISSZkQ4fP39/+5rC0q
ZEq90aQoorTVCK9iJDmTAWFU9kk3UzRpaSnhjkN0LJaWKQP85fbjyfDLzflf
KBGK0CxOQK89t4xakTbBAVAsAqIdq5jjDhYKW1WIorAK7k5jO//9AgfDYWKe
KH/zMcqJZBKIbHtwjLQC7dl5KLUvGo9c6hVCdEGR8/DE9j9ZGkAxNKq1J6zM
hsTeP9swHUJc4W7uYrMdpueR4gDKYU2UMrkk45lEvTl4CjplbFCgC9wPnIhA
yr5MeNd7R2ByZRolXTySB0DIqINbGMtKYFdKqbYApMjsI9XUVRtmEpxi2Ixr
mSg2R79yQiaCUNtH0L5BTCRtOmgBWWGGPNsDSsXZdGdAsCvToRHd684OJQJ3
VBuxQTzugFnzgUZr6RXv9SBLS8YofooYw0QWd6LzprYdBwwRMfWLvySssdRO
FegcdyZdxOwG+tfTHPZk4qPBKzGYG4AOQHAFxx6k1xnSFK2zQJpUwvj05u+f
js7O29QpVUyO2NQ8zndxhZyjSdy/pX1QNjV7Dbr1R7e9PVZBxKestbPzwiG2
IsZX30KbVxVjv8kj7KQzVy8xqFA1HDBkRF9oBL6DQ4AP6YlA5NN05Sn+SEPt
NKYK9B+dQs5sLhlkNLdoedEEId6rsBICj6pac845GfABy4pvaqziRL1ARSn5
WrqsUN2m6qTHxUjUC5xzwCCOQEpWs0bNbNC8c9LDSlVVkm4OrKGyq2FhfRjQ
j8PMHOP7x+xYwYlCfNut4ZJrMDw8Pz659OjyAsAvRPqOpJzMEJQdojlIe92y
e9zZBdWp/kHOBDKAZJifI3IacLLmXDmxVGD3B1UFGIv4dWAQwaTgusNqEKCO
RoDgawbdeV4cBLclRhzKzw3GjckuQDFXxZ3PM5FlZl7iWqLv2bqkmOpAbz1N
+jy5bO1oXCWDxH0+PSIiYkKVMCOs0I2oZwSjsVT3uX8Rc17tNiQHK7lx33la
LBUEo1KaaudDPs7RPz7dDOAMqxCtg3/YW0z0oc3LWBelZsssRayUEJrER5T4
TcEAOd49j4WDrKiVro7Q6deyaj3kqkwHRhrYqaW2ja+onrUdlQSU9gTLtsnE
Y2jHcz+qMKZSV+z8tjK/0+tt/XZSF68opZgYpk/titK/apGQUSKyWwEpo35F
T8vsBsU1MrkMQS1qTO+yCOwibjMClibWW3BkEheP7z+6/la25tKD+jqXjQ9R
JUXVnimZQUafD7ZOREZnMbH7rjw9RGC0EydYSVROkeRc6BJO2ZigK1o6cnCu
7ORMajMS4s0IPksK1X1TIGyH5VDrlpCtaqk+UYM/3R3i5aVyCHLsiiQfYZMu
K4SF5xcnEd798P27h4eIj9JQsnV8NB49dYt0/hYhVjHJMGYqklcZp4+jxxFp
VhyC805wf8/NDKgeUkCWuZkbXBQcl/YVc+uIkNsd600Wi95oBT1FkHxecho4
nojU5YTnQW5EX5HSjUd8iymneKw73aiDHpUDZGNyqHlMVVKo+aQKYIM802YH
EpFiq9ZjG/Tynd1Bs8+dpTkoNHkKEBoJ8XZEu9zKIO0oKf4+6tBZNt+qoIPO
sG0USVBaO0FzpNCxOHL1VBVNkk6Mt5KjlDIeUzLZpmiLEVrwFf3Ovnks1VQ2
VVuT0p8F6zOiM5Wb2aWsGjViL0H2zP2cNGmIWSZO0T69kLQK4pu0kI2CulZ/
SRdwD1mh5+FSOwmp7kfn6Tl9uDd8cgkzzx3hYAE7FzFT0HrItDxEeaZULLuB
jE/UHCEk0gs0xOOLjgjdIxjmxt7EctksBLl/9gSXCnFk1h0+8lQ42sTSyzRa
J6Nig4bWZFNQsAnJ5vBzP1oSjGRqD75JnjJWR2kqrlxqhxVQBAzsrHHhpFZe
LcSVHsjoK9tiZY/HmIRfsT9Wig4cfYaNPcNC7qphoihffJvGiogJGi1TtvoL
HfJWHeIPhXUYIO5Eswd5cIgsGauJuTGVWKkrkYoI86padycSk3e9uJ+3N0s1
C/qaCrD1BvZJaE06PdlVRERFHzcpr4CIof1KYzDdiQCWPeIZc1rCh5j/zSre
xHY9XzyOm7Y2kSEArtqSsWprd4Ywq/0SIiu2yOC+bVe3kwsGwfvR68ZhFyk+
c40BBmL6hMUqn1Slpo3oqtHsI0XDEcDckcTj6dCpFJOe3UdMnbmCoYzkabST
ZRVtbWAuiFU3Slnz3WtjnghZRKC3V9OVb2tMTZXJ1VFb8/NO0VZYI/AsbY2A
SiqBGhBMTqT3cqSIMtllirazFNhInDGZgy22RVHBY9miQxecGDDrtpEiVWBp
DuUrNdNBLxiSbLzK6zu5RyEtqPWXsEVXmraUy05zoMKSZpNVr7owPqrawjHy
OZPyfyqD0ksP3j/rZQS5MqjDDXvPdvU4/AA6qoTXYdooGpl96wT3dbC4PZot
F2L4FGpDO0NYqMw5NSoN8kwxxU++KaTGDwIysUUvBzLzukIsA0tf/azWMEbt
Qh4y/vf85/HPL5glsZ/34QEY+YsCMtsoII/lnSfjqCJH37KkNmqzjoEZu9SI
vaRkhhR9u57Agc3aN3ieFRdXVSosi+JIdQaktl+kEt0dac5vIHcZC9V2hjod
MSnO2I5tGETLvFiu6q90GQv6t4IWAdGH5iV9E5kEPEYPR7XlJr1KRhGjMdxl
bHVY2LKrodicY0tmuGLLqdA4Ez1pMiOxZlJOLN4C0eMPwgOoY4Ki2Zz1Ti7H
VEPAjsqK1DJ9FgArtBroA3YlFdI/mRL9sx3qKnPbPGhCovGfHA5CkerVM6Pa
TiWgKOuKi23UU6U1AnbC6NZ1fk0EQ6gz6P+PQVlFoNzXqbyUUqQwUWtLrdix
l236zZEC7X5HN58KOhsOVx84A52gS46z8Myzjphk8KhBtAX6qSGyVyOAdgQL
qKsplZqEnv+JVoxXxQuioEjAn4Rcm/HWjlBLAAVb6mut3TrFWnAWetE7d8p1
+FQ2DmqoLGjbGKd1bB87NySEA6ndp9AySQ+/iaFh9ITpkPCaEaYSr4HBBmJM
PSE1iEL2O6YkZYibhdpR7tKr9WqT6f4bxSrl2k7xbE//cX12cwpXNYdR9/ES
iFige9Ul6hEnJ5J5LiFuP57gI2P02lAzbv3edhTh9TakglvUAddfKGe6hqtY
5BwtF5Y5q6/4sJh0AIX2nbMa48Ud4uAjQUIQaazeNoEn7ArtYa67T1b7ruV0
ogqZAcHZx5vx+Dv/OEoWW3OyDEZmJhm2Yhcl4lKMFU08IRahWos2ipqoKZaI
cUsVmfkIu+1qLWw/jUT0Qdp2prYgU3rfOEqoU2GfKfVSl9iBg75DVNgY5otk
oPjfcqPknnHIzrzvNJKtL41dXkreyZnq8QT1i5rYo5Y1vmDk2VW7J8ZpY7+m
LVNPZaLVzsHFzsFTGeY6Kqgupk/tc2vukkw1u5neHMEF5rt6TQfP1ddC1QEm
/b5vo8KL2I0poibC5XImrNXDlMZQpnDrmgQhXXjCqVlEZDii6sjKOhbRKYvG
0pphmKvhCvmr69SjNj/Ooq8FhbgTBXNVcWcEWv1M2Cs78226nTNL2TpF27I9
gjF6svFUfNrJTpon63h7B90WxZez8IU5IqZ+3pLPhWEQt+ltxTXETbnsQyyC
D1ZQeXybSss3xk5hahuqA52qFdokLBiOW0CMUwfM7SAwImKbZjzrRUZlnMtH
Gf290QFNzUrc36frSrD0+VPj0GfCCs7Yl0sM+sjS2zY46s/BdiVq+ET7xMQ/
5y6kkCQt3ukF3HKqqFtCLLQf9mpI/QsK5lhNpYJ0WbWyg4KBhjoLYYWKlyts
1ur1jFEGZqUoNXMeBFUzIXd0bT6xeWESywAp9IyM0hkJ6G27SHJ7f795RQtb
o9Qc6pTX6HQU68w7RYwvlldgFzq3usQIJTOIUWAoCMzVAOlnrGATnRvVto82
PqoTHRugkxX3zeQ3RLGChZMTO45d+15QZscHvC5AmZKONeWUuUBnYYPKG4rX
6BUm4C266IJrUvQSY/JauYU0KtUbxx5rYzd9uKbGK6bkorsxId5UAu1dA7m+
ekGqAw8dfVuNhuDx4loPOUW8XW3Ay0nAWD1Pdjj2i4vM1WGsfNNRi51f1HiW
7Ey0ayG2CIj7+3gJDnXK7OQPEd2BbT8k79CJOp5OMU/j46sDkFXsByPP1i5q
aVBTpbdxnNjoT1UxOOdRcWfsqlLljJ4Q94ecQlXl/9ibysqrvQhRcJgSd6yr
BeMm01LJrDSwVraOFxDw45W+U9UatcXMhqCo4FC2E7M3XWBpW+ABWC4WlDxd
bc1GRUpr2/AEa9swF1CtpqfCjBrTNir9qVSAxgNOR2+s1HdYY1HSu6ndi66t
aD3hKV5Rgdm0mttjKdfdngLyPNlOvUD7RsmCQQ5YpiZVNiC9K/GIgmvZVPDZ
TqcLaVJXlhHffFHMHtzfx8tmHh5whgvp7uCI7oYZ9U+LQ13c/9hjau7gr1bB
0aRS6wH8HcHHY+WmA/irnRs4dlKbgbiQrrBwIpe69AO4Vlir8bPFyyouZAhw
Lp1HK/Cpsk5LA1cTjypzvJK1UaoS1zIYdSfdAK4bgzXyY2vLAdzYCUZz42Dd
egBXeFvebzBu8J9x84c0RsEv1lZTvrmCGGHRhvM+uzMFDS1fIeGb2Uz5rgNP
m7ohfTaxYS5qGS9KSdET7mTPJrcN4UL0mqDyoqWdO2mp7hD1ZNxUjOUn0mBv
35mZcgrhovFzZ+0Ce/J+xgLJlXJ3qQ2vVLJcyObtHget6cIXEfOMpqTLiXAu
jqeZ9bFCyOE9BNjnkUwGk4jKhx1ulBd0xmINwYTmu3WUWiGOvG1cqJTfizX1
q3jRpY0NL10/IEd+dBNoiL3eDI4Yu4j9JulcBN50M8S5hmgOhwRcyJUkmO4Z
fNYezz3taqemyfeqw27Fg7g13aF2dU1qnnRdVAfppggy77FElzaJCPx4fE1w
EDbf1M5iLzTBH6ZEigCOWzc2xJYyVh74xvj2BHj328ZZKbqrB2oXvQ5H/jwy
VXT1Qk9PRvNNrNhdEoR7ilepcodsoWuJCqWf79CErJ51Bl5WnQngizba7jSZ
VU5HtH3rYiJ0qyhstrEPmyPo6BTRZRECFyUnmis98xt3+MS0yyKyCJbkVokv
LhIRtaQgwk572YYVnUvEGFLiAL1/ujRhs5OA3RVUyEtJl73IoqAmp/YOEuYH
O6UHUD1j4aTAE+NNzuMBZZbaWbNooZ6G7gzJ1zC3lDxFjZMu3rFOz7RJ4X7N
OGy+JFwDcg5eUoU+RZckdArFlHZ8IbGgf2FLjPu4YTOyS8tdLLkbkQMlGrsb
m+hVh36j8ls9ytyD7Td6GqDA2kf0TcjXeX778eSQV01lRXQ7RKL4BXc31M6i
c8es3F41oE1v2RxLKM3KB2+TI/Gi4qAoYSR78BGvc4qSBtd4i5bGe0nYr4wa
Z5VyT7/8xNULBcb41ODQpjvH0OfszRArXT8kOaum+r1pVEFQpy41dguRvlJ7
LjfuVzmj8Xn9/zB5HDD0LmeYrBMuyAO+GXVVRFkejnGWrPujB/9vojkZqACQ
0JRU24ilS29HcFSWPZ0QrQs3+GcVZVBXsoi3QrV3f2zUVoh3cby2vJIrbKir
BUspNqoYsKScFEgME1Kcw9HPken8JUDqZoq9mnRR804LkPPdmJui4BU8v8nS
ZC+oJzGCCYdY7voDJWRjNyiBrBkWjznGnbeP6KK9mI3G6LUltZjT3NLVTJ2T
tXUTCY6Dk9Ig8d6etgw8vxBra1BEilaSb5fyVKpiKI/yQxohqr/eIOwD4Ajc
Gb17hTRKllVuwa/E3Di8Z3JR/XYOUMr50ghdEvR5DJCo/LTNx0bsmg734NX3
++/5Tsrr5RuUuMPDAxpFG/zq3YvMh4n1tLwAvlZsZ+8SIj9MSRFiBnLnPTK9
NTLAh9qa1sdNMj/ESDWv+4+15xHp6+tYzPR9JS7TvpfS7i6X3VQNhTTpmope
u0arJugio9hqkDc8biT+suKdpZZdddNmEd3caqoQ5VRMvFst+jVt1z/fXxFN
OHoGeXnzxoiz1LDUVmDg3WlxlCz533mMHUq8uRmUxYntSGvRV1CtBmLF0dW4
P7IhXe49ymbmnrQy2PHqRtcMd1v1Mu1dEfrOSzG49qVNwmMCTWy29mL6rNcu
sF2rQhcPct3HXrw8eK/H599t1QZ1rQ+PpIJHcOTTGIyxis5uI6LrfcKQX+yo
ymr1UHcgsYCyd9LJSV5qtWInmVF8FL8CfSPO3PUdGLTlnrO9/xc1E/aA12AA
AA==

-->

</rfc>
