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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-york-dnsop-cname-at-apex-publisher-view-00" category="info">

  <front>
    <title abbrev="CNAME at apex - a website publisher perspective">CNAME at apex - a website publisher perspective</title>

    <author initials="D." surname="York" fullname="Dan York">
      <organization>Internet Society</organization>
      <address>
        <email>york@isoc.org</email>
      </address>
    </author>

    <date year="2018" month="November" day="05"/>

    <area>General</area>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>There has been a large amount of discussion about the “CNAME at apex” issue
within the DNSOP Working Group. This draft provides the perspective of one 
publisher of multiple websites about why CNAME-like functionality is desirable
at the apex of a domain zone.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>From the early days of the Web, publishers of websites generally operated their
main public website using the “www” subdomain, as in “www.example.com”.</t>

<t>In recent years many organizations have moved to dropping the “www” and referring
to their main website by simply the domain name, as in “example.com”. There are numerous
reasons for this change, including the simplicity of saying or writing the name and also smaller address bars on mobile browsers. If you are designing a large advertisement to display in, say, an airport hallway, you can make the domain name address larger and more visibile if you simply use “example.com” and drop the “www”. Additionally, some web browsers are no longer showing the full URL (or even any of the URL) and so the “www” is no longer visible.</t>

<t>Regardless of the reasons, the fact is that many website publishers and marketing/communications teams are moving to using only the domain name without the “www” or other subdomains to reference their public website.</t>

<t>The expectation is that: 1) users will be able to simply enter “example.com” into their
browser; and 2) users will only see “example.com” in their address bar (if URLs are even displayed).</t>

</section>
<section anchor="the-challenge" title="The Challenge">

<t>If the organization’s website is a simple web server with specific A and AAAA records, 
this change can be easily implemented by adding the appropriate A and AAAA records at
the zone apex.</t>

<t>However, most larger site publishers (and many smaller publishers) now use content distribution networks (CDNs), global load balancers, or some other form of a caching / load balancing network in front of their website. The result is that there is no single “A” or “AAAA” record for the organization’s website.</t>

<t>Publishers use CDNs for a variety of reasons, including:</t>

<t><list style="symbols">
  <t>Performance - connecting users to an edge server with the lowest latency</t>
  <t>Geo-location - connecting users to edge servers appropriate for their geography</t>
  <t>DDoS / security - using various security mechanisms provided by CDNs</t>
  <t>IPv6 - using a CDN to offer IPv6 access when the origin server is only on IPv4</t>
  <t>TLS - using a CDN to offer higher levels of TLS usage than possible with origin server</t>
</list></t>

<t>While there may be many non-CDN mechanisms to address those reasons, website publishers in 2018 are increasingly using CDNs as a simple business solution.</t>

<t>The DNS issue is that the website publisher is told to simply redirect all traffic to some address within the CDN along the lines of:</t>

<figure><artwork><![CDATA[
a123qkt5y7xxb3df8.example-cdn.net
]]></artwork></figure>

<t>The CDN then performs its service of providing the requesting client with the A or AAAA record most appropriate for the client’s network/geographic location.</t>

<t>NOTE: Some CDNs require that they manage the DNS services for the target domain name. The publisher must designate the CDN’s DNS servers as the authoritative name servers (NS records) for the domain. At that point the CDN handles all of this directly. However, this document is discussing CDNs where the publisher retains control of serving out DNS records for the domain.</t>

</section>
<section anchor="cname-works-for-subdomains" title="CNAME works for subdomains">

<t>For websites using a subdomain such as “www”, this is simply done in DNS using CNAME:</t>

<figure><artwork><![CDATA[
www.example.com  300  IN  CNAME a123qkt5y7xxb3df8.example-cdn.net
]]></artwork></figure>

<t>Now all web traffic to www.example.com is redirected to the CDN address. The CDN returns the appropriate records. All is fine.</t>

</section>
<section anchor="cname-at-apex-does-not-work" title="CNAME at apex does not work">

<t>For reasons outlined in Appendix C of <xref target="I-D.ietf-dnsop-aname"/> CNAME does not work at the apex of a domain. A primary reason is section 3.6.2 of <xref target="RFC1034"/>.</t>

</section>
<section anchor="propriety-solutions" title="Propriety solutions">

<t>To respond to this business demand, various DNS operators (including CDN providers who also act as DNS operators) have developed proprietary solutions (also referred to as “stupid DNS tricks” within the DNSOP community). Under various names such as “URL flattening” or “CNAME flattening”, these techniques do work and allow the sites to be accessible on the CDN via the simple domain name.</t>

<t>However, because of the proprietary nature, they then lock the website publisher into using that DNS operator / CDN.  The website publisher does not have an easily ability to move to a different DNS operator / CDN unless the new DNS operator / CDN can also provide a mechanism to allow the non-www domain usage.</t>

<t>Additionally, many large web site publishers use (or want to use) multiple CDNs to achieve various business objectives, including resiliency / availability. The lack of a standard mechanism to do this “CNAME at apex” functionality limits the ability to explore multi-CDN options.</t>

</section>
<section anchor="existing-and-proposed-solutions" title="Existing and proposed solutions">

<t>Various email discussions have indicated that existing mechanisms such as SRV and URI records can address this issue, although deployment/adoption concerns have been raised. Multiple solutions have been proposed for discussion at IETF 103, including:</t>

<t><list style="symbols">
  <t><xref target="I-D.ietf-dnsop-aname"/></t>
  <t><xref target="I-D.bellis-dnsop-http-record"/></t>
</list></t>

