<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" docName="draft-zhang-dnsop-zb-01" category="info" ipr="trust200902" obsoletes="" updates="" xml:lang="en" symRefs="true" sortRefs="false" tocInclude="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <!-- Generated by id2xml 1.5.2 on 2025-05-13T03:22:15Z -->
	<front>
    <title abbrev="Authoritative Servers' Referral">A Technique for Querying the Designated Authoritative Server Directly on the Recursive Server at the Enterprise Level</title>
    <seriesInfo name="Internet-Draft" value="draft-zhang-dnsop-zb-01"/>
    <author initials="B." surname="Zhang" fullname="Bin Zhang" role="editor">
      <organization>Pengcheng Laboratory</organization>
           <address> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Ca Guang</street>
          <city>Shen Zhen</city>
          <region>Nan Shan</region>
          <code>518000</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>        
        <email>bin.zhang@pcl.ac.cn</email>  
        <!-- Can have more than one <email> element -->
      </address>
    </author>
    <author initials="Y." surname="Zhang" fullname="Yu Zhang" role="editor">
      <organization>Pengcheng Laboratory</organization>
       <address> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Ca Guang</street>
          <city>Shen Zhen</city>
          <region>Nan Shan</region>
          <code>518000</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>        
        <email>zhangy08@pcl.ac.cn</email>  
        <!-- Can have more than one <email> element -->
      </address>
    </author>
	    <author initials="J." surname="Yao" fullname="Jiankang Yao" role="editor">
      <organization>CNNIC</organization>
       <address> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Building 4, No.9, Qiche bowuguan xilu Road</street>
          <city>Beijing</city>
          <region>Fengtai District</region>
          <code>100070 </code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>        
        <email>yaojk@cnnic.cn</email>  
        <!-- Can have more than one <email> element -->
      </address>
    </author>
    <author initials="R." surname="Yang" fullname="Rongwei Yang" role="editor">
      <organization>Pengcheng Laboratory</organization>
       <address> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Ca Guang</street>
          <city>Shen Zhen</city>
          <region>Nan Shan</region>
          <code>518000</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>        
        <email>yangrw@pcl.ac.cn</email>  
        <!-- Can have more than one <email> element -->
      </address>
    </author>
    <author initials="Y." surname="Feng" fullname="Yuming Feng" role="editor">
      <organization>Pengcheng Laboratory</organization>
      <address> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Ca Guang</street>
          <city>Shen Zhen</city>
          <region>Nan Shan</region>
          <code>518000</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>        
        <email>fengym@pcl.ac.cn</email>  
        <!-- Can have more than one <email> element -->
      </address>
    </author>
    <date year="2025" month="September" day="9"/>
    <workgroup>Internet Engineering Task Force</workgroup>
    <abstract>
      <t>
   A DNS lookup usually requires the recursive server to start an
   iterative query process from the DNS root server to the bottom
   authoritative server.  Attacks may occur at any level when querying
   authoritative servers.  If the DNS recursive resolver operator can
   obtain the IP addresses of the authoritative servers for the queried
   domain, they may want to query the authoritative server directly on
   the recursive server.  In such a way, the resolver can start the
   iterative query process from the designated authoritative server,
   greatly decreasing the round-trip time, avoiding the attacks on the
   upper-level and preventing snooping by third parties of requests sent
   to upper-level authoritative servers.  This document shows a
   technique for querying the designated authoritative server directly
   on the recursive server at the enterprise level, at the cost of adding some operational
   fragility for the operator.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
   DNS recursive resolvers have to answer all queries from their
   customers.  For each queried name that has a top level domain (TLD)
   that is not in the recursive resolver's cache, the resolver must
   start an iterative query from DNS root server to the bottom
   authoritative server.  If there is a slow path between the recursive
   resolver and the queried servers, getting slow responses to these
   queries has a negative effect on the resolver's customers.</t>
      <t>
   Many of the queries from recursive resolvers to root or authoritative
   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 authoritative servers.</t>
      <t>
   <xref target="RFC7706" format="default"/> and <xref target="RFC8806" format="default"/> propose the idea of running root zone
   replicas locally to achieve the goal of reducing root zone resolution
   latency and reducing DNS information leakage.  The scheme can achieve
   "decentralization" through local root zone resolution.</t>
      <t>
   This document describes a method for the operator of a recursive
   resolver to have the authoritative servers' referral locally and to
   hide queries for the upper-level authoritative servers from
   outsiders.  The basic idea is to make the recursive server start the
   iterative query from the designated authoritative server instead of
   the root server for a domain lookup.</t>
      <t>
   This document presents a more flexible scheme for local configuration
   of authoritative servers' information than <xref target="RFC7706" format="default"/> and <xref target="RFC8806" format="default"/>.
   The scheme is recommended to be used on recursive servers at the enterprise level to serve his own employees on which the authoritative domain information at the lower level can be configured.
   The configured authoritative domain is usually the enterprise own authoritative domain whose information can be wholly controlled by the operator. </t>
      <t>
   The primary goal of this design is to provide more reliable answers
   for queries to the authoritative zone during network attacks that
   affect the root or upper-level authoritative servers and to prevent
   queries and responses from being visible on the network.  It also
   provides a way to alleviate cache pollution.</t>
      <t>
   This design uses an authoritative service running on the same machine
   as the recursive resolver.  Common open source recursive resolver
   software does not need to add new functionality to act as an
   authoritative server for some zones, but other recursive resolver
   software might need to be able to talk to an authoritative server
   running on the same host.</t>
      <t>
   The scheme is realized by a special zone called "static-stub" zone
   running on the authoritative service.  The zone data in a static-stub
   zone is statically configured, rather than transferred from a primary
   server; and when recursion is necessary for a query that matches a
   static-stub zone, the locally configured data is always used, even if
   different authoritative information is cached.</t>
      <section anchor="sect-1.1" numbered="true" toc="default">
        <name>Requirements Language</name>
        <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all
   capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="sect-2" numbered="true" toc="default">
      <name>Use Case</name>
      <t>
   Resolvers handle recursive user queries and provide complete answers;
   that is, they issue one or more iterative queries to the DNS
   hierarchy.  For example, visiting www.pcl.ac.cn will make the
   resolver start the iterative query process from the root server to
   the authoritative server of .cn, and to the authoritative server of
   .pcl.cn, until to the bottom authoritative server of .pcl.ac.cn.</t>
      <t>
   Having obtained a complete answer (or an error), a resolver passes
   the answer to the user and places it in its cache.  Subsequent user
   requests for the same query will be answered from the resolver’s
   cache until the TTL of the cached answer has expired, when it will be
   flushed from the cache; the next user query that requests the same
   information results in a new series of queries to the DNS hierarchy.</t>
      <t>
   However, some attacks may happen in the iterative query procedure,
   which may lead to a domain cannot be resolved, or wrong/malicious
   resolving results.</t>
      <ul spacing="normal">
        <li>
          <t>The first attack may be the DDoS attack to the root servers, or
      level-1 authoritative servers of .cn, or level-2 authoritative
      servers of .ac.cn.  The upper-level authoritative servers are
      always the targets of these malicious parties.  For example,
      during the period of November 30th, 2015 to December 1st, 2015,
      most of the 13 root servers were attacked by DDoS, which had a
      serious impact on the global DNS service.</t>
        </li>
        <li>
          <t>The second attack is the snooping by third parties of requests
      sent to upper-level authoritative servers, which may lead to user
      privacy information leakage.</t>
        </li>
        <li>
          <t>The third attack may come from the cache poison or DNS hijack by third
      malicious parties or the registrar himself through hijacking/MITM attacks. For example,
      On June 5, 2025, Aliyun's monitoring system detected anomalies in the DNS resolution for the domain aliyuncs.com,
      resulting in widespread failures for global users attempting to access services such as Object Storage Service (OSS) and Content Delivery Network (CDN).
      The anomalies were caused by unauthorized modifications to the NS records for aliyuncs.com through the domain registrar VeriSign.
      DNSSEC is a effective mechanism to prevent hijacking attacks, but its
      deployment progress in enterprises is relatively slow.  DNSSEC is
      mainly deployed in root servers, level-1 authoritative servers,
      some level-2 authoritative servers, but seldom deployed in level-3
      or lower authoritative servers.  This makes the DNS hijacks to the
      lower-level authoritative servers possible.</t>
        </li>
      </ul>
      <t>
   For an institution such as Pengcheng Laboratory, he may run a
   recursive server for his employees.  He registered pcl.ac.cn with a
   registrar named the Beijing Xinwang Digital Information Technology
   Co., Ltd.  The registrar can be asked to provide the authoritative
   information of pcl.ac.cn such as Table 1 shows to the recursive
   server of Pengcheng Laboratory, and any update of these information
   can be aske to be notified to the resolver in a timely manner.  That
   is, the operator of the institution has complete control on the
   authoritative information of its own authoritative domain.<!--
   draft-ietf-dnsop-zb-00.txt(251): Warning: Unexpected title: expected 'Figure
   ...', found 'Table 1'.  This looks like a figure that has been entered as a
   texttable.  The generated XML will need adjustment.
   -->
      </t>

        <artwork name="" type="" align="left" alt=""><![CDATA[
       +===========+=======================+================+
       | Domain    | Authoritative servers | IP addresses   |
       +===========+=======================+================+
       | pcl.ac.cn | ns3.dnsv2.com         | 117.89.178.226 |
       |           |                       +----------------+
       |           |                       | 1.12.0.29      |
       |           |                       +----------------+
       |           |                       | 36.155.149.180 |
       |           |                       +----------------+
       |           |                       | 163.177.5.85   |
       |           |                       +----------------+
       |           |                       | 125.94.59.205  |
       |           +-----------------------+----------------+
       |           | ns4.dnsv2.com         | 117.89.178.204 |
       |           |                       +----------------+
       |           |                       | 36.155.149.242 |
       |           |                       +----------------+
       |           |                       | 163.177.5.38   |
       |           |                       +----------------+
       |           |                       | 112.80.181.103 |
       +-----------+-----------------------+----------------+
        Table 1: Authoritative information of pcl.ac.cn
]]></artwork>

      <t>
   In such a scenario, the resolver may want to start the query for
   www.pcl.ac.cn access directly from the authoritative servers of
   pcl.ac.cn instead of the root servers for security considerations.
   This function can be realized by a special zone called "static-stub"
   zone in some open source recursive resolver software such as Bind or
   Unbound.  The "static-stub" zone has also been realized in some
   commercial DNS resolution software such as Maple of ZDNS.</t>
      <t>
   Here, Bind 9.18 is used to show the configuration of "static-stub"
   zone.  BIND 9.18 acts both as a recursive resolver and an
   authoritative server.  We configure the static-stub zone in the recursive server
   based on the authoritative data in Table 1 as Figure 1
   shows.</t>
      <figure anchor="ure-resolver-static-stub-zone-configuration">
        <name>Resolver Static-stub Zone Configuration</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
