<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-fobser-resinfo-dns64-02" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Resinfo DNS64">DNS Resolver Information Key for DNS64</title>

    <author initials="F." surname="Obser" fullname="Florian Obser">
      <organization>OpenBSD</organization>
      <address>
        <email>florian+ietf@narrans.de</email>
      </address>
    </author>

    <date year="2024" month="November" day="03"/>

    
    
    

    <abstract>


<?line 32?>
<t>This document specifies a DNS Resolver Information Key to inform DNS
clients of the presence of DNS64.</t>



    </abstract>



  </front>

  <middle>


<?line 36?>

<section anchor="introduction"><name>Introduction</name>

<t>DNS64 <xref target="RFC6147"/> performed by a DNS resolver together with NAT64
   <xref target="RFC6146"/> allows an IPv6-only client to initiate communications
   by name to an IPv4-only server.</t>

<t><xref target="RFC9606"/> specifies a DNS resource record (RR) type RESINFO to
   allow resolvers to publish information about their capabilities
   and policies. This can be used to inform DNS clients that DNS64 is
   performed by the DNS resolver.</t>

<section anchor="requirements-notation"><name>Requirements Notation</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY",
   and "OPTIONAL" in this document are to be interpreted as described
   in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear
   in all capitals, as shown here.</t>

</section>
</section>
<section anchor="relation-to-rfc-7050"><name>Relation to RFC 7050</name>

<t><xref target="RFC7050"/> describes a heuristic to learn the IPv6 prefix used by a
   NAT64 gateway. Nodes can use this information to perform local
   address synthesis, for example when using 464XLAT <xref target="RFC6877"/> as a
   transition mechanism.</t>

<t>This has security implications, making <xref target="RFC7050"/> difficult to
   deploy. A modern mechanism, like PREF64 <xref target="RFC8781"/> is easier to
   deploy, leading to a desire to deprecate <xref target="RFC7050"/> entirely.</t>

<t>Using the <xref target="RFC9606"/> RESINFO mechanism solely to inform clients
   about the presence of DNS64 without conveying any prefix
   information avoids the security problems of <xref target="RFC7050"/>.</t>

</section>
<section anchor="dns64-resolver-information-key"><name>dns64 Resolver Information Key</name>

<dl>
  <dt>dns64:</dt>
  <dd>
    <t>The presence of this key indicates that the DNS resolver performs
address synthesis.
</t>

    <t>A resolver which supports <xref target="RFC9606"/> SHOULD add the dns64 key if
it performs DNS64 <xref target="RFC6147"/> address synthesis.</t>

    <t>Note that, per the rules for the keys defined in Section 6.4 of
<xref target="RFC6763"/>, if there is no '=' in a key, then it is a boolean
attribute, simply identified as being present, with no value.</t>
  </dd>
</dl>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The security considerations of <xref target="RFC9606"/> apply.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>The IANA is requested to add the key "dns64", with the description
   of "The presence of the key indicates that DNS64 address synthesis
   is performed", and a reference to this document.</t>

<texttable>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>dns64</c>
      <c>The presence of the key indicates that DNS64 address synthesis is performed.</c>
      <c>RFC EDITOR: THIS DOCUMENT</c>
</texttable>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC6763">
  <front>
    <title>DNS-Based Service Discovery</title>
    <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
    <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
    <date month="February" year="2013"/>
    <abstract>
      <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6763"/>
  <seriesInfo name="DOI" value="10.17487/RFC6763"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC9606">
  <front>
    <title>DNS Resolver Information</title>
    <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
    <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
    <date month="June" year="2024"/>
    <abstract>
      <t>This document specifies a method for DNS resolvers to publish information about themselves. DNS clients can use the resolver information to identify the capabilities of DNS resolvers. How DNS clients use such information is beyond the scope of this document.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9606"/>
  <seriesInfo name="DOI" value="10.17487/RFC9606"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="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"/>
  </front>
  <seriesInfo name="RFC" value="6146"/>
  <seriesInfo name="DOI" value="10.17487/RFC6146"/>
</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="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="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>

<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>




    </references>

</references>



  </back>

