Applications Area S. Moonesamy Internet-Draft Intended Status: Informational Expires: January 2, 2013 July 1, 2012 Domain Names in Application-Layer Protocols draft-moonesamy-apps-domain-names-00 Abstract Application-layer protocols generally use global addresses. The global address is based on the Domain Name System (DNS) as it provides a namespace structure which can used to generate a global address. This document discusses about domain names in applications and the history of domain names in application-layer protocols. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright and License Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must Moonesamy Expires January 2, 2013 [Page 1] Internet-Draft Domain Names in Applications July 1, 2012 include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. History . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Domain Names in Application-Layer Protocols . . . . . . . . . . 3 3.1. File Transfer Protocol . . . . . . . . . . . . . . . . . . 3 3.2. Hypertext Transfer Protocol . . . . . . . . . . . . . . . . 3 3.3. Simple Mail Transfer Protocol . . . . . . . . . . . . . . . 3 4. Domain Part . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.1. Domain Name System . . . . . . . . . . . . . . . . . . . . 3 4.2. Domain Part Syntax . . . . . . . . . . . . . . . . . . . . 4 4.3 Using the Domain Part . . . . . . . . . . . . . . . . . . . 4 5. Internationalization Considerations . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5 9.1. Normative References . . . . . . . . . . . . . . . . . . . 5 9.2. Informative References . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 1. Introduction Application-layer protocols generally use global addresses. The global address is based on the Domain Name System (DNS) [RFC1034] as it provides namespace where authority can be delegated. In addition, DNS can provide the information which is necessary for applications to exchange messages. This document discusses about domain names in applications and the history of domain names in application protocols. 2. History The Simple Mail Transfer Protocol (SMTP) was specified as a standard in RFC 821 [RFC0821]. It used the then recently introduced concept of domains in the ARPA Internet mail system. The use of domains changed the address space from a flat global space of simple character string host names to a hierarchically structured rooted tree of global addresses. The host name was replaced by a domain and host designator which is a sequence of domain element strings separated by periods. It was usually assumed that a mail service would be available at a domain name. There were situations where hosts were not accessible Moonesamy Expires January 2, 2013 [Page 2] Internet-Draft Domain Names in Applications July 1, 2012 over the Internet. The DNS mail-exchange (MX) Resource Record [RFC1035] was specified RFC 974 [RFC0974] to provide routing information which can be used to locate a mail service for a domain name. Some general requirements which may be applicable to all application-layer protocols were set in RFC 1123 [RFC1123]. That document introduced the term "fully-qualified domain name" (FQDN). 3. Domain Names in Application-Layer Protocols 3.1. File Transfer Protocol The File Transfer protocol (FTP) [RFC0959] requires IP addresses instead of domain names to transfer files from or to a host. 3.2. Hypertext Transfer Protocol A fully-qualified domain name is generally used by the Hypertext Transfer Protocol (HTTP) [RFC2616] to access a resource referenced by a Uniform Resource Identifier (URI) [RFC3986]. URIs generally contain a fully-qualified domain name component which is intended for lookup in the DNS. 3.3. Simple Mail Transfer Protocol The domain part used in the Simple Mail Transfer Protocol (SMTP) [RFC5321] are expected to be fully-qualified domain names. 4. Domain Part The syntax of a valid Internet hostname was specified in RFC 952 [RFC0952]. The determination of what constitutes a valid hostname or fully-qualified domain name is known as the LDH rule. Components of a fully-qualified domain are delimited by a period ("."). The (DNS) term "label" is used to refer to a component. A label can contain characters such as letters, digits or hyphens. The first and last characters in a label cannot be a hyphen. It is recommended to use a fully-qualified domain name in an application-layer protocol as such a domain part is globally addressable. Using a fully-qualified domain name also ensures that the domain part can be interpreted consistently regardless of context. 4.1. Domain Name System The Domain Name System (DNS) protocol [RFC1035] uses the following syntax: Moonesamy Expires January 2, 2013 [Page 3] Internet-Draft Domain Names in Applications July 1, 2012 ::= | " " ::=