zone "pcl.ac.cn" {
    type static-stub;
    server-addresses { 117.89.178.226; 1.12.0.29; 36.155.149.180; 163.177.5.85; 125.94.59.205; 163.177.5.38; 112.80.181.103; 117.89.178.204; 36.155.149.242;};
};
]]></artwork>
      </figure>
      <t>
   The zone data in a static-stub zone in Bind is configured via the
   server-addresses and server-names zone options.  The zone data is
   maintained in the form of NS and (if necessary) glue A or AAAA RRs
   internally, which can be seen by dumping zone databases with rndc
   dumpdb -all.  The configured RRs are considered local configuration
   parameters rather than public data.  Non-recursive queries (i.e.,
   those with the RD bit off) to a static-stub zone are therefore
   prohibited and are responded to with REFUSED.</t>
      <t>
   The server-addresses option in Bind is especially set for static-stub
   zones.  This is a list of IP addresses to which queries should be
   sent in recursive resolution for the zone.  A non-empty list for this
   option internally configures the apex NS RR with associated glue A or
   AAAA RRs.  For example, if pcl.ac.cn is configured as a static-stub
   zone as Figure 1 shows, the following RRs are internally configured:</t>
      <figure anchor="ure-internal-rr-generated">
        <name>Internal RR generated</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