<!-- ##markdown-source:
H4sIAMI6J2cAA8VWYW/bNhD9rl9xcD90w2wj6TynNTBgbpygxhI7sx1gwzAM
tETFRCVSJamkRpP/vnek5NhNWmDYgBpIREnku7t37+7U6/USr3whR9SZzJa0
kM4Ut9LSVOfGlsIro+lXuSXcETYMB51ErNdW3o54r8Ku+DjJTKpFCZzMitz3
crN20vZs3NPLtBsOekevklR4eWPsdkT8PHHeSlHyTSYriX/aJ6qyI/K2dv7V
0dEbnMEuobO/RWE08LfSJZUa0Z/epF1yxgIid1hty7iAJ6WoKqVv/koSUfuN
saOEqIc/giE3ovM+zdm98CR6fV4Yq4Tee27szYjmcOrtchIeyFKoYkR53PmD
kj7/RQtrhXb9TCaJjoTdSra2OD99dXz8plkOT4Y/NsvXxyeDZvlmeDQcJYlq
qd6dHB4Pho/Lk3b5+qRdnhz9dNTinbw+Bkiv1yOxBp0i9clqoxzTUJfgk1wl
U5Ur6UjQV3PsDUVfeFuSFgqnHZmc/EZShVRKnUq+DxnvR6OlyrIC0b8AnLcm
q1PGS5ixsI0+fWrCeHigSlrGlxmtt403tvXGmxsJQ5bulN/QbLyCqADSHh/i
uCgKc4cwNE2vboc9o4stRTej78oryItSU5a1VmmIzDEIrHGaeVc8PIiHkWuY
7ic7Q5wSGPqcMnaytgjeytTYjL5bLL4nv60kLc6W09n5HMiMERzcheTYXlWv
C+U2pPbIFmtTe2ZVWUpFJdaqgOsyuAqlU2UKleK+TyGTKXxeS6odeDvIEbU5
8hvhG7pVQDkgmtO3TzXiffECMvhQKyvLADAzXuzytsL+99DDHUJ11Lm8Xq46
3Xil2TysF2e/XU8XZxNeL9+NLy52i7iDYXA/v75otvDq8fDp/PLybDaJ5/GU
Pnt0Of4jYjAbnfnVajqfjS86CB3B7Gtb2JBUsKO0lxYi9YhZYId0qVVrmSWh
6Ont6RUdN2LkwkSSw5rLEeu7jdTdYC3oIt6CN6i0qqSwDQryywlTXhRoNDDj
NuZOE1QrmVRwWsQMwyeAE9fpo7j4DrZa11hcG1lb5bxK+UQBQzpki+XNFZer
jzHtXC6ME8qCbqDyO7HtI20AC/rArkjNvs5YflEIVJhUFIHRLIMO4PlWw5JT
iIN7u/woyqqQIXKAoXnSYDj4/WK8aioQzYcr0EU/PHc9FYyUMt0IrVzZb8QD
JzZMjUwRm9+SAnBbjF0qxXsGPyBE5blK68I3VYRRUBhEN6YS8dk9E10q1HtJ
V4uz87azcP8DBoxK4VToI48YXeY0Y3tc+cy8ioLBa5QyN4t9R6AovC+2MZLr
wAKnY781tAW/8wkjqMCZvcpsqjKw3Vb60/4Z+hy/TY2+lVu2JfS2yXrU217H
uDUqcwFox2tlzbqQZejQe1EEIYZ5+8VOH8ILW3iI0ChU/L6DQUncAjCXOXWy
aTGfd5JWXiHWZ7QViSRkcnfibqPSDbm6qjC53QG1TZcASjAUYwhe5BFG+Z3B
Z4bLF62jucngf5ePB2xbF4iJhe9js+OOkSuNUkOZL2UYYjTsD8BGBImWMMcf
HrpwiM9BSqBJG3r588vQHRgotA3Nriou8LWBOoRu+PEehV97ia8VrgpExl88
PGlC01pLVkFMBJwNgxDwt6KoY39Ztrk/RS3hrG1GXNu1d9pID97vFNIQjZ4W
RI6ZPZ6NvwQW3iEIi0EhnY/Dp00Op6UTMtRpHA0pC62tCpOEP6Fy6jyVlnxO
WTGdT1IY6sA9jrNObNICTuXgnzHh1MFMiFm/78Vfe/2ffl+Duw92acYfGrhO
Hrmg//y7Ry23AT95923jjWV6/0wP+TeJPshyn+PF+DybTFfzBdrTu+mSJvPT
a3whrL5hvP8Ah/A+8S4NAAA=

-->

</rfc>