<t>As a website publisher, I have a business objective to meet - make the site accessible over “example.com” versus “www.example.com”. As long as this can happen in a manner that can be widely deployed, I am not partial to any specific solution. I just want it to work and not lock me in to specific proprietary solutions.</t>

</section>
<section anchor="past-discussion" title="Past discussion">

<t>There was a lengthy discussion of this topic in the DNSOP session at IETF 102. Slides from that session are useful for more context:</t>

<t><list style="symbols">
  <t>https://datatracker.ietf.org/meeting/102/materials/slides-102-dnsop-somethingapex-02</t>
  <t>https://datatracker.ietf.org/meeting/102/materials/slides-102-dnsop-cnameapex-00</t>
</list></t>

</section>
<section anchor="conventions-and-definitions" title="Conventions and Definitions">

<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 anchor="security-considerations" title="Security Considerations">

<t>TODO add any security considerations.</t>

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

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<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>




    </references>

    <references title='Informative References'>





<reference anchor="I-D.ietf-dnsop-aname">
<front>
<title>Address-specific DNS aliases (ANAME)</title>

<author initials='T' surname='Finch' fullname='Tony Finch'>
    <organization />
</author>

<author initials='E' surname='Hunt' fullname='Evan Hunt'>
    <organization />
</author>

<author initials='P' surname='Dijk' fullname='Peter van Dijk'>
    <organization />
</author>

<author initials='A' surname='Eden' fullname='Anthony Eden'>
    <organization />
</author>

<date month='October' day='19' year='2018' />

<abstract><t>This document defines the "ANAME" DNS RR type, to provide similar functionality to CNAME, but only for type A and AAAA queries.  Unlike CNAME, an ANAME can coexist with other record types.  The ANAME RR allows zone owners to make an apex domain name into an alias in a standards compliant manner.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-dnsop-aname-02' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-dnsop-aname-02.txt' />
</reference>



<reference  anchor="RFC1034" target='https://www.rfc-editor.org/info/rfc1034'>
<front>
<title>Domain names - concepts and facilities</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 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="I-D.bellis-dnsop-http-record">
<front>
<title>A DNS Resource Record for HTTP</title>

<author initials='R' surname='Bellis' fullname='Ray Bellis'>
    <organization />
</author>

<date month='November' day='3' year='2018' />

<abstract><t>This document specifies an "HTTP" resource record type for the DNS to facilitate the lookup of the server hostname of HTTP(s) URIs.  It is intended to replace the use of CNAME records for this purpose, and in the process provides a solution for the inability of the DNS to allow a CNAME to be placed at the apex of a domain name.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-bellis-dnsop-http-record-00' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-bellis-dnsop-http-record-00.txt' />
</reference>




    </references>


<section numbered="false" anchor="acknowledgments" title="Acknowledgments">

<t>TODO acknowledge.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAEF231sAA61ZbW/kthH+rl/Bbj70XFjrl8vrFkW7tZ3EwJ3t2r4EQVEU
lMTdZSyJCkntWjncf+8zQ+pl1z4UBXoIkD2KHM7LMzPP8NI0Tbz2pVqIi5vl
+yshvZCNehapkGKnMqe9Ek2bldptlBWNsq5Ruddblcgss2r7v58rTF7LChcW
Vq582hn7lBa1M03K66n0KUlKh9PpVqtdenqa5NKrtbHdQuh6ZZJEN3YhvG2d
Pz89/e70PJFWyYX4QdXKyjLZQfLamrZZiMubh9s78TMWdL0WP9Bi8qQ67CgW
4rr2ytbKp5ekUJI4L+vi37I0NZTslEsavRD/9CY/Fs5Yb9XK4VdX0Y9/JYls
/cbYRSLSROCPrh3um4tfcBkvBGMvZT0uGbuWtf5dem3q8X7xYHKtfMdbVCV1
ietx5G/amXyOM0lSG1tJ8iKuE/ffX5yfnX23gCPgjuFDkqQpopA5b2UOcx7h
QiU20olMqRrhKaVdKyEr09ZemJUotMtb56ALTpnWC79RYrYX1pnQzrUq2Wm/
0TVveMWlc/G40S7EVTTWbHWhHG+exJ9uhGdFMqIDK1Vbet2UqseOi6rsNl0A
WFrqJyVWbZ2T02SpfSfoLuW0lVkJOAa9GYQQKEVh4MJa/I7L5sEnlS4K7Ey+
IJdbU7QsK0m+t6biw0rashOF7ByJoJWfVXY84piXBw3XAWc4YWAfsFnQEW0T
vpcP5UMutI7cxJ7d7XYz4dosKHgsEBnsp+W5epYVvDDPTTWD0te1sCpXCFMH
1ZyoZN3tgcchrnBpZbZ0uYHrTdPsXwQsQ8hKWYv1BHtYR8E69splnXAaF3d8
LjqOcDsot6eYCJBCtom6rRRC7xJkniN9AEQIQWTyjazXEKDrvGyLXie+RucU
PbjSyY4+4MjOat/voYtZbVk6I1wFFwMksiiscgAxOQJQrUymgZfMmp1DZObi
eoVsaVkrQsW6JnkD2outsl47VZE3yVPaNaUEhhAAqAFDgX5tGyQ4fFqWO1oj
eTk+VBLYO3DNoBBfYFnhyuDyrXaaVdNBoejZ1ql9N/IJCtgYrLlYFoUOAC87
KjcVZ8RgZfC5EahNdKfbmF3vtVVbluLD/TvxBu5UW8r0uuthjPUjvs+ZCTQQ
pVEWq11SqtyrtbRIFDdkQQzucbgIVYWO+g1SjhH5ot674A1pnxRF9QTmVm2t
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

-->

</rfc>

