| < draft-wkumari-dnsop-alt-tld-05.txt | draft-wkumari-dnsop-alt-tld-06.txt > | |||
|---|---|---|---|---|
| dnsop W. Kumari | dnsop W. Kumari | |||
| Internet-Draft Google | Internet-Draft Google | |||
| Intended status: Informational A. Sullivan | Intended status: Informational A. Sullivan | |||
| Expires: September 4, 2015 Dyn | Expires: November 19, 2015 Dyn | |||
| March 03, 2015 | May 18, 2015 | |||
| The ALT Special Use Top Level Domain | The ALT Special Use Top Level Domain | |||
| draft-wkumari-dnsop-alt-tld-05 | draft-wkumari-dnsop-alt-tld-06 | |||
| Abstract | Abstract | |||
| This document reserves a string (ALT) to be used as a TLD label in | This document reserves a string (ALT) to be used as a TLD label in | |||
| non-DNS contexts or for names that have no meaning in a global | non-DNS contexts or for names that have no meaning in a global | |||
| context. It also provides advice and guidance to developers | context. It also provides advice and guidance to developers | |||
| developing alternate namespaces. | developing alternate namespaces. | |||
| [ This document (and issues) lives in GitHub at: https://github.com/ | [ Ed note: This document lives in GitHub at: | |||
| wkumari/draft-wkumari-dnsop-alt-tld . RFC Editor: Please remove this | https://github.com/wkumari/draft-wkumari-dnsop-alt-tld . Issues and | |||
| note before publication.] | pull requests happily accpeted. ] | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on September 4, 2015. | This Internet-Draft will expire on November 19, 2015. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2015 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 17 ¶ | skipping to change at page 2, line 17 ¶ | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 2 | 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 2 | |||
| 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. The ALT namespace . . . . . . . . . . . . . . . . . . . . . . 4 | 3. The ALT namespace . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Advice to developers . . . . . . . . . . . . . . . . . . . . 6 | 4. Advice to developers . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.1. Domain Name Reservation Considerations . . . . . . . . . 7 | 5.1. Domain Name Reservation Considerations . . . . . . . . . 7 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 8 | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 9 | 8.2. Informative References . . . . . . . . . . . . . . . . . 8 | |||
| Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . 9 | Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . 9 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 1. Introduction | 1. Introduction | |||
| Many protocols and systems need to name entities. Names that look | Many protocols and systems need to name entities. Names that look | |||
| like DNS names (a series of labels separated with dots) have become | like DNS names (a series of labels separated with dots) have become | |||
| common, even in systems that are not part of the global DNS. | common, even in systems that are not part of the global DNS. | |||
| This document provides a solution that may be more appropriate than | This document provides a solution that may be more appropriate than | |||
| skipping to change at page 3, line 25 ¶ | skipping to change at page 3, line 25 ¶ | |||
| o pseudo-TLD: A label that appears in a fully-qualified domain name | o pseudo-TLD: A label that appears in a fully-qualified domain name | |||
| in the position of a TLD, but which is not registered in the | in the position of a TLD, but which is not registered in the | |||
| global DNS. | global DNS. | |||
| o TLD: The last visible label in either a fully-qualified domain | o TLD: The last visible label in either a fully-qualified domain | |||
| name or a name that is qualified relative to the root. See the | name or a name that is qualified relative to the root. See the | |||
| discussion in Section 2. | discussion in Section 2. | |||
| 2. Background | 2. Background | |||
| The DNS data model is based on a tree structure, and so has a single | The DNS data model is based on a tree structure, and has a single | |||
| root. Conventionally, a name immediately beneath the root is called | root. Conventionally, a name immediately beneath the root is called | |||
| a "Top Level Domain" or "TLD". TLDs usually delegate portions of | a "Top Level Domain" or "TLD". TLDs usually delegate portions of | |||
| their namespace to others, who may then delegate further. The | their namespace to others, who may then delegate further. The | |||
| hierarchical, distributed and caching nature of the DNS has made it | hierarchical, distributed and caching nature of the DNS has made it | |||
| the primary resolution system on the Internet. | the primary resolution system on the Internet. | |||
| Domain names are terminated by a zero-length label, so the root label | Domain names are terminated by a zero-length label, so the root label | |||
| is normally invisible. Truly fully-qualified names indicate the root | is normally invisible. Truly fully-qualified names indicate the root | |||
| label explicitly, thus: "an.example.tld.". Most of the time, names | label explicitly, thus: "an.example.tld.". Most of the time, names | |||
| are written implicitly relative to the root, thus: "an.example.tld". | are written implicitly relative to the root, thus: "an.example.tld". | |||
| skipping to change at page 4, line 5 ¶ | skipping to change at page 4, line 5 ¶ | |||
| The success of the DNS makes it a natural starting point for systems | The success of the DNS makes it a natural starting point for systems | |||
| that need to name entities in a non-DNS context, or that have no | that need to name entities in a non-DNS context, or that have no | |||
| unique meaning in a global context. These name resolutions, | unique meaning in a global context. These name resolutions, | |||
| therefore, occur in a namespace distinct from the DNS. | therefore, occur in a namespace distinct from the DNS. | |||
| In many cases, these systems build a DNS-style tree parallel to the | In many cases, these systems build a DNS-style tree parallel to the | |||
| global DNS administered by IANA. They often use a pseudo-TLD to | global DNS administered by IANA. They often use a pseudo-TLD to | |||
| cause resolution in the alternate namespace, using browser plugins, | cause resolution in the alternate namespace, using browser plugins, | |||
| shims in the name resolution process, or simply applications that | shims in the name resolution process, or simply applications that | |||
| only use this alternate namespace. | perform special handling of this alternate namespace. | |||
| In many cases, the creators of these alternate namespaces have simply | In many cases, the creators of these alternate namespaces have chosen | |||
| chosen a convenient or descriptive string and started using it. | a convenient or descriptive string and started using it. These new | |||
| These new strings are "alternate" strings and are not registered | strings are "alternate" strings and are not registered anywhere or | |||
| anywhere or part of the DNS. However they appear to be TLDs. Issues | part of the DNS. However they appear to be TLDs. Issues may arise | |||
| may arise if they are looked up in the DNS. These include: | if they are looked up in the DNS. These include: | |||
| o User confusion: If someone emails a link of the form foo.bar | o User confusion: If someone emails a link of the form | |||
| .pseudo-TLD to someone who does not have the necessary software to | foo.bar.pseudo-TLD to someone who does not have the necessary | |||
| resolve names in the pseudo-TLD namespace, the name will not | software to resolve names in the pseudo-TLD namespace, the name | |||
| resolve and the user may become confused. | will not resolve and the user may become confused. | |||
| o Excess traffic hitting the DNS root: Lookups leak out of the | o Excess traffic hitting the DNS root: Lookups leak out of the | |||
| pseudo-TLD namespace and end up hitting the DNS root nameservers. | pseudo-TLD namespace and end up hitting the DNS root nameservers. | |||
| o Collisions: If the pseudo-TLD is eventually delegated from the | o Collisions: If the pseudo-TLD is eventually delegated from the | |||
| root zone the behavior may be non-deterministic. | root zone the behavior may be non-deterministic. | |||
| o Lack of success for the user's original goal. | o Lack of success for the user's original goal. | |||
| An alternate name resolution system might be specifically designed to | An alternate name resolution system might be specifically designed to | |||
| skipping to change at page 4, line 46 ¶ | skipping to change at page 4, line 46 ¶ | |||
| the name desired is globally unique, has meaning on the global | the name desired is globally unique, has meaning on the global | |||
| context and is delegated in the DNS, it should be considered an | context and is delegated in the DNS, it should be considered an | |||
| alternate namespace, and follow the ALT label scheme outlined below. | alternate namespace, and follow the ALT label scheme outlined below. | |||
| The ALT label MAY be used in any domain name as a pseudo-TLD to | The ALT label MAY be used in any domain name as a pseudo-TLD to | |||
| signify that this is an alternate (non-DNS) namespace. | signify that this is an alternate (non-DNS) namespace. | |||
| Alternate namespaces should differentiate themselves from other | Alternate namespaces should differentiate themselves from other | |||
| alternate namespaces by choosing a name and using it in the label | alternate namespaces by choosing a name and using it in the label | |||
| position just before the pseudo-TLD (ALT). For example, a group | position just before the pseudo-TLD (ALT). For example, a group | |||
| wishing to create a namespace for Friends Of Olaf might choose the | wishing to create a namespace for Friends Of Olaf might choose the | |||
| string "foo" and use any set of labels under foo.alt. It is | string "foo" and use any set of labels under foo.alt. | |||
| RECOMMENDED that users register their usage of this string with the | ||||
| IANA in Registry TBD, but users are not required to do so. This is | ||||
| intended to help prevent collisions, but uniqueness is NOT | ||||
| guaranteed. | ||||
| As they are in an alternate namespace, they have no significance in | As they are in an alternate namespace, they have no significance in | |||
| the regular DNS context and so should not be looked up in the DNS | the regular DNS context and so should not be looked up in the DNS | |||
| context. Unfortunately simply saying that "something should not | context. Unfortunately simply saying that "something should not | |||
| happen" doesn't actually stop it from happening, so we need some | happen" doesn't actually stop it from happening, so we need some | |||
| rules to deal. The ALT TLD is delegated to "new style" AS112 | rules to guide implementors and operators. The ALT TLD is delegated | |||
| servers, and so recursive and stub resolvers will get NXDOMAIN for | to "new style" AS112 servers, and so recursive and stub resolvers | |||
| all queries. | will get NXDOMAIN for all queries. | |||
| 1. Iterative resolvers SHOULD follow the advice in [RFC6303], | 1. Iterative resolvers SHOULD follow the advice in [RFC6303], | |||
| Section 3. | Section 3. | |||
| 2. The ALT TLD is delegated to "new style" AS112 nameservers | 2. The ALT TLD is delegated to "new style" AS112 nameservers | |||
| ([I-D.ietf-dnsop-as112-dname] ), which will return NXDOMAIN for | ([I-D.ietf-dnsop-as112-dname] ), which will return NXDOMAIN for | |||
| all queries. | all queries. | |||
| These rules are intended to limit how far unintentional queries (i.e. | These rules are intended to limit how far unintentional queries (i.e. | |||
| those not intended for the global DNS) flow. | those not intended for the global DNS) flow. | |||
| Groups wishing to create alternate namespaces SHOULD create their | Groups wishing to create new alternate namespaces SHOULD create their | |||
| alternate namespace under a label that names their namespace, and | alternate namespace under a label that names their namespace, and | |||
| under the ALT label. They SHOULD choose a label that they expect to | under the ALT label. They SHOULD choose a label that they expect to | |||
| be unique and, ideally, descriptive. They SHOULD consult the TBD | be unique and, ideally, descriptive. | |||
| registry to see if anyone has published that they are already using | ||||
| this string, and if so, would be wise to choose another string or | ||||
| risk the possibility of collisions with some other application. As | ||||
| there is no requirement to register the use of a label in the ALT | ||||
| namespace, uniqueness is not guaranteed. | ||||
| Currently deployed projects and protocols that are using pseudo-TLDs | Currently deployed projects and protocols that are using pseudo-TLDs | |||
| are encouraged but not required to move under the ALT TLD. Rather, | may decide to move under the ALT TLD, but this is not a requirement. | |||
| the ALT TLD is being reserved so that future projects of a similar | Rather, the ALT TLD is being reserved so that future projects of a | |||
| nature have a designated place to create alternate resolution | similar nature have a designated place to create alternate resolution | |||
| namespaces that will not conflict with the regular DNS context. | namespaces that will not conflict with the regular DNS context. | |||
| A number of names other than .ALT were considered and discarded. In | A number of names other than .ALT were considered and discarded. In | |||
| order for this technique to be effective the names need to continue | order for this technique to be effective the names need to continue | |||
| to follow both the DNS format and conventions (a prime consideration | to follow both the DNS format and conventions (a prime consideration | |||
| for alternate name formats is that they can be entered in places that | for alternate name formats is that they can be entered in places that | |||
| normally take DNS context names); this rules out using suffixes that | normally take DNS context names); this rules out using suffixes that | |||
| do not follow the usual letter, digit, and hyphen label convention. | do not follow the usual letter, digit, and hyphen label convention. | |||
| Another proposal was that the ALT TLD instead be a reservation under | Another proposal was that the ALT TLD instead be a reservation under | |||
| .arpa. This was considered, but rejected for several reasons. | .arpa. This was considered, but rejected for several reasons, | |||
| including: | ||||
| 1. We wished this to make it clear that this is not in the DNS | 1. We wished this to make it clear that this is not in the DNS | |||
| context, and .arpa clearly is. | context, and .arpa clearly is. | |||
| 2. The use of the string .ALT is intended to evoke the alt.* | 2. The use of the string .ALT is intended to evoke the alt.* | |||
| hierarchy in Usenet. | hierarchy in Usenet. | |||
| 3. We wanted the string to be short and easily used. | 3. We wanted the string to be short and easily used. | |||
| 4. A name underneath .arpa would consume at least five additional | 4. A name underneath .arpa would consume at least five additional | |||
| skipping to change at page 7, line 12 ¶ | skipping to change at page 7, line 5 ¶ | |||
| provide confidentiality, we recommend anchoring the alternate | provide confidentiality, we recommend anchoring the alternate | |||
| namespace under the .ALT TLD. | namespace under the .ALT TLD. | |||
| 5. IANA Considerations | 5. IANA Considerations | |||
| The IANA is requested to add the ALT string to the "Special-Use | The IANA is requested to add the ALT string to the "Special-Use | |||
| Domain Name" registry ([RFC6761], and reference this document. In | Domain Name" registry ([RFC6761], and reference this document. In | |||
| addition, the "Locally Served DNS Zones" ([RFC6303]) registry should | addition, the "Locally Served DNS Zones" ([RFC6303]) registry should | |||
| be updated to reference this document. | be updated to reference this document. | |||
| The IANA is requested to create and administer a new, first come, | ||||
| first served registry named "ALT pseudo-TLD labels". | ||||
| The fields in the registry should be: | ||||
| Label: An ASCII string containing a maximum of 63 characters, using | ||||
| only letters (a-z), digits (0-9), and hyphen (-). | ||||
| Description: A short, textual description explaining what the label | ||||
| is used for. | ||||
| Reference: A link to a stable reference, such as an RFC, or contact | ||||
| information for a person responsible for the reservation. | ||||
| 5.1. Domain Name Reservation Considerations | 5.1. Domain Name Reservation Considerations | |||
| This section is to satisfy the requirement in Section 5 of RFC6761. | This section is to satisfy the requirement in Section 5 of RFC6761. | |||
| The domain "alt.", and any names falling within ".alt.", are special | The domain "alt.", and any names falling within ".alt.", are special | |||
| in the following ways: | in the following ways: | |||
| 1. Human users are expected to know that strings that end in .alt | 1. Human users are expected to know that strings that end in .alt | |||
| behave differently to normal DNS names. Users are expected to | behave differently to normal DNS names. Users are expected to | |||
| have applications running on their machines that intercept stings | have applications running on their machines that intercept stings | |||
| skipping to change at page 9, line 32 ¶ | skipping to change at page 9, line 9 ¶ | |||
| [I-D.ietf-dnsop-as112-dname] | [I-D.ietf-dnsop-as112-dname] | |||
| Abley, J., Dickson, B., Kumari, W., and G. Michaelson, | Abley, J., Dickson, B., Kumari, W., and G. Michaelson, | |||
| "AS112 Redirection using DNAME", draft-ietf-dnsop- | "AS112 Redirection using DNAME", draft-ietf-dnsop- | |||
| as112-dname-06 (work in progress), November 2014. | as112-dname-06 (work in progress), November 2014. | |||
| Appendix A. Changes / Author Notes. | Appendix A. Changes / Author Notes. | |||
| [RFC Editor: Please remove this section before publication ] | [RFC Editor: Please remove this section before publication ] | |||
| From -05 to -06 | ||||
| o 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. | ||||
| o 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.... | ||||
| From -04 to -05 | From -04 to -05 | |||
| o Went through and made sure that I'd captured the feedback | o Went through and made sure that I'd captured the feedback | |||
| received. | received. | |||
| o Comments from Ed Lewis. | o Comments from Ed Lewis. | |||
| o Filled in the "Domain Name Reservation Considerations" section of | o Filled in the "Domain Name Reservation Considerations" section of | |||
| RFC6761. | RFC6761. | |||
| End of changes. 18 change blocks. | ||||
| 55 lines changed or deleted | 43 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||