<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" []>

<rfc category="std" consensus="true" docName="draft-ietf-dnsop-alt-tld-24" ipr="trust200902">
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

  <?rfc toc="yes" ?>

  <?rfc symrefs="yes" ?>

  <?rfc sortrefs="yes"?>

  <?rfc iprnotified="no" ?>

  <?rfc strict="yes"?>

  <?rfc compact="yes" ?>

  <front>
    <!-- WK: Set long title. -->

    <title abbrev="Reserve ALT TLD">The ALT Special Use Top Level
    Domain</title>

    <author fullname="Warren Kumari" initials="W." surname="Kumari">
      <organization>Google</organization>

      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>

          <city>Mountain View, CA</city>

          <code>94043</code>

          <country>US</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 />

    <area>template</area>

    <workgroup>dnsop</workgroup>

    <abstract>
      <t>This document reserves a TLD label, "alt" to be used in
      non-DNS contexts. It also provides advice and guidance to developers
      developing alternative namespaces.</t>

      <t>[ This document is being
      collaborated on in Github at &lt;https://github.com/wkumari/draft-wkumari-dnsop-alt-tld&gt;.
      The most recent version of the document, open
      issues, etc should all be available here. The authors (gratefully)
      accept pull requests. ]</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <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"/>). 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>In <xref target="iana-6761"/>, the IANA is requested to add 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"/>.</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>The techniques in this document are primarily intended to address some of the
      issues discussed in <xref target="RFC8244"/>, 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 title="Terminology">
        <t>This document assumes familiarity with DNS terms; please see
        <xref target="RFC8499"/>. Terminology that is specific to this document is:</t>

        <t><list style="symbols">
            <t>DNS name: Domain names that are intended to be used with DNS
            resolution, either in the global DNS or in some other context.</t>

            <t>DNS context: The namespace anchored at the globally-unique DNS
            root, administered by IANA. This is the namespace or context that
            "normal" DNS uses.</t>

            <t>non-DNS context: Any other (alternative) namespace.</t>

            <t>pseudo-TLD: A label that appears in a fully-qualified domain
            name in the position of a TLD, but which is not part of the
            global DNS. This term is not intended to be pejorative.</t>

            <t>TLD: See the definition in Section 2 of <xref target="RFC8499"/>.</t>
          </list></t>
      </section>

      <section title="Requirements Terminology">
        <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 title="The alt Namespace">
      <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 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"/>) may mitigate this by
      synthesizing negative answers from cached NSEC records for names under
      .alt. Similarly, caching resolvers using QNAME
      minimisation (described in <xref target="RFC9156"/>)
      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 title="IANA Considerations">

      <section title="Special-Use Domain Name Registry" anchor="iana-6761">

      <t>The IANA is requested to add the .alt name to the "Special-Use
      Domain Name" registry (<xref target="RFC6761"/>), and reference this
      document.</t>

      </section>

      <section title="Domain Name Reservation Considerations">

      <t>This section exists to meet the requirements of <xref target="RFC6761"/>.
      The questions posed in RFC 6761 were largely written assuming a DNS resolution
      system, and so some of the questions are not especially relevant or well
      suited.</t>

      <t>1. Users might or might not recognize that names in the .alt pseudo-TLD as
      special.</t>

      <t>2. 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.</t>

      <t>3. 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.</t>

      <t>4. Caching DNS servers SHOULD NOT recognize names in the .alt pseudo-TLD as
      special and SHOULD NOT perform any special handling with them.</t>

      <t>5. Authoritative DNS servers SHOULD NOT recognize names in the .alt
      pseudo-TLD as special and should not perform any special handling with
      them.</t>

      <t>6. 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 queries
      for those names were leaked into the DNS context. This information can be
      useful for support or debugging purposes.</t>

      <t>7. 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.</t>

      </section>

    </section>

    <section title="Privacy Considerations">
      <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 value is constructed,
      that value can act similar to a web cookie with all the associated downsides of
      (re-)identification.</t>
    </section>

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

    <section title="Acknowledgements">
      <t>We would like to thank Joe Abley, Mark Andrews, Erik Auerswald, Roy
      Arends, Ray Bellis, Vittorio Bertola, Marc Blanchet, John Bond, Stephane
      Bortzmeyer, David Cake, Vint Cerf, David Conrad, Steve Crocker, Vladimir
      Cunat, Brian Dickson, Ralph Droms, Robert Edmonds, Patrik Faltstrom,
      Bernd Fix, Christian Grothoff, Olafur Gudmundsson, Ted Hardie, Bob
      Harold, Wes Hardaker, Geoff Huston, Joel Jaeggli, John C Klensin, Eliot
      Lear, Barry Leiba, Ted Lemon, Edward Lewis, John Levine, George Michaelson, Ed Pascoe,
      Libor Peltan, Jim Reid,  Martin Schanzenbach, Ben Schwartz, Arturo
      Servin, Peter Thomassen, Paul Vixie, Duane Wessels, Paul Wouters, and
      Suzanne Woolf for feedback.</t>

      <t>This document was many years in the making, and we would like to
      sincerely apologize for anyone who we forgot to credit.</t>
      <t>We would also like to thank Rob Wilton for serving as Responsible AD
      for this document.</t>
      <t>In addition, Andrew Sullivan was an author from adoption (2015)
      through version 14 (2021).</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include='https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml'?>

      <?rfc include='https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6761.xml'?>

      <?rfc include='https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml'?>

      <?rfc include='https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8244.xml'?>
    </references>

    <references title="Informative References">
      <?rfc include='https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8198.xml'?>

      <?rfc include='https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8499.xml'?>

      <?rfc include='https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9156.xml'?>

    </references>

    <section title="Changes / Author Notes.">
      <t>[RFC Editor: Please remove this section before publication ]</t>

        <t>From -23 to -24:<list style="symbols">
            <t>Small changes based on inputs from IESG review.</t>
        </list></t>

        <t>From -22 to -23:<list style="symbols">
            <t>Small changes based on inputs from IETF Last Call.</t>
        </list></t>

        <t>From -21 to -22:<list style="symbols">
            <t>Addressed issues from AD review - https://mailarchive.ietf.org/arch/msg/dnsop/aIkeZUqKDZzzseCPfiIJ9J6zYXc/</t>
            <t>Combined some of the acknowledgements into one paragraph.</t>
        </list></t>

        <t>From -20 to -21:<list style="symbols">
            <t>During WGLC review, replaced the descriptive text with the requirements from RFC 6761 with a list.
            This in turn required adding in the BCP 14 boilerplate.</t>
            <t>During WGLC review, made a few more requested changes</t>
        </list></t>

        <t>From -19 to -20:<list style="symbols">
            <t>Expanded the privacy considerations</t>
            <t>Clarified benefit of using aggressive NSEC</t>
            <t>Clarified that the .alt namespace is unmanaged and thus comes with risks.</t>
            <t>Added description of why .alt was chosen instead of alt.arpa</t>
            <t>Removed 2119 language because there are no MUSTs or SHOULDs</t>
        </list></t>

        <t>From -18 to -19:<list style="symbols">
          <t>Document was discussed at IETF115</t>
          <t>Changed the intended status to Standards Track at the request of the responsible AD (Rob Wilton)</t>
          <t>Clarified that this only deals with some of the problems from RFC 8244</t>
          <t>Removed text telling protocol designers that they should differentiate their names from other designers</t>
          <t>Added a note that .alt names will leak out of the local context</t>
          <t>Reminded resolver operators that there are already ways to reduce .alt traffic to the root servers</t>
          <t>Moved the paragraph related to 6761 to the IANA Considerations section</t>
          <t>Strengthened the security considerations</t>
          <t>Added references for QNAME minimization and agressive NSEC caching</t>
        </list></t>

        <t>From -16 to -18:<list style="symbols">
          <t>Lots of editorial fix-ups</t>
          <t>Fixed reference to RFC 8499</t>
          <t>Clarified presentation format for .alt</t>
          <t>Clarified that IANA will set aside the name when it goes into the 6761 registry</t>
          <t>Removed the loose registry for names under .alt</t>
          <t>Added back the required discussion for RFC 6761</t>
        </list></t>

        <t>From -15 to -16:<list style="symbols">
          <t>Many simplifications to focus the document on the technical bits
          as much as possible, based on mailing list feedback.</t>
          <t>Removed unused references.</t>
          <t>Removed the RFC 2119 language because it is no longer used in the document.</t>
          <t>Added a non-normative IANA registry.</t>
          <t>Added Paul Hoffman as second author to help get the draft moving in the DNSOP WG again.</t>
        </list></t>

        <t>From -14 to -15:<list style="symbols">
          <t>[Pinky]: Gee, Brain. What are we going to do tonight?</t>
          <t>[The Brain]: The same thing we do every 6 months, Pinky. Post a
          new version of this document, with only the version number changed.</t>
        </list></t>

        <t>From -13 to -14:<list style="symbols">
          <t>Andrew asked to be removed as co-author, due to potential perception of CoI.</t>
          <t>Erik Auerswald provided Github issues and comments re: references and grammar.</t>
        </list></t>

        <t>From -12 to -13:<list style="symbols">
          <t>Just bumping versions to prevent expiration. </t>
        </list></t>

      <t>From -08 to -12:<list style="symbols">
          <t>Just bumping versions to prevent expiration. </t>

          <t>Updated references (aggressive-nsec is now RFC 8198,
          draft-ietf-dnsop-sutld-ps is now 8244).</t>
        </list></t>

      <t>From -07 to -08:<list style="symbols">
          <t>Made it clear that this is only for non-DNS.</t>

          <t>As per Interim consensus, removed the "add this to local zones"
          text.</t>

          <t>Added a Privacy Considerations section</t>

          <t>Grammar fix -- "alternative" is more correct than "alternate",
          replaced.</t>
        </list></t>

      <t>From -06 to -07:<list style="symbols">
          <t>Rolled up the GItHub releases in to a full release.</t>
        </list></t>

      <t>From -07.2 to -07.3 (GitHub point release):<list>
          <t>Removed 'sandbox' at Stephane's suggestion -
          https://www.ietf.org/mail-archive/web/dnsop/current/msg18495.html</t>

          <t>Suggested (in 4.1 bullet 3) that DNS libraries ignore these --
          Bob Harold -
          https://mailarchive.ietf.org/arch/msg/dnsop/a_ruPf8osSzi_hCzCqOxYLXhYoA</t>

          <t>Added some pointers to the SUTLD document.</t>
        </list></t>

      <t>From -07.1 to -07.2 (Github point release):<list style="symbols">
          <t>Reverted the &lt;TBD&gt; string (at request of chairs).</t>

          <t>Added an editors note explaining the above.</t>

          <t>Removed some more background, editorializing, etc.</t>
        </list></t>

      <t>From -06 to -07.1
      (https://github.com/wkumari/draft-wkumari-dnsop-alt-tld/tree/7988fcf06100f7a17f21e6993b781690b5774472):<list
          style="symbols">
          <t>Replaced ALT with &lt;TBD&gt; at the suggestions of George.</t>
        </list></t>

      <t>From -05 to -06:<list style="symbols">
          <t>Removed a large amount of background - we now have the (adopted)
          tldr document for that.</t>

          <t>Made it clear that pseudo-TLD is not intended to be
          pejorative.</t>

          <t>Tried to make it cleat that this is something people can choose
          to use - or not.</t>
        </list></t>

      <t>From -04 to -05:<list style="symbols">
          <t>Version bump - we are waiting in the queue for progress on SUN,
          bumping this to keep it alive.</t>
        </list></t>

      <t>From -03 to -04:<list style="symbols">
          <t>3 changes - the day, the month and the year (a bump to keep
          alive).</t>
        </list></t>

      <t>From -02 to -03:<list style="symbols">
          <t>Incorporate suggestions from Stephane and Paul Hoffman.</t>
        </list></t>

      <t>From -01 to -02:<list style="symbols">
          <t>Merged a bunch of changes from Paul Hoffman. Thanks for sending a
          git pull.</t>
        </list></t>

      <t>From -00 to 01:<list style="symbols">
          <t>Removed the "delegated to new style AS112 servers" text -this was
          legacy from the omnicient AS112 days. (Joe Abley)</t>

          <t>Removed the "Advice to implemntors" section. This used to
          recommend that people used a subdomain of a domain in the DNS. It
          was pointed out that this breaks things badly if the domain
          expires.</t>

          <t>Added text about why we don't want to adminster a registry for
          ALT.</t>
        </list></t>

      <t>From Individual-06 to DNSOP-00<list style="symbols">
          <t>Nothing changed, simply renamed draft-wkumari-dnsop-alt-tld to
          draft-ietf-dnsop-alt-tld</t>
        </list></t>

      <t>From -05 to -06<list style="symbols">
          <t>Incorporated comments from a number of people, including a number
          of suggestion heard at the IETF meeting in Dallas, and the DNSOP
          Interim meeting in May, 2015.</t>

          <t>Removed the "Let's have an (optional) IANA registry for people to
          (opportinistically) register their string, if they want that option"
          stuff. It was, um, optional....</t>
        </list></t>

      <t>From -04 to -05</t>

      <t><list style="symbols">
          <t>Went through and made sure that I'd captured the feedback
          received.</t>

          <t>Comments from Ed Lewis.</t>

          <t>Filled in the "Domain Name Reservation Considerations" section of
          RFC6761.</t>

          <t>Removed examples from .Onion.</t>
        </list></t>

      <t>From -03 to -04</t>

      <t><list style="symbols">
          <t>Incorporated some comments from Paul Hoffman</t>
        </list></t>

      <t>From -02 to -03</t>

      <t><list style="symbols">
          <t>After discussions with chairs, made this much more generic (not
          purely non-DNS), and some cleanup.</t>
        </list></t>

      <t>From -01 to -02</t>

      <t><list style="symbols">
          <t>Removed some fluffy wording, tightened up the language some.</t>
        </list></t>

      <t>From -00 to -01.</t>

      <t><list style="symbols">
          <t>Fixed the abstract.</t>

          <t>Recommended that folk root their non-DNS namespace under a DNS
          namespace that they control (Joe Abley)</t>
        </list></t>
    </section>
  </back>
</rfc>
