<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY pandocAbstract PUBLIC "" "abstract.xml">
<!ENTITY pandocMiddle PUBLIC "" "middle.xml">
<!ENTITY pandocRef1035 PUBLIC "" "bib/reference.RFC.1035.xml">
<!ENTITY pandocRef2119 PUBLIC "" "bib/reference.RFC.2119.xml">
]>
<rfc ipr="trust200902" category="std" docName="draft-dnsop-eden-alias-rr-type-00" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
  <front>
    <title abbrev="Alias RR Type">Alias RR Type</title>
    <author initials="A." surname="Eden" fullname="Anthony Eden">
      <organization>DNSimple</organization>
      <address>
        <phone/>
        <email>anthony.eden@dnsimple.com</email>
        <uri>https://dnsimple.com/</uri>
      </address>
    </author>
    <date month="March" year="2017"/>
    <area>General</area>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>RFC</keyword>
    <keyword>Request for Comments</keyword>
    <keyword>I-D</keyword>
    <keyword>Internet-Draft</keyword>
    <abstract><!--This document was prepared using Pandoc2rfc, https://github.com/miekg/pandoc2rfc --><t>This document describes a new DNS record type, ALIAS, which is used by authoritative name servers to resolve a stored host name to its corresponding A or AAAA records at request time.  </t> </abstract>
  </front>
  <middle><!--This document was prepared using Pandoc2rfc, https://github.com/miekg/pandoc2rfc --><section title="Introduction" anchor="introduction" toc="default"><section title="Background and Motivation" anchor="background-and-motivation" toc="default"><t>DNS [RFC 1035] forbids the use of CNAME records on a node with other records. It is common practice for web sites publish content on their second-level domain name, and currently the only standards-compliant way to acheive this is to use A and AAAA records on the zone apex.  </t><t>The challenge with this limitation is that service providers would like to have flexibility over their network addressing but are required to communicate any address changes to all customers and give appropriate time for customers to update their DNS entries to ensure a smooth transition to a new address space. As the number of customers increases for a service provider, this approach becomes increasingly difficult to manage and results in difficulties for both the service provider and their customers.  </t><t>The ALIAS record type (also known as ANAME or flattened CNAME) provides a way for DNS managers to specify a hostname in their DNS records which is then resolved to the correct A or AAAA records at request time.  </t></section><section title="Terminology" anchor="terminology" toc="default"><t>"QTYPE" - The query type as defined in [RFC1035] and subsequent DNS RFCs.  </t><t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].  </t></section></section><section title="The ALIAS Resource Record" anchor="the-alias-resource-record" toc="default"><t>Its RDATA is comprised of a single field, <spanx style="verb" xml:space="preserve">target</spanx>, which contains a fully qualified domain name that MUST be sent in uncompressed form [RFC1035]. The <spanx style="verb" xml:space="preserve">target</spanx> field MUST be present. The presentation format of <spanx style="verb" xml:space="preserve">target</spanx> is that of a domain name [RFC1035].  </t><t>The presentation format of the RR is as follows: </t><figure title="" suppress-title="false" align="left" alt="" width="" height=""><artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
    owner ttl class ALIAS target
</artwork></figure><t>An ALIAS record includes a TTL value that represents the maximum time-to-live for a cached ALIAS record response in a resolver.  </t><t>The ALIAS RDATA wire representation is only used for zone transfers.  </t></section><section title="Implementation" anchor="implementation" toc="default"><section title="Resolution Guidelines" anchor="resolution-guidelines" toc="default"><t>Authoritative name servers with support for ALIAS records MUST support both A and AAAA materialization. When an authoritative name server receives a request for a name, and the zone contains an ALIAS record at that location, the authoritative name server MUST respond as follows: </t><t>The server will respond with one or more A records (for a QTYPE A) or one or more AAAA records (for a QTYPE AAAA) obtained by either: * executing a recursive query for the ALIAS content or, * returning a previously cached response.  </t><t>If the recursive query returns an NXDOMAIN response, then the authoritative name server MUST return an NXDOMAIN response as well.  </t><t>If the recursive query fails, then the server MAY return a cached response as long as the cache value is not older than the specified TTL value.  </t></section><section title="TTL Calculation" anchor="ttl-calculation" toc="default"><t>As described in section [3.1] the ALIAS is stored with its own TTL value. When an ALIAS is resolved to its corresponding A or AAAA records, the authoritative name server MUST return the TTL from the resolver response.  </t><t>When the authoritative name server uses a cached value, it returns the lower TTL value.  </t></section><section title="Handling CNAME QTYPE" anchor="handling-cname-qtype" toc="default"><t>Authoritative name servers that receive a CNAME request at a an ALIAS node should treat the request as a QTYPE A.  </t><t>Authoritative name servers that receive a CNAME request at an ALIAS node MUST treat the request as a QTYPE A.  </t></section><section title="Handling ANY QTYPE" anchor="handling-any-qtype" toc="default"><t>Authoritative name servers that receive an ANY request at an ALIAS node SHOULD respond with any A and AAAA records materialized from the ALIAS record.  </t></section></section><section title="Security Considerations" anchor="security-considerations" toc="default"><t>To function properly with DNSSEC-aware resolvers, authoritative name servers MUST sign the materialized records produced by the ALIAS resolution.  </t><t>Implementors MAY either materialize A and AAAA records offline and sign the resulting records at that time, or sign the resulting materialized records at request time.  </t></section><section title="Privacy Considerations" anchor="privacy-considerations" toc="default"><t>There are no additional privacy concerns introduced by this document.  </t></section><section title="IANA Considerations" anchor="iana-considerations" toc="default"><t>This document uses a new DNS RR type, ALIAS, whose value must be allocated by IANA from the Resource Record (RR) TYPEs subregistry of the Domain Name System (DNS) Parameters registry.  </t></section> </middle>
  <back>
    <references title="Normative References"><reference anchor="RFC1035" target="http://www.rfc-editor.org/info/rfc1035"><front><title>Domain names - implementation and specification</title><author initials="P.V." surname="Mockapetris" fullname="P.V. Mockapetris"><organization/></author><date year="1987" month="November"/><abstract><t>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"><front><title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Requirement Levels</title><author initials="S." surname="Bradner" fullname="Scott Bradner"><organization>Harvard University</organization><address><postal><street>1350 Mass. Ave.</street><street>Cambridge</street><street>MA 02138</street></postal><phone>- +1 617 495 3864</phone><email>sob@harvard.edu</email></address></author><date year="1997" month="March"/><area>General</area><keyword>keyword</keyword><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.  Authors who follow these guidelines should incorporate this phrase near the beginning of their document: <list><t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.  </t></list></t><t>Note that the force of these words is modified by the requirement level of the document in which they are used.  </t></abstract></front><seriesInfo name="BCP" value="14"/><seriesInfo name="RFC" value="2119"/><format type="TXT" octets="4723" target="ftp://ftp.isi.edu/in-notes/rfc2119.txt"/><format type="HTML" octets="17491" target="http://xml.resource.org/public/rfc/html/rfc2119.html"/><format type="XML" octets="5777" target="http://xml.resource.org/public/rfc/xml/rfc2119.xml"/></reference> </references>
  </back>
</rfc>
