<?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-01" 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="October" day="21"/>

    
    
    

    <abstract>


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



    </abstract>



  </front>

  <middle>


<?line 39?>

<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. To achieve this, the DNS resolver
   synthesizes AAAA records from A records. However, this breaks
   DNSSEC <xref target="RFC4033"/> <xref target="RFC4034"/> <xref target="RFC4035"/> validation for DNS
   clients of the resolver if they perform their own
   validation. <xref target="RFC6147"/> Section 3 discusses this in detail. In
   general, a validating DNS client has to be aware that a resolver is
   performing DNS64.</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 using 464XLAT <xref target="RFC6877"/>.</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>A validating DNS client on the other hand still needs to know about
   the presence of DNS64 on the DNS resolver it uses, as noted in the
   introduction. Using the <xref target="RFC9606"/> RESINFO mechanism and not using
   the learned information for address synthesis avoids the security
   problems of <xref target="RFC7050"/>.</t>

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

<dl>
  <dt>dns64:</dt>
  <dd>
    <t>The presence of this key indicates that the DNS resolver performs
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="RFC4033">
  <front>
    <title>DNS Security Introduction and Requirements</title>
    <author fullname="R. Arends" initials="R." surname="Arends"/>
    <author fullname="R. Austein" initials="R." surname="Austein"/>
    <author fullname="M. Larson" initials="M." surname="Larson"/>
    <author fullname="D. Massey" initials="D." surname="Massey"/>
    <author fullname="S. Rose" initials="S." surname="Rose"/>
    <date month="March" year="2005"/>
    <abstract>
      <t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4033"/>
  <seriesInfo name="DOI" value="10.17487/RFC4033"/>
</reference>

<reference anchor="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>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>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="RFC4035">
  <front>
    <title>Protocol Modifications 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>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of new resource records and protocol modifications that add data origin authentication and data integrity to the DNS. This document describes the DNSSEC protocol modifications. This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC. These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications.</t>
      <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4035"/>
  <seriesInfo name="DOI" value="10.17487/RFC4035"/>
</reference>

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

-->

</rfc>

