<?xml version="1.0" encoding="UTF-8"?>

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

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category="std" consensus="true" docName="draft-ietf-dnsop-alt-tld-25" number="9476" ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">


  <front>
    <title abbrev="Reserved .alt TLD">The .alt Special-Use Top-Level
    Domain</title>
    <seriesInfo name="RFC" value="9476"/>
    <author fullname="Warren Kumari" initials="W." surname="Kumari">
      <organization>Google</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
	  <region>CA</region>
	  <code>94043</code>
          <country>United States of America</country>
        </postal>
        <email>warren@kumari.net</email>
      </address>
    </author>
    <author fullname="Paul Hoffman" initials="P." surname="Hoffman">
      <organization>ICANN</organization>
      <address>
        <email>paul.hoffman@icann.org</email>
      </address>
    </author>
    <date year="2023" month="September" />
    <area>ops</area>
    <workgroup>dnsop</workgroup>
    <keyword>special-use domain names</keyword>

    <abstract>
      <t>This document reserves a Top-Level Domain (TLD) label "alt" to be
      used in non-DNS contexts. It also provides advice and guidance to
      developers creating alternative namespaces.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>Many Internet protocols need to name entities. Names that look like
      DNS names (a series of labels separated with dots) have become common,
      even in systems that are not part of the global DNS administered by
      IANA. This document reserves the top-level label "alt" (short for
      "alternative") as a special-use domain name <xref target="RFC6761"
      format="default"/>. This top-level label can be used as the final
      (rightmost) label to signify that the name is not rooted in the global
      DNS and that it should not be resolved using the DNS protocol.</t>

      <t>Throughout the rest of this document, the top-level "alt" label is
      shown as ".alt" to match the common presentation form of DNS names.</t>
      <t>As detailed in <xref target="iana-6761" format="default"/>, IANA has
      added the .alt name to the "Special-Use Domain Name" registry. IANA
      sets aside names in that registry, as described in <eref
      target="https://www.iana.org/domains/reserved" brackets="angle"/>.</t>

      <t>The techniques in this document are primarily intended to address
      some of the issues discussed in <xref target="RFC8244"
      format="default"/>, which contains additional background on the issues
      with special-use domain names.</t>
      <t>In this document, ".alt" was chosen for the special-use domain name
      instead of something like "alt.arpa" so that systems that use the name
      do not have to worry that a parent of their name would be resolved if
      the name leaked to the Internet. Historically, some systems that want to
      use non-DNS names wanted the entire name to be not in the DNS, and
      reserving ".alt" fulfills that use case.</t>
      <section numbered="true" toc="default">
        <name>Terminology</name>
        <t>This document assumes familiarity with DNS terms; please see <xref
        target="RFC8499" format="default"/>. Terminology that is specific to
        this document is:</t>
        <dl spacing="normal" newline="false">
          <dt>DNS name:</dt>
	  <dd>Domain names that are intended to be used with DNS resolution,
	  either in the global DNS or in some other context.</dd>
          <dt>DNS context:</dt>
	  <dd>The namespace anchored at the globally unique DNS root and
	  administered by IANA. This is the namespace or context that "normal"
	  DNS uses.</dd>
          <dt>non-DNS context:</dt>
	  <dd>Any other (alternative) namespace.</dd>
          <dt>pseudo-TLD:</dt>
	  <dd>A label that appears in a fully qualified domain name in the
	  position of a TLD, which is not part of the global DNS. This
	  term is not intended to be pejorative.</dd>
          <dt>TLD:</dt>
	  <dd>See the definition in <xref target="RFC8499" sectionFormat="of"
	  section="2"/>.</dd>
        </dl>
      </section>
      <section numbered="true" toc="default">
        <name>Requirements Terminology</name>
        <t> The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
        "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
        NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
        "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
        "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
        are to be interpreted as described in BCP&nbsp;14 <xref
        target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
        appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>The .alt Namespace</name>
      <t>This document reserves the .alt label
      for use as an unmanaged pseudo-TLD
      namespace. The .alt label can be used in any domain name as a pseudo-TLD
      to signify that this is an alternative (non-DNS) namespace and should
      not be looked up in a DNS context.</t>
      <t>This document uses ".alt" for the pseudo-TLD in the presentation
      format for the DNS, corresponding to a 0x03616c7400 suffix in DNS wire format.
      The on-the-wire formats for non-DNS protocols might be
      different.</t>
      <t>Because names beneath .alt are in an alternative namespace, they have no
      significance in the regular DNS context. DNS stub and recursive resolvers
      do not need to look them up in the DNS context.</t>
      <t>DNS resolvers that serve the DNS protocol and non-DNS protocols at the
      same time might consider .alt like a DNS entry in the
      "Transport-Independent Locally-Served DNS Zone Registry" that is part of
      IANA's "Locally-Served DNS Zones" registry, except that .alt is always
      used to denote names that are to be resolved by non-DNS protocols. Note
      that this document does not request adding .alt to these registries
      because .alt, by this specification, is not a DNS name.</t>
      <t>Note that using .alt as a pseudo-TLD does not mandate how the non-DNS
      protocol will handle the name. To maximize compatibility with existing
      applications, it is suggested, but not required, that non-DNS protocols
      using names that end in .alt follow DNS name syntax. If the non-DNS
      protocol has a wire format like the DNS wire format, it might append the
      null label at the end of the name, but it also might not. This document
      does not make any suggestion for how non-DNS protocols deal with the wire
      format of their names.</t>
      <t>Groups wishing to create new alternative namespaces may create their
      alternative namespace under a label that names their namespace under the
      .alt pseudo-TLD. This document defines neither a registry nor a governance
      model for the .alt namespace, as it is not managed by the IETF or IANA.
      There is no guarantee of unambiguous mappings from names to name
      resolution mechanisms. Mitigation or resolution of collisions that occur
      under .alt are outside the scope of this document and outside the IETF's remit.
      Users are advised to consider the associated risks when using names under .alt.</t>
      <t>Regardless of the expectations above, names in the .alt pseudo-TLD will leak
      outside the context in which they are valid. Decades of experience show that
      such names will appear at recursive resolvers and will thus also appear at the
      root servers for the global DNS.</t>
      <t>Sending traffic to the root servers that is known to always elicit an
      NXDOMAIN response, such as queries for names ending in .alt, wastes
      resources on both the resolver and the root server.
      Caching resolvers performing aggressive use of DNSSEC-validated caches
      (described in <xref target="RFC8198" format="default"/>) may mitigate this by
      synthesizing negative answers from cached NSEC records for names under
      .alt. Similarly, caching resolvers using QNAME
      minimization (described in <xref target="RFC9156" format="default"/>)
      will cause less of this traffic to the root servers because the negative
      responses will cover all names under .alt.</t>
      <t>Currently deployed projects and protocols that are using pseudo-TLDs
      are recommended to move under the .alt pseudo-TLD, but this is not a requirement.
      Rather, the .alt pseudo-TLD is being reserved so that current and future
      projects of a similar nature have a designated place to create
      alternative resolution namespaces that will not conflict with the
      regular DNS context.</t>
    </section>
    <section numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="iana-6761" numbered="true" toc="default">
        <name>Special-Use Domain Name Registry</name>
        <t>The IANA has added the .alt name to the "Special-Use
      Domain Name" registry <xref target="RFC6761" format="default"/> with a reference to this RFC.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Domain Name Reservation Considerations</name>
        <t>This section exists to meet the requirements of <xref
        target="RFC6761" format="default"/>.  The questions posed in <xref
        target="RFC6761" format="default"/> were largely written assuming a
        DNS resolution system, and so some of the questions are not especially
        relevant or well suited.</t>
      <ol type="1" spacing="normal">
        <li>Users might or might not recognize that names in the .alt
        pseudo-TLD as special.</li>
        <li>Application software that uses alternative namespaces in the .alt
        pseudo-TLD are expected to have their own processing rules for their
        own names, probably in specialized resolver APIs, libraries, and/or
        application software.  Application software that is not specifically
        designed to use names in the .alt pseudo-TLD are not expected to make
        their software recognize these names as special.</li>
        <li>Developers of name resolution APIs and libraries that are
        specifically designed to implement resolution of an alternative name
        resolution system are expected to recognize names in the .alt
        pseudo-TLD as special and thus perform resolution of those names. The
        exact mechanism used by the name resolution APIs and libraries will
        obviously depend on the particular alternative resolution
        system. Regular DNS resolution APIs and libraries are not expected to
        recognize or treat names in the .alt pseudo-TLD differently.</li>
        <li>Caching DNS servers <bcp14>SHOULD NOT</bcp14> recognize names in
        the .alt pseudo-TLD as special and <bcp14>SHOULD NOT</bcp14> perform
        any special handling with them.</li>
        <li>Authoritative DNS servers <bcp14>SHOULD NOT</bcp14> recognize
        names in the .alt pseudo-TLD as special and <bcp14>SHOULD NOT</bcp14>
        perform any special handling with them.</li>
        <li>DNS server operators will treat names in the .alt pseudo-TLD as
        they would names in any other TLD not in the global DNS. DNS server
        operators may be aware that queries for names ending in .alt are not
        DNS names and that queries for those names were leaked into the DNS
        context. This information can be useful for support or debugging
        purposes.</li>
        <li>It is not possible for DNS registries/registrars to register DNS
        names in the .alt pseudo-TLD as the .alt will not exist in the global
        DNS root.</li>
      </ol>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Privacy Considerations</name>
      <t>This document reserves .alt to be used to indicate that a name is not
      a DNS name. Unfortunately, these queries will undoubtedly leak into the
      global DNS. This is a general problem with alternative namespaces and not
      confined to names ending in .alt.</t>
      <t>For example, a value such as "example.alt" could easily cause a
      privacy issue for any names in that namespace that are leaked to the
      Internet. In addition, if a name ending in .alt is sufficiently unique,
      long-lasting, and frequently leaks into the global DNS, then regardless
      of how the name is constructed, it can act similar to a web cookie with
      all the associated downsides of identification or re-identification.</t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Because names in the .alt pseudo-TLD are explicitly outside of the
      DNS context, it is impossible to rely on any DNS-related security
      considerations.  Care must be taken when mapping the pseudo-TLD into its
      corresponding non-DNS name resolution system in order to get whatever
      security is offered by that system.</t>
    </section>

  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6761.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8244.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8198.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8499.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9156.xml"/>
      </references>
    </references>
    <section numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>We would like to thank <contact fullname="Joe Abley"/>, <contact
      fullname="Mark Andrews"/>, <contact fullname="Erik Auerswald"/>,
      <contact fullname="Roy Arends"/>, <contact fullname="Ray Bellis"/>,
      <contact fullname="Vittorio Bertola"/>, <contact fullname="Marc
      Blanchet"/>, <contact fullname="John Bond"/>, <contact
      fullname="Stéphane Bortzmeyer"/>, <contact fullname="David Cake"/>,
      <contact fullname="Vint Cerf"/>, <contact fullname="David Conrad"/>,
      <contact fullname="Steve Crocker"/>, <contact fullname="Vladimir
      Cunat"/>, <contact fullname="Brian Dickson"/>, <contact fullname="Ralph
      Droms"/>, <contact fullname="Robert Edmonds"/>, <contact
      fullname="Patrik Fältström"/>, <contact fullname="Bernd Fix"/>, <contact
      fullname="Christian Grothoff"/>, <contact fullname="Olafur
      Gudmundsson"/>, <contact fullname="Ted Hardie"/>, <contact fullname="Bob
      Harold"/>, <contact fullname="Wes Hardaker"/>, <contact fullname="Geoff
      Huston"/>, <contact fullname="Joel Jaeggli"/>, <contact fullname="John C
      Klensin"/>, <contact fullname="Eliot Lear"/>, <contact fullname="Barry
      Leiba"/>, <contact fullname="Ted Lemon"/>, <contact fullname="Edward
      Lewis"/>, <contact fullname="John Levine"/>, <contact fullname="George
      Michaelson"/>, <contact fullname="Ed Pascoe"/>, <contact fullname="Libor
      Peltan"/>, <contact fullname="Jim Reid"/>, <contact fullname="Martin
      Schanzenbach"/>, <contact fullname="Ben Schwartz"/>, <contact
      fullname="Arturo Servin"/>, <contact fullname="Peter Thomassen"/>,
      <contact fullname="Paul Vixie"/>, <contact fullname="Duane Wessels"/>,
      <contact fullname="Paul Wouters"/>, and <contact fullname="Suzanne
      Woolf"/> for feedback.</t>
      <t>This document was many years in the making, and we would like to
      sincerely apologize for anyone whom we forgot to credit.</t>
      <t>We would also like to thank <contact fullname="Rob Wilton"/> for
      serving as Responsible AD for this document.</t>
      <t>In addition, <contact fullname="Andrew Sullivan"/> was an author from
      adoption (2015) through version 14 (2021).</t>
    </section>
  </back>
</rfc>
