<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" consensus="true" docName="draft-ietf-dnsop-3901bis-17" number="10001" category="bcp" submissionType="IETF" tocInclude="true" updates="" obsoletes="3901" sortRefs="true" symRefs="true" xml:lang="en" prepTime="2026-08-11T18:16:23" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-dnsop-3901bis-17" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc10001" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Guidelines for DNS Transport">Operational Guidelines for DNS Transport in Mixed IPv4/IPv6 Environments</title>
    <seriesInfo name="RFC" value="10001" stream="IETF"/>
    <seriesInfo name="BCP" value="91" stream="IETF"/>
    <author fullname="Momoka Yamamoto" initials="" surname="Momoka">
      <organization showOnFrontPage="true">WIDE Project</organization>
      <address>
        <email>momoka.my6@gmail.com</email>
      </address>
    </author>
    <author fullname="Tobias Fiebig" initials="T." surname="Fiebig">
      <organization abbrev="MPI-INF" showOnFrontPage="true">Max-Planck-Institut fuer Informatik</organization>
      <address>
        <postal>
          <street>Campus E14</street>
          <city>Saarbruecken</city>
          <code>66123</code>
          <country>Germany</country>
        </postal>
        <phone>+49 681 9325 3527</phone>
        <email>tfiebig@mpi-inf.mpg.de</email>
      </address>
    </author>
    <date month="08" year="2026"/>
    <area>OPS</area>
    <workgroup>dnsop</workgroup>
    <keyword>DNS</keyword>
    <keyword>IPv6</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
                This document provides guidelines and documents best current practice for operating authoritative DNS servers, recursive resolvers, and stub resolvers in a mixed IPv4/IPv6 environment.
                This document recommends that both authoritative DNS servers and recursive resolvers support IPv4 and IPv6.
                It also provides guidance on how recursive DNS resolvers should select upstream DNS servers, including when IPv4-embedded IPv6 addresses are available.
      </t>
      <t indent="0" pn="section-abstract-2">
                This document obsoletes RFC 3901.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This memo documents an Internet Best Current Practice.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further information
            on BCPs is available in Section 2 of RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc10001" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-name-space-partitioning">Name Space Partitioning</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-misconfigurations-causing-n">Misconfigurations Causing Name Space Partitioning Due to IP Address Family Support</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-network-conditions-causing-">Network Conditions Causing Name Space Partitioning Due to IP Address Family Support</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-reasons-for-intentional-nam">Reasons for Intentional Name Space Partitioning Due to IP Address Family Support</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-policy-based-avoidance-of-n">Policy-Based Avoidance of Name Space Partitioning</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-guidelines-for-authoritativ">Guidelines for Authoritative DNS Server Configuration</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-guidelines-for-recursive-dn">Guidelines for Recursive DNS Resolvers</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-guidelines-for-dns-stub-res">Guidelines for DNS Stub Resolvers</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-changes-since-rfc-3901">Changes Since RFC 3901</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
                Despite IPv6 being first discussed in the mid-1990s <xref target="RFC2460" format="default" sectionFormat="of" derivedContent="RFC2460"/>, consistent deployment throughout the whole Internet has not yet been accomplished <xref target="RFC9386" format="default" sectionFormat="of" derivedContent="RFC9386"/>.
                Hence, the Internet still consists of IPv4-only, dual-stack (networks supporting both IP address families), and IPv6-only networks.
      </t>
      <t indent="0" pn="section-1-2">
                This creates a complex landscape where authoritative DNS servers might be accessible only via specific network protocols <xref target="V6DNSRDY-23" format="default" sectionFormat="of" derivedContent="V6DNSRDY-23"/>.
                At the same time, DNS resolvers may only be able to access the Internet via either IPv4 or IPv6 connectivity.
                This poses a challenge for such resolvers because they may receive queries for names whose authoritative DNS servers do not support the same IP address family as the resolver itself.
      </t>
      <t indent="0" pn="section-1-3">
                <xref target="RFC3901" format="default" sectionFormat="of" derivedContent="RFC3901"/> was written at a time when IPv6 deployment was not widespread and focuses primarily on maintaining name space continuity within the IPv4 landscape.
                Two decades later, IPv6 is widely deployed and is also becoming the de facto standard in many areas, such as mobile and access networks and data-center underlays.
                Furthermore, since 2012, IPv6 support being required for all IP-capable nodes has been established as a best current practice <xref target="RFC6540" format="default" sectionFormat="of" derivedContent="RFC6540"/>.
                This document broadens the scope of <xref target="RFC3901" format="default" sectionFormat="of" derivedContent="RFC3901"/> by recommending IPv6 connectivity for authoritative DNS servers, recursive resolvers, and stub resolvers.
      </t>
      <t indent="0" pn="section-1-4">
                This document provides:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-5">
        <li pn="section-1-5.1">
          <t indent="0" pn="section-1-5.1.1">Guidance on name space partitioning due to differences in IP address family support and best practices for avoiding it.</t>
        </li>
        <li pn="section-1-5.2">
          <t indent="0" pn="section-1-5.2.1">Guidelines for configuring authoritative DNS servers for zones.</t>
        </li>
        <li pn="section-1-5.3">
          <t indent="0" pn="section-1-5.3.1">Guidelines for operating recursive DNS resolvers.</t>
        </li>
        <li pn="section-1-5.4">
          <t indent="0" pn="section-1-5.4.1">Guidelines for DNS stub resolvers.</t>
        </li>
      </ul>
      <t indent="0" pn="section-1-6">
                While transition and coexistence setups may mitigate some of the DNS resolution issues in a mixed IP address family Internet, making DNS data accessible over both IPv4 and IPv6 is the most robust and flexible approach.
                This approach allows resolvers to retrieve the information they need without requiring intermediary translation or encapsulation services, which may introduce additional failure cases.
      </t>
      <t indent="0" pn="section-1-7">Refer to <xref target="constraints" format="default" sectionFormat="of" derivedContent="Appendix A"/> for an overview of the main changes since <xref target="RFC3901" format="default" sectionFormat="of" derivedContent="RFC3901"/>.</t>
    </section>
    <section anchor="terminology" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">
                This document uses DNS terminology as described in <xref target="RFC9499" format="default" sectionFormat="of" derivedContent="RFC9499"/>.
                Furthermore, the following terms are used with a defined meaning:
      </t>
      <dl newline="true" spacing="normal" indent="3" pn="section-2-2">
        <dt pn="section-2-2.1">
                    IPv4-reachable name server:
        </dt>
        <dd pn="section-2-2.2">
                    A name server that provides either authoritative or recursive DNS services via IPv4.
                    This does not imply anything about the DNS data served but rather indicates that the name server receives and answers queries over IPv4.
                </dd>
        <dt pn="section-2-2.3">
                    IPv6-reachable name server:
        </dt>
        <dd pn="section-2-2.4">
                    A name server that provides either authoritative or recursive DNS services via IPv6.
                    This does not imply anything about the DNS data served but rather indicates that the name server receives and answers queries over IPv6.
                </dd>
        <dt pn="section-2-2.5">
Dual-stack name server (or resolver):
        </dt>
        <dd pn="section-2-2.6">
