<?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.25 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-momoka-v6ops-ipv6-only-resolver-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="IPv6 only Resolver">IPv6 only capable resolver utilising NAT64</title>
    <seriesInfo name="Internet-Draft" value="draft-momoka-v6ops-ipv6-only-resolver-01"/>
    <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="March" day="09"/>
    <area>Ops</area>
    <workgroup>v6ops</workgroup>
    <keyword>DNS</keyword>
    <keyword>IPv6</keyword>
    <abstract>
      <t>By performing IPv4 to IPv6 translation, IPv6-only iterative resolvers can operate in an IPv6-only environment.
When a specific DNS zone is only served by an IPv4-only authoritative server, the iterative resolver will translate the IPv4 address to IPv6 to access the authoritative server's IPv4 address via stateful NAT64.
This mechanism allows IPv6-only iterative resolvers to initiate communications to IPv4-only authoritative servers.</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>
    <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 translation <xref target="RFC6052"/> when sending 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 translation and utilizing the stateful NAT64, accessing an IPv4-only authoritative server will be possible.</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. The iterative resolution algorithm is described in Section 5.3.3 of <xref target="RFC1034"/></li>
        <li>IPv6-only iterative resolvers:    Iterative resolvers that only have IPv6 connectivity.</li>
        <li>IPv6/IPv4 translator:     A device 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 with only IPv4 connectivity, or an authoritative server with only an A record registered so it can only be accessed by 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 NAT64, 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 utilizing NAT64.</t>
      <t>The NAT64/DNS64 mechanism enables IPv6-only clients in a network to communicate with remote IPv4-only nodes. However, using literal IPv4 addresses instead of DNS names will fail (unless 464XLAT <xref target="RFC6877"/> is used).
An iterative resolver cannot use the DNS64 because it is a service that uses literal IP addresses.
This problem can be solved by the iterative resolver converting IPv4 addresses
to IPv6 by adding the Pref64::/n prefix, and thus the IPv6 packet conveying the
query is directed to a stateful NAT64 gateway 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 devices, operators can reduce IPv4 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 RFC 6147 are dual-stack name servers.</t>
        <figure anchor="example-topologies-in-RFC6147-1">
          <name>Example network setup of the use of DNS64 described in RFC6147 Section7.1</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 RFC6147 Section7.2</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 device.</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 provides the mechanism of an IPv6-only capable resolver utilizing stateful NAT64.
We will assume we have one or more IPv6/IPv4 translator boxes <xref target="NAT64"/> connecting an IPv6 network to an IPv4 network.
The stateful NAT64 device 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 servers via stateful NAT64.
By using stateful NAT64, this IPv6-only iterative resolver can be considered dual stack in the sense 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 the iterative resolver sends queries to start a resolution, it may sort the SLIST data structure described in <xref target="RFC1034"/> to use the authoritative servers with IPv6 addresses first, and use servers with only an IPv4 address later.
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 adding the prefix Pref64::/n,
so that the IPv6 packet carrying the query is routed to a stateful NAT64 gateway, which converts the IPv6 packet to an IPv4 packet.
It is not recommended to synthesise an IPv4 address of an authoritative server if it also has an IPv6 address.</t>
      </section>
      <section anchor="generation-of-the-ipv6-representations-of-ipv4-addresses">
        <name>Generation of the IPv6 Representations of IPv4 Addresses</name>
        <section anchor="obtaining-the-pref64n-of-the-stateful-nat64">
          <name>Obtaining the Pref64::/n of the stateful 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 discovery mechanisms.
Static configuration may be the most likely scenario, as the iterative resolver server may also serve as a DNS64 server.</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"/> may not work because they require a resolver to work.</t>
        </section>
        <section anchor="performing-the-synthesis">
          <name>Performing the Synthesis</name>
          <t>The address translation can be 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 converted IPv6 address.</t>
        </section>
      </section>
      <section anchor="use-of-the-iterative-resolver-as-dns64">
        <name>Use of the iterative resolver as DNS64</name>
        <t>As the iterative resolver is used within an IPv6-only network, the server can also perform as DNS64 <xref target="DNS64"/> when an AAAA record is queried from a STUB resolver but the domain only has an A record.</t>
      </section>
    </section>
    <section anchor="deployment-notes">
      <name>Deployment Notes</name>
      <t>TODO</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This algorithm does not change any part of the DNS message, just the packet type from IPv4 to IPv6 and the destination IP address from an IPv4 address to the synthesised IPv6 address, so there should be no problems with DNSSEC.</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 WIP branch.</t>
      <t>https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/6334/commits</t>
      <t>Unbound has a PR from a contributor.</t>
      <t>https://github.com/NLnetLabs/unbound/issues/721</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">
              <organization/>
            </author>
            <author fullname="P. Matthews" initials="P." surname="Matthews">
              <organization/>
            </author>
            <author fullname="I. van Beijnum" initials="I." surname="van Beijnum">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="C. Huitema" initials="C." surname="Huitema">
              <organization/>
            </author>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo">
              <organization/>
            </author>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair">
              <organization/>
            </author>
            <author fullname="X. Li" initials="X." surname="Li">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="J. Ihren" initials="J." surname="Ihren">
              <organization/>
            </author>
            <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>
        <reference anchor="DNS64">
          <front>
            <title>DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers</title>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo">
              <organization/>
            </author>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan">
              <organization/>
            </author>
            <author fullname="P. Matthews" initials="P." surname="Matthews">
              <organization/>
            </author>
            <author fullname="I. van Beijnum" initials="I." surname="van Beijnum">
              <organization/>
            </author>
            <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>
      </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 IPv6 deployment status 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="11" month="December" year="2022"/>
            <abstract>
              <t>   This document specifies how to discover the NAT64 pools in use 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
   provides DNS64 service regardless of DNS operator and DNS transport
   protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hunek-v6ops-nat64-srv-04"/>
        </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="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris">
              <organization/>
            </author>
            <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="RFC6877">
          <front>
            <title>464XLAT: Combination of Stateful and Stateless Translation</title>
            <author fullname="M. Mawatari" initials="M." surname="Mawatari">
              <organization/>
            </author>
            <author fullname="M. Kawashima" initials="M." surname="Kawashima">
              <organization/>
            </author>
            <author fullname="C. Byrne" initials="C." surname="Byrne">
              <organization/>
            </author>
            <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="RFC7225">
          <front>
            <title>Discovering NAT64 IPv6 Prefixes Using the Port Control Protocol (PCP)</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="J. Linkova" initials="J." surname="Linkova">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen">
              <organization/>
            </author>
            <author fullname="D. Wing" initials="D." surname="Wing">
              <organization/>
            </author>
            <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>
    <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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
NlpwVz6gXhHEouA/0nueUz8sAAA=

-->

</rfc>
