Network Working Group A. Newton Internet-Draft L. Daigle Expires: December 11, 2003 VeriSign, Inc. June 12, 2003 Cohabitation of the Nicname/Whois Protocol with the CRISP Protocol draft-newton-whois-crisp-cohabitation-00 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 December 11, 2003. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract This document describes a method to allow an Internet registry operate both a nicname/whois service side-by-side with a CRISP service in a coherent and well understood manner. This document does not attempt to alter the nicname/whois protocol to meet this goal, nor does it attempt to make CRISP backwards-compatible with current nicname/whois deployments. Newton & Daigle Expires December 11, 2003 [Page 1] Internet-Draft whois-crisp-cohabitation June 2003 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. The NAPSTR Profile . . . . . . . . . . . . . . . . . . . . . 4 3. Example uses of NAPSTR . . . . . . . . . . . . . . . . . . . 5 4. Server Location . . . . . . . . . . . . . . . . . . . . . . 8 4.1 Direct Resolution . . . . . . . . . . . . . . . . . . . . . 8 4.2 Bottom-Up Resolution . . . . . . . . . . . . . . . . . . . . 8 4.2.1 Bottom-Up for Domain Names . . . . . . . . . . . . . . . . . 8 4.2.2 Bottom-Up for IP Addresses . . . . . . . . . . . . . . . . . 9 4.3 Top-Down Resolution . . . . . . . . . . . . . . . . . . . . 9 4.3.1 Top-Down for Domain Names . . . . . . . . . . . . . . . . . 9 4.3.2 Top-Down for IP Addresses . . . . . . . . . . . . . . . . . 10 5. Internationalization Considerations . . . . . . . . . . . . 11 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . 13 References . . . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 14 A. Document Terminology . . . . . . . . . . . . . . . . . . . . 16 B. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 Intellectual Property and Copyright Statements . . . . . . . 18 Newton & Daigle Expires December 11, 2003 [Page 2] Internet-Draft whois-crisp-cohabitation June 2003 1. Introduction Many Internet registries operate nicname/whois services (RFC 954 [4]). However, nicname/whois is an old protocol and does not fulfill many of the needs that Internet registries have acquired over the last 20 years. To meet these new needs, Internet registries will likely deploy a new protocol meeting the CRISP [1] requirements. So it is likely that there will be a need for dual operations by some Internet registries of both nicname/whois services and CRISP compliant services. This document describes a method to allow Internet registries a more coherent approach to operating both protocols. This is accomplished by the use of NAPSTR [3] to provide a unified means for both nicname/ whois clients and CRISP clients to find and negotiate which protocol they are capable of using. Because NAPSTR is a mapping at the DNS layer, this requires no modification to the nicname/whois protocol itself. Clients not embracing this approach will still be able to communicate with current nicname/whois servers, and nicname/whois servers will require no modification. Newton & Daigle Expires December 11, 2003 [Page 3] Internet-Draft whois-crisp-cohabitation June 2003 2. The NAPSTR Profile NAPSTR [3] allows for the distinctions between types of services. Because nicname/whois is used by various types of Internet registries, NAPSTR could be used to distinguish between them. Therefore, this document defines two NAPSTR application service labels: o XP-DN o XP-IP Because the service field, of which this label is just one of many components, is limited to 32 characters, this label is purposefully meaningful but short. Here, "XP" is short for "CRISP", "DN" is short for "Domain Names", and "IP" is short for "Internet Protocol Addresses". The application service label indicating a service responsible for domain names MUST be "XP-DN". The application service label indicating a service responsible for Internet Protocol addresses MUST be "XP-IP". While nicname/whois is used for far more than just these two types of services, this document only defines the use of NAPSTR for these services. This does not preclude other documents from specifying those services in the manner described here. Finally, NAPSTR requires the registration of application protocol labels to satisfy its use. The application protocol label for nicname/whois [4] MUST be "whois". For the sake of describing examples, this document will use the application protocol label "crispy" to describe the protocol compliant with CRISP [1]. Newton & Daigle Expires December 11, 2003 [Page 4] Internet-Draft whois-crisp-cohabitation June 2003 3. Example uses of NAPSTR This section shows an example use of NAPSTR [3] as described by this document in various scenarios. NAPSTR offers the following: 1. If an operator serves to clients both domain name registration information and IP address registration information, NAPSTR allows an operator to split out the set of servers running XP-DN from the set of servers running XP-IP. This is to say, the operator is able to split out the set of servers serving up data for XP-DN from the set of servers serving up data for XP-IP. 2. NAPSTR allows an operator to specify which set of servers are running whois from the set of servers running crispy. This is to say, the operator is able to split out the set of servers running protocol whois serving XP-DN and/or XP-IP data from the set of servers running protocol crispy serving XP-DN and/or XP-IP data. 3. NAPSTR allows an operator to specify which set of the servers to operate and which set of the above servers to delegate to another operator. To implement the first feature, the operator deploys the following in their DNS zone: example.com. ;; order pref flags service re replacement IN NAPTR 100 10 "" "XP-DN:whois:crispy" "" example.com. IN NAPTR 100 10 "" "XP-IP:whois:crispy" "" example.com. To implement the second feature, the operator then adds the following in their DNS zone: Newton & Daigle Expires December 11, 2003 [Page 5] Internet-Draft whois-crisp-cohabitation June 2003 example.com. ;; order pref flags service re replacement IN NAPTR 100 10 "s" "XP-DN:whois" "" _whois._tcp.example.com. IN NAPTR 100 10 "s" "XP-DN:crispy" "" _crispy._tcp.example.com. _whois._tcp.example.com. ;; pref weight port target IN SRV 10 0 34 big-whois.example.com. IN SRV 20 0 34 small-whois.example.com. _crispy._tcp.example.com. ;; pref weight port target IN SRV 10 0 34 big-crispy.example.com. IN SRV 20 0 34 small-crispy.example.com. Finally, an operator may decide to operate the XP-DN services while delegating the XP-IP services to somebody else. Here is how that is done: example.com. ;; order pref flags service re replacement IN NAPTR 100 10 "" "XP-DN:whois:crispy" "" example.com. IN NAPTR 100 10 "" "XP-IP:whois:crispy" "" somebodyelse.com. Or the operator may decide to operate XP-IP services under the whois protocol/transport while delegating the XP-IP services under the crispy protocol/transport to somebody else. example.com. ;; order pref flags service re replacement IN NAPTR 100 10 "" "XP-IP:whois:crispy" "" example.com. IN NAPTR 100 10 "s" "XP-IP:whois" "" _whois._tcp.example.com. IN NAPTR 100 10 "s" "XP-IP:crispy" "" _crispy._tcp.somebodyelse.com. _whois._tcp.example.com. ;; pref weight port target IN SRV 10 0 34 big-whois.example.com. IN SRV 20 0 34 small-whois.example.com. Note that while this last example is possible, it is probably not advisable because of the operational issues involved in synchronizing the data between example.com and somebodyelse.com. It is provided here as an example of what is possible. The process used by the client to determine the address of a server is as follows: 1. The client requests all the NAPTR records for the target DNS Newton & Daigle Expires December 11, 2003 [Page 6] Internet-Draft whois-crisp-cohabitation June 2003 label. 2. For the NAPSTR use of NAPTR RRs, the NAPTR regexp field will always be empty. Therefore, the client ignores all NAPTR RRs with anything in the regexp field, or flags that are not defined for use in NAPSTR. 3. From the remaining NAPTR records, the client selects the lowest-order NAPTR record with the desired application service (e.g., "XP-DN"). An empty flag field indicates the next lookup should be for a NAPTR record (as opposed to SRV, or A, etc...). The replacement field is used as the label for which the NAPTR records are retrieved. 4. From here, the client follows the NAPTR record for the application service using the desired application protocol from the original list of application protocols given for that service type (e.g. "XP-DN:crispy"). 5. Since the matching NAPTR record has "s" in the flag field, the next lookup is for SRV records using the value of the replacement field as the DNS label. The client selects the SRV records with the appropriate priority and weight, and uses that to determine the target of the next DNS lookup (for an A or AAAA record). 6. Once the client has determined the IP address of the server using an A or AAAA record, the client attempts a connection for each address record for each server name on the specified port with the selected protocol. If the connection is refused, then the client should repeat the previous step. If all SRV records from the previous step are exhausted, then the client should signal an exception state. The text above gives a rough overview of how the NAPSTR resolution works in this case. However, for a complete understanding of the correct use of NAPTR records, which are defined in the context of the Dynamic Delegation Discovery System (DDDS), the reader is required to read the DDDS specification [7] and the definition of the NAPTR record in [6]. Newton & Daigle Expires December 11, 2003 [Page 7] Internet-Draft whois-crisp-cohabitation June 2003 4. Server Location Coherency in the operation of these services through the use of NAPSTR is not limited to the distinction of machines versus protocol versus service. By using NAPSTR, clients are also given a better means to find a server responsible for the data item in question, not just a server responsible for answering that type of data. This can be done in one of three manners: direct resolution, bottom-up resolution, or reverese resolution. 4.1 Direct Resolution Direct resolution is the manner used to find a responsible server for an item of data that most closely matches the behaviour of typical Internet clients. The rules for direct resolution are: o If the given item is a domain name accompanied by a port number, the domain name is converted to an IP address via an A or AAAA record to the DNS. o If the given item is a domain name by itself, the NAPSTR profile (Section 2) is used. If this produces no results, then the DNS is queried for the A or AAAA RRs corresponding to the domain name and the port number used is the well-known port for the transport either picked by the user or as a preference of the client. o If the given item is an IP address, then the DNS is not queried, and the IP address is used directly. If the port number is present, it is used directly; otherwise, the port number used is the well-known port for the transport either picked by the user or as a preference of the client. 4.2 Bottom-Up Resolution Bottom-Up resolution is the manner used to find a responsible server for an item of data that is closest to the registrant of the item of data. 4.2.1 Bottom-Up for Domain Names Bottom-up resolution for domains is as follows: 1. The direct resolution (Section 4.1) process is tried on the domain name (e.g. "example.com" ). Newton & Daigle Expires December 11, 2003 [Page 8] Internet-Draft whois-crisp-cohabitation June 2003 2. If no records are found, then the left-most component of the domain name is removed, and the first step is repeated again (e.g. "com" ). 3. If all the components of the domain name are removed and no records are found, then the DNS is queried for the A records corresponding to the original domain name and the port used is the well-known port for the transport either picked by the user or as a preference of the client. 4.2.2 Bottom-Up for IP Addresses Buttom-Up resolution for IP addresses is as follows: 1. The IP address is converted into a domain name appropriate for the reverse DNS tree mapping. For instance, 64.83.37.226 is 226.37.83.64.in-addr.arpa. 2. The direct resolution (Section 4.1) process is tried on this reverse-map domain name. 3. If no records are found, then the left-most component of the reverse-map domain name is removed, and the second step is repeated again (e.g. "37.83.64.in-addr.arpa" ) 4. If all the components of the reverse-map domain name from step one are removed and no records are found, then the original IP address is used and the port number used is the well-known port for the transport either picked by the user or as a preference of the client. 4.3 Top-Down Resolution Top-Down resolution is the manner used to find a responsible server for an item of data that is furthest from the registrant of the item of data. 4.3.1 Top-Down for Domain Names Top-Down resolution for domains is as follows: 1. The domain name is reduced to its leftmost component. This is always ".". 2. The direct resolution (Section 4.1) process is tried on the domain name. Newton & Daigle Expires December 11, 2003 [Page 9] Internet-Draft whois-crisp-cohabitation June 2003 3. If no records are found, then the original component to the right of the left-most component of the domain name is prepended, and the second step is repeated again (e.g. if "." then "com", if "com" then "example.com"). 4. If all the components of the original domain are present and no records are found, then the DNS is queried for the A records corresponding to the original domain name and the port used is the well-known port for the transport either picked by the user or as a preference of the client. 4.3.2 Top-Down for IP Addresses Top-Down resolution for IP addresses is as follows: 1. The IP address is converted into a domain name appropriate for the reverse DNS tree mapping. For instance, 64.83.37.226 is 226.37.83.64.in-addr.arpa. 2. The reverse-map domain name is reduced to the appropriate least two components (e.g. "in-addr.arpa"). 3. The direct resolution (Section 4.1) process is tried on this reverse-map domain name. 4. If no records are found, then the component in the original reverse-map domain name to the right of the left-most component of this reverse-map domain name is prepended, and the third step is repeated (e.g. if "in-addr.arpa" then "64.in-addr.arpa", if "64.in-addr.arpa" then "83.64.in-addr.arpa"). 5. If all the components of the original reverse-map domain name from step one are present and no records are found, then the original IP address is used and the port number used is the well-known port for the transport either picked by the user or as a preference of the client. Newton & Daigle Expires December 11, 2003 [Page 10] Internet-Draft whois-crisp-cohabitation June 2003 5. Internationalization Considerations This document introduces no new considerations for internationalization. However, implementers should be aware that nicname/whois [4] is not suitable for providing internationalized data, and therefore should provide a CRISP [1] compliant server. Newton & Daigle Expires December 11, 2003 [Page 11] Internet-Draft whois-crisp-cohabitation June 2003 6. IANA Considerations The following NAPSTR [3] application service labels will need to be registered with the IANA: 1. XP-DN 2. XP-IP The following NAPSTR [3] application protocol label will need to be registered with the IANA: 1. whois Newton & Daigle Expires December 11, 2003 [Page 12] Internet-Draft whois-crisp-cohabitation June 2003 7. Security Considerations This document introduces no new considerations for security. However, implementers should be aware that nicname/whois [4] is not suitable for providing authentication of users or servers, and therefore should provide a CRISP [1] compliant server. Newton & Daigle Expires December 11, 2003 [Page 13] Internet-Draft whois-crisp-cohabitation June 2003 References [1] Newton, A., "Cross Registry Internet Service Protocol (CRISP) Requirements", draft-ietf-crisp-requirements-00 (work in progress), August 2002. [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP 14, March 1997. [3] Daigle, L. and A. Newton, "Domain-based Application Service Location Using SRV RRs and the Dynamic Delegation Discovery Service (DDDS)", draft-daigle-napstr-01 (work in progress), November 2002. [4] Harrenstien, K., Stahl, M. and E. Feinler, "NICNAME/WHOIS", RFC 954, October 1985. [5] Sanz, M. and G. Winkler, "Using DNS SRV records to locate whois servers", draft-sanz-whois-srv-00 (work in progress), April 2003. [6] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Three: The Domain Name System (DNS) Database", RFC 3403, October 2002. [7] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part One: The Comprehensive DDDS", RFC 3401, October 2002. Authors' Addresses Andrew L. Newton VeriSign, Inc. 21345 Ridgetop Circle Sterling, VA 20166 USA Phone: +1 703 948 3382 EMail: anewton@verisignlabs.com; anewton@ecotroph.net URI: http://www.verisignlabs.com/ Leslie Daigle VeriSign, Inc. 21355 Ridgetop Circle Dulles, VA 20166 US Newton & Daigle Expires December 11, 2003 [Page 14] Internet-Draft whois-crisp-cohabitation June 2003 EMail: leslie@verisignlabs.com; leslie@thinkingcat.com Newton & Daigle Expires December 11, 2003 [Page 15] Internet-Draft whois-crisp-cohabitation June 2003 Appendix A. 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 [2]. Newton & Daigle Expires December 11, 2003 [Page 16] Internet-Draft whois-crisp-cohabitation June 2003 Appendix B. Acknowledgements The concepts of top-down and bottom-up server location were originally developed by Eric Hall in his work on applying LDAP to the whois problem space. These concepts were then applied directly to whois by Miquel Sanz and Gerhard Winkler in whois-srv [5]. The use of NAPSTR [3] is a conceptual progression from this point. Many thanks to David Blacka and Ed Lewis for review and commentary. Newton & Daigle Expires December 11, 2003 [Page 17] Internet-Draft whois-crisp-cohabitation June 2003 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property 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; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication 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 implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION Newton & Daigle Expires December 11, 2003 [Page 18] Internet-Draft whois-crisp-cohabitation June 2003 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Newton & Daigle Expires December 11, 2003 [Page 19]