Network Working Group A. Newton Internet-Draft VeriSign, Inc. Expires: November 26, 2006 May 25, 2006 A Domain Availability Check (dchk) Registry Type for the Internet Registry Information Service (IRIS) draft-ietf-crisp-iris-dchk-05 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of 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/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on November 26, 2006. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document describes a lightweight domain availability service using the IRIS framework and the data model of the IRIS Domain Registry service. Newton Expires November 26, 2006 [Page 1] Internet-Draft iris-dchk May 2006 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Document Terminology . . . . . . . . . . . . . . . . . . . . . 4 3. DCHK Registry . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Schema Description . . . . . . . . . . . . . . . . . . . . 5 3.1.1. The Result . . . . . . . . . . . . . . . . . 5 3.1.2. Support for . . . . . . . . . . . 10 3.2. DCHK Formal XML Syntax . . . . . . . . . . . . . . . . . . 10 3.3. BEEP Transport Compliance . . . . . . . . . . . . . . . . 17 3.3.1. Message Pattern . . . . . . . . . . . . . . . . . . . 18 3.3.2. Server Authentication . . . . . . . . . . . . . . . . 18 3.4. URI Resolution . . . . . . . . . . . . . . . . . . . . . . 18 3.4.1. Application Service Label . . . . . . . . . . . . . . 18 3.4.2. Bottom-Up Resolution . . . . . . . . . . . . . . . . . 18 3.4.3. Top-Down Resolution . . . . . . . . . . . . . . . . . 18 4. Internationalization Considerations . . . . . . . . . . . . . 19 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 5.1. XML Namespace URN Registration . . . . . . . . . . . . . . 20 5.2. S-NAPTR Registration . . . . . . . . . . . . . . . . . . . 20 5.3. BEEP Registration . . . . . . . . . . . . . . . . . . . . 20 6. Security Considerations . . . . . . . . . . . . . . . . . . . 21 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.1. Normative References . . . . . . . . . . . . . . . . . . . 22 7.2. Informative References . . . . . . . . . . . . . . . . . . 22 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 23 Intellectual Property and Copyright Statements . . . . . . . . . . 24 Newton Expires November 26, 2006 [Page 2] Internet-Draft iris-dchk May 2006 1. Introduction This document describes a lightweight service for checking the availability of domain names. This service is based on the IRIS framework and uses the data model defined by DREG2 [4]. By doing this, the domain availability service has the advantages provided by IRIS and DREG2, such as well-known methods for server navigation, structured queries and results, and layered extensibility. The use of IRIS for this service also allows seamless integration between the domain availability service and the service provided by DREG2. This allows a user to find the availability status of domain and reference the full registration information in DREG2. The data model in this service (called a registry schema in IRIS terms) is a strict subset of the DREG2 data model. This enables implementors to directly reuse DREG2 code paths and allows operators to deploy the service in either the same server processes as a DREG2 service (same host and port) or in a different server process (different port) or machine (different host). As an example, an operator may wish to deploy both types of service on the same set of machines. As time goes on, the operator may then decide to segregate the services, placing the domain availability service on one set of machines and the DREG2 service on a separate set of machines with a stricter set of controls. Either deployment scenario is transparent to the end user and always appear to be seamlessly complementary. When coupled with [12], this domain availability service is lightweight and extremely effecient for high-volume, public-facing service. Newton Expires November 26, 2006 [Page 3] Internet-Draft iris-dchk May 2006 2. Document Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [8]. Newton Expires November 26, 2006 [Page 4] Internet-Draft iris-dchk May 2006 3. DCHK Registry The data model used for the domain availability check (DCHK) service is a strict subset of the DREG2 data model. This section describes the DCHK registry type. See [3]. 3.1. Schema Description References to XML elements with no namespace qualifier are from the schema defined in Section 3.2. References to elements and attributes with the "iris" XML namespace qualifier are from the schema defined in IRIS [3]. The descriptions contained within this section refer to XML elements and attributes and their relation to the exchange of data within the protocol. These descriptions also contain specifications outside the scope of the formal XML syntax. Therefore, this section will use terms defined by RFC 2119 [8] to describe the specification outside the scope of the formal XML syntax. While reading this section, please reference Section 3.2 for needed details on the formal XML syntax. 3.1.1. The Result An example of a result: example.com The result represents an instance of a domain assignment. The children of the element are as follows: o - the full name of the domain as it is in DNS. The contents of this element MUST be a domain name as specified by RFC 1035 [7]. o - the name of the domain in nameprep form if applicable. See RFC 3491 [9]. o - may contain at least one of the following elements of type 'domainStatusType' (see Section 3.1.1.1), but none of these elements may appear more than once. Newton Expires November 26, 2006 [Page 5] Internet-Draft iris-dchk May 2006 * - permanently inactive * - normal state * - registration assigned but delegation inactive * - dispute * - database purge pending * - change of authority pending * - on hold by registry * - on hold by registrar o - this element contains child elements representing enhanced status information. It defines the following additional status types: * - available via DNS (either via delegation or direct publication) * - unavailable via DNS * - the domain has been found to be lame (see Section 3.1.1.3). This element is of "lameEnhancedStatusType". * - the domain is not lame (see Section 3.1.1.3). * - registrant assignment is in dispute * - renewal of domain registration * - period at the creation or activation of this domain (see RFC 3915 [6]) * - period at the renewal of this domain (see RFC 3915 [6]) * - period at the automatic renewal of this domain (see RFC 3915 [6]) * - period at the transfer of this domain (see RFC 3915 [6]) Newton Expires November 26, 2006 [Page 6] Internet-Draft iris-dchk May 2006 * - period at the redemption of this domain (see RFC 3915 [6]) * - change to previous status of this domain * - this domain is considered compliant according to a given policy specified by the substatus identifier. * - this domain is not considered compliant according to a given policy specified by the substatus identifier. * - the containing result object is reserved and is not available for registration under normal registration procedures. * - specifies the creation status of the containing result object in the registration system. * - specifies the deletion status of the containing result object in the registration system. * - specifies the transfer status of the containing result object from one responsible or owning entity in the registration system to another. * - specifies the status of the containing result object as it relates to information in the containing result object being modified or having the ability to be modified. * - specifies a registration system specific status of the containing result object. Both the and elements MAY appear in a result object. However, sole use of the element is RECOMMENDED. o - contains an entity reference, the referent of which MUST be a (Section 3.1.1). o - an element containing an entity reference, the referent of which MUST be either a (Section 3.1.1) or a as defined by DREG2 [4]. The intent of this element is to point to the downstream registration reference. Therefore, if this is a result given back by a domain registry, it should point to the domain in the domain registrar or registrant service. Newton Expires November 26, 2006 [Page 7] Internet-Draft iris-dchk May 2006 o - an element containing the date and time of the initial delegation of this domain. o - an element containing the date and time of the last time one of the nameservers was added or removed for the delegation of this domain. o - an element containing an entity reference specifying a referent that is indirectly associated with this domain. 3.1.1.1. Domain Status Type Each element that is of the 'domainStatusType' may have an optional element and one or more elements, the text contents of which may be used to describe the status in natural language. Each element must have a 'language' attribute describing the language of the description element. 3.1.1.2. Enhanced Domain Status Type Each element that is of the 'enhancedStatusType' has the following composition: o - a child element containing the date applicable to creation of the status. o - one or more child elements with text to described the status in natural language. Each of these elements must have a 'language' attribute describing the language of the description element. o - a child element containing a service ticket identifier relevant to the status. o - a child element indicating further status information. Values for this element are not defined by the specification. This child element has a required 'authority' attribute to indicate the origin of the specification of the value of this element. o 'actor' - an optional attribute indicating the acting entity for which this status is applied. The values may be "registry", "registrar", or "registrationServiceProvider". o 'disposition' - an optional attribute indicating the nature of this status. The values may be "pending" or "prohibited". Newton Expires November 26, 2006 [Page 8] Internet-Draft iris-dchk May 2006 o 'scope' - an optional attribute indicating the context or origin of the status value. 3.1.1.3. Lameness Some registries, registrars, or registration service providers may periodically check to see if a domain is "lame". In DNS terms, "lame" has a narrow definition as defined in [11], but the term is often used in a wider context. The explanation given here covers the wider context as is often found in registration systems and is not meant to redefine the stricter meaning in DNS as specified in [11]. A nameserver listed as authoritative for a domain can be considered lame for three reasons: 1. The nameserver is unresponsive. 2. The nameserver does not answer authoritatively for the domain. See [11]. 3. The address of the nameserver cannot be resolved, usually due to the domain in which it exists being lame itself. In a registration database, lameness may exist in three places: 1. A nameserver is lame if its address cannot be resolved or it does not answer queries. 2. The relationship between a domain and a nameserver could be lame if the nameserver does not authoritatively answer queries for the domain (i.e. it could answer authoritatively for other domains). 3. A domain is lame if all of its nameservers are lame. This specification enumerates the reasons for lameness with "lameReasonType". The enumerated values are: o queryTimeout - an answer was not received within a specified duration of time. o nonAuthoritativeAnswer - the name server queried did not return an authoritative answer. o unknownDomainName - the name server queried unknown the domain name. o unknownHostName - the name server's name is unknown. Newton Expires November 26, 2006 [Page 9] Internet-Draft iris-dchk May 2006 o queryRefused - the name server refused to answer the query. o connectionRefused - the name server refused to accept the query connection. o cannonicalName - the name server's name in a CNAME and not an A record. o soaVersionNotInSync - the SOA version is not in sync between this server and the delegated master. o dnsProtocolLevelError - the query resulted in a DNS protocol error o other - lame for an unexplaned reason A special status type also exists to describe lameness, the "lameEnhancedStatusType". This type extends the "enhancedStatusType" by adding an element of the "lameReasonType". 3.1.2. Support for The following types of entity classes are recognized by the query of IRIS for this registry: o domain-name - the fully qualified name of a domain. This a domain name as specified by RFC 1035 [7]. Yields a (Section 3.1.1) in the response. o idn - the fully qualified name of a domain in nameprep form (see RFC 3491 [9]). Yields a (Section 3.1.1) in the response. 3.2. DCHK Formal XML Syntax This registry schema is specified in the XML Schema notation (see [1] and [2]). The formal syntax presented here is a complete schema representation suitable for automated validation of an XML instance when combined with the formal schema syntax of IRIS. Newton Expires November 26, 2006 [Page 10] Internet-Draft iris-dchk May 2006 Domain availability check schema derived from IRIS schema Newton Expires November 26, 2006 [Page 12] Internet-Draft iris-dchk May 2006 Newton Expires November 26, 2006 [Page 13] Internet-Draft iris-dchk May 2006 Newton Expires November 26, 2006 [Page 16] Internet-Draft iris-dchk May 2006 Figure 2: dchk.xsd 3.3. BEEP Transport Compliance Though it is envisioned that a DCHK service will be deployed with a lightweight transport such as [12], it is still possible to use DCHK with the [5] transport. The use of this transport is completely at the descretion of the server operator. IRIS allows several extensions of the core capabilities. This section outlines those extensions allowable by IRIS-BEEP [5]. Newton Expires November 26, 2006 [Page 17] Internet-Draft iris-dchk May 2006 3.3.1. Message Pattern This registry type uses the default message pattern as described in IRIS-BEEP [5]. 3.3.2. Server Authentication This registry type uses the default server authentication method as described in IRIS-BEEP [5]. 3.4. URI Resolution 3.4.1. Application Service Label The application service label associated with this registry type MUST be "DCHK1". This is the abbreviated form of the URN for this registry type, urn:ietf:params:xml:ns:dchk1. 3.4.2. Bottom-Up Resolution The bottom-up alternative resolution method MUST be identified as 'bottom' in IRIS URI's. Its process is identical to the 'bottom' process described by DREG2 [4]. 3.4.3. Top-Down Resolution The top-down alternative resolution method MUST be identified as 'top' in IRIS URI's. Its process is identical to the 'top' process described by DREG2 [4]. Newton Expires November 26, 2006 [Page 18] Internet-Draft iris-dchk May 2006 4. Internationalization Considerations Implementers should be aware of considerations for internationalization in IRIS [3]. Clients needing to localize the data tags in this protocol should take note that localization is only needed on the names of XML elements and attributes with the exception of elements containing date and time information. The schema for this registry has been designed so that clients need not interpret the content of elements or attributes for localization, other than those elements containing date and time information. Clients should also make use of the elements provided in many of the results. Results containing data that may be in Unicode are accompanied by these elements in order to aid better presentation of the data to the user. The "appliedDate" element contains the XML Schema [1] data type "dateTime". The contents of this element MUST be specified using the 'Z' indicator for Coordinated Universal Time (UTC). Newton Expires November 26, 2006 [Page 19] Internet-Draft iris-dchk May 2006 5. IANA Considerations 5.1. XML Namespace URN Registration This document makes use of a proposed XML namespace and schema registry specified in XML_URN [10]. Accordingly, the following registration information is provided for the IANA: o XML Namespace URN/URI: * urn:ietf:params:xml:ns:dchk1 o Contact: * Andrew Newton o XML: * None. o XML Schema URN/URI: * urn:ietf:params:xml:ns:dchk1 o Contact: * Andrew Newton o XML: * The XML Schema specified in Section 3.2 5.2. S-NAPTR Registration The following S-NAPTR application service label will need to be registered with IANA according to the IANA considerations defined in IRIS [3]: DCHK1 5.3. BEEP Registration The following BEEP Profile URI is to be registeried with IANA, in addition to the registration provided in IRIS-BEEP [5]. http://iana.org/beep/iris1/dchk1 Newton Expires November 26, 2006 [Page 20] Internet-Draft iris-dchk May 2006 6. Security Considerations Being a proper subset of DREG2 [4], the registry described in this document has the same security considerations. Newton Expires November 26, 2006 [Page 21] Internet-Draft iris-dchk May 2006 7. References 7.1. Normative References [1] World Wide Web Consortium, "XML Schema Part 2: Datatypes", W3C XML Schema, October 2004, . [2] World Wide Web Consortium, "XML Schema Part 1: Structures", W3C XML Schema, October 2004, . [3] Newton, A. and M. Sanz, "Internet Registry Information Service", RFC 3981, January 2005. [4] Newton, A. and F. Neves, "Domain Registry Version 2 for the Internet Registry Information Service", draft-ietf-crisp-iris-dreg2-01 (work in progress), May 2006. [5] Newton, A. and M. Sanz, "Internet Registry Information Service (IRIS) over Blocks Extensible Exchange Protocol (BEEP)", RFC 3983, January 2005. [6] Hollenbeck, S., "Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol (EPP)", RFC 3915, September 2004. [7] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [8] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP 14, March 1997. [9] Hoffman, P. and M. Blanchet, "Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN)", RFC 3491, March 2003. [10] Mealling, M., "The IETF XML Registry", draft-mealling-iana-xmlns-registry-03 (work in progress), November 2001. [11] Austein, R. and J. Saperia, "DNS Resolver MIB Extensions", RFC 1612, May 1994. 7.2. Informative References [12] Newton, A., "A Lightweight UDP Transport for IRIS", draft-ietf-crips-iris-lwz-06 (work in progress), January 2005. Newton Expires November 26, 2006 [Page 22] Internet-Draft iris-dchk May 2006 Author's Address Andrew L. Newton VeriSign, Inc. 21345 Ridgetop Circle Sterling, VA 20166 USA Phone: +1 703 948 3382 Email: andy@hxr.us URI: http://www.verisignlabs.com/ Newton Expires November 26, 2006 [Page 23] Internet-Draft iris-dchk May 2006 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Newton Expires November 26, 2006 [Page 24]