pcl.ac.cn. NS pcl.ac.cn.
pcl.ac.cn. A 117.89.178.226
pcl.ac.cn. A 1.12.0.29
pcl.ac.cn. A 36.155.149.180
pcl.ac.cn. A 163.177.5.85
pcl.ac.cn. A 125.94.59.205
pcl.ac.cn. A 163.177.5.38
pcl.ac.cn. A 112.80.181.103
pcl.ac.cn. A 117.89.178.204
pcl.ac.cn. A 36.155.149.242
]]></artwork>
      </figure>
      <t>
   With the configuration, The function of querying the designated
   authoritative servers directly on the resolver can be realized.
   That is, the recursive server can start the iterative query directly
   from the configured addresses of the longest domain match zone when
   resolving a domain.  For example, when we query www.pcl.ac.cn on the
   recursive server, the recursive server will start the iterative query
   process directly from one of the server-addresses of pcl.ac.cn static-stub
   zone instead of the root server, thus avoiding the attacks happened
   in upper-level authoritative servers.  This static-stub configuration
   of this use case can achieve four advantages.</t>
      <ul spacing="normal">
        <li>
          <t>The configuration can make the resolution for pcl.ac.cn domains
      and sub-domains immune to the DDoS attacks of the upper-level.
      For example, if attacks happen in root or .cn/.ac.cn authoritative
      servers, the www.pcl.ac.cn query sent to the recursive server
      without static-stub configuration may not be resolved correctly
      when cache records expires, but will be resolved correctly with
      static-stub configuration.</t>
        </li>
        <li>
          <t>The configuration can avoid the snooping by third parties of
      requests sent to upper-level authoritative servers, and improve
      the resolution efficiency for pcl.ac.cn domains and sub-domains
      since it shortens the iterative process.</t>
        </li>
        <li>
          <t>The configuration can make the resolution for pcl.ac.cn domains
      and sub-domains immune to cache poisoned or DNS hijack by third malicious
      parties through hijacking/MITM attacks.  The poisoned NS and glue
      records of pcl.ac.cn in cache has no influence to the resolution
      for pcl.ac.cn domains and sub-domains since the static-stub zone
      has higher priority than cache for the same record.</t>
        </li>
        <li>
          <t>The configuration can make the changed authoritative information
      take effect more fast than cache.  When the authoritative server's
      addresses of .pcl.ac.cn change, the cache will still keep the
      stale records until they are expired, the resolving results may
      be influenced by the stale records.  The in time update of the
      static-stub zone for .pcl.ac.cn will avoid the mistake.</t>
        </li>
      </ul>
      <t>
   Similar to BIND, Unbound, starting with version 1.8, can act both as
   a recursive resolver and an authoritative server.  Unbound uses the
   stub-zone to realize the static-stub zone function of Bind.  We
   configure the stub-zone in the unbound resolver implementation based on
   the authoritative data in Table 1 as Figure 3 shows.</t>
      <figure anchor="ure-unbound-stub-zone-configuration">
        <name>Unbound stub-zone Configuration</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
