draft-ietf-crisp-requirements-03.txt   draft-ietf-crisp-requirements-04.txt 
Network Working Group A. Newton Network Working Group A. Newton
Internet-Draft VeriSign, Inc. Internet-Draft VeriSign, Inc.
Expires: August 5, 2003 February 4, 2003 Expires: August 25, 2003 February 24, 2003
Cross Registry Internet Service Protocol (CRISP) Requirements Cross Registry Internet Service Protocol (CRISP) Requirements
draft-ietf-crisp-requirements-03 draft-ietf-crisp-requirements-04
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as
Internet-Drafts. Internet-Drafts.
skipping to change at page 1, line 31 skipping to change at page 1, line 31
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."
The list of current Internet-Drafts can be accessed at http:// The list of current Internet-Drafts can be accessed at http://
www.ietf.org/ietf/1id-abstracts.txt. www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 5, 2003. This Internet-Draft will expire on August 25, 2003.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved. Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract Abstract
Internet registries expose administrative and operational data via Internet registries expose administrative and operational data via
varying directory services. This document defines functional varying directory services. This document defines functional
requirements for the directory services of domain registries and the requirements for the directory services of domain registries and the
skipping to change at page 2, line 37 skipping to change at page 2, line 37
2.4.5 DNS Users . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4.5 DNS Users . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.6 Domain Registrants . . . . . . . . . . . . . . . . . . . . 9 2.4.6 Domain Registrants . . . . . . . . . . . . . . . . . . . . 9
2.4.7 Abusive Users . . . . . . . . . . . . . . . . . . . . . . 9 2.4.7 Abusive Users . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Other Actors . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 Other Actors . . . . . . . . . . . . . . . . . . . . . . . 9
3. Functional Requirements . . . . . . . . . . . . . . . . . 10 3. Functional Requirements . . . . . . . . . . . . . . . . . 10
3.1 Base Functions . . . . . . . . . . . . . . . . . . . . . . 10 3.1 Base Functions . . . . . . . . . . . . . . . . . . . . . . 10
3.1.1 Mining Prevention . . . . . . . . . . . . . . . . . . . . 10 3.1.1 Mining Prevention . . . . . . . . . . . . . . . . . . . . 10
3.1.2 Minimal Technical Reinvention . . . . . . . . . . . . . . 10 3.1.2 Minimal Technical Reinvention . . . . . . . . . . . . . . 10
3.1.3 Standard and Extensible Schemas . . . . . . . . . . . . . 10 3.1.3 Standard and Extensible Schemas . . . . . . . . . . . . . 10
3.1.4 Level of Access . . . . . . . . . . . . . . . . . . . . . 11 3.1.4 Level of Access . . . . . . . . . . . . . . . . . . . . . 11
3.1.5 Client Processing . . . . . . . . . . . . . . . . . . . . 11 3.1.5 Client Processing . . . . . . . . . . . . . . . . . . . . 12
3.1.6 Entity Referencing . . . . . . . . . . . . . . . . . . . . 11 3.1.6 Entity Referencing . . . . . . . . . . . . . . . . . . . . 12
3.1.7 Decentralization . . . . . . . . . . . . . . . . . . . . . 11 3.1.7 Decentralization . . . . . . . . . . . . . . . . . . . . . 12
3.1.8 Query of Access Permission . . . . . . . . . . . . . . . . 12 3.1.8 Query of Access Permission . . . . . . . . . . . . . . . . 12
3.1.9 Authentication Distribution . . . . . . . . . . . . . . . 12 3.1.9 Authentication Distribution . . . . . . . . . . . . . . . 12
3.1.10 Base Error Responses . . . . . . . . . . . . . . . . . . . 12 3.1.10 Base Error Responses . . . . . . . . . . . . . . . . . . . 13
3.1.11 Query Distribution . . . . . . . . . . . . . . . . . . . . 13 3.1.11 Query Distribution . . . . . . . . . . . . . . . . . . . . 13
3.2 Domain Specific Functions . . . . . . . . . . . . . . . . 13 3.1.12 Protocol and Schema Versioning . . . . . . . . . . . . . . 14
3.2.1 Lookups . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.13 Relay Bag . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.2 Searches . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 Domain Specific Functions . . . . . . . . . . . . . . . . 14
3.2.3 Serialization Support . . . . . . . . . . . . . . . . . . 15 3.2.1 Lookups . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.4 Result Set Limits . . . . . . . . . . . . . . . . . . . . 15 3.2.2 Searches . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.5 DNS Delegation Referencing . . . . . . . . . . . . . . . . 16 3.2.3 Information Sets . . . . . . . . . . . . . . . . . . . . . 16
3.2.6 Distribution for Domain Registry Types . . . . . . . . . . 17 3.2.4 Serialization Support . . . . . . . . . . . . . . . . . . 17
3.2.7 Data Omission . . . . . . . . . . . . . . . . . . . . . . 17 3.2.5 Result Set Limits . . . . . . . . . . . . . . . . . . . . 17
4. Feature Requirements . . . . . . . . . . . . . . . . . . . 18 3.2.6 DNS Delegation Referencing . . . . . . . . . . . . . . . . 18
4.1 Client Authentication . . . . . . . . . . . . . . . . . . 18 3.2.7 Distribution for Domain Registry Types . . . . . . . . . . 18
4.2 Referrals . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.8 Data Omission . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Common Referral Mechanism . . . . . . . . . . . . . . . . 18 3.2.9 Internationalization . . . . . . . . . . . . . . . . . . . 19
4.4 Structured Queries and Responses . . . . . . . . . . . . . 18 4. Feature Requirements . . . . . . . . . . . . . . . . . . . 21
4.5 Existing Schema Language . . . . . . . . . . . . . . . . . 18 4.1 Client Authentication . . . . . . . . . . . . . . . . . . 21
4.6 Defined Schemas . . . . . . . . . . . . . . . . . . . . . 18 4.2 Referrals . . . . . . . . . . . . . . . . . . . . . . . . 21
5. Internationalization Considerations . . . . . . . . . . . 19 4.3 Common Referral Mechanism . . . . . . . . . . . . . . . . 21
6. IANA Considerations . . . . . . . . . . . . . . . . . . . 20 4.4 Structured Queries and Responses . . . . . . . . . . . . . 21
7. Security Considerations . . . . . . . . . . . . . . . . . 21 4.5 Existing Schema Language . . . . . . . . . . . . . . . . . 21
References . . . . . . . . . . . . . . . . . . . . . . . . 22 4.6 Defined Schemas . . . . . . . . . . . . . . . . . . . . . 21
Author's Address . . . . . . . . . . . . . . . . . . . . . 22 5. Internationalization Considerations . . . . . . . . . . . 22
A. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . 23 6. IANA Considerations . . . . . . . . . . . . . . . . . . . 23
B. Outstanding Issues . . . . . . . . . . . . . . . . . . . . 24 7. Security Considerations . . . . . . . . . . . . . . . . . 24
C. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 25 Normative References . . . . . . . . . . . . . . . . . . . 25
C.1 Forums . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Informative References . . . . . . . . . . . . . . . . . . 26
C.2 Working Group . . . . . . . . . . . . . . . . . . . . . . 25 Author's Address . . . . . . . . . . . . . . . . . . . . . 26
C.3 Contributions . . . . . . . . . . . . . . . . . . . . . . 26 A. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . 27
Intellectual Property and Copyright Statements . . . . . . 27 B. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 28
B.1 Forums . . . . . . . . . . . . . . . . . . . . . . . . . . 28
B.2 Working Group . . . . . . . . . . . . . . . . . . . . . . 28
B.3 Contributions . . . . . . . . . . . . . . . . . . . . . . 29
Intellectual Property and Copyright Statements . . . . . . 30
1. Introduction 1. Introduction
1.1 Background 1.1 Background
The expansion and growth of the Internet has seen the registry The expansion and growth of the Internet has seen the registry
function of a traditionally centralized and managed Network function of a traditionally centralized and managed Network
Information Center become the responsibility of various autonomous, Information Center become the responsibility of various autonomous,
functionally disparate, and globally distributed Internet registries. functionally disparate, and globally distributed Internet registries.
With the broadening number of Internet registries, the uses of their With the broadening number of Internet registries, the uses of their
administrative directory services have expanded from the original and administrative directory services have expanded from the original and
traditional use of the whois [4] protocol to include the use of whois traditional use of the whois [6] protocol to include the use of whois
outside the scope of its specification, formal and informal outside the scope of its specification, formal and informal
definitions of syntax, undocumented security mechanisms, the use of definitions of syntax, undocumented security mechanisms, the use of
other protocols, such as rwhois [3], to fulfill other needs, and other protocols, such as rwhois [5], to fulfill other needs, and
proposals for the use of other technologies such as LDAP [1] and XML. proposals for the use of other technologies such as LDAP [4] and XML.
1.2 Requirements Scope 1.2 Requirements Scope
The scope of the requirements captured in this document relate to the The scope of the requirements captured in this document relate to the
directory services of Internet registries and their related directory services of Internet registries and their related
communities (Section 2.3,Section 2.4, and Section 2.5). This scoping communities (Section 2.3,Section 2.4, and Section 2.5). This scoping
specifically targets the requirements of domain name registries specifically targets the requirements of domain name registries
(Section 2.1) while acknowledging extensibility needs for possible (Section 2.1) while acknowledging extensibility needs for possible
future support of the requirements for other registry (Section 2.2) future support of the requirements for other registry (Section 2.2)
types. The requirements are of both the current use of these types. The requirements are of both the current use of these
directory services and the desired functionality based on input from directory services and the desired functionality based on input from
relevant forums (Appendix C.1). These requirements are not specific relevant forums (Appendix B.1). These requirements are not specific
to any protocol. Terms used in the definition of requirements in to any protocol. Terms used in the definition of requirements in
this document may be found in the glossary (Appendix A). this document may be found in the glossary (Appendix A).
The scope of the requirements in this document are also restricted to The scope of the requirements in this document are also restricted to
access of data from Internet registries. Requirements for access of data from Internet registries. Requirements for
modification, addition, or provisioning of data in Internet modification, addition, or provisioning of data in Internet
registries are out of scope. registries are out of scope.
1.3 Requirements Specification 1.3 Requirements Specification
The requirements captured in this document are for the purpose of The requirements captured in this document are for the purpose of
designing technical specifications. The words used in this document designing technical specifications. The words used in this document
for compliance with RFC2119 [8] do not reference or specify policy for compliance with RFC2119 [3] do not reference or specify policy
and speak only to the capabilities in the derived technology. For and speak only to the capabilities in the derived technology. For
instance, this document may say that the protocol "MUST" support instance, this document may say that the protocol "MUST" support
certain features. An actual service operator is always free to certain features. An actual service operator is always free to
disable it (and then to return an error such as "permission denied".) disable it (and then to return an error such as "permission denied".)
Requirements in this document specifying the capabilities of the Requirements in this document specifying the capabilities of the
protocol required for proper interaction between a client and a protocol required for proper interaction between a client and a
server will be specified with the "MUST/SHOULD" language of RFC2119 server will be specified with the "MUST/SHOULD" language of RFC2119
[8]. This document also contains language relating to the [3]. This document also contains language relating to the
interaction of a client with multiple servers to form a coherent, interaction of a client with multiple servers to form a coherent,
cross-network service. Such service requirements will not be cross-network service. Such service requirements will not be
described using RFC2119 language. described using RFC2119 language.
While individual servers/service operators may not support all
features that the protocol can support, they must respect the
semantics of the protocol queries and responses. For example, a
server should not return referrals if it does not have referent data.
2. Internet Registry Communities 2. Internet Registry Communities
The Internet registries are composed of various communities which The Internet registries are composed of various communities which
provide scope for the requirements in this document. These provide scope for the requirements in this document. These
communities can be generalized into the following categories: communities can be generalized into the following categories:
registries, registrars, implementers, end-users, and other actors. registries, registrars, implementers, end-users, and other actors.
2.1 Domain Name System Registries 2.1 Domain Name System Registries
2.1.1 Domain Registries 2.1.1 Domain Registries
Domain registries are responsible for the registration of domains for Domain registries are responsible for the registration of domains for
use with DNS [2] and forward lookups (i.e. does not include the use with DNS [1] and forward lookups (i.e. does not include the
IN-ADDR.ARPA or IP6.ARPA domains). These registries have typically IN-ADDR.ARPA or IP6.ARPA domains). These registries have typically
served two main domain functions: as the registry for a gTLD or as a served two main domain functions: as the registry for a gTLD or as a
registry for a ccTLD. In some instances, one entity will operate registry for a ccTLD. In some instances, one entity will operate
multiple TLD's, both of the gTLD and ccTLD type. A gTLD or ccTLD multiple TLD's, both of the gTLD and ccTLD type. A gTLD or ccTLD
domain registry operator may be a governmental entity, domain registry operator may be a governmental entity,
non-governmental, non-commercial entity, or a commercial entity. non-governmental, non-commercial entity, or a commercial entity.
Some ccTLD's have second-level domain registrations similar in nature Some ccTLD's have second-level domain registrations similar in nature
to gTLD's or have distinctly separate entities operating second-level to gTLD's or have distinctly separate entities operating second-level
domain registries similar in nature to gTLD's within the ccTLD. domain registries similar in nature to gTLD's within the ccTLD.
skipping to change at page 7, line 29 skipping to change at page 7, line 29
Local Internet Registries (LIR's) and National Internet Registries Local Internet Registries (LIR's) and National Internet Registries
(NIR's) are sub-registries of RIR's and coordinate the same functions (NIR's) are sub-registries of RIR's and coordinate the same functions
of the RIR's for smaller, more specific geographic regions, sovereign of the RIR's for smaller, more specific geographic regions, sovereign
nations, and localities. nations, and localities.
2.2.3 Internet Routing Registries 2.2.3 Internet Routing Registries
Internet Routing Registries are routing policy databases. Their Internet Routing Registries are routing policy databases. Their
purpose is to provide information helpful in administering Internet purpose is to provide information helpful in administering Internet
routers. Frequently, the syntax and contents are defined by RPSL routers. Frequently, the syntax and contents are defined by RPSL
[5]. [7].
IRR's are operated by academic, commercial, governmental, and other IRR's are operated by academic, commercial, governmental, and other
types of organizations, including several of the RIR's. The contents types of organizations, including several of the RIR's. The contents
of the databases vary and reflect the needs of the users directly of the databases vary and reflect the needs of the users directly
served (e.g. an ISP may look up route entries added by their served (e.g. an ISP may look up route entries added by their
customers to decide whether to accept specific route advertisements customers to decide whether to accept specific route advertisements
they receive). they receive).
Unlike RIR and domain registry data, IRR data is often duplicated Unlike RIR and domain registry data, IRR data is often duplicated
between separate organizations. The IRR data has the unique between separate organizations. The IRR data has the unique
skipping to change at page 8, line 10 skipping to change at page 8, line 10
services to register contact information for the purpose of providing services to register contact information for the purpose of providing
a means of incident notification. Using this type of registry, an a means of incident notification. Using this type of registry, an
operators of network resources are provided information for operators of network resources are provided information for
contacting the operator of another network resource from which an contacting the operator of another network resource from which an
incident may be occurring. incident may be occurring.
2.2.5 Network Edge Resource Registries 2.2.5 Network Edge Resource Registries
Network edge resource registries provide specific information about Network edge resource registries provide specific information about
"edge" resources. They are administered by the operators of the "edge" resources. They are administered by the operators of the
resources. Examples of such registries are rwhois [3] servers resources. Examples of such registries are rwhois [5] servers
operated by networks to describe the assignment of address space operated by networks to describe the assignment of address space
allocated by RIR's or LIR's and whois [4] servers operated by allocated by RIR's or LIR's and whois [6] servers operated by
networks to specifically announce routing policy of that network. networks to specifically announce routing policy of that network.
2.3 Implementers 2.3 Implementers
Implementers of client software are often either affiliated with Implementers of client software are often either affiliated with
large network operators, registry operators, or commercial entities large network operators, registry operators, or commercial entities
offering value-added services, or are general citizens of the offering value-added services, or are general citizens of the
Internet. Much of the client software for use with the directory Internet. Much of the client software for use with the directory
services of Internet registries is either freely available, open services of Internet registries is either freely available, open
source, or both, or available as a service. Implementers of server source, or both, or available as a service. Implementers of server
skipping to change at page 9, line 45 skipping to change at page 9, line 45
activities that are counter to the acceptable use of the information activities that are counter to the acceptable use of the information
as intended by a registry, registrar, or registrant. Many times, as intended by a registry, registrar, or registrant. Many times,
these practices violate law in the jurisdiction of the user, these practices violate law in the jurisdiction of the user,
registry, registrar, or registrant. One example is the use of registry, registrar, or registrant. One example is the use of
Internet registry information for the use of sending unsolicited bulk Internet registry information for the use of sending unsolicited bulk
or commercial email. or commercial email.
2.5 Other Actors 2.5 Other Actors
Requirements must also consider the positions and policies of other Requirements must also consider the positions and policies of other
actors on the use of Internet registry directory services by other actors on the use of Internet registry directory services. These
actors. These actors include governments, non-governmental actors include governments, non-governmental policy-setting bodies,
policy-setting bodies, and other non-governmental organizations. and other non-governmental organizations.
3. Functional Requirements 3. Functional Requirements
Functional requirements describe an overall need or process for which Functional requirements describe an overall need or process for which
the directory service is used by an Internet registry to fulfill its the directory service is used by an Internet registry to fulfill its
obligations to provide access to its respective customers, members, obligations to provide access to its respective customers, members,
or other constituents. This section describes requirements in the or other constituents. This section describes requirements in the
manner specified in Section 1.3. manner specified in Section 1.3.
3.1 Base Functions 3.1 Base Functions
skipping to change at page 10, line 34 skipping to change at page 10, line 34
amount of data that may be returned in a fixed time period from a amount of data that may be returned in a fixed time period from a
server to a client. This will most likely be especially true for server to a client. This will most likely be especially true for
anonymous access uses (see Section 3.1.4). anonymous access uses (see Section 3.1.4).
The limits placed on differing types of data or applied depending The limits placed on differing types of data or applied depending
upon access status will most likely differ from server to server upon access status will most likely differ from server to server
based on policy and need. Support for varying service models in the based on policy and need. Support for varying service models in the
effort to limit data and prevent data mining may or may not have a effort to limit data and prevent data mining may or may not have a
direct impact on the client-to-server protocol. direct impact on the client-to-server protocol.
Section 3.2.4 also contains protocol requirements which are relevant Section 3.2.5 also contains protocol requirements which are relevant
to client/server interaction in certain domain registry service to client/server interaction in certain domain registry service
models. models.
3.1.2 Minimal Technical Reinvention 3.1.2 Minimal Technical Reinvention
The protocol MUST NOT employ unique technology solutions for all The protocol MUST NOT employ unique technology solutions for all
aspects and layers above the network and transport layers and SHOULD aspects and layers above the network and transport layers and SHOULD
make use of existing technology standards where applicable. The make use of existing technology standards where applicable. The
protocol MUST employ the use of network and transport layer standards protocol MUST employ the use of network and transport layer standards
as defined by the Internet Engineering Task Force. The protocol MUST as defined by the Internet Engineering Task Force. The protocol MUST
define one or more transport mechanisms for mandatory implementation. define one or more transport mechanisms for mandatory implementation.
3.1.3 Standard and Extensible Schemas 3.1.3 Standard and Extensible Schemas
3.1.3.1 Protocol Requirement
The protocol MUST contain standard schemas for the exchange of data The protocol MUST contain standard schemas for the exchange of data
needed to implement the functionality in this document. In addition, needed to implement the functionality in this document. In addition,
there MUST be a means to allow the use of schemas not defined by the there MUST be a means to allow the use of schemas not defined by the
needs of this document. Both types of schemas MUST use the same needs of this document. Both types of schemas MUST use the same
schema language. The schemas MUST be able to express data elements schema language. The schemas MUST be able to express data elements
with identifying tags for the purpose of localization of the meaning with identifying tags for the purpose of localization of the meaning
of the identifying tags. of the identifying tags.
3.1.3.2 Service Description
The client-to-server protocol must define a standard set of data
structures or schemas to be used when exchanging information. It
must also poses the ability to allow for the use of newer data
structures that are currently nor foreseen by this specification. In
both cases, the description and specification of both types of data
structures or schemas must be done in the same way (i.e. the same
schema language).
The schemas must also be capable of "tagging" data with a unique
identifier. This identifier can then be used to localize the name of
that type of data. For instance, a piece of data may have the value
"Bob" and its type identified with the number "5.1". Client software
could use this to display "Name: Bob" in an English locale or
"Nombre: Bob" in a Spanish locale.
3.1.4 Level of Access 3.1.4 Level of Access
3.1.4.1 Protocol Requirement 3.1.4.1 Protocol Requirement
The protocol MUST NOT prohibit an operator from granularly assigning The protocol MUST NOT prohibit an operator from granularly assigning
multiple types of access to data according to the policies of the multiple types of access to data according to the policies of the
operator. The protocol MUST provide an authentication mechanism and operator. The protocol MUST provide an authentication mechanism and
MUST NOT prohibit an operator from granting types of access based on MUST NOT prohibit an operator from granting types of access based on
authentication. authentication.
skipping to change at page 13, line 35 skipping to change at page 14, line 5
participants in an established mesh of server operators. It is not a participants in an established mesh of server operators. It is not a
requirement that the protocol enable the discovery of servers, but requirement that the protocol enable the discovery of servers, but
cooperating servers should be able to intelligently handle cooperating servers should be able to intelligently handle
distribution with its established mesh. Individual server operators distribution with its established mesh. Individual server operators
will respond to all queries received according to their policies for will respond to all queries received according to their policies for
authentication, privacy, and performance. authentication, privacy, and performance.
However, the ability to operate a CRISP compliant server must not However, the ability to operate a CRISP compliant server must not
require the participation in any query distribution system. require the participation in any query distribution system.
3.1.12 Protocol and Schema Versioning
3.1.12.1 Protocol Requirements
The protocol MUST provide a means by which the end-systems can either
identify or negotiate over the protocol version to be used for any
query or set of queries.
All resource-specific schema MUST provide a version identifier
attribute which uniquely and unambiguously identifies the version of
the schema being returned in the answer set to a query.
3.1.12.2 Service Description
The service should allow end-systems using different protocol
versions to fallback to a mutually supported protocol version. If
this is not possible, the service must provide a meaningful error
which indicates that this is the specific case.
The service must suggest negotiation and/or recovery mechanisms for
clients to use when an unknown schema version is received.
3.1.13 Relay Bag
3.1.13.1 Protocol Requirement
When issuing a referral, the protocol MUST be capable of supplying a
relay bag from the server to the client, and the protocol MUST be
capable of allowing the client to submit this relay bag with a query
to the referred server. The use of the relay bag MUST be OPTIONAL.
The protocol MUST NOT make any assumptions regarding the contents of
the relay bag, but the relay bag MUST be described using the schema
language of the protocol.
3.1.13.2 Service Description
In some models where service coordination among participating server
operators is utilized, there might be needs to allow a referring
server to pass operator-to-operator coordination data along with the
referral to the referent server. Such needs might be auditing or
tracking. This feature requirement allows a server to pass to the
client a flexible container of unspecified data ("bag") that the
client should pass to the referent server. The bag has no meaning to
the client.
3.2 Domain Specific Functions 3.2 Domain Specific Functions
These functions describe requirements specifically needed by domain These functions describe requirements specifically needed by domain
registries (Section 2.1.1) and domain registrars (Section 2.1.2). registries (Section 2.1.1) and domain registrars (Section 2.1.2).
Requirements specific to other registries (Section 2.2) MUST be Requirements specific to other registries (Section 2.2) MUST be
specified separately. No compliant server operator is required to specified separately. No compliant server operator is required to
support the functions required by every registry type. support the functions required by every registry type.
3.2.1 Lookups 3.2.1 Lookups
3.2.1.1 Protocol Requirement 3.2.1.1 Protocol Requirement
The protocol MUST contain the following lookup functions: The protocol MUST contain the following lookup functions:
1. Contact lookup given a unique reference to a contact of a 1. Contact lookup given a unique reference to a contact of a
resource. resource.
2. Nameserver lookup given a fully-qualified host name or IP address 2. Nameserver lookup given a fully-qualified host name or IP address
of a nameserver. of a nameserver.
3. Domain lookup given a fully-qualified domain name. The protocol 3. Domain lookup given a fully-qualified domain name.
MUST be capable of supplying the following information relevant
to the domain for this lookup:
* activation status
* registrant
* nameservers
* technical, billing or other contacts
* registry delegating the domain
* registrar for the domain
The data set for the domain MUST be able to express arbitrary
textual information for extensions on an individual operator
basis. Examples of such information are license agreements,
authorized use policies, extended status notifications,
marketing/for sale notices, and URI references to other sources.
The data sets for contacts, nameservers, and domains MUST be able to See Section 3.2.3 for the requirements regarding the expected return
express and represent the attributes and allowable values of values.
registration requests in domain registration and provisioning
protocols.
3.2.1.2 Service Description 3.2.1.2 Service Description
These lookups are all single index queries and should produce zero or These lookups are all single index queries and should produce zero or
only one result. only one result.
Depending on the policy and need of an Internet registry, a server Depending on the policy and need of an Internet registry, a server
operator may not allow all or any of these lookups to return part or operator may not allow all or any of these lookups to return part or
all of the information. See Section 3.1.4. all of the information. See Section 3.2.3.
3.2.2 Searches 3.2.2 Searches
3.2.2.1 Protocol Requirement 3.2.2.1 Protocol Requirement
The protocol MUST contain the following search functions: The protocol MUST contain the following search functions:
1. Domain name search given an exact match or reasonable subset of a 1. Domain name search given an exact match or reasonable subset of a
name. This search SHOULD allow for parameters and qualifiers name. This search SHOULD allow for parameters and qualifiers
designed to allow better matching of internationalized domain designed to allow better matching of internationalized domain
skipping to change at page 15, line 18 skipping to change at page 16, line 10
means to narrow the search by names delegated under a particular means to narrow the search by names delegated under a particular
TLD. TLD.
2. Domain registrant search by either exact name or partial name 2. Domain registrant search by either exact name or partial name
match with the ability to narrow the search to registrants of a match with the ability to narrow the search to registrants of a
particular TLD. particular TLD.
3. Domains hosted by a nameserver given the fully-qualified host 3. Domains hosted by a nameserver given the fully-qualified host
name or IP address of a nameserver. name or IP address of a nameserver.
The data sets for contacts, nameservers, and domains MUST be able to See Section 3.2.3 for the requirements regarding the expected return
express and represent the attributes and allowable values of values.
registration requests in domain registration and provisioning
protocols. The data set for domains MUST be capable of supplying the
values specified in Section 3.2.1.
3.2.2.2 Service Description 3.2.2.2 Service Description
Depending on the policy and need of an Internet registry, a server Depending on the policy and need of an Internet registry, a server
operator may not allow all or any of these searches to return part or operator may not allow all or any of these searches to return part or
all of the information. See Section 3.1.4. Access to information all of the information. See Section 3.1.4. Access to information
resulting from these searches may also be limited, depending on resulting from these searches may also be limited, depending on
policy, by quantity. Section 3.2.4 describes these types of policy, by quantity. Section 3.2.5 describes these types of
restrictions. restrictions.
Some Internet registries may also be participating in a query Some Internet registries may also be participating in a query
distribution system. See Section 3.1.11. distribution system. See Section 3.1.11.
3.2.3 Serialization Support 3.2.3 Information Sets
3.2.3.1 Protocol Requirements
The data sets for contacts, nameservers, and domains MUST be able to
express and represent the attributes and allowable values of
registration requests in domain registration and provisioning
protocols.
The schema MUST be capable of expressing the following information
for domains:
o activation status
o registrant
o nameservers
o technical, billing or other contacts
o registry delegating the domain
o registrar for the domain
The data set for domains MUST be able to express arbitrary textual
information for extensions on an individual operator basis. Examples
of such information are license agreements, authorized use policies,
extended status notifications, marketing/for sale notices, and URI
references to other sources.
3.2.3.2 Service Description
It is not expected that every Internet registry supply all of the
information spelled out above, however the schemas employed by the
protocol must be capable of expressing this information should a
registry need to provide it.
The following sections describe requirements relative to the use of
schemas with respect to individual registry need and policy:
o Section 3.2.8
o Section 3.2.5
o Section 3.1.4
o Section 3.1.1
3.2.4 Serialization Support
The schemas used by the protocol SHOULD be capable of off-line The schemas used by the protocol SHOULD be capable of off-line
serialization serialization
Off-line serialization allows for implementation independent Off-line serialization allows for implementation independent
operations such as backup and recovery, load-balancing, etc. This operations such as backup and recovery, load-balancing, etc. This
MAY also make possible, in whole or in part, data escrow capabilities MAY also make possible, in whole or in part, data escrow capabilities
and other usages, however such usages are out of the scope of this and other usages, however such usages are out of the scope of this
document. document.
3.2.4 Result Set Limits 3.2.5 Result Set Limits
3.2.4.1 Protocol Requirement 3.2.5.1 Protocol Requirement
The protocol MUST contain a feature, used at the discretion of a The protocol MUST contain a feature, used at the discretion of a
server operator, to allow a server to express to a client a limit on server operator, to allow a server to express to a client a limit on
the number of results from searches and lookups. When returning the number of results from searches and lookups. When returning
result sets, the protocol MUST be able to make the following result sets, the protocol MUST be able to make the following
distinctions: distinctions:
1. an empty result set. 1. an empty result set.
2. a result set truncated for the purpose of improving performance 2. a result set truncated for the purpose of improving performance
bottlenecks. bottlenecks.
3. a result set truncated to comply with Section 3.1.1 3. a result set truncated to comply with Section 3.1.1
3.2.4.2 Service Description 3.2.5.2 Service Description
Client software will operate more usefully if it can understand Client software will operate more usefully if it can understand
reasons for the truncation of result sets. Of course, some Internet reasons for the truncation of result sets. Of course, some Internet
registries may not be able to expose their policies for the limiting registries may not be able to expose their policies for the limiting
of result sets, but, when it is possible, clients will have a better of result sets, but, when it is possible, clients will have a better
operational view. This may eliminate re-queries and other repeated operational view. This may eliminate re-queries and other repeated
actions that are not desirable. actions that are not desirable.
3.2.5 DNS Delegation Referencing 3.2.6 DNS Delegation Referencing
3.2.5.1 Protocol Requirement 3.2.6.1 Protocol Requirement
The protocol MUST use the delegation authority model available in DNS The protocol MUST use the delegation authority model available in DNS
[2] as the primary means for determining the authoritative source for [1] as the primary means for determining the authoritative source for
information regarding domains or any other objects when applicable. information regarding domains or any other objects when applicable.
3.2.5.2 Service Description 3.2.6.2 Service Description
The intent of this requirement is to have clients use the DNS The intent of this requirement is to have clients use the DNS
delegation model to find servers authoritative for resources instead delegation model to find servers authoritative for resources instead
of using a master or central server containing pointer information. of using a master or central server containing pointer information.
In other words, when a resource is naturally mapped by DNS, the In other words, when a resource is naturally mapped by DNS, the
desired behavior is to consult the DNS to find an authoritative desired behavior is to consult the DNS to find an authoritative
server containing information about that resource. Using server containing information about that resource. Using
'example.com', the authoritative server for information about 'example.com', the authoritative server for information about
example.com according to the registrant of that domain may be found example.com according to the registrant of that domain may be found
by querying the DNS zone for example.com. To find the registry by querying the DNS zone for example.com. To find the registry
information for example.com, the DNS zone for com should be queried. information for example.com, the DNS zone for com should be queried.
There are cases where resources will not naturally map into the DNS There are cases where resources will not naturally map into the DNS
delegation hierarchy. This requirement is not meant to force such a delegation hierarchy. This requirement is not meant to force such a
mapping. mapping.
3.2.6 Distribution for Domain Registry Types 3.2.7 Distribution for Domain Registry Types
3.2.6.1 Protocol Requirement 3.2.7.1 Protocol Requirement
The protocol MUST NOT prohibit the distribution of data to exclude The protocol MUST NOT prohibit the distribution of data to exclude
any of the registry/registrar models stated in Section 2.1.1. The any of the registry/registrar models stated in Section 2.1.1. The
protocol MUST be capable of expressing referrals and entity protocol MUST be capable of expressing referrals and entity
references between the various models described in Section 2.1.1. references between the various models described in Section 2.1.1.
3.2.6.2 Service Description 3.2.7.2 Service Description
Depending on the domain registry/registrar model in use, technical Depending on the domain registry/registrar model in use, technical
data for a domain may only reside in one server while contact data data for a domain may only reside in one server while contact data
for the same domain may only reside in a server operated by a for the same domain may only reside in a server operated by a
separate entity. However, in manmy uses, this is not the situation. separate entity. However, in many uses, this is not the situation.
Therefore, the service must accommodate for the various registration Therefore, the service must accommodate for the various registration
distribution models of domain registry types described in Section distribution models of domain registry types described in Section
2.1.1 while complying with Section 3.1.7. 2.1.1 while complying with Section 3.1.7.
3.2.7 Data Omission 3.2.8 Data Omission
3.2.7.1 Protocol Requirement 3.2.8.1 Protocol Requirement
When a value in an answer to a query cannot be given due to policy When a value in an answer to a query cannot be given due to policy
constraints, the protocol MUST be capable of expressing the value in constraints, the protocol MUST be capable of expressing the value in
no less than one of three ways: one of three ways:
1. complete omission of the value without explanation 1. complete omission of the value without explanation
2. an indication that the value cannot be given due to insufficient 2. an indication that the value cannot be given due to insufficient
authorization authorization
3. an indication that the value cannot be given due to privacy 3. an indication that the value cannot be given due to privacy
constraints regardless of authorization status constraints regardless of authorization status
3.2.7.2 Service Description The protocol MAY define other values for this purpose, but MUST
define values defined above at a minimum.
3.2.8.2 Service Description
Internet registries will have varying constraints regarding their Internet registries will have varying constraints regarding their
ability to expose certain types of data, usually social information. ability to expose certain types of data, usually social information.
Server operators must have the ability to accommodate this need while Server operators must have the ability to accommodate this need while
client software will be more useful when provided with proper client software will be more useful when provided with proper
explanations. Therefore, depending on policy, a server operator has explanations. Therefore, depending on policy, a server operator has
a choice between not returning the data at all, signaling a a choice between not returning the data at all, signaling a
permission error, or indicating a privacy constraint. permission error, or indicating a privacy constraint.
3.2.9 Internationalization
The schema defining domain related resources MUST conform to RFC 2277
[2] regarding textual data. In particular, the schema MUST be able
to indicate the charset and language in use with unstructured textual
data.
The protocol MUST be able to support multiple representations of
contact data, with these representations complying with the
requirements in Section 3.2.3. The protocol MUST be able to provide
contact data in UTF-8 and SHOULD be able to provide contact data in
US-ASCII, other character sets, and capable of specifying the
language of the data.
4. Feature Requirements 4. Feature Requirements
Feature requirements describe the perceived need derived from the Feature requirements describe the perceived need derived from the
functional requirements for specific technical criteria of the functional requirements for specific technical criteria of the
directory service. This section describes requirements in the manner directory service. This section describes requirements in the manner
specified in Section 1.3. specified in Section 1.3.
4.1 Client Authentication 4.1 Client Authentication
Entities accessing the service (users) MUST be provided a mechanism Entities accessing the service (users) MUST be provided a mechanism
skipping to change at page 19, line 8 skipping to change at page 22, line 8
4.6 Defined Schemas 4.6 Defined Schemas
To provide for machine consumption as well as human consumption, the To provide for machine consumption as well as human consumption, the
protocol MUST define schemas for use by the structured queries and protocol MUST define schemas for use by the structured queries and
responses. responses.
5. Internationalization Considerations 5. Internationalization Considerations
Requirements defined in this document MUST consider the best Requirements defined in this document MUST consider the best
practices spelled out in [6]. practices spelled out in [2].
6. IANA Considerations 6. IANA Considerations
IANA consideration for any service meeting these requirements will IANA consideration for any service meeting these requirements will
depend upon the technologies chosen and MUST be specified by any depend upon the technologies chosen and MUST be specified by any
document describing such a service. document describing such a service.
7. Security Considerations 7. Security Considerations
This document contains requirements for the validation of This document contains requirements for the validation of
skipping to change at page 22, line 5 skipping to change at page 25, line 5
SHOULD take proper care in the safe-guarding of credential SHOULD take proper care in the safe-guarding of credential
information when resolving referrals or entity references according information when resolving referrals or entity references according
to best common practices. to best common practices.
This document contains requirements for the distribution of queries This document contains requirements for the distribution of queries
among a mesh of participating service providers. Protocols proposed among a mesh of participating service providers. Protocols proposed
to meet these requirements must be able to protect against the use of to meet these requirements must be able to protect against the use of
that distribution system as a vector of distributed denial of service that distribution system as a vector of distributed denial of service
attacks or unauthorized data mining. attacks or unauthorized data mining.
References Normative References
[1] Wahl, M., Howes, T. and S. Kille, "Lightweight Directory Access
Protocol (v3)", RFC 2251, December 1997.
[2] Mockapetris, P., "Domain names - implementation and [1] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987. specification", STD 13, RFC 1035, November 1987.
[3] Williamson, S., Kosters, M., Blacka, D., Singh, J. and K. [2] Alvestrand, H., "IETF Policy on Character Sets and Languages",
BCP 18, RFC 2277, January 1998.
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
Informative References
[4] Wahl, M., Howes, T. and S. Kille, "Lightweight Directory Access
Protocol (v3)", RFC 2251, December 1997.
[5] Williamson, S., Kosters, M., Blacka, D., Singh, J. and K.
Zeilstra, "Referral Whois (RWhois) Protocol V1.5", RFC 2167, Zeilstra, "Referral Whois (RWhois) Protocol V1.5", RFC 2167,
June 1997. June 1997.
[4] Harrenstien, K., Stahl, M. and E. Feinler, "NICNAME/WHOIS", RFC [6] Harrenstien, K., Stahl, M. and E. Feinler, "NICNAME/WHOIS", RFC
954, October 1985. 954, October 1985.
[5] Alaettinoglu, C., Villamizar, C., Gerich, E., Kessens, D., [7] Alaettinoglu, C., Villamizar, C., Gerich, E., Kessens, D.,
Meyer, D., Bates, T., Karrenberg, D. and M. Terpstra, "Routing Meyer, D., Bates, T., Karrenberg, D. and M. Terpstra, "Routing
Policy Specification Language (RPSL)", RFC 2622, June 1999. Policy Specification Language (RPSL)", RFC 2622, June 1999.
[6] Alvestrand, H., "IETF Policy on Character Sets and Languages", URIs
BCP 18, RFC 2277, January 1998.
[7] Eastlake, D., "Domain Name System Security Extensions", RFC
2535, March 1999.
[8] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[9] <http://www.ietf.org/proceedings/00dec/00dec-41.htm> [8] <http://www.ietf.org/proceedings/00dec/00dec-41.htm>
[10] <http://www.ietf.org/proceedings/01aug/51-40.htm> [9] <http://www.ietf.org/proceedings/01aug/51-40.htm>
[11] <http://www.uwho.verisignlabs.com/ [10] <http://www.uwho.verisignlabs.com/
Final-WhoIsPanel-Aug15-Resume.pdf> Final-WhoIsPanel-Aug15-Resume.pdf>
[12] <http://www.ripe.net/ripe/meetings/archive/ripe-40/minutes/ [11] <http://www.ripe.net/ripe/meetings/archive/ripe-40/minutes/
min_database.html> min_database.html>
[13] <http://www.nanog.org/mtg-0110/lookup.html> [12] <http://www.nanog.org/mtg-0110/lookup.html>
Author's Address Author's Address
Andrew L. Newton Andrew L. Newton
VeriSign, Inc. VeriSign, Inc.
21355 Ridgetop Circle 21355 Ridgetop Circle
Sterling, VA 20166 Sterling, VA 20166
USA USA
Phone: +1 703 948 3382 Phone: +1 703 948 3382
EMail: anewton@ecotroph.net EMail: anewton@verisignlabs.com; anewton@ecotroph.net
URI: http://zak.ecotroph.net/pea
Appendix A. Glossary Appendix A. Glossary
o TLD: Initials for "top level domain." Referes to domains in DNS o TLD: Initials for "top level domain." Referes to domains in DNS
[2]that are hierarchically at the level just beneath the root. [1]that are hierarchically at the level just beneath the root.
o ccTLD: Initials for "country code top level domain." TLD's which o ccTLD: Initials for "country code top level domain." TLD's which
use one of the two character country codes defined by ISO. use one of the two character country codes defined by ISO.
o gTLD: Initials for "generic top level domain." TLD's that do not o gTLD: Initials for "generic top level domain." TLD's that do not
use one of the two character country codes defined by ISO. use one of the two character country codes defined by ISO.
o social data: Data containing names and contact information (i.e. o social data: Data containing names and contact information (i.e.
postal addresses, phone numbers, e-mail addresses) of humans or postal addresses, phone numbers, e-mail addresses) of humans or
legal entities. legal entities.
skipping to change at page 25, line 5 skipping to change at page 29, line 5
o reverse lookup: a DNS lookup where an IP address is resolved to a o reverse lookup: a DNS lookup where an IP address is resolved to a
domain name. domain name.
o mining: In the context of this document, this term is specific to o mining: In the context of this document, this term is specific to
data mining. This is a methodical process to obtain the contents data mining. This is a methodical process to obtain the contents
of directory service, usually as much as possible, not relevant to of directory service, usually as much as possible, not relevant to
any immediate need. Data mining is often not a practice welcomed any immediate need. Data mining is often not a practice welcomed
by registry operators. by registry operators.
Appendix B. Outstanding Issues Appendix B. Acknowledgements
The following outstanding issues have been discussed and have been
assigned contributors to put forward proposed text.
o Query Distribution and Non-generic Query Referrals - The working
group has discussed issues surrounding query referrals and their
impact on certain classes of servers in a query referral mesh.
Proposals have been suggested for a robust referral mechanism and
a separate transaction token-passing system to provide a means to
solving this class of problems.
o Internationalization - Because of Internationalized Domain Names
(IDN's), it has been suggested that the requirements surrounding
the support for them be further defined and more specific.
Appendix C. Acknowledgements
C.1 Forums B.1 Forums
The proceedings of the following public forums were used as input to The proceedings of the following public forums were used as input to
the scope and requirements for this document: the scope and requirements for this document:
o whois BOF of the 49th IETF [9]; December 10-15, 2000; San Diego, o whois BOF of the 49th IETF [8]; December 10-15, 2000; San Diego,
CA, USA CA, USA
o whoisfix BOF of the 51st IETF [10]; August 5-10, 2001; London, o whoisfix BOF of the 51st IETF [9]; August 5-10, 2001; London,
England England
o First UWho Consultation [11]; August 15, 2001; Washington, DC, USA o First UWho Consultation [10]; August 15, 2001; Washington, DC, USA
o Second UWho Consultation; November 15, 2001; Marina del Rey, CA, o Second UWho Consultation; November 15, 2001; Marina del Rey, CA,
USA USA
o Third UWho Consultation; November 19, 2001; Washington, DC, USA o Third UWho Consultation; November 19, 2001; Washington, DC, USA
o DNR WG of RIPE 40, October 1-5, 2001; Praque, Czech Republic o DNR WG of RIPE 40, October 1-5, 2001; Praque, Czech Republic
o Database WG of RIPE 40 [12]; October 1-5, 2001; Praque, Czech o Database WG of RIPE 40 [11]; October 1-5, 2001; Praque, Czech
Republic Republic
o General Session of NANOG 23 [13]; October 21-23; Oakland, CA, USA o General Session of NANOG 23 [12]; October 21-23; Oakland, CA, USA
o DNR WG of RIPE 41, January 14-18, 2002; Amsterdam, The Netherlands o DNR WG of RIPE 41, January 14-18, 2002; Amsterdam, The Netherlands
o Database WG of RIPE 41, January 14-18, 2002; Amsterdam, The o Database WG of RIPE 41, January 14-18, 2002; Amsterdam, The
Netherlands Netherlands
o NANOG 24 Universal Whois BOF, February 10-12, 2002; Miami, Florida o NANOG 24 Universal Whois BOF, February 10-12, 2002; Miami, Florida
o CENTR General Assembly, February 21-22, 2002; Rambouillet, France o CENTR General Assembly, February 21-22, 2002; Rambouillet, France
o CRISP BOF of the 53rd IETF, March 17-22, 2002, Minneapolis, o CRISP BOF of the 53rd IETF, March 17-22, 2002, Minneapolis,
Minnesota, USA Minnesota, USA
C.2 Working Group B.2 Working Group
This document is a work item of the Cross-Registry Internet Service This document is a work item of the Cross-Registry Internet Service
Protocol (CRISP) Working Group in the Applications Area of the IETF. Protocol (CRISP) Working Group in the Applications Area of the IETF.
Discussions for this working group are held on the email list Discussions for this working group are held on the email list
ietf-not43@lists.verisignlabs.com. To subscribe to this email list, ietf-not43@lists.verisignlabs.com. To subscribe to this email list,
send email to ietf-not43-request@lists.verisignlabs.com with a send email to ietf-not43-request@lists.verisignlabs.com with a
subject line of "subscribe". Archives of this list may be found out subject line of "subscribe". Archives of this list may be found out
http://lists.verisignlabs.com/pipermail/ietf-not43/. http://lists.verisignlabs.com/pipermail/ietf-not43/.
C.3 Contributions B.3 Contributions
Comments, suggestions, and feedback of significant substance have Comments, suggestions, and feedback of significant substance have
been provided by Leslie Daigle, Mark Kosters, Ted Hardie, Shane Kerr, been provided by Leslie Daigle, Mark Kosters, Ted Hardie, Shane Kerr,
Cathy Murphy, Stephane Bortzmeyer, Rick Wesson, Jaap Akkerhuis, Eric Cathy Murphy, Stephane Bortzmeyer, Rick Wesson, Jaap Akkerhuis, Eric
Hall, Patrick Mevzek, Marcos Sanz, and Vittorio Bertola. Hall, Patrick Mevzek, Marcos Sanz, and Vittorio Bertola.
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to intellectual property or other rights that might be claimed to
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/