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]