stub-zone:
name： "pcl.ac.cn"
stub-addr:  117.89.178.226
stub-addr:  1.12.0.29
stub-addr:  36.155.149.180
stub-addr:  163.177.5.85
stub-addr:  125.94.59.205
stub-addr:  163.177.5.38
stub-addr:  112.80.181.103
stub-addr:  117.89.178.204
stub-addr:  36.155.149.242
stub-first: yes
]]></artwork>
      </figure>
    </section>
    <section anchor="sect-3" numbered="true" toc="default">
      <name>Applicable Scenarios of Static-stub Zone</name>
      <t>
   From the use case in <xref target="sect-2" format="default"/>, we describe the applicable scenarios
   of static-stub zone:</t>
      <ul spacing="normal">
        <li>
          <t>The static-stub zone is recommended to be used for resolvers of an
      institution at the enterprise level to provide DNS services for his own employees, and the
      authoritative domain of this institution is recommended to be
      configured as a static-stub zone.  The corresponding authoritative
      domain information of the institution should be completely
      controlled by the institution.  That is, the institution and its
      registrar should build a secure connection for transporting the
      authoritative domain information configured in the static-stub
      zone.  Any update of the authoritative domain information should
      be notified to the institution securely in a timely manner.</t>
        </li>
        <li>
          <t>The static-stub zone is recommended to be configured for level-2
      or lower authoritative domains, without DNSSEC deployment.</t>
        </li>
        <li>
          <t>An institution with static-stub zone mechanism is recommended to
      build a static-stub alliance with another institution with static-
      stub mechanism if the two institutions have close businesses.  The
      institution in a static-stub alliance can configure static-stub
      zones for other institutions' authoritative domains if they can
      share authoritative domains information synchronously and
      securely.</t>
        </li>
      </ul>
    </section>
    <section anchor="sect-4" numbered="true" toc="default">
      <name>Requirements</name>
      <t>
   In order to implement the mechanism described in this document:</t>
      <ul spacing="normal">
        <li>
          <t>The system MUST be able to validate every signed record in a zone
      with DNSSEC <xref target="RFC4033" format="default"/>.</t>
        </li>
        <li>
          <t>The system MUST have an up-to-date copy of the public part of the
      Key Signing Key (KSK) <xref target="RFC4033" format="default"/> used to sign the DNS root.</t>
        </li>
        <li>
          <t>The system MUST be able to run an authoritative service on the
      same host.  The authoritative service MUST only respond to queries
      from the same host.  One way to ensure that the authoritative
      service does not respond to queries from other hosts is to run an
      authoritative server for the static-stub zone service 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 static-stub zone, but only for
      answering queries from itself.</t>
        </li>
        <li>
          <t>The system MUST be able to get the authoritative data in the
      static-stub zone and update the static-stub zone in time when the
      the authoritative data changes.  The authoritative data MUST be
      identical to or part of the data in the authoritative zone for the
      DNS.  It is possible to change the data (the NS or glue records)
      of the authoritative zone, but such changes could cause problems
      for the recursive server that accesses the local static-stub zone,
      and therefore any changes to the data SHOULD NOT be made.</t>
        </li>
        <li>
          <t>The system is recommended to establish an automatic static-stub
      zone update mechanism to avoid the manual configuration error.</t>
        </li>
      </ul>
    </section>
    <section anchor="sect-5" numbered="true" toc="default">
      <name>Operation of the Static-stub Zone on the Resolver</name>
      <t>
   The operation of an authoritative server for the static-stub zone in
   the system described here can be done separately from the operation
   of the recursive resolver, or it might be part of the configuration
   of the recursive resolver system.</t>
      <t>
   The steps to set up the static-stub zone are:</t>
      <ol spacing="normal" type="1"><li>
          <t>Get the authoritative servers' information of some specific
       authoritative domains.</t>
        </li>
        <li>
          <t>Build or update the static-stub zones based on the authoritative
       servers' information of the authoritative domains.</t>
        </li>
        <li>
          <t>Start or restart the authoritative service for the static-stub
       zone in a manner that prevents any system other than a recursive
       resolver on the same host from accessing it.</t>
        </li>
      </ol>
      <t>
   Since the data is statically configured, no zone maintenance action
   takes place for a static-stub zone.  For example, there is no
   periodic refresh attempt, and an incoming notify message is rejected
   with an rcode of NOTAUTH.  Each static-stub zone is configured with
   internally generated NS and (if necessary) glue A or AAAA RRs.</t>
      <t>
   There is a risk that a system using a local authoritative server for
   the static-stub zone cannot refresh the contents of the static-stub
   zone when a authoritative server's information changes.  A system
   using a local authoritative server for the static-stub zone MUST NOT
   serve stale data.  To mitigate the risk that stale data is served,
   the local resolver MUST immediately delete the stale data in the
   static-stub zone when it detects that it would be serving stale data.</t>
      <t>
   In the event that refreshing the contents of the static-stub zone
   fails, the results can be disastrous.  For example, sometimes all the
   NS records for a domain are changed in a short period of time (such
   as 2 days); if the refreshing of the static-stub zone is broken
   during that time, the recursive resolver will have bad data for the
   entire domain zone.</t>
      <t>
   An administrator using the procedure in this document SHOULD have an
   automated method to check that the contents of the static-stub zone
   are being refreshed; this might be part of the resolver software.
   One way to do this is to have a separate process that periodically
   checks the authoritative information to the corresponding
   authoritative server and makes sure that it is changing.</t>
      <t>
   An administrator using the procedure in this document SHOULD have an
   automated method to build and update from data sources to static-stub
   zone.  After building or updating the static-stub zone, the
   administrator should restart the static-stub zone service to function
   immediately without interrupting the resolving service.</t>
    </section>
    <section anchor="sect-6" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>
   This memo includes no request to IANA.</t>
    </section>
    <section anchor="sect-7" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
   The static-stub mechanism does not influence the DNSSEC validation
   procedure, since it is recommended to be configured for level-3 or
   lower authoritative domains, without DNSSEC deployment.</t>
      <t>
   A system that does not follow the DNSSEC-related requirements given
   in <xref target="sect-4" format="default"/> can be fooled into giving bad responses in the same way
   as any recursive resolver that does not do DNSSEC validation on
   responses from a remote authoritative server.  Anyone deploying the
   method described in this document should be familiar with the
   operational benefits and costs of deploying DNSSEC <xref target="RFC4033" format="default"/>.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC7706" target="https://www.rfc-editor.org/info/rfc7706" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7706.xml">
        <front>
          <title>Decreasing Access Time to Root Servers by Running One on Loopback</title>
          <author fullname="W. Kumari" initials="W." surname="Kumari"/>
          <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
          <date month="November" year="2015"/>
          <abstract>
            <t>Some DNS recursive resolvers have longer-than-desired round-trip times to the closest DNS root server. Some DNS recursive resolver operators want to prevent snooping of requests sent to DNS root servers by third parties. Such resolvers can greatly decrease the round-trip time and prevent observation of requests by running a copy of the full root zone on a loopback address (such as 127.0.0.1). This document shows how to start and maintain such a copy of the root zone that does not pose a threat to other users of the DNS, at the cost of adding some operational fragility for the operator.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7706"/>
        <seriesInfo name="DOI" value="10.17487/RFC7706"/>
      </reference>
      <reference anchor="RFC8806" target="https://www.rfc-editor.org/info/rfc8806" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8806.xml">
        <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="RFC4033" target="https://www.rfc-editor.org/info/rfc4033" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4033.xml">
        <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>
    </references>
  </back>
</rfc>