A name server (or resolver) that is both IPv4-reachable and IPv6-reachable.
                </dd>
        <dt pn="section-2-2.7">
                    Effective PMTU:
        </dt>
        <dd pn="section-2-2.8">
                    The effective Path Maximum Transmission Unit (PMTU) is the largest IP packet size (in octets) that can successfully traverse a network path from source to destination without requiring fragmentation.
                </dd>
      </dl>
      <section anchor="requirements-language" numbered="true" removeInRFC="false" toc="include" pn="section-2.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-2.1-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section anchor="name-space-partitioning" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-name-space-partitioning">Name Space Partitioning</name>
      <t indent="0" pn="section-3-1">
                When a resolver looks up a name, it starts at the root and follows referrals until it reaches a name server set that is authoritative for the name.
                However, if the referrals lead to a name server set that only contains name servers reachable via an IP address family not supported by the resolver, the resolver is unable to continue DNS resolution.
      </t>
      <t indent="0" pn="section-3-2">
                If this occurs, the DNS has been effectively partitioned due to mismatching IP address family support between the recursive DNS resolver and the authoritative DNS server.
      </t>
      <t indent="0" pn="section-3-3">
                With the deployment of both IPv4 and IPv6, name space partitioning can occur for different reasons.
                One reason is that DNS zones are consistently configured to support only either IPv4 or IPv6.
                Another reason is misconfigurations that make a zone unresolvable by either IPv4-only or IPv6-only resolvers.
                The latter is often hard to identify because the impact of misconfigurations affecting one IP address family (IPv4 or IPv6) may be hidden in a dual-stack setting.
                In the worst case, where both IP address families must be fully supported by a resolver, a specific name may only be resolvable via dual-stack enabled resolvers.
      </t>
      <section anchor="misconfigurations-causing-ip-version-related-name-space-partitioning" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-misconfigurations-causing-n">Misconfigurations Causing Name Space Partitioning Due to IP Address Family Support</name>
        <t indent="0" pn="section-3.1-1">
                    Even when an administrator assumes that they have enabled support for a specific IP address family on their authoritative DNS server, various misconfigurations may break the DNS delegation chain of a zone for that IP address family, preventing any of its records from being resolved by clients that only support that IP address family.
                    Such misconfigurations may remain undetected if most clients can successfully fall back to the other IP address family.
        </t>
        <t indent="0" pn="section-3.1-2">
                    The following name-related misconfigurations can cause broken delegation for one IP address family:
        </t>
        <dl newline="true" spacing="normal" indent="3" pn="section-3.1-3">
          <dt pn="section-3.1-3.1">
                        No A/AAAA records for NS names:
          </dt>
          <dd pn="section-3.1-3.2">
                        If all of the NS resource records (RRs) for a zone in their parent zone have either only A RRs or only AAAA RRs, then resolution via the other IP address family is not possible.
                    </dd>
          <dt pn="section-3.1-3.3">
                        Missing glue:
          </dt>
          <dd pn="section-3.1-3.4">
                        If the name from an NS record for a zone is in-domain (i.e., the name is within the zone or below), a parent zone needs to contain both IPv4 and IPv6 glue records.
                        A parent needs to serve the corresponding A and AAAA RRs in the additional section when returning the NS RRs as the referral response <xref target="RFC9471" format="default" sectionFormat="of" derivedContent="RFC9471"/>.
                    </dd>
          <dt pn="section-3.1-3.5">
                        No A/AAAA RR for in-domain NS:
          </dt>
          <dd pn="section-3.1-3.6">
                        If the parent provides glue records for both IP address families but the child zone itself lacks corresponding A or AAAA RRs for the names of its in-domain NS, resolution via the missing IP address family will fail during delegation revalidation (see, e.g., <xref target="I-D.ietf-dnsop-ns-revalidation" format="default" sectionFormat="of" derivedContent="NS-REVALIDATION"/>).
                    </dd>
          <dt pn="section-3.1-3.7">
                        Zone of sibling domain NSes not resolving:
          </dt>
          <dd pn="section-3.1-3.8">
                        If the name from an NS RR for a zone is in a sibling domain, the corresponding zone needs to be resolvable via the IP address family in question as well.
                        It is insufficient if the name pointed to by the NS RR has an associated A or AAAA RR.
                    </dd>
          <dt pn="section-3.1-3.9">
                        Parent zone not resolvable via one IP address family:
          </dt>
          <dd pn="section-3.1-3.10">
                        For a zone to be resolvable via an IP address family, the parent zones up to the root zone need to be resolvable via that IP address family as well.
                        Any zone not resolvable via the concerned IP address family breaks the delegation chain for all its children.
                    </dd>
        </dl>
        <t indent="0" pn="section-3.1-4">
                    The above misconfigurations are not mutually exclusive.
        </t>
        <t indent="0" pn="section-3.1-5">
                    Furthermore, any of the misconfigurations above may  materialize not only via a missing RR but also via an RR providing the IP address of a name server that is not configured to answer queries via that IP address family <xref target="V6DNSRDY-23" format="default" sectionFormat="of" derivedContent="V6DNSRDY-23"/>.
        </t>
        <t indent="0" pn="section-3.1-6">
                    Finally, at the time of this writing, addresses (A or AAAA RRs) for a delegation's authoritative name servers are the only type of glue defined for the DNS.
                    In the future, alternative, yet related, delegation systems may be available, where other considerations apply.
        </t>
      </section>
      <section anchor="misconfigurations-causing-network-related-name-space-partitioning" numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-network-conditions-causing-">Network Conditions Causing Name Space Partitioning Due to IP Address Family Support</name>
        <t indent="0" pn="section-3.2-1">
                    In addition to explicit misconfigurations in the served DNS zones, network conditions may also influence a resolver's ability to resolve names in a zone.
                    The most common issue is silent MTU discards for packets that would require fragmentation to fit a reduced effective PMTU, i.e., packets being dropped on-path when they exceed the MTU of the link to the next hop without the sender being notified.
                    This can manifest in the following ways:
        </t>
        <dl newline="true" spacing="normal" indent="3" pn="section-3.2-2">
          <dt pn="section-3.2-2.1">
                        DNS-over-UDP packets requiring fragmentation:
          </dt>
          <dd pn="section-3.2-2.2">
            <t indent="0" pn="section-3.2-2.2.1">
                            When using Extension Mechanisms for DNS (EDNS(0)) to communicate support for DNS messages larger than 512 octets <xref target="RFC6891" format="default" sectionFormat="of" derivedContent="RFC6891"/> via conventional DNS-over-UDP transport according to <xref target="RFC1035" format="default" sectionFormat="of" derivedContent="RFC1035"/>, an IP packet carrying a DNS response may exceed the PMTU for the path to a resolver.
                            If an authoritative DNS server does not follow <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/>, i.e., honors EDNS(0) sizes larger than 1232 octets, it will try to fragment the packet according to the discovered PMTU.
                            Such packets mostly occur for DNSKEY responses with DNSSEC <xref target="RFC4034" format="default" sectionFormat="of" derivedContent="RFC4034"/>.
            </t>
            <t indent="0" pn="section-3.2-2.2.2">
                            In general, DNS servers <bcp14>SHOULD</bcp14> follow <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/>, which provides additional guidance on preventing fragmentation.
                            <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/> suggests setting an upper bound for received EDNS(0) sizes of 1400 octets to avoid the need for fragmentation.
                            However, the DNS Flag Day 2020 initiative <xref target="DNSFlagDay2020" format="default" sectionFormat="of" derivedContent="DNSFlagDay2020"/> suggests using an upper bound EDNS(0) size of only 1232 octets, which is also adopted by most implementations.
                            Setting the upper bound at 1232 octets ensures that generated packets do not exceed 1280 octets, i.e., the minimum MTU for IPv6 <xref target="RFC8200" format="default" sectionFormat="of" derivedContent="RFC8200"/>, which avoids IPv6 host fragmentation by the server.
                            Hence, for clarity, the present document specifically notes that clients <bcp14>MAY</bcp14> use an EDNS(0) size of 1232 octets as well.
            </t>
            <t indent="0" pn="section-3.2-2.2.3">
                            As an additional precaution or because the DNS implementation in use does not support limiting the effective EDNS(0) size, DNS servers <bcp14>MAY</bcp14> opt to explicitly not rely on Path MTU Discovery (PMTUD) <xref target="RFC4821" format="default" sectionFormat="of" derivedContent="RFC4821"/> or Packetization Layer Path MTU Discovery (PLPMTUD) <xref target="RFC8899" format="default" sectionFormat="of" derivedContent="RFC8899"/>.
                            It can do so, for example, by setting IPV6_USE_MIN_MTU=1 from <xref target="RFC3542" format="default" sectionFormat="of" derivedContent="RFC3542"/> to avoid the need to perform PMTU discovery.
            </t>
          </dd>
          <dt pn="section-3.2-2.3">
                        DNS-over-TCP packets requiring fragmentation:
          </dt>
          <dd pn="section-3.2-2.4">
            <t indent="0" pn="section-3.2-2.4.1">
                            For various reasons, a resolver can initiate connections via TCP for resolution to an authoritative server.
                            However, similar to the case of DNS-over-UDP, DNS-over-TCP may encounter MTU discards if PMTUD is not possible on a given path.
                            This can occur, for example, if PMTUD-related ICMP/ICMPv6 messages are dropped (i.e., cannot be returned to the sender) or if the size communicated in these messages is incorrect (i.e., an on-path device alters the size of packets).
                            Under these conditions, the Maximum Segment Size (MSS) honored by the authoritative DNS server leads to IP packets exceeding the effective PMTU of the path taken by responses.
                            In that case, similar to the case of DNS-over-UDP, DNS resolution will time out when the recursive DNS resolver does not receive a response in time.
            </t>
            <t indent="0" pn="section-3.2-2.4.2">
                            <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/> does not provide explicit guidance on mitigating this issue.
            </t>
            <t indent="0" pn="section-3.2-2.4.3">
                            <xref target="RFC8200" format="default" sectionFormat="of" derivedContent="RFC8200"/> recommends that IPv6 nodes implement Path MTU Discovery (PMTUD) in order to discover and take advantage of PMTUs greater than 1280 octets.
                            Usually, when a transport protocol can use PMTU (or PLPMTUD <xref target="RFC8201" format="default" sectionFormat="of" derivedContent="RFC8201"/> or Datagram PLPMTUD <xref target="RFC4821" format="default" sectionFormat="of" derivedContent="RFC4821"/> <xref target="RFC8899" format="default" sectionFormat="of" derivedContent="RFC8899"/>), this <bcp14>SHOULD</bcp14> be used to determine an effective PMTU.
            </t>
            <t indent="0" pn="section-3.2-2.4.4">
                            However, DNS generally benefits from low latency, and performing PMTU (or PLPMTUD <xref target="RFC8201" format="default" sectionFormat="of" derivedContent="RFC8201"/> or Datagram PLPMTUD <xref target="RFC4821" format="default" sectionFormat="of" derivedContent="RFC4821"/> <xref target="RFC8899" format="default" sectionFormat="of" derivedContent="RFC8899"/>) increases the time needed to process a DNS request.
                            This overhead could even lead to DNS requests timing out before the effective PMTU can be established by the server.
                            Furthermore, at the time of writing, most DNS messages fit into less than 1280 octets <xref target="DNSv6MTU" format="default" sectionFormat="of" derivedContent="DNSv6MTU"/>, which means that the benefits of being able to leverage a larger effective PMTU only affect corner cases, e.g., requests for DNSKEY RRs.
                            Additionally, not having to rely on PMTUD benefits the time budget for DNS, as the time needed for PMTUD could already exceed the timeout budget for DNS resolution, i.e., it could prevent resolution for cases where PMTUD is needed.
            </t>
            <t indent="0" pn="section-3.2-2.4.5">
                            Hence, DNS servers <bcp14>SHOULD</bcp14> configure the maximum response size to avoid fragmentation or on-path discarding of packets larger than the effective PMTU.
                            For TCP, this can be accomplished by restricting the used MSS, either by the host limiting the MSS on its own or by rewriting the MSS field in packets during a TCP handshake.
            </t>
            <t indent="0" pn="section-3.2-2.4.6">
                            Therefore, it is <bcp14>RECOMMENDED</bcp14> that DNS servers set a Sender MSS (MSS_S) of no more than 1388 octets for TCP connections.
                            Setting this MSS ensures that packets do not exceed a size of 1448 octets, i.e., the same packet size recommended to avoid fragmentation for DNS-over-UDP packets in <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/>.
                            Furthermore, to provide additional clarity similar to the above guidance on UDP, DNS servers <bcp14>MAY</bcp14> ensure that a total packet size of 1280 octets is not exceeded by setting the MSS_S to 1220 octets, as suggested by the DNS Flag Day 2020 initiative <xref target="DNSFlagDay2020" format="default" sectionFormat="of" derivedContent="DNSFlagDay2020"/>. See <xref section="3.7.1" target="RFC9293" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9293#section-3.7.1" derivedContent="RFC9293"/>.
            </t>
            <t indent="0" pn="section-3.2-2.4.7">
                            As an additional precaution or because the DNS implementation in use does not support limiting the effective MSS size, DNS servers <bcp14>MAY</bcp14> opt to explicitly not rely on PMTUD <xref target="RFC4821" format="default" sectionFormat="of" derivedContent="RFC4821"/> or PLPMTUD <xref target="RFC8899" format="default" sectionFormat="of" derivedContent="RFC8899"/>.
                            It can do so, for example, by setting IPV6_USE_MIN_MTU=1 from <xref target="RFC3542" format="default" sectionFormat="of" derivedContent="RFC3542"/>.
            </t>
          </dd>
          <dt pn="section-3.2-2.5">
                        Broken IP connectivity at the resolver:
          </dt>
          <dd pn="section-3.2-2.6">
            <t indent="0" pn="section-3.2-2.6.1">
                            Similar to authoritative servers, stub and recursive resolvers may face broken IP connectivity for either IPv4 or IPv6.
            </t>
            <t indent="0" pn="section-3.2-2.6.2">
                            IPv4 connectivity for a DNS resolver may experience issues, e.g., if the resolver is deployed behind a Carrier-Grade NAT (CGN) <xref target="RFC6888" format="default" sectionFormat="of" derivedContent="RFC6888"/> that implements strict timeouts on active sessions or limits the number of available TCP and UDP ports numbers for connections below the number required by the multiple connections necessary during recursive DNS resolution.
                            Similarly, addressing in <xref target="RFC1918" format="default" sectionFormat="of" derivedContent="RFC1918"/> may be in use on the resolver, while address translation is not performed.
                            Or, similar to the case for IPv6, when the DNS resolver has a global IPv4 address, but that address is not forwarded on the resolver's network.
            </t>
            <t indent="0" pn="section-3.2-2.6.3">
      IPv6 connectivity for a DNS resolver may experience issues, if,
      e.g., a client has been assigned a global unicast IPv6 address
      but IPv6 traffic is not forwarded on the resolver's network.
                            Also, a resolver may only have received a unique local IPv6 unicast address <xref target="RFC4193" format="default" sectionFormat="of" derivedContent="RFC4193"/>, which does not allow it to reach global addresses without translation.
                            Similarly, IPv6 connectivity can experience issues when IPv4-IPv6 transition technologies like NAT64 <xref target="RFC6146" format="default" sectionFormat="of" derivedContent="RFC6146"/> on IPv6-mostly networks <xref target="RFC9313" format="default" sectionFormat="of" derivedContent="RFC9313"/> are in use, where the use of NAT64 can be, e.g., discovered through PREF64 in Router Advertisements (RAs) <xref target="RFC8781" format="default" sectionFormat="of" derivedContent="RFC8781"/> or DNS64 <xref target="RFC7050" format="default" sectionFormat="of" derivedContent="RFC7050"/>.
                            There, the synthesized IPv6 addresses used in 464XLAT <xref target="RFC6877" format="default" sectionFormat="of" derivedContent="RFC6877"/> (for example) encounter additional PMTU fluctuation due to the difference in header size between IPv4 and IPv6, possibly impacting DNS resolution.
            </t>
          </dd>
        </dl>
        <aside pn="section-3.2-3">
          <t indent="0" pn="section-3.2-3.1">
                        Note: This document only explicitly discusses DNS-over-TCP and DNS-over-UDP.
                        However, several other transport methods between recursive and authoritative DNS servers exist, including DNS over various encrypted transports.
                        Some of these technologies provide additional mechanisms for preventing the impact of reduced PMTU or MTU discards.
                        Guidance in this document focuses on IP address family support and the underlying transport protocol (TCP or UDP).
                        If DNS servers use an additional protocol layer, e.g., DNS-over-TLS <xref target="RFC7858" format="default" sectionFormat="of" derivedContent="RFC7858"/> or DNS-over-QUIC <xref target="RFC9250" format="default" sectionFormat="of" derivedContent="RFC9250"/>, for their communication and that protocol supports additional measures to prevent issues related to fragmentation on the IP layer, these measures <bcp14>SHOULD</bcp14> be used for the connection.
                        If the protocol is not resilient to issues related to IP layer fragmentation by default, the above guidance for TCP- and UDP-based connections <bcp14>SHOULD</bcp14> be applied analogously.
          </t>
        </aside>
      </section>
      <section anchor="reasons-for-intentional-ip-version-related-name-space-partitioning" numbered="true" removeInRFC="false" toc="include" pn="section-3.3">
        <name slugifiedName="name-reasons-for-intentional-nam">Reasons for Intentional Name Space Partitioning Due to IP Address Family Support</name>
        <t indent="0" pn="section-3.3-1">
                    Intentional name space partitioning due to IP address family support occurs if an operator consciously decides not to deploy IPv4 or IPv6 for a part of the resolution chain.
                    Most commonly, this is realized by intentionally not listing A/AAAA RRs for NS names.
                    Based on a 2023 study, the share of zones not resolvable via IPv4 is negligible, while a little less than 40% of zones are not resolvable via IPv6 <xref target="V6DNSRDY-23" format="default" sectionFormat="of" derivedContent="V6DNSRDY-23"/>.
                    However, as IPv4 address exhaustion progresses, IPv6 adoption is expected to increase.
        </t>
      </section>
    </section>
    <section anchor="policy-based-avoidance-of-name-space-partitioning" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-policy-based-avoidance-of-n">Policy-Based Avoidance of Name Space Partitioning</name>
      <t indent="0" pn="section-4-1">
                IPv4 and IPv6 have become comparably relevant with the final exhaustion of IPv4 address pools in Regional Internet Registries (RIRs) (see, e.g., <xref target="RIPEV4" format="default" sectionFormat="of" derivedContent="RIPEV4"/>) and the progressing deployment of IPv6.
                Yet, while the first zones that are exclusively IPv6 resolvable can now be observed, exclusively IPv4 resolvable zones are considerably more common <xref target="V6DNSRDY-23" format="default" sectionFormat="of" derivedContent="V6DNSRDY-23"/>.
                Hence, dual-stack connectivity is still instrumental to be able to resolve zones and avoid name space partitioning.
      </t>
      <t indent="0" pn="section-4-2">
                Having zones served only by name servers reachable via one IP address family would partition the DNS.
                Hence, a way to avoid this partitioning is needed.
      </t>
      <t indent="0" pn="section-4-3">
                The recommended approach to maintain name space continuity is to use administrative policies, as described in this section.
      </t>
      <section anchor="guidelines-for-authoritative-dns-configuration" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-guidelines-for-authoritativ">Guidelines for Authoritative DNS Server Configuration</name>
        <t indent="0" pn="section-4.1-1">
                    It is usually recommended that DNS zones contain at least two name servers (<xref target="RFC1034" section="4.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc1034#section-4.1" derivedContent="RFC1034"/>).
                    Typically, these servers are geographically diverse and operate under different routing policies <xref target="RFC2182" format="default" sectionFormat="of" derivedContent="RFC2182"/>, as also discussed in, e.g., the IANA requirements for Top-Level Domain (TLD) authoritative name servers <xref target="IANANS" format="default" sectionFormat="of" derivedContent="IANANS"/>.
                    To prevent DNS name space partitioning, at least two IPv4-reachable and two IPv6-reachable name servers <bcp14>MUST</bcp14> be configured for a zone.
                    A single name server that is reachable over both IPv4 and IPv6 counts once per address family.
        </t>
        <t indent="0" pn="section-4.1-2">
                    Please note that a name set in an NS RR that has either only an A or AAAA record may add overhead to the resolution process for resolvers only supporting the IP address family for which no corresponding A or AAAA RR is present.
                    When selecting such an authoritative name server during DNS resolution, a query for the missing A or AAAA record would return NODATA, requiring the client to query for the A or AAAA record of another NS RR.
                    To prevent this, it is <bcp14>RECOMMENDED</bcp14> that all names used in NS RRs have an A and AAAA record set.
        </t>
        <t indent="0" pn="section-4.1-3">
                    Specifically, the key requirements for a zone are:
        </t>
        <dl newline="true" spacing="normal" indent="3" pn="section-4.1-4">
          <dt pn="section-4.1-4.1">
                            IPv4 adoption:
          </dt>
          <dd pn="section-4.1-4.2">
                            To maintain name space continuity, every DNS zone <bcp14>MUST</bcp14> be served by at least two authoritative DNS servers providing services via IPv4.
                            Furthermore, the delegation configuration of an NS (resolution of the parent, resolution of sibling domain names, glue) <bcp14>MUST NOT</bcp14> rely on IPv6 connectivity being available.
                    </dd>
          <dt pn="section-4.1-4.3">
                            IPv6 adoption:
          </dt>
          <dd pn="section-4.1-4.4">
                            To maintain name space continuity, every DNS zone <bcp14>MUST</bcp14> be served by at least two authoritative DNS servers providing services via IPv6.
                            To avoid reachability issues, authoritative DNS servers <bcp14>MUST NOT</bcp14> use IPv4-embedded addresses <xref target="RFC6052" format="default" sectionFormat="of" derivedContent="RFC6052"/> (including IPv4-Mapped IPv6 addresses and deprecated IPv4-compatible addresses <xref target="RFC4291" format="default" sectionFormat="of" derivedContent="RFC4291"/>) for receiving queries.
                            Furthermore, the delegation configuration of an NS (resolution of the parent, resolution of sibling domain names, glue) <bcp14>MUST NOT</bcp14> rely on IPv4 connectivity being available.
                    </dd>
          <dt pn="section-4.1-4.5">
                            Consistency:
          </dt>
          <dd pn="section-4.1-4.6">
                            Both IPv4 and IPv6 transports <bcp14>MUST</bcp14> serve equivalent DNS data to ensure a consistent resolution experience across different network types.
                    </dd>
          <dt pn="section-4.1-4.7">
                            Avoiding IP Fragmentation:
          </dt>
          <dd pn="section-4.1-4.8">
                            IP fragmentation has been reported to be fragile <xref target="RFC8900" format="default" sectionFormat="of" derivedContent="RFC8900"/>.
                            Furthermore, IPv6 transition technologies can introduce unexpected reductions in the effective PMTU (e.g., when NAT64 is used (<xref target="RFC7269" section="7" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7269#section-7" derivedContent="RFC7269"/>)).
                            Therefore, IP fragmentation <bcp14>SHOULD</bcp14> be avoided by following guidance on maximum DNS payload sizes <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/>.
                            Furthermore, as per <xref target="RFC7766" section="5" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7766#section-5" derivedContent="RFC7766"/>, DNS-over-TCP <bcp14>MUST</bcp14> be available as a fallback option, instead of relying on fragmented UDP packets.
                            Similar to the guidance in <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/>, authoritative DNS servers <bcp14>MAY</bcp14> set an MSS of either 1388 (analogous to <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/>) or 1220 (analogous to the <xref target="DNSFlagDay2020" format="default" sectionFormat="of" derivedContent="DNSFlagDay2020"/> suggestions) in TCP sessions carrying DNS responses.
                    </dd>
        </dl>
        <t indent="0" pn="section-4.1-5">
                    To prevent name space partitioning, zone validation processes <bcp14>SHOULD</bcp14> ensure that:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-6">
          <li pn="section-4.1-6.1">
            <t indent="0" pn="section-4.1-6.1.1">There are at least two IPv4 address records and two IPv6 address records available for the name servers of any child delegation within the zone.</t>
          </li>
          <li pn="section-4.1-6.2">
            <t indent="0" pn="section-4.1-6.2.1">The zone's authoritative servers follow <xref target="RFC9715" format="default" sectionFormat="of" derivedContent="RFC9715"/> for avoiding fragmentation on DNS-over-UDP.</t>
          </li>
          <li pn="section-4.1-6.3">
            <t indent="0" pn="section-4.1-6.3.1">The zone's authoritative servers support DNS-over-TCP <xref target="RFC9210" format="default" sectionFormat="of" derivedContent="RFC9210"/>.</t>
          </li>
          <li pn="section-4.1-6.4">
            <t indent="0" pn="section-4.1-6.4.1">The zone's authoritative servers can be reached via IPv4 and IPv6 when performing DNS resolution via IPv4-only and IPv6-only networks, respectively.</t>
          </li>
        </ul>
      </section>
      <section anchor="guidelines-for-dns-resolvers" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-guidelines-for-recursive-dn">Guidelines for Recursive DNS Resolvers</name>
        <t indent="0" pn="section-4.2-1">
                    To ensure robust DNS resolution even when facing name space partitioning, every recursive DNS resolver <bcp14>SHOULD</bcp14> be dual-stack.
                    Exceptions apply if one of the methods to prevent name space partitioning described in this section is in place.
        </t>
        <t indent="0" pn="section-4.2-2">
                    While the zones that IPv6-only recursive DNS resolvers can resolve are growing, they do not yet cover all zones.
                    Hence, a recursive DNS resolver <bcp14>MAY</bcp14> be IPv6-only if it uses a transition mechanism that allows it to also query IPv4-only authoritative DNS servers or uses a configuration where it forwards queries failing IPv6-only DNS resolution to a dual-stack recursive DNS resolver (i.e., a resolver that is also able to perform DNS resolution over IPv4).
                    If a recursive DNS resolver is aware of a PREF64 to use for NAT64 <xref target="RFC6146" format="default" sectionFormat="of" derivedContent="RFC6146"/>, either through static configuration or by discovering it (e.g., using the option described in <xref target="RFC8781" format="default" sectionFormat="of" derivedContent="RFC8781"/>), it <bcp14>MAY</bcp14> synthesize IPv6 addresses for remote authoritative DNS servers.
        </t>
        <t indent="0" pn="section-4.2-3">
                    Similarly, a recursive DNS resolver <bcp14>MAY</bcp14> be IPv4-only if it uses a configuration where such resolvers forward queries failing IPv4-only DNS resolution to a dual-stack recursive DNS resolver (i.e., a resolver that is also able to perform DNS resolution over IPv6).
        </t>
        <t indent="0" pn="section-4.2-4">
                    Finally, when responding to recursive queries (i.e., a query with the Recursion Desired (RD) bit set <xref target="RFC1035" format="default" sectionFormat="of" derivedContent="RFC1035"/>), a DNS resolver <bcp14>SHOULD</bcp14> follow the above guidance on fragmentation avoidance (see <xref target="guidelines-for-authoritative-dns-configuration" format="default" sectionFormat="of" derivedContent="Section 4.1"/>) for communication between authoritative DNS servers and recursive DNS resolvers analogously.
        </t>
      </section>
      <section anchor="guidelines-for-dns-stub" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-guidelines-for-dns-stub-res">Guidelines for DNS Stub Resolvers</name>
        <t indent="0" pn="section-4.3-1">
                    Contrary to authoritative DNS servers and recursive DNS resolvers, DNS stub resolvers are more likely to find themselves in either an IPv6-mostly or IPv4-only environment, as they are usually run on end hosts or clients.
                    Furthermore, a DNS stub resolver has to rely on recursive DNS servers discovered for the local network, e.g., using DHCPv4 <xref target="RFC2131" format="default" sectionFormat="of" derivedContent="RFC2131"/>, DHCPv6 <xref target="RFC9915" format="default" sectionFormat="of" derivedContent="RFC9915"/>, and/or router advertisements <xref target="RFC8106" format="default" sectionFormat="of" derivedContent="RFC8106"/>.
                    In that case, the stub resolver may obtain multiple different IPv4 and IPv6 DNS resolver addresses to use.
        </t>
        <t indent="0" pn="section-4.3-2">
                    To prioritize different IPv4 and IPv6 DNS resolver addresses, a stub resolver <bcp14>SHOULD</bcp14> follow <xref target="RFC6724" format="default" sectionFormat="of" derivedContent="RFC6724"/>.
                    However, a DNS stub resolver <bcp14>SHOULD NOT</bcp14> utilize IPv4-embedded IPv6 addresses if it is able to identify them as such, e.g., by having discovered the PREF64 in use for the network <xref target="RFC8781" format="default" sectionFormat="of" derivedContent="RFC8781"/>.
        </t>
        <t indent="0" pn="section-4.3-3">
                    When providing multiple recursive DNS servers to stub resolvers, network operators have to consider that, at the time of writing, various implementations can only configure a small set of possible DNS resolver addresses, e.g., only up to three for glibc <xref target="MAN" format="default" sectionFormat="of" derivedContent="MAN"/>, and additional resolver addresses provided may be non-deterministically ignored by clients.
        </t>
        <t indent="0" pn="section-4.3-4">
                    Hence, when providing more than three recursive server addresses to stub resolvers, operators <bcp14>SHOULD</bcp14> ensure that either:
        </t>
        <ol type="1" spacing="compact" indent="adaptive" start="1" pn="section-4.3-5">
                    <li pn="section-4.3-5.1" derivedCounter="1.">all supplied recursive server IP addresses are from
                    the same address family, based on knowledge as to clients
                    being IPv4-only or IPv6-mostly; or
                    </li>
          <li pn="section-4.3-5.2" derivedCounter="2.">
exactly two IP addresses are from one address family (IPv4 or IPv6) and
exactly one is from the other address family.
                    </li>
        </ol>
        <t indent="0" pn="section-4.3-6">
                    Furthermore, all supplied resolvers <bcp14>SHOULD</bcp14> be able to perform dual-stack DNS resolution to avoid name space partitioning due to IP address family support.
        </t>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1">
                The guidelines described in this memo introduce no new security considerations into the DNS protocol itself.
      </t>
      <t indent="0" pn="section-5-2">
                Nevertheless, corner cases exist where forwarding queries requiring an IP address family for resolution that is not supported by the initial resolver leads to an infinite forwarding loop under the following conditions:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-3">
        <li pn="section-5-3.1">
          <t indent="0" pn="section-5-3.1.1">Two resolvers handle queries for a set of clients, each of these resolvers supports one and only one address family that is distinct from the address family supported by the other resolver;</t>
        </li>
        <li pn="section-5-3.2">
          <t indent="0" pn="section-5-3.2.1">Both resolvers are configured to forward queries requiring DNS resolution via the IP address family they do not support to the other; and</t>
        </li>
        <li pn="section-5-3.3">
          <t indent="0" pn="section-5-3.3.1">A query for a zone that is not resolvable via IPv4 and not resolvable via IPv6 is received.</t>
        </li>
      </ul>
      <t indent="0" pn="section-5-4">
                In such cases, a query for the non-resolvable zone would be endlessly forwarded between these resolvers.
      </t>
      <t indent="0" pn="section-5-5">
                To prevent such cases, single-stack recursive DNS resolvers <bcp14>SHOULD</bcp14> be configured to forward queries they cannot resolve due to lacking support for one address family to dual-stack recursive DNS resolvers.
                Furthermore, recursive DNS resolvers <bcp14>MUST NOT</bcp14> be configured to forward queries to DNS resolvers that are configured to forward queries to them in the first place.
      </t>
      <t indent="0" pn="section-5-6">
                Recommendations for recursive and stub resolvers rely on a correctly discovered PREF64.
                Security issues may materialize if an incorrect PREF64 is used.
                Hence, guidance from <xref target="RFC9872" format="default" sectionFormat="of" derivedContent="RFC9872"/> on securely discovering PREF64 <bcp14>SHOULD</bcp14> be followed.
      </t>
      <t indent="0" pn="section-5-7">
                Preventing fragmentation according to the guidance in this document may increase load on DNS servers, as more TCP fallbacks might be required.
                While measurements have shown this to be (at the time of writing) in the range of 3-5% of connections <xref target="DNSv6MTU" format="default" sectionFormat="of" derivedContent="DNSv6MTU"/>, operators <bcp14>SHOULD</bcp14> monitor the actual impact on their servers when implementing guidance from this document to detect unexpected load increases early on.
      </t>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">This document has no IANA actions.
      </t>
      <t indent="0" pn="section-6-2">
                However, IANA should consider updating its technical requirements for authoritative DNS servers to require both IPv4 and IPv6 addresses for each authoritative server <xref target="IANANS" format="default" sectionFormat="of" derivedContent="IANANS"/>, in accordance with the processes for reviewing and revising these procedures.
      </t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-dnsop-ns-revalidation" to="NS-REVALIDATION"/>
    <references pn="section-7">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-7.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC1034" target="https://www.rfc-editor.org/info/rfc1034" quoteTitle="true" derivedAnchor="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t indent="0">This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1034"/>
          <seriesInfo name="DOI" value="10.17487/RFC1034"/>
        </reference>
        <reference anchor="RFC1035" target="https://www.rfc-editor.org/info/rfc1035" quoteTitle="true" derivedAnchor="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t indent="0">This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC4291" target="https://www.rfc-editor.org/info/rfc4291" quoteTitle="true" derivedAnchor="RFC4291">
          <front>
            <title>IP Version 6 Addressing Architecture</title>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <date month="February" year="2006"/>
            <abstract>
              <t indent="0">This specification defines the addressing architecture of the IP Version 6 (IPv6) protocol. The document includes the IPv6 addressing model, text representations of IPv6 addresses, definition of IPv6 unicast addresses, anycast addresses, and multicast addresses, and an IPv6 node's required addresses.</t>
              <t indent="0">This document obsoletes RFC 3513, "IP Version 6 Addressing Architecture". [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4291"/>
          <seriesInfo name="DOI" value="10.17487/RFC4291"/>
        </reference>
        <reference anchor="RFC4821" target="https://www.rfc-editor.org/info/rfc4821" quoteTitle="true" derivedAnchor="RFC4821">
          <front>
            <title>Packetization Layer Path MTU Discovery</title>
            <author fullname="M. Mathis" initials="M." surname="Mathis"/>
            <author fullname="J. Heffner" initials="J." surname="Heffner"/>
            <date month="March" year="2007"/>
            <abstract>
              <t indent="0">This document describes a robust method for Path MTU Discovery (PMTUD) that relies on TCP or some other Packetization Layer to probe an Internet path with progressively larger packets. This method is described as an extension to RFC 1191 and RFC 1981, which specify ICMP-based Path MTU Discovery for IP versions 4 and 6, respectively. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4821"/>
          <seriesInfo name="DOI" value="10.17487/RFC4821"/>
        </reference>
        <reference anchor="RFC6052" target="https://www.rfc-editor.org/info/rfc6052" quoteTitle="true" derivedAnchor="RFC6052">
          <front>
            <title>IPv6 Addressing of IPv4/IPv6 Translators</title>
            <author fullname="C. Bao" initials="C." surname="Bao"/>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <date month="October" year="2010"/>
            <abstract>
              <t indent="0">This document discusses the algorithmic translation of an IPv6 address to a corresponding IPv4 address, and vice versa, using only statically configured information. It defines a well-known prefix for use in algorithmic translations, while allowing organizations to also use network-specific prefixes when appropriate. Algorithmic translation is used in IPv4/IPv6 translators, as well as other types of proxies and gateways (e.g., for DNS) used in IPv4/IPv6 scenarios. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6052"/>
          <seriesInfo name="DOI" value="10.17487/RFC6052"/>
        </reference>
        <reference anchor="RFC6724" target="https://www.rfc-editor.org/info/rfc6724" quoteTitle="true" derivedAnchor="RFC6724">
          <front>
            <title>Default Address Selection for Internet Protocol Version 6 (IPv6)</title>
            <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
            <author fullname="R. Draves" initials="R." surname="Draves"/>
            <author fullname="A. Matsumoto" initials="A." surname="Matsumoto"/>
            <author fullname="T. Chown" initials="T." surname="Chown"/>
            <date month="September" year="2012"/>
            <abstract>
              <t indent="0">This document describes two algorithms, one for source address selection and one for destination address selection. The algorithms specify default behavior for all Internet Protocol version 6 (IPv6) implementations. They do not override choices made by applications or upper-layer protocols, nor do they preclude the development of more advanced mechanisms for address selection. The two algorithms share a common context, including an optional mechanism for allowing administrators to provide policy that can override the default behavior. In dual-stack implementations, the destination address selection algorithm can consider both IPv4 and IPv6 addresses -- depending on the available source addresses, the algorithm might prefer IPv6 addresses over IPv4 addresses, or vice versa.</t>
              <t indent="0">Default address selection as defined in this specification applies to all IPv6 nodes, including both hosts and routers. This document obsoletes RFC 3484. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6724"/>
          <seriesInfo name="DOI" value="10.17487/RFC6724"/>
        </reference>
        <reference anchor="RFC6891" target="https://www.rfc-editor.org/info/rfc6891" quoteTitle="true" derivedAnchor="RFC6891">
          <front>
            <title>Extension Mechanisms for DNS (EDNS(0))</title>
            <author fullname="J. Damas" initials="J." surname="Damas"/>
            <author fullname="M. Graff" initials="M." surname="Graff"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders. This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
              <t indent="0">This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations. It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="75"/>
          <seriesInfo name="RFC" value="6891"/>
          <seriesInfo name="DOI" value="10.17487/RFC6891"/>
        </reference>
        <reference anchor="RFC7766" target="https://www.rfc-editor.org/info/rfc7766" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8200" target="https://www.rfc-editor.org/info/rfc8200" quoteTitle="true" derivedAnchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t indent="0">This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </reference>
        <reference anchor="RFC8899" target="https://www.rfc-editor.org/info/rfc8899" quoteTitle="true" derivedAnchor="RFC8899">
          <front>
            <title>Packetization Layer Path MTU Discovery for Datagram Transports</title>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="T. Jones" initials="T." surname="Jones"/>
            <author fullname="M. Tüxen" initials="M." surname="Tüxen"/>
            <author fullname="I. Rüngeler" initials="I." surname="Rüngeler"/>
            <author fullname="T. Völker" initials="T." surname="Völker"/>
            <date month="September" year="2020"/>
            <abstract>
              <t indent="0">This document specifies Datagram Packetization Layer Path MTU Discovery (DPLPMTUD). This is a robust method for Path MTU Discovery (PMTUD) for datagram Packetization Layers (PLs). It allows a PL, or a datagram application that uses a PL, to discover whether a network path can support the current size of datagram. This can be used to detect and reduce the message size when a sender encounters a packet black hole. It can also probe a network path to discover whether the maximum packet size can be increased. This provides functionality for datagram transports that is equivalent to the PLPMTUD specification for TCP, specified in RFC 4821, which it updates. It also updates the UDP Usage Guidelines to refer to this method for use with UDP datagrams and updates SCTP.</t>
              <t indent="0">The document provides implementation notes for incorporating Datagram PMTUD into IETF datagram transports or applications that use datagram transports.</t>
              <t indent="0">This specification updates RFC 4960, RFC 4821, RFC 6951, RFC 8085, and RFC 8261.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8899"/>
          <seriesInfo name="DOI" value="10.17487/RFC8899"/>
        </reference>
        <reference anchor="RFC9210" target="https://www.rfc-editor.org/info/rfc9210" quoteTitle="true" derivedAnchor="RFC9210">
          <front>
            <title>DNS Transport over TCP - Operational Requirements</title>
            <author fullname="J. Kristoff" initials="J." surname="Kristoff"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <date month="March" year="2022"/>
            <abstract>
              <t indent="0">This document updates RFCs 1123 and 1536. This document requires the operational practice of permitting DNS messages to be carried over TCP on the Internet as a Best Current Practice. This operational requirement is aligned with the implementation requirements in RFC 7766. The use of TCP includes both DNS over unencrypted TCP as well as over an encrypted TLS session. The document also considers the consequences of this form of DNS communication and the potential operational issues that can arise when this Best Current Practice is not upheld.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="235"/>
          <seriesInfo name="RFC" value="9210"/>
          <seriesInfo name="DOI" value="10.17487/RFC9210"/>
        </reference>
        <reference anchor="RFC9293" target="https://www.rfc-editor.org/info/rfc9293" quoteTitle="true" derivedAnchor="RFC9293">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t indent="0">This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
        <reference anchor="RFC9471" target="https://www.rfc-editor.org/info/rfc9471" quoteTitle="true" derivedAnchor="RFC9471">
          <front>
            <title>DNS Glue Requirements in Referral Responses</title>
            <author fullname="M. Andrews" initials="M." surname="Andrews"/>
            <author fullname="S. Huque" initials="S." surname="Huque"/>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <date month="September" year="2023"/>
            <abstract>
              <t indent="0">The DNS uses glue records to allow iterative clients to find the addresses of name servers that are contained within a delegated zone. Authoritative servers are expected to return all available glue records for in-domain name servers in a referral response. If message size constraints prevent the inclusion of all glue records for in-domain name servers, the server must set the TC (Truncated) flag to inform the client that the response is incomplete and that the client should use another transport to retrieve the full response. This document updates RFC 1034 to clarify correct server behavior.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9471"/>
          <seriesInfo name="DOI" value="10.17487/RFC9471"/>
        </reference>
        <reference anchor="RFC9715" target="https://www.rfc-editor.org/info/rfc9715" quoteTitle="true" derivedAnchor="RFC9715">
          <front>
            <title>IP Fragmentation Avoidance in DNS over UDP</title>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="January" year="2025"/>
            <abstract>
              <t indent="0">The widely deployed Extension Mechanisms for DNS (EDNS(0)) feature in the DNS enables a DNS receiver to indicate its received UDP message size capacity, which supports the sending of large UDP responses by a DNS server. Large DNS/UDP messages are more likely to be fragmented, and IP fragmentation has exposed weaknesses in application protocols. It is possible to avoid IP fragmentation in DNS by limiting the response size where possible and signaling the need to upgrade from UDP to TCP transport where necessary. This document describes techniques to avoid IP fragmentation in DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9715"/>
          <seriesInfo name="DOI" value="10.17487/RFC9715"/>
        </reference>
      </references>
      <references anchor="sec-informative-references" pn="section-7.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="DNSFlagDay2020" target="https://dnsflagday.net/2020/" quoteTitle="true" derivedAnchor="DNSFlagDay2020">
          <front>
            <title>DNS flag day 2020</title>
            <author>
              <organization showOnFrontPage="true"/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="DNSv6MTU" target="https://doi.org/10.1145/3730567.3764439" quoteTitle="true" derivedAnchor="DNSv6MTU">
          <front>
            <title>'How I learned to stop worrying and love IPv6': Measuring the Internet's Readiness for DNS over IPv6</title>
            <author initials="T" surname="Fiebig" fullname="Tobias">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Feldmann" fullname="Anja">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" year="2025"/>
          </front>
          <refcontent>IMC '25: Proceedings of the 2025 ACM Internet Measurement Conference, pp. 359-380</refcontent>
          <seriesInfo name="DOI" value="10.1145/3730567.3764439"/>
        </reference>
        <reference anchor="IANANS" target="https://www.iana.org/help/nameserver-requirements" quoteTitle="true" derivedAnchor="IANANS">
          <front>
            <title>Technical requirements for authoritative name servers</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="MAN" target="https://man7.org/linux/man-pages/man5/resolv.conf.5.html" quoteTitle="true" derivedAnchor="MAN">
          <front>
            <title>resolv.conf(5) - Linux manual page</title>
            <author/>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-dnsop-ns-revalidation" target="https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-ns-revalidation-13" quoteTitle="true" derivedAnchor="NS-REVALIDATION">
          <front>
            <title>Delegation Revalidation by DNS Resolvers</title>
            <author fullname="Shumon Huque" initials="S." surname="Huque">
              <organization showOnFrontPage="true">Salesforce</organization>
            </author>
            <author fullname="Paul A. Vixie" initials="P. A." surname="Vixie">
              <organization showOnFrontPage="true">SIE Europe, U.G.</organization>
            </author>
            <author fullname="Willem Toorop" initials="W." surname="Toorop">
              <organization showOnFrontPage="true">NLnet Labs</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t indent="0">This document describes an optional algorithm for the processing of Name Server (NS) resource record (RR) sets (RRsets) during iterative resolution, and describes the benefits and considerations of using this approach. When following a referral response from an authoritative server to a child zone, DNS resolvers should explicitly query the authoritative NS RRset at the apex of the child zone and cache this in preference to the NS RRset on the parent side of the zone cut. The (A and AAAA) address RRsets in the additional section from referral responses and authoritative NS answers for the names of the NS RRset, should similarly be re-queried and used to replace the entries with the lower trustworthiness ranking in cache. Resolvers should also periodically revalidate the delegation by re-querying the parent zone at the expiration of the shortest TTL among the parent NS RRset, the DS RRset (if present), and the child NS RRset.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-ns-revalidation-13"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC1918" target="https://www.rfc-editor.org/info/rfc1918" quoteTitle="true" derivedAnchor="RFC1918">
          <front>
            <title>Address Allocation for Private Internets</title>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="B. Moskowitz" initials="B." surname="Moskowitz"/>
            <author fullname="D. Karrenberg" initials="D." surname="Karrenberg"/>
            <author fullname="G. J. de Groot" initials="G. J." surname="de Groot"/>
            <author fullname="E. Lear" initials="E." surname="Lear"/>
            <date month="February" year="1996"/>
            <abstract>
              <t indent="0">This document describes address allocation for private internets. 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="5"/>
          <seriesInfo name="RFC" value="1918"/>
          <seriesInfo name="DOI" value="10.17487/RFC1918"/>
        </reference>
        <reference anchor="RFC2131" target="https://www.rfc-editor.org/info/rfc2131" quoteTitle="true" derivedAnchor="RFC2131">
          <front>
            <title>Dynamic Host Configuration Protocol</title>
            <author fullname="R. Droms" initials="R." surname="Droms"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCPIP network. DHCP is based on the Bootstrap Protocol (BOOTP), adding the capability of automatic allocation of reusable network addresses and additional configuration options. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2131"/>
          <seriesInfo name="DOI" value="10.17487/RFC2131"/>
        </reference>
        <reference anchor="RFC2182" target="https://www.rfc-editor.org/info/rfc2182" quoteTitle="true" derivedAnchor="RFC2182">
          <front>
            <title>Selection and Operation of Secondary DNS Servers</title>
            <author fullname="R. Elz" initials="R." surname="Elz"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <author fullname="M. Patton" initials="M." surname="Patton"/>
            <date month="July" year="1997"/>
            <abstract>
              <t indent="0">This document discusses the selection of secondary servers for DNS zones.The number of servers appropriate for a zone is also discussed, and some general secondary server maintenance issues considered. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="16"/>
          <seriesInfo name="RFC" value="2182"/>
          <seriesInfo name="DOI" value="10.17487/RFC2182"/>
        </reference>
        <reference anchor="RFC2460" target="https://www.rfc-editor.org/info/rfc2460" quoteTitle="true" derivedAnchor="RFC2460">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="December" year="1998"/>
            <abstract>
              <t indent="0">This document specifies version 6 of the Internet Protocol (IPv6), also sometimes referred to as IP Next Generation or IPng. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2460"/>
          <seriesInfo name="DOI" value="10.17487/RFC2460"/>
        </reference>
        <reference anchor="RFC3542" target="https://www.rfc-editor.org/info/rfc3542" quoteTitle="true" derivedAnchor="RFC3542">
          <front>
            <title>Advanced Sockets Application Program Interface (API) for IPv6</title>
            <author fullname="W. Stevens" initials="W." surname="Stevens"/>
            <author fullname="M. Thomas" initials="M." surname="Thomas"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
            <date month="June" year="2003"/>
            <abstract>
              <t indent="0">This document provides sockets Application Program Interface (API) to support "advanced" IPv6 applications, as a supplement to a separate specification, RFC 3493. The expected applications include Ping, Traceroute, routing daemons and the like, which typically use raw sockets to access IPv6 or ICMPv6 header fields. This document proposes some portable interfaces for applications that use raw sockets under IPv6. There are other features of IPv6 that some applications will need to access: interface identification (specifying the outgoing interface and determining the incoming interface), IPv6 extension headers, and path Maximum Transmission Unit (MTU) information. This document provides API access to these features too. Additionally, some extended interfaces to libraries for the "r" commands are defined. The extension will provide better backward compatibility to existing implementations that are not IPv6-capable. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3542"/>
          <seriesInfo name="DOI" value="10.17487/RFC3542"/>
        </reference>
        <reference anchor="RFC3901" target="https://www.rfc-editor.org/info/rfc3901" quoteTitle="true" derivedAnchor="RFC3901">
          <front>
            <title>DNS IPv6 Transport Operational Guidelines</title>
            <author fullname="A. Durand" initials="A." surname="Durand"/>
            <author fullname="J. Ihren" initials="J." surname="Ihren"/>
            <date month="September" year="2004"/>
            <abstract>
              <t indent="0">This memo provides guidelines and Best Current Practice for operating DNS in a world where queries and responses are carried in a mixed environment of IPv4 and IPv6 networks. 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="91"/>
          <seriesInfo name="RFC" value="3901"/>
          <seriesInfo name="DOI" value="10.17487/RFC3901"/>
        </reference>
        <reference anchor="RFC4034" target="https://www.rfc-editor.org/info/rfc4034" quoteTitle="true" derivedAnchor="RFC4034">
          <front>
            <title>Resource Records for the DNS Security Extensions</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 indent="0">This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of resource records and protocol modifications that provide source authentication for the DNS. This document defines the public key (DNSKEY), delegation signer (DS), resource record digital signature (RRSIG), and authenticated denial of existence (NSEC) resource records. The purpose and format of each resource record is described in detail, and an example of each resource record is given.</t>
              <t indent="0">This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4034"/>
          <seriesInfo name="DOI" value="10.17487/RFC4034"/>
        </reference>
        <reference anchor="RFC4193" target="https://www.rfc-editor.org/info/rfc4193" quoteTitle="true" derivedAnchor="RFC4193">
          <front>
            <title>Unique Local IPv6 Unicast Addresses</title>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <date month="October" year="2005"/>
            <abstract>
              <t indent="0">This document defines an IPv6 unicast address format that is globally unique and is intended for local communications, usually inside of a site. These addresses are not expected to be routable on the global Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4193"/>
          <seriesInfo name="DOI" value="10.17487/RFC4193"/>
        </reference>
        <reference anchor="RFC6146" target="https://www.rfc-editor.org/info/rfc6146" quoteTitle="true" derivedAnchor="RFC6146">
          <front>
            <title>Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers</title>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="P. Matthews" initials="P." surname="Matthews"/>
            <author fullname="I. van Beijnum" initials="I." surname="van Beijnum"/>
            <date month="April" year="2011"/>
            <abstract>
              <t indent="0">This document describes stateful NAT64 translation, which allows IPv6-only clients to contact IPv4 servers using unicast UDP, TCP, or ICMP. One or more public IPv4 addresses assigned to a NAT64 translator are shared among several IPv6-only clients. When stateful NAT64 is used in conjunction with DNS64, no changes are usually required in the IPv6 client or the IPv4 server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6146"/>
          <seriesInfo name="DOI" value="10.17487/RFC6146"/>
        </reference>
        <reference anchor="RFC6540" target="https://www.rfc-editor.org/info/rfc6540" quoteTitle="true" derivedAnchor="RFC6540">
          <front>
            <title>IPv6 Support Required for All IP-Capable Nodes</title>
            <author fullname="W. George" initials="W." surname="George"/>
            <author fullname="C. Donley" initials="C." surname="Donley"/>
            <author fullname="C. Liljenstolpe" initials="C." surname="Liljenstolpe"/>
            <author fullname="L. Howard" initials="L." surname="Howard"/>
            <date month="April" year="2012"/>
            <abstract>
              <t indent="0">Given the global lack of available IPv4 space, and limitations in IPv4 extension and transition technologies, this document advises that IPv6 support is no longer considered optional. It also cautions that there are places in existing IETF documents where the term "IP" is used in a way that could be misunderstood by implementers as the term "IP" becomes a generic that can mean IPv4 + IPv6, IPv6-only, or IPv4-only, depending on context and application. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="177"/>
          <seriesInfo name="RFC" value="6540"/>
          <seriesInfo name="DOI" value="10.17487/RFC6540"/>
        </reference>
        <reference anchor="RFC6877" target="https://www.rfc-editor.org/info/rfc6877" quoteTitle="true" derivedAnchor="RFC6877">
          <front>
            <title>464XLAT: Combination of Stateful and Stateless Translation</title>
            <author fullname="M. Mawatari" initials="M." surname="Mawatari"/>
            <author fullname="M. Kawashima" initials="M." surname="Kawashima"/>
            <author fullname="C. Byrne" initials="C." surname="Byrne"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">This document describes an architecture (464XLAT) for providing limited IPv4 connectivity across an IPv6-only network by combining existing and well-known stateful protocol translation (as described in RFC 6146) in the core and stateless protocol translation (as described in RFC 6145) at the edge. 464XLAT is a simple and scalable technique to quickly deploy limited IPv4 access service to IPv6-only edge networks without encapsulation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6877"/>
          <seriesInfo name="DOI" value="10.17487/RFC6877"/>
        </reference>
        <reference anchor="RFC6888" target="https://www.rfc-editor.org/info/rfc6888" quoteTitle="true" derivedAnchor="RFC6888">
          <front>
            <title>Common Requirements for Carrier-Grade NATs (CGNs)</title>
            <author fullname="S. Perreault" initials="S." role="editor" surname="Perreault"/>
            <author fullname="I. Yamagata" initials="I." surname="Yamagata"/>
            <author fullname="S. Miyakawa" initials="S." surname="Miyakawa"/>
            <author fullname="A. Nakagawa" initials="A." surname="Nakagawa"/>
            <author fullname="H. Ashida" initials="H." surname="Ashida"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">This document defines common requirements for Carrier-Grade NATs (CGNs). It updates RFC 4787.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="127"/>
          <seriesInfo name="RFC" value="6888"/>
          <seriesInfo name="DOI" value="10.17487/RFC6888"/>
        </reference>
        <reference anchor="RFC7050" target="https://www.rfc-editor.org/info/rfc7050" quoteTitle="true" derivedAnchor="RFC7050">
          <front>
            <title>Discovery of the IPv6 Prefix Used for IPv6 Address Synthesis</title>
            <author fullname="T. Savolainen" initials="T." surname="Savolainen"/>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <date month="November" year="2013"/>
            <abstract>
              <t indent="0">This document describes a method for detecting the presence of DNS64 and for learning the IPv6 prefix used for protocol translation on an access network. The method depends on the existence of a well-known IPv4-only fully qualified domain name "ipv4only.arpa.". The information learned enables nodes to perform local IPv6 address synthesis and to potentially avoid NAT64 on dual-stack and multi-interface deployments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7050"/>
          <seriesInfo name="DOI" value="10.17487/RFC7050"/>
        </reference>
        <reference anchor="RFC7269" target="https://www.rfc-editor.org/info/rfc7269" quoteTitle="true" derivedAnchor="RFC7269">
          <front>
            <title>NAT64 Deployment Options and Experience</title>
            <author fullname="G. Chen" initials="G." surname="Chen"/>
            <author fullname="Z. Cao" initials="Z." surname="Cao"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="D. Binet" initials="D." surname="Binet"/>
            <date month="June" year="2014"/>
            <abstract>
              <t indent="0">This document summarizes NAT64 function deployment scenarios and operational experience. Both NAT64 Carrier-Grade NAT (NAT64-CGN) and NAT64 server Front End (NAT64-FE) are considered in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7269"/>
          <seriesInfo name="DOI" value="10.17487/RFC7269"/>
        </reference>
        <reference anchor="RFC7858" target="https://www.rfc-editor.org/info/rfc7858" quoteTitle="true" derivedAnchor="RFC7858">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t indent="0">This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t indent="0">This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC8106" target="https://www.rfc-editor.org/info/rfc8106" quoteTitle="true" derivedAnchor="RFC8106">
          <front>
            <title>IPv6 Router Advertisement Options for DNS Configuration</title>
            <author fullname="J. Jeong" initials="J." surname="Jeong"/>
            <author fullname="S. Park" initials="S." surname="Park"/>
            <author fullname="L. Beloeil" initials="L." surname="Beloeil"/>
            <author fullname="S. Madanapalli" initials="S." surname="Madanapalli"/>
            <date month="March" year="2017"/>
            <abstract>
              <t indent="0">This document specifies IPv6 Router Advertisement (RA) options (called "DNS RA options") to allow IPv6 routers to advertise a list of DNS Recursive Server Addresses and a DNS Search List to IPv6 hosts.</t>
              <t indent="0">This document, which obsoletes RFC 6106, defines a higher default value of the lifetime of the DNS RA options to reduce the likelihood of expiry of the options on links with a relatively high rate of packet loss.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8106"/>
          <seriesInfo name="DOI" value="10.17487/RFC8106"/>
        </reference>
        <reference anchor="RFC8201" target="https://www.rfc-editor.org/info/rfc8201" quoteTitle="true" derivedAnchor="RFC8201">
          <front>
            <title>Path MTU Discovery for IP version 6</title>
            <author fullname="J. McCann" initials="J." surname="McCann"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="R. Hinden" initials="R." role="editor" surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t indent="0">This document describes Path MTU Discovery (PMTUD) for IP version 6. It is largely derived from RFC 1191, which describes Path MTU Discovery for IP version 4. It obsoletes RFC 1981.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="87"/>
          <seriesInfo name="RFC" value="8201"/>
          <seriesInfo name="DOI" value="10.17487/RFC8201"/>
        </reference>
        <reference anchor="RFC8781" target="https://www.rfc-editor.org/info/rfc8781" quoteTitle="true" derivedAnchor="RFC8781">
          <front>
            <title>Discovering PREF64 in Router Advertisements</title>
            <author fullname="L. Colitti" initials="L." surname="Colitti"/>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <date month="April" year="2020"/>
            <abstract>
              <t indent="0">This document specifies a Neighbor Discovery option to be used in Router Advertisements (RAs) to communicate prefixes of Network Address and Protocol Translation from IPv6 clients to IPv4 servers (NAT64) to hosts.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8781"/>
          <seriesInfo name="DOI" value="10.17487/RFC8781"/>
        </reference>
        <reference anchor="RFC8900" target="https://www.rfc-editor.org/info/rfc8900" quoteTitle="true" derivedAnchor="RFC8900">
          <front>
            <title>IP Fragmentation Considered Fragile</title>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <author fullname="O. Troan" initials="O." surname="Troan"/>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <date month="September" year="2020"/>
            <abstract>
              <t indent="0">This document describes IP fragmentation and explains how it introduces fragility to Internet communication.</t>
              <t indent="0">This document also proposes alternatives to IP fragmentation and provides recommendations for developers and network operators.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="230"/>
          <seriesInfo name="RFC" value="8900"/>
          <seriesInfo name="DOI" value="10.17487/RFC8900"/>
        </reference>
        <reference anchor="RFC9250" target="https://www.rfc-editor.org/info/rfc9250" quoteTitle="true" derivedAnchor="RFC9250">
          <front>
            <title>DNS over Dedicated QUIC Connections</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <date month="May" year="2022"/>
            <abstract>
              <t indent="0">This document describes the use of QUIC to provide transport confidentiality for DNS. The encryption provided by QUIC has similar properties to those provided by TLS, while QUIC transport eliminates the head-of-line blocking issues inherent with TCP and provides more efficient packet-loss recovery than UDP. DNS over QUIC (DoQ) has privacy properties similar to DNS over TLS (DoT) specified in RFC 7858, and latency characteristics similar to classic DNS over UDP. This specification describes the use of DoQ as a general-purpose transport for DNS and includes the use of DoQ for stub to recursive, recursive to authoritative, and zone transfer scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9250"/>
          <seriesInfo name="DOI" value="10.17487/RFC9250"/>
        </reference>
        <reference anchor="RFC9313" target="https://www.rfc-editor.org/info/rfc9313" quoteTitle="true" derivedAnchor="RFC9313">
          <front>
            <title>Pros and Cons of IPv6 Transition Technologies for IPv4-as-a-Service (IPv4aaS)</title>
            <author fullname="G. Lencse" initials="G." surname="Lencse"/>
            <author fullname="J. Palet Martinez" initials="J." surname="Palet Martinez"/>
            <author fullname="L. Howard" initials="L." surname="Howard"/>
            <author fullname="R. Patterson" initials="R." surname="Patterson"/>
            <author fullname="I. Farrer" initials="I." surname="Farrer"/>
            <date month="October" year="2022"/>
            <abstract>
              <t indent="0">Several IPv6 transition technologies have been developed to provide customers with IPv4-as-a-Service (IPv4aaS) for ISPs with an IPv6-only access and/or core network. These technologies have their advantages and disadvantages. Depending on existing topology, skills, strategy, and other preferences, one of these technologies may be the most appropriate solution for a network operator.</t>
              <t indent="0">This document examines the five most prominent IPv4aaS technologies and considers a number of different aspects to provide network operators with an easy-to-use reference to assist in selecting the technology that best suits their needs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9313"/>
          <seriesInfo name="DOI" value="10.17487/RFC9313"/>
        </reference>
        <reference anchor="RFC9386" target="https://www.rfc-editor.org/info/rfc9386" quoteTitle="true" derivedAnchor="RFC9386">
          <front>
            <title>IPv6 Deployment Status</title>
            <author fullname="G. Fioccola" initials="G." surname="Fioccola"/>
            <author fullname="P. Volpato" initials="P." surname="Volpato"/>
            <author fullname="J. Palet Martinez" initials="J." surname="Palet Martinez"/>
            <author fullname="G. Mishra" initials="G." surname="Mishra"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <date month="April" year="2023"/>
            <abstract>
              <t indent="0">This document provides an overview of the status of IPv6 deployment in 2022. Specifically, it looks at the degree of adoption of IPv6 in the industry, analyzes the remaining challenges, and proposes further investigations in areas where the industry has not yet taken a clear and unified approach in the transition to IPv6. It obsoletes RFC 6036.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9386"/>
          <seriesInfo name="DOI" value="10.17487/RFC9386"/>
        </reference>
        <reference anchor="RFC9499" target="https://www.rfc-editor.org/info/rfc9499" quoteTitle="true" derivedAnchor="RFC9499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <abstract>
              <t indent="0">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 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 indent="0">This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </reference>
        <reference anchor="RFC9872" target="https://www.rfc-editor.org/info/rfc9872" quoteTitle="true" derivedAnchor="RFC9872">
          <front>
            <title>Recommendations for Discovering IPv6 Prefix Used for IPv6 Address Synthesis</title>
            <author fullname="N. Buraglio" initials="N." surname="Buraglio"/>
            <author fullname="T. Jensen" initials="T." surname="Jensen"/>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <date month="September" year="2025"/>
            <abstract>
              <t indent="0">On networks providing IPv4-IPv6 translation (RFC 7915), hosts and other endpoints need to know the IPv6 prefix(es) used for translation (the NAT64 prefix (RFC 6052)). This document provides guidelines for NAT64 prefix discovery, specifically recommending obtaining the NAT64 prefix from the Router Advertisement option (RFC 8781) when available.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9872"/>
          <seriesInfo name="DOI" value="10.17487/RFC9872"/>
        </reference>
        <reference anchor="RFC9915" target="https://www.rfc-editor.org/info/rfc9915" quoteTitle="true" derivedAnchor="RFC9915">
          <front>
            <title>Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</title>
            <author fullname="T. Mrugalski" initials="T." surname="Mrugalski"/>
            <author fullname="B. Volz" initials="B." surname="Volz"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Jiang" initials="S." surname="Jiang"/>
            <author fullname="T. Winters" initials="T." surname="Winters"/>
            <date month="January" year="2026"/>
            <abstract>
              <t indent="0">This document specifies the Dynamic Host Configuration Protocol for IPv6 (DHCPv6), an extensible mechanism for configuring nodes with network configuration parameters, IP addresses, and prefixes. Parameters can be provided statelessly or in combination with stateful assignment of one or more IPv6 addresses and/or IPv6 prefixes. DHCPv6 can operate either in place of or in addition to stateless address autoconfiguration (SLAAC).</t>
              <t indent="0">This document obsoletes RFC 8415. It incorporates verified errata and obsoletes the assignment of temporary addresses (the IA_TA option) and the server unicast capability (the Server Unicast option and UseMulticast status code).</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="102"/>
          <seriesInfo name="RFC" value="9915"/>
          <seriesInfo name="DOI" value="10.17487/RFC9915"/>
        </reference>
        <reference anchor="RIPEV4" target="https://www.ripe.net/publications/news/about-ripe-ncc-and-ripe/the-ripe-ncc-has-run-out-of-ipv4-addresses" quoteTitle="true" derivedAnchor="RIPEV4">
          <front>
            <title>The RIPE NCC has run out of IPv4 Addresses</title>
            <author>
              <organization showOnFrontPage="true">RIPE NCC</organization>
            </author>
            <date month="November" year="2019"/>
          </front>
        </reference>
        <reference anchor="V6DNSRDY-23" target="https://link.springer.com/chapter/10.1007/978-3-031-28486-1_22" quoteTitle="true" derivedAnchor="V6DNSRDY-23">
          <front>
            <title>How Ready is DNS for an IPv6-Only World?</title>
            <author initials="F" surname="Streibelt" fullname="Florian">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P" surname="Sattler" fullname="Patrick">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F" surname="Lichtblau" fullname="Franziska">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C" surname="Hernandez-Gañán" fullname="Carlos">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Feldmann" fullname="Anja">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O" surname="Gasser" fullname="Oliver">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T" surname="Fiebig" fullname="Tobias">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="March" year="2023"/>
          </front>
          <refcontent>Passive and Active Measurement (PAM 2023), Lecture Notes in Computer Science, vol. 13882, pp. 525-549</refcontent>
          <seriesInfo name="DOI" value="10.1007/978-3-031-28486-1_22"/>
        </reference>
      </references>
    </references>
    <section anchor="constraints" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-changes-since-rfc-3901">Changes Since RFC 3901</name>
      <t indent="0" pn="section-appendix.a-1">
                The following changes have been made to the guidance published in <xref target="RFC3901" format="default" sectionFormat="of" derivedContent="RFC3901"/>:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a-2">
        <li pn="section-appendix.a-2.1">
          <t indent="0" pn="section-appendix.a-2.1.1">Expanded the terminology section, also taking considerations from <xref target="RFC9499" format="default" sectionFormat="of" derivedContent="RFC9499"/> into account.</t>
        </li>
        <li pn="section-appendix.a-2.2">
          <t indent="0" pn="section-appendix.a-2.2.1">Expanded name space partitioning, independently discussing intentional choices, misconfigurations, and network conditions, which lead to name space partitioning due to differences in IP address family support.</t>
        </li>
        <li pn="section-appendix.a-2.3">
          <t indent="0" pn="section-appendix.a-2.3.1">Now recommends the use of IPv4 and IPv6 for authoritative DNS servers instead of leaving IPv6 optional.</t>
        </li>
        <li pn="section-appendix.a-2.4">
          <t indent="0" pn="section-appendix.a-2.4.1">Now recommends testing IPv4 and IPv6 resolvability when delegating zones instead of only testing IPv4 resolvability.</t>
        </li>
        <li pn="section-appendix.a-2.5">
          <t indent="0" pn="section-appendix.a-2.5.1">Added guidance on handling IP layer fragmentation.</t>
        </li>
        <li pn="section-appendix.a-2.6">
          <t indent="0" pn="section-appendix.a-2.6.1">Added guidance for IP address family handling for recursive and stub resolvers.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.b-1">Valuable input for this document was provided by the following individuals: <contact fullname="Bob Harold"/>, <contact fullname="Andreas Schulze"/>,
            <contact fullname="Tommy Jensen"/>, <contact fullname="Nick             Buraglio"/>, <contact fullname="Jen Linkova"/>, <contact fullname="Tim Chown"/>, <contact fullname="Brian E. Carpenter"/>,
            <contact fullname="Tom Petch"/>, <contact fullname="Philipp             S. Tiesel"/>, <contact fullname="Mark Andrews"/>, <contact fullname="Stefan Ubbink"/>, <contact fullname="Joe Abley"/>,
            <contact fullname="Gorry Fairhurst"/>, <contact fullname="Paul             Vixie"/>, <contact fullname="Lorenzo Colitti"/>, <contact fullname="David Farmer"/>, <contact fullname="Pieter Lexis"/>,
            <contact fullname="Ralf Weber"/>, <contact fullname="Philip             Homburg"/>, <contact fullname="Marco Davids"/>, <contact fullname="Mohamed Boucadair"/>, <contact fullname="Thomas             Fossati"/>, <contact fullname="Aihua Guo"/>, <contact fullname="Bernie Volz"/>, <contact fullname="David Dong"/>,
            <contact fullname="Roman Danyliw"/>, <contact fullname="Éric             Vyncke"/>, and <contact fullname="Erik Nygren"/>.</t>
      <t indent="0" pn="section-appendix.b-2">Furthermore, the authors express their thanks to the
            authors of <xref target="RFC3901" format="default" sectionFormat="of" derivedContent="RFC3901"/>, <contact fullname="Alain             Durand"/> and <contact fullname="Johan Ihren"/>, and provide their
            original acknowledgements verbatim below:</t>
      <blockquote pn="section-appendix.b-3">
        <t indent="0" pn="section-appendix.b-3.1">This document is the result of many conversations
            that happened in the DNS community at IETF and elsewhere since
            2001.  During that period of time, a number of Internet drafts
            have been published to clarify various aspects of the issues at
            stake.  This document focuses on the conclusion of those
            discussions.</t>
        <t indent="0" pn="section-appendix.b-3.2">The authors would like to acknowledge the role of <contact fullname="Pekka Savola"/> in his thorough review of the document.
        </t>
      </blockquote>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Momoka Yamamoto" initials="" surname="Momoka">
        <organization showOnFrontPage="true">WIDE Project</organization>
        <address>
          <email>momoka.my6@gmail.com</email>
        </address>
      </author>
      <author fullname="Tobias Fiebig" initials="T." surname="Fiebig">
        <organization abbrev="MPI-INF" showOnFrontPage="true">Max-Planck-Institut fuer Informatik</organization>
        <address>
          <postal>
            <street>Campus E14</street>
            <city>Saarbruecken</city>
            <code>66123</code>
            <country>Germany</country>
          </postal>
          <phone>+49 681 9325 3527</phone>
          <email>tfiebig@mpi-inf.mpg.de</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
