<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-momoka-v6ops-ipv6-only-resolver-02" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="IPv6-only Resolver">IPv6-only Capable Resolvers Utilising NAT64</title>
    <seriesInfo name="Internet-Draft" value="draft-momoka-v6ops-ipv6-only-resolver-02"/>
    <author fullname="山本 桃歌" asciiFullname="Momoka Yamamoto">
      <organization>The University of Tokyo/WIDE Project</organization>
      <address>
        <email>momoka.my6@gmail.com</email>
      </address>
    </author>
    <author fullname="豊田 安信" asciiFullname="Yasunobu Toyota">
      <organization>Keio University/WIDE Project</organization>
      <address>
        <email>yas-nyan@sfc.wide.ad.jp</email>
      </address>
    </author>
    <date year="2023" month="September" day="08"/>
    <area>Ops</area>
    <workgroup>v6ops</workgroup>
    <keyword>DNS</keyword>
    <keyword>IPv6</keyword>
    <abstract>
      <?line 48?>

<t>This document outlines how IPv6-only iterative resolvers can use stateful NAT64 to establish communications with IPv4-only authoritative servers.
It outlines a mechanism for translating the IPv4 addresses of authoritative servers to IPv6 addresses to initiate communications.
Through the mechanism of IPv4-to-IPv6 address translation, these resolvers can operate in an IPv6-only network environment.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    IPv6 Operations Working Group mailing list (v6ops@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/v6ops/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/momoka0122y/draft-momoka-ipv6-only-resolver"/>.</t>
    </note>
  </front>
  <middle>
    <?line 53?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document describes how an IPv6-only iterative resolver can use stateful NAT64 <xref target="NAT64"/> to connect to an IPv4-only authoritative server by performing IPv4-to-IPv6 address translation <xref target="RFC6052"/> when generating a query.
When a specific DNS zone is only served by an IPv4-only authoritative server (which has only an A record), an IPv6-only iterative resolver cannot resolve that zone due to having no access to an IPv4 network.
However, by performing IPv4-to-IPv6 address translation and utilising the stateful NAT64, it will be possible to access an IPv4-only authoritative server.</t>
      <t>This document is meant to exemplify how existing tools can be used to
allow IPv6-only resolvers to reach IPv4-only resolvers.
DNS is thus seen as an application that uses NAT64.</t>
      <t>The document focuses on the exchanges between iterative resolvers and
authoritative resolvers but can be generalized to cover communications
between IPv6-only recursive resolvers and IPv4-only resolvers.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>Iterative resolver:    A DNS server that repeatedly makes non-recursive queries and follows referrals and/or aliases, as defined in DNS Terminology <xref target="RFC8499"/></li>
        <li>IPv6-only iterative resolvers:    Iterative resolvers with only IPv6 connectivity.</li>
        <li>IPv6/IPv4 translator:     A function that translates IPv6 packets to IPv4 packets and vice versa. It is only required that the communication initiated from the IPv6 side be supported.</li>
        <li>IPv4-only authoritative server:    An authoritative server that either has only IPv4 connectivity or is registered with only an A record, making it accessible solely via IPv4.</li>
      </ul>
    </section>
    <section anchor="motivation-and-problem-solved">
      <name>Motivation and Problem Solved</name>
      <t>An iterative resolver is one of the applications that require IPv4 connectivity. As stated in BCP91 <xref target="RFC3901"/>, “every recursive name server SHOULD be either IPv4-only or dual stack.”
This is because some authoritative servers do not support IPv6.
As of 2023, even some of the most frequently queried authoritative servers cannot be accessed via IPv6.
Without the utilization of an IPv6/IPv4 translation mechanism, IPv6-only resolvers need to forward queries to a dual-stack recursive name server performing the iterative queries.</t>
      <t>The current situation where an iterative resolver cannot operate without IPv4 reachability may hinder the operation of a network's own iterative resolver in an IPv6-only network.
Therefore, this document describes how iterative resolvers can be used without issues in IPv6-only networks by utilising NAT64 as an IPv6/IPv4 translation mechanism.</t>
      <t>The NAT64/DNS64 mechanisms enable IPv6-only clients in an IPv6-only network to communicate with remote IPv4-only nodes. However, applications that rely upon IPv4 address literals instead of DNS names will fail (unless 464XLAT <xref target="RFC6877"/> is used).
An iterative resolver is a service that uses literal IP addresses, so it cannot use the DNS64.
This problem can be solved by the iterative resolver converting IPv4 addresses to IPv6 addresses using the Pref64::/n NAT64 prefix and following the address translation algorithm in <xref target="RFC6052"/>. In doing so, an IPv6 packet conveying the query is directed to a stateful NAT64 function that converts the IPv6 packet to an IPv4 packet.
With this implementation, an iterative resolver can be operated even inside an IPv6-only network.</t>
      <section anchor="deployment-scenarios-and-examples">
        <name>Deployment Scenarios and Examples</name>
        <t>The deployment of IPv6-only networks is in progress, as demonstrated by <xref target="I-D.draft-xie-v6ops-framework-md-ipv6only-underlay"/>.
By operating an IPv6-only network and limiting IPv4 reachability to NAT64 functions, operators can optimize IPv4 address usage and concentrate on IPv6 operations, which is generally believed to lower operational costs and optimize operations compared to a dual-stack environment.</t>
        <t>In examples of past RFCs, name resolvers have always had an IPv4 address. For example, all three use cases for DNS64 in <xref target="RFC6147"/> are dual-stack name servers.</t>
        <figure anchor="example-topologies-in-RFC6147-1">
          <name>Example network setup of the use of DNS64 described in Section7.1 of RFC6147</name>
          <sourcecode type="drawing"><![CDATA[
            +---------------------+         +---------------+
            |IPv6 network         |         |    IPv4       |
            |              +-------------+  |  Internet     |
            |           |--| Name server |--|               |
            |           |  | with DNS64  |  |  +----+       |
            |  +----+   |  +-------------+  |  | H2 |       |
            |  | H1 |---|         |         |  +----+       |
            |  +----+   |   +------------+  |  192.0.2.1    |
            |           |---| IPv6/IPv4  |--|               |
            |           |   | Translator |  |               |
            |           |   +------------+  |               |
            |           |         |         |               |
            +---------------------+         +---------------+
]]></sourcecode>
        </figure>
        <figure anchor="example-topologies-in-RFC6147-2">
          <name>Example network setup of the use of DNS64 described in Section7.2 of RFC6147</name>
          <sourcecode type="drawing"><![CDATA[
            +---------------------+         +---------------+
            |IPv6 network         |         |    IPv4       |
            |                 +--------+    |  Internet     |
            |           |-----| Name   |----|               |
            | +-----+   |     | server |    |  +----+       |
            | | H1  |   |     +--------+    |  | H2 |       |
            | |with |---|         |         |  +----+       |
            | |DNS64|   |   +------------+  |  192.0.2.1    |
            | +----+    |---| IPv6/IPv4  |--|               |
            |           |   | Translator |  |               |
            |           |   +------------+  |               |
            |           |         |         |               |
            +---------------------+         +---------------+
]]></sourcecode>
        </figure>
        <t>However, it is necessary to consider the existence of an IPv6 single-stack full-service resolver.
In this document we consider an IPv6-only network where the iterative resolver is inside the IPv6-only network and does not have an IPv4 address.
This is to restrict IPv4 management to the NAT64 function.</t>
        <figure anchor="ipv6oly-resolver-example-topology">
          <name>Network example referenced in this document with an IPv6-only iterative resolver</name>
          <sourcecode type="drawing"><![CDATA[
      +--------------------------+         +----------------------+
      | IPv6 network             |         |    IPv4              |
      |                          |         |  Internet            |
      |                |         |         |                      |
      | +----------+   |         |         |  +--------------+    |
      | |IPv6-only |   |         |         |  |Authoritative |    |
      | |Iterative |   |         |         |  |server        |    |
      | |resolver  |---|   +------------+  |  +--------------+    |
      | +----------+   |---| IPv6/IPv4  |--|  192.0.2.1           |
      |                |   | Translator |  |                      |
      |                    +------------+  |                      |
      |                          |         |                      |
      +--------------------------+         +----------------------+
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="solution-with-existing-protocols">
      <name>Solution with Existing Protocols</name>
      <t>This section describes the mechanism of an IPv6-only capable resolver utilising stateful NAT64.
We assume that one or more IPv6/IPv4 translators <xref target="NAT64"/> are connecting an IPv6 network to an IPv4 network.
The stateful NAT64 provides translation service and bridges the two networks, allowing communication between IPv6-only hosts and IPv4-only hosts.
The IPv6-only capable resolver proposed in this document performs the IPv4 to IPv6 synthesis for the resolver to communicate with IPv4-only servers via stateful NAT64.
By using stateful NAT64, this IPv6-only iterative resolver aligns with the dual-stack requirements of BCP91 <xref target="RFC3901"/>.</t>
      <section anchor="finding-an-authoritative-server-with-only-ipv4-addresses">
        <name>Finding an Authoritative Server with only IPv4 addresses</name>
        <t>Before initiating a query, an iterative resolver may prioritize authoritative servers with IPv6 addresses by sorting the SLIST data structure, as described in <xref target="RFC1034"/>.
If the resolver finds only an A record for an authoritative server, the resolver should perform address synthesis to the IPv4 address of the authoritative server, converting IPv4 addresses to IPv6 by following the algorithm in <xref target="RFC6052"/>.
With this the IPv6 packet carrying the query is routed to a stateful NAT64 function, which will convert the IPv6 packet with a destination IPv4-converted IPv6 address that matches the NAT64 prefix to an IPv4 packet.
It is not recommended to synthesize IPv4 addresses of an authoritative server if it also has an IPv6 address.</t>
      </section>
      <section anchor="generating-ipv4-converted-ipv6-addresses">
        <name>Generating IPv4-converted IPv6 Addresses</name>
        <section anchor="obtaining-the-pref64n-of-a-nat64">
          <name>Obtaining the Pref64::/n of a NAT64</name>
          <t>The iterative resolver can obtain the Pref64::/n used by the network's stateful NAT64 either by static configuration or by using a discovery mechanism.</t>
          <t>The Port Control Protocol <xref target="RFC7225"/> or Router Advertisements <xref target="RFC8781"/> are two options available to the resolver if it wishes to use a discovery mechanism to find the Pref64::/n.
Using the mechanisms described in <xref target="RFC7050"/> or <xref target="I-D.draft-hunek-v6ops-nat64-srv"/> does not work because they require a resolver to work.</t>
        </section>
        <section anchor="performing-address-synthesis">
          <name>Performing Address Synthesis</name>
          <t>The address translation algorithm is performed by following Section 2.3 of <xref target="RFC6052"/>.
After the synthesis is done, the IPv6-only iterative resolver can send a query to the IPv4-converted IPv6 address.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The use of NAT64 for address translation does not affect DNSSEC operations as no part of the DNS message is altered.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>BIND has a work-in-progress branch available at:</t>
      <t>https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/6334/commits</t>
      <t>Unbound has an implementation in source, available from below PR:</t>
      <t>https://github.com/NLnetLabs/unbound/pull/722</t>
      <t>Building from source or using a version after Version 1.19 will allow to use this function.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-v6ops-ipv6-deployment" to="ietf-v6ops-ipv6-deployment"/>
    <displayreference target="I-D.draft-hunek-v6ops-nat64-srv" to="draft-hunek-v6ops-nat64-srv"/>
    <displayreference target="I-D.draft-xie-v6ops-framework-md-ipv6only-underlay" to="draft-xie-v6ops-framework-md-ipv6only-underlay"/>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="NAT64">
          <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"/>
          </front>
          <seriesInfo name="RFC" value="6146"/>
          <seriesInfo name="DOI" value="10.17487/RFC6146"/>
        </reference>
        <reference anchor="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>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="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>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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.ietf-v6ops-ipv6-deployment">
          <front>
            <title>IPv6 Deployment Status</title>
            <author fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Paolo Volpato" initials="P." surname="Volpato">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Jordi Palet Martinez" initials="J. P." surname="Martinez">
              <organization>The IPv6 Company</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Inc.</organization>
            </author>
            <author fullname="Chongfeng Xie" initials="C." surname="Xie">
              <organization>China Telecom</organization>
            </author>
            <date day="1" month="December" year="2022"/>
            <abstract>
              <t>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="Internet-Draft" value="draft-ietf-v6ops-ipv6-deployment-10"/>
        </reference>
        <reference anchor="I-D.draft-hunek-v6ops-nat64-srv">
          <front>
            <title>NAT64/DNS64 detection via SRV Records</title>
            <author fullname="Martin Huněk" initials="M." surname="Huněk">
              <organization>Technical University of Liberec</organization>
            </author>
            <date day="15" month="June" year="2023"/>
            <abstract>
              <t>   This document specifies how to discover the NAT64 pools and DNS
   servers providing DNS64 service to the local Nodes.  The discovery
   made via SRV records allows the assignment of priorities to the NAT64
   pools and DNS64 servers.  It also allows Nodes to have different DNS
   providers than NAT64 providers while providing a secure way via
   DNSSEC validation of provided SRV records.  This way, it allows
   providing the NAT64/DNS64 services regardless of DNS operator and DNS
   transport protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hunek-v6ops-nat64-srv-05"/>
        </reference>
        <reference anchor="I-D.draft-xie-v6ops-framework-md-ipv6only-underlay">
          <front>
            <title>Framework of Multi-domain IPv6-only Underlay Networks and IPv4 as a Service</title>
            <author fullname="Chongfeng Xie" initials="C." surname="Xie">
              <organization>China Telecom</organization>
            </author>
            <author fullname="Chenhao Ma" initials="C." surname="Ma">
              <organization>China Telecom</organization>
            </author>
            <author fullname="Xing Li" initials="X." surname="Li">
              <organization>CERNET Center/Tsinghua University</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Inc</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <date day="21" month="October" year="2022"/>
            <abstract>
              <t>   For the IPv6 transition, dual-stack deployments require both IPv4 and
   IPv6 forwarding capabilities to be deployed in parallel.  IPv6-only
   is considered as the ultimate stage where only IPv6 transfer
   capabilities are used while ensuring global reachability for both
   IPv6 and IPv4 (usually known as IPv4aaS).  This document specifies
   requirements and proposes a framework for deploying IPv6-only as the
   underlay in multi-domain networks, discusses the requirements of
   service traffic, major components and interfaces, IPv6 mapping prefix
   allocation, typical procedures for service delivery.  The document
   also discusses related considerations with security.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-xie-v6ops-framework-md-ipv6only-underlay-05"/>
        </reference>
        <reference anchor="RFC8499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="January" year="2019"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has sometimes changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document obsoletes RFC 7719 and updates RFC 2308.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="8499"/>
          <seriesInfo name="DOI" value="10.17487/RFC8499"/>
        </reference>
        <reference anchor="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>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="RFC6147">
          <front>
            <title>DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers</title>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <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>DNS64 is a mechanism for synthesizing AAAA records from A records. DNS64 is used with an IPv6/IPv4 translator to enable client-server communication between an IPv6-only client and an IPv4-only server, without requiring any changes to either the IPv6 or the IPv4 node, for the class of applications that work through NATs. This document specifies DNS64, and provides suggestions on how it should be deployed in conjunction with IPv6/IPv4 translators. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6147"/>
          <seriesInfo name="DOI" value="10.17487/RFC6147"/>
        </reference>
        <reference anchor="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>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="RFC7225">
          <front>
            <title>Discovering NAT64 IPv6 Prefixes Using the Port Control Protocol (PCP)</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>This document defines a new Port Control Protocol (PCP) option to learn the IPv6 prefix(es) used by a PCP-controlled NAT64 device to build IPv4-converted IPv6 addresses. This option is needed for successful communications when IPv4 addresses are used in referrals.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7225"/>
          <seriesInfo name="DOI" value="10.17487/RFC7225"/>
        </reference>
        <reference anchor="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>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="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>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>
      </references>
    </references>
    <?line 227?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO: acknowledge people.</t>
      <t>Thank you for reading this draft.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
bwgakJPhLAAA

-->

</rfc>
