One document matched: draft-ietf-crisp-iris-dreg-01.txt
Differences from draft-ietf-crisp-iris-dreg-00.txt
Network Working Group A. Newton
Internet-Draft VeriSign, Inc.
Expires: May 5, 2003 November 04, 2002
IRIS Domain Registry Schema
draft-ietf-crisp-iris-dreg-01
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 May 5, 2003.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This document describes an IRIS (draft-ietf-crisp-iris-core-01.txt )
registry schema for registered DNS information. The schema extends
the necessary query and result operations of IRIS to provide the
functional information service needs for syntaxes and results used by
domain registries and registrars.
Newton Expires May 5, 2003 [Page 1]
Internet-Draft iris-dreg November 2002
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Document Terminology . . . . . . . . . . . . . . . . . . . . 4
3. Schema Description . . . . . . . . . . . . . . . . . . . . . 5
3.1 Query Derivatives . . . . . . . . . . . . . . . . . . . . . 5
3.1.1 <listRegistrars> Query . . . . . . . . . . . . . . . . . . . 5
3.1.2 <findDomainsByRegistrant> Query . . . . . . . . . . . . . . 5
3.1.3 <findDomainsByName> Query . . . . . . . . . . . . . . . . . 5
3.1.4 <findContacts> Query . . . . . . . . . . . . . . . . . . . . 6
3.1.5 <findDomainsByHost> Query . . . . . . . . . . . . . . . . . 6
3.2 Result Derivatives . . . . . . . . . . . . . . . . . . . . . 6
3.2.1 <domain> Result . . . . . . . . . . . . . . . . . . . . . . 6
3.2.2 <host> Result . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.3 <contact> Result . . . . . . . . . . . . . . . . . . . . . . 9
3.2.4 <registrationAuthority> . . . . . . . . . . . . . . . . . . 10
3.3 Generic Code Derivatives . . . . . . . . . . . . . . . . . . 11
3.4 Support for <iris:lookupEntity> . . . . . . . . . . . . . . 11
4. Domain Registry Width . . . . . . . . . . . . . . . . . . . 12
4.1 "Thick" . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 "Thin" . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5. Formal XML Syntax . . . . . . . . . . . . . . . . . . . . . 14
6. BEEP Transport Compliance . . . . . . . . . . . . . . . . . 25
6.1 Message Pattern . . . . . . . . . . . . . . . . . . . . . . 25
6.2 Authority Resolution . . . . . . . . . . . . . . . . . . . . 25
6.3 Server Authentication . . . . . . . . . . . . . . . . . . . 25
7. Internationalization Considerations . . . . . . . . . . . . 26
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . 27
9. Security Considerations . . . . . . . . . . . . . . . . . . 28
References . . . . . . . . . . . . . . . . . . . . . . . . . 29
Author's Address . . . . . . . . . . . . . . . . . . . . . . 30
A. An Example Request and Response . . . . . . . . . . . . . . 31
B. An Example Database Serialization . . . . . . . . . . . . . 34
Full Copyright Statement . . . . . . . . . . . . . . . . . . 37
Newton Expires May 5, 2003 [Page 2]
Internet-Draft iris-dreg November 2002
1. Introduction
This document describes an IRIS registry schema for Internet domain
registries using an XML Schema [4] derived from and using the IRIS
[5] schema. The query and result types outlined in this document are
based on the functional requirements described in CRISP [11].
The schema given is this document is specified using the Extensible
Markup Language (XML) 1.0 as described in XML [1], XML Schema
notation as described in XML_SD [3] and XML_SS [4], and XML
Namespaces as described in XML_NS [2].
Newton Expires May 5, 2003 [Page 3]
Internet-Draft iris-dreg November 2002
2. Document Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [13].
Newton Expires May 5, 2003 [Page 4]
Internet-Draft iris-dreg November 2002
3. Schema Description
IRIS requires the derivation of both query and result elements by a
registry schemas. These descriptions follow.
References to XML elements with no namespace qualifier are from the
schema defined in Section 5. References to elements with the "iris"
XML namespace qualifier are from the schema defined in IRIS [5].
The descriptions contained within this section refer to XML elements
and attributes and their relation to the exchange of data within the
protocol. These descriptions also contain specifications outside the
scope of the formal XML syntax. Therefore, this section will use
terms defined by RFC 2119 [13] to describe the specification outside
the scope of the formal XML syntax. While reading this section,
please reference Section 5 for needed details on the formal XML
syntax.
3.1 Query Derivatives
3.1.1 <listRegistrars> Query
This query MUST return a result set of <registrationAuthority>
elements. See Section 3.2.4.
3.1.2 <findDomainsByRegistrant> Query
<findDomainsByRegistrant> finds a domains by searches on fields
associated with the domain's registrant. A search constraint of
<baseDomain> MUST restrict the results to domains only underneath the
domain specified by its content if it is present. The <field>
element contains the name of the field associated with the registrant
to be used in the search. See for the list of allowable content for
this element. The <beginsWith> element may be used to specify the
beginning part of the <field> target. The <endsWith> element may be
used to specify the ending part of the <field> target.
3.1.3 <findDomainsByName> Query
The <findDomainsByName> query finds a domains by the name of the
domain as it is known in DNS. A search constraint of <baseDomain>
MUST restrict the results to domains only underneath the domain
specified by its content if it is present. The <beginsWith>
specifies the beginning of the domain name. The <endsWith> element
specifies the end of the domain name.
Newton Expires May 5, 2003 [Page 5]
Internet-Draft iris-dreg November 2002
3.1.4 <findContacts> Query
<findContacts> searches for contacts given search constraints. The
<field> element specifies the data of the contact to be used to
narrow the search. See Section 3.2.3 for the allowable content of
this element. The <beginsWith> element specifies the beginning part
of the <field> target. The <endsWith> specifies the end part of the
<field> target.
3.1.5 <findDomainsByHost> Query
This query does a simple search for the domains being hosted by a
name server. The search is constrained using either the host name,
host handle, IPv4 address, or IPv6 address of the name server.
3.2 Result Derivatives
3.2.1 <domain> Result
The <domain> result represents an instance of a domain assignment.
The children of the <domain> element are as follows:
o <domainName> - the full name of the domain as it is in DNS. The
contents of this element MUST be a domain name as specified by RFC
1035 [12].
o <domainHandle> - a registry unique assigned identifier to a
domain.
o <nameServers> - an element containing multiple children. Each
child is an <iris:entityURI> element as described by IRIS [5].
The referent of each <iris:entityURI> element MUST be a <host>
(Section 3.2.2) result.
o <registrant> - an element containing a <iris:entityURI> reference
to the registrant of this domain. The referent MUST be a
<contact> (Section 3.2.3) result.
o <domainContacts> - an element representing contacts associated
with the domain. Each of its children are <contact> container
elements contains an <iris:entityURI> reference to a <contact>
(Section 3.2.3) result coupled with a <role> element. The <role>
element contains one of the following domain-to-contact
relationships:
* billing
* technical
Newton Expires May 5, 2003 [Page 6]
Internet-Draft iris-dreg November 2002
* administrative
* legal
* zone
* other
o <lastContactModificationDateTime> - specifies the last time a
contact for the domain was added or removed.
o <lastContactModificationBy> - an element with a child of
<iris:entityURI>. The referent is a <contact> (Section 3.2.3)
result responsible for the last addition or removal of a contact
for this domain.
o <activationStatus> - an element specifying the status of the
domain. This element contains one of the following:
* reservedDelegation - permanently inactive
* assignedAndActive - normal state
* assignedAndInactive - new delegation
* assignedAndOnHold - dispute
* revoked - database purge pending
* unspecified
o <delegationReference> - an element containing an <iris:entityURI>
element, the referent of which is a <domain> (Section 3.2.1). The
intention of this element is to point to the downstream delegation
reference. Therefore, if this is a result given back by a domain
registry, it should point to the domain in the domain registrar or
registrant service.
o <registry> - contains a child of <iris:entityURI> specifying the
domain registry operator for this domain represented by a
<registrationAuthority> (Section 3.2.4) result.
o <registrar> - contains a child of <iris:entityURI> specifying the
domain registrar operator for this domain represented by a
<registrationAuthority> (Section 3.2.4).
o <initialDelegationDateTime> - an element containing the date and
time of the initial delegation of this domain.
Newton Expires May 5, 2003 [Page 7]
Internet-Draft iris-dreg November 2002
o <lastRenewalDateTime> - an element containing the date and time of
last renewal of this domain.
o <expirationDateTime> - an element containing the date and time of
the expiration of this domain.
o <lastDelegationModificationDateTime> - an element containing the
date and time of the last time one of the nameservers was added or
removed for the delegation of this domain.
o <lastDelegationModificationBy> - an element with a child of
<iris:entityURI>. The referent MUST be a <contact> (Section
3.2.3) result and be responsible for the last addition or removal
of a nameserver for this domain.
o <lastVerificationDateTime> - an element containing the date and
time of the last time the data for this domain was verified by the
responsible registration authority.
o <iris:seeAlso> - an element containing <iris:entityURI> elements
specifying entities that are indirectly associated with this
domain.
3.2.2 <host> Result
The <host> element represents an instance of a host registration.
The children of the <host> element are as follows:
<hostHandle> - a registry unique assigned identifier for the host.
<hostName> - the fully qualified domain name of the host. The
contents of this element are a domain name and MUST conform to RFC
1035 [12].
<ipV4Addresses> - contains a list of <ipV4Address> elements, the
content of which MUST conform to the a valid IP version 4 host
address as specified by RFC 791 [8].
<ipV6Addresses> - contains a list of <ipV6Address> elements, the
content of which MUST conform to the a valid IP version 6 host
address as specified by RFC 2373 [7].
<hostContact> - a list of <iris:entityURI> elements specifying
contacts associated with this host. The referents MUST be
<contact> (Section 3.2.3) results.
<createdDateTime> - an element containing the date and time this
Newton Expires May 5, 2003 [Page 8]
Internet-Draft iris-dreg November 2002
host was created.
<lastModificationDateTime> - an element containing the date and
time this host was last modified.
<iris:seeAlso> - an element containing <iris:entityURI> elements
specifying entities that are indirectly associated with this host.
3.2.3 <contact> Result
The <contact> element represents an instance of a contact
registration. The children of the <contact> element are as follows:
<contactHandle> - a registry unique assigned identifier for this
contact.
<commonName> - the name of the contact.
<language> - a specification of the language code to use to
localize the data in this result.
<organization> - an element containing the organization name of
the contact.
<eMail> - elements containing the e-mail address for this contact.
<address> - an element containing the street address for this
contact.
<city> - an element containing the city for this contact.
<region> - an element containing the national region for this
contact.
<postalCode> - an element containing the postal code for this
contact.
<country> - an element containing the country for this contact.
<phone> - an element containing the voice phone number for this
contact.
<fax> - an element containing the facsimile phone number for this
contact.
<createdDateTime> - an element containing the date and time this
contact was created.
Newton Expires May 5, 2003 [Page 9]
Internet-Draft iris-dreg November 2002
<lastModificationDateTime> - an element containing the date and
time this contact was last modified.
<lastVerificationDateTime> - an element containing the date and
time this data for this contact was last verified to be correct by
the appropriate registration authority.
<iris:seeAlso> - an element containing <iris:entityURI> elements
specifying entities that are indirectly associated with this
contact.
The "contactSearchFieldType" definition specifies a list of the above
fields allowable to be used for the purpose of narrowing searches
that may yield contact or contact-related results. Searches MUST use
only these fields. The field list is:
o contactHandle
o commonName
o organization
o eMail
o city
o region
o postalCode
o country
3.2.4 <registrationAuthority>
The <registrationAuthority> result represents an entity capable of
registering domains.
The <serviceInstance> element contains an <entityURI> element
pointing to the entity "id" in the entity class "service-definition".
The authority areas found in the referent MUST be domains and are the
domains for which a given registration authority has control.
The <type> child element determines the role in which this
registration authority plays in the process of registering domains.
The intent of this element is to explain the various roles a
registration authority may have with regards to the authority areas
pointed to by the <serviceInstance> element. A client MAY understand
Newton Expires May 5, 2003 [Page 10]
Internet-Draft iris-dreg November 2002
the relationship of a registration authority with respect to a domain
by the placement of the reference in the domain (e.g. <registry> or
<registrar>).
3.3 Generic Code Derivatives
This schema defines only one <genericCode> derivative,
<searchTooWide>. Servers MUST use this error code when a query
capable of using the "contactSearchFieldType" (see Section 3.2.3)
must be narrowed to yield a result.
3.4 Support for <iris:lookupEntity>
The following types of named entities are recognized by the
<lookupEntity> query of IRIS via derivation of the <entityClass>
element:
o host-name - the fully qualified domain name of a nameserver.
Yields a <host> (Section 3.2.2) in the response.
o host-handle - the registry unique identifier given a nameserver.
Yields a <host> (Section 3.2.2) in the response.
o domain-name - the fully qualified name of a domain. Yields a
<domain> (Section 3.2.1) in the response.
o domain-handle - the registry unique identifier given a domain.
Yields a <domain> (Section 3.2.1) in the response.
o contact-handle - the registry unique identifier given a contact.
Yields a <contact> (Section 3.2.3) in the response.
o ipv4-address - the IPv4 address of a nameserver. Yields a <host>
(Section 3.2.2) in the response.
o ipv6-address - the IPv6 address of a nameserver. Yields a <host>
(Section 3.2.2) in the response.
Newton Expires May 5, 2003 [Page 11]
Internet-Draft iris-dreg November 2002
4. Domain Registry Width
As described in CRISP [11], domain registries have differing widths.
Some are "thick" and some are "thin." Regardless of the domain
registry width, it is important for all levels of the hierarchy of
the domain delegation tree to have the same appearance from a schema
perspective. This allows clients to traverse this tree with only the
need to know the fingerprint of a "domain registry" and without the
need to know separate fingerprints for what is a domain registry, a
domain registrar, or even a domain registrant. Therefore, the schema
defined in this document MUST be used at all levels despite the width
of the domain registry model.
However, implementers will need to take into consideration the
instances where search continuations and entity references either
defined in this document or defined as part of the base result, as
defined in IRIS [5], will need to be employed to support the
appropriate registry width. The following sections are only
guidelines and the language specified in Section 2 does not apply and
is not used. Implementers should determine the appropriate results
for their particular implementation as the two following sections are
generalized and may not be appropriate to all models of registries.
All guidelines noted in the following sections are subject to policy
settings of the operators involved.
4.1 "Thick"
For thick registries, searches for and lookups of domains should
result in a <domain> element. This element should contain most of
the contact information if privileges allow for it. To reference the
equivalent domain entity in a registrants service instance, an entity
URI should be returned using the <domainReference> element of the
<domain> object.
Searches for contacts or holders should not yield search
continuations.
4.2 "Thin"
When <domain> elements are returned in a result, thin registries
should also return an entity URI to the equivalent domain entity in
the registrars service instance using the <domainReference> child.
Likewise, when a registrar's service instance returns a <domain>
instance, it SHOULD use the same element to reference the domain
entity in the registrant's service instance, if one is available.
Because thin registries do not contain contact information, certain
searches will yield nothing but search continuations. These are
Newton Expires May 5, 2003 [Page 12]
Internet-Draft iris-dreg November 2002
listed here:
o <findDomainsByRegistrant>
o <findContacts>
o entity lookups in the "contact-handle" class
Because handles for hosts and domains can be assigned by both
registries and registrars, entity lookups in the registry in the
"host-handle" and "domain-handle" classes can yield both a <result>
derivative, in this case <host> and <domain> respectively, and search
continuations.
Newton Expires May 5, 2003 [Page 13]
Internet-Draft iris-dreg November 2002
5. Formal XML Syntax
This registry schema is specified in the XML Schema notation. The
formal syntax presented here is a complete schema representation
suitable for automated validation of an XML instance when combined
with the formal schema syntax of IRIS.
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xmlns:iris="urn:ietf:params:xml:ns:iris1"
targetNamespace="urn:ietf:params:xml:ns:dreg1"
elementFormDefault="qualified" >
<import namespace="urn:ietf:params:xml:ns:iris1" />
<annotation>
<documentation>
Domain registry schema
derived from IRIS schema
</documentation>
</annotation>
<!-- -->
<!-- Query types -->
<!-- -->
<complexType name="listRegistrarsType">
<complexContent>
<extension base="iris:queryType">
<sequence>
<element name="baseDomain"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
</sequence>
</extension>
</complexContent>
</complexType>
<element name="listRegistrars"
type="dreg:listRegistrarsType"
substitutionGroup="iris:query" />
<complexType name="findDomainsByRegistrantType">
<complexContent>
<extension base="iris:queryType">
<sequence>
Newton Expires May 5, 2003 [Page 14]
Internet-Draft iris-dreg November 2002
<element name="baseDomain"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="field"
type="dreg:contactSearchFieldsType" />
<element name="beginsWith"
minOccurs="0" maxOccurs="1">
<simpleType>
<restriction base="token">
<minLength value="3"/>
</restriction>
</simpleType>
</element>
<element name="endsWith"
minOccurs="0" maxOccurs="1">
<simpleType>
<restriction base="token">
<minLength value="2"/>
</restriction>
</simpleType>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="findDomainsByRegistrant"
type="dreg:findDomainsByRegistrantType"
substitutionGroup="iris:query" />
<complexType name="findDomainsByNameType">
<complexContent>
<extension base="iris:queryType">
<sequence>
<element name="baseDomain"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="beginsWith"
minOccurs="1" maxOccurs="1" >
<simpleType>
<restriction base="token">
<minLength value="3"/>
</restriction>
</simpleType>
</element>
<element name="endsWith"
minOccurs="0" maxOccurs="1" >
<simpleType>
Newton Expires May 5, 2003 [Page 15]
Internet-Draft iris-dreg November 2002
<restriction base="token">
<minLength value="2"/>
</restriction>
</simpleType>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="findDomainsByName"
type="dreg:findDomainsByNameType"
substitutionGroup="iris:query" />
<complexType name="findContactsType">
<complexContent>
<extension base="iris:queryType">
<sequence>
<element name="field"
type="dreg:contactSearchFieldsType" />
<element name="beginsWith"
minOccurs="0" maxOccurs="1" >
<simpleType>
<restriction base="token">
<minLength value="3"/>
</restriction>
</simpleType>
</element>
<element name="endsWith"
minOccurs="0" maxOccurs="1" >
<simpleType>
<restriction base="token">
<minLength value="2"/>
</restriction>
</simpleType>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="findContacts"
type="dreg:findContactsType"
substitutionGroup="iris:query" />
<complexType name="findDomainsByHostType">
<complexContent>
<extension base="iris:queryType">
Newton Expires May 5, 2003 [Page 16]
Internet-Draft iris-dreg November 2002
<choice>
<element name="hostName"
type="normalizedString" />
<element name="hostHandle"
type="normalizedString" />
<element name="ipV4Address"
type="normalizedString" />
<element name="ipV6Address"
type="normalizedString" />
</choice>
</extension>
</complexContent>
</complexType>
<element name="findDomainsByHost"
type="dreg:findDomainsByHostType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Result types -->
<!-- -->
<complexType name="domainType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="domainName"
type="normalizedString" />
<element name="domainHandle"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="nameServers"
minOccurs="1" maxOccurs="1" >
<complexType>
<sequence>
<element ref="iris:entityURI"
minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<element name="registrant"
minOccurs="1" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI"
minOccurs="0" maxOccurs="1" />
</sequence>
</complexType>
Newton Expires May 5, 2003 [Page 17]
Internet-Draft iris-dreg November 2002
</element>
<element name="domainContacts"
minOccurs="1" maxOccurs="1">
<complexType>
<sequence>
<element name="contact"
minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="iris:entityURI" />
<element name="role"
minOccurs="0" maxOccurs="1">
<simpleType>
<restriction base="token">
<enumeration value="billing" />
<enumeration value="technical" />
<enumeration value="administrative" />
<enumeration value="legal" />
<enumeration value="zone" />
<enumeration value="other" />
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="lastContactModificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastContactModificationBy"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI" />
</sequence>
</complexType>
</element>
<element name="activationStatus"
minOccurs="0" maxOccurs="1">
<simpleType>
<restriction base="token">
<enumeration value="reservedDelegation" />
<enumeration value="assignedAndActive" />
<enumeration value="assignedAndInactive" />
<enumeration value="assignedAndOnHold" />
Newton Expires May 5, 2003 [Page 18]
Internet-Draft iris-dreg November 2002
<enumeration value="revoked" />
<enumeration value="unspecified" />
</restriction>
</simpleType>
</element>
<element name="delegationReference"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI" />
</sequence>
</complexType>
</element>
<element name="registry"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI" />
</sequence>
</complexType>
</element>
<element name="registrar"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI"
minOccurs="0" maxOccurs="1" />
</sequence>
</complexType>
</element>
<element name="initialDelegationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastRenewalDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="expirationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastDelegationModificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastDelegationModificationBy"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI" />
</sequence>
Newton Expires May 5, 2003 [Page 19]
Internet-Draft iris-dreg November 2002
</complexType>
</element>
<element name="lastVerificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element ref="iris:seeAlso"
minOccurs="0" maxOccurs="1" />
</sequence>
</extension>
</complexContent>
</complexType>
<element name="domain"
type="dreg:domainType"
substitutionGroup="iris:result" />
<complexType name="hostType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="hostHandle"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="hostName"
type="normalizedString" />
<element name="ipV4Addresses">
<complexType>
<sequence>
<element name="ipV4Address"
type="normalizedString"
minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<element name="ipV6Addresses">
<complexType>
<sequence>
<element name="ipV6Address"
type="normalizedString"
minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<element name="hostContacts">
<complexType>
<sequence>
<element ref="iris:entityURI"
minOccurs="0" maxOccurs="unbounded" />
Newton Expires May 5, 2003 [Page 20]
Internet-Draft iris-dreg November 2002
</sequence>
</complexType>
</element>
<element name="createdDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastModificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastVerificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element ref="iris:seeAlso"
minOccurs="0" maxOccurs="1" />
</sequence>
</extension>
</complexContent>
</complexType>
<element name="host"
type="dreg:hostType"
substitutionGroup="iris:result" />
<complexType name="contactType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="contactHandle"
type="normalizedString" />
<element name="commonName"
type="normalizedString" />
<element name="language"
type="language"
minOccurs="0" maxOccurs="1" />
<element name="organization"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="eMail"
type="string"
minOccurs="0" maxOccurs="2" />
<element name="address"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="city"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="region"
type="string"
Newton Expires May 5, 2003 [Page 21]
Internet-Draft iris-dreg November 2002
minOccurs="0" maxOccurs="1" />
<element name="postalCode"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="country"
type="token"
minOccurs="0" maxOccurs="1" />
<element name="phone"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="fax"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="createdDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastModificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastVerificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="translatedContacts"
type="iris:seeAlsoType"
minOccurs="0" maxOccurs="unbounded" />
<element ref="iris:seeAlso"
minOccurs="0" maxOccurs="1" />
</sequence>
</extension>
</complexContent>
</complexType>
<element name="contact"
type="dreg:contactType"
substitutionGroup="iris:result" />
<simpleType name="contactSearchFieldsType">
<restriction base="token">
<enumeration value="contactHandle" />
<enumeration value="commonName" />
<enumeration value="organization" />
<enumeration value="eMail" />
<enumeration value="city" />
<enumeration value="region" />
<enumeration value="postalCode" />
<enumeration value="country" />
</restriction>
</simpleType>
Newton Expires May 5, 2003 [Page 22]
Internet-Draft iris-dreg November 2002
<complexType name="registrationAuthorityType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="serviceInstance">
<complexType>
<sequence>
<element ref="iris:entityURI" />
</sequence>
</complexType>
</element>
<element name="organizationName"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="type"
minOccurs="0" maxOccurs="3">
<simpleType>
<restriction base="token">
<enumeration value="registry" />
<enumeration value="registrar" />
<enumeration value="other" />
</restriction>
</simpleType>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="registrationAuthority"
type="dreg:registrationAuthorityType"
substitutionGroup="iris:result" />
<!-- -->
<!-- Error types -->
<!-- -->
<complexType name="searchTooWideType">
<complexContent>
<extension base="iris:codeType">
<sequence>
<element name="useField"
type="dreg:contactSearchFieldsType"
minOccurs="0" maxOccurs="unbounded" />
</sequence>
</extension>
</complexContent>
</complexType>
Newton Expires May 5, 2003 [Page 23]
Internet-Draft iris-dreg November 2002
<element name="searchTooWide"
type="dreg:searchTooWideType"
substitutionGroup="iris:genericCode" />
<!-- -->
<!-- Global types -->
<!-- -->
<simpleType name="entityClassType">
<restriction base="iris:entityClassType">
<enumeration value="domain-name" />
<enumeration value="domain-handle" />
<enumeration value="host-name" />
<enumeration value="host-handle" />
<enumeration value="contact-handle" />
<enumeration value="ipv4-address" />
<enumeration value="ipv6-address" />
</restriction>
</simpleType>
<element name="entityClass"
type="dreg:entityClassType"
substitutionGroup="iris:entityClass" />
</schema>
Newton Expires May 5, 2003 [Page 24]
Internet-Draft iris-dreg November 2002
6. BEEP Transport Compliance
IRIS allows several extensions of the core capabilities. This
section outlines those extensions allowable by IRIS-BEEP [6].
6.1 Message Pattern
This registry type uses the default message pattern as described in
IRIS-BEEP [6].
6.2 Authority Resolution
The authority resolution for this registry type is similar to the
default resolution spelled out in IRIS-BEEP [6]. The default
authority resolution process allows for the authority to be
o a domain name
o a domain name accompanied by a port number
o an IP address
o an IP address accompanied by a port number
The resolution process for this registry only differs if the
authority is only a domain name (i.e. without the port number). The
process for this condition is as follows:
1. The SRV algorithm is used with a service parameter of "iris" and
a protocol parameter of "tcp" to determine the IP/TCP addressing
information.
2. If no SRV records are found (e.g. for "_iris._tcp.example.com"),
then the left-most component of the domain name is removed, and
the first step is repeated again (e.g. for "_iris._tcp.com").
3. If all the components of the domain name are removed and no SRV
records are found, then the DNS is queried for the A records
corresponding to the original domain name and the port number
used is the well-known port assigned by the IANA for IRIS using
BEEP.
6.3 Server Authentication
This registry type uses the default server authentication method as
described in IRIS-BEEP [6].
Newton Expires May 5, 2003 [Page 25]
Internet-Draft iris-dreg November 2002
7. Internationalization Considerations
Implementers should be aware of considerations for
internationalization in IRIS [5].
In addition, this document specifies the lookup of domain names.
Current efforts are under way to provide "internationalized" domain
names. This document does not yet strive to make distinctions
between the two. However, because XML may be specified in UTF-8, it
is possible to support internationalization efforts for domain names.
Newton Expires May 5, 2003 [Page 26]
Internet-Draft iris-dreg November 2002
8. IANA Considerations
The following URN will need to be registered with IANA according to
the IANA considerations defined in IRIS [5]:
urn:ietf:params:xml:ns:dreg1
Newton Expires May 5, 2003 [Page 27]
Internet-Draft iris-dreg November 2002
9. Security Considerations
This document lays out no new considerations for security precautions
beyond that specified in IRIS [5].
Newton Expires May 5, 2003 [Page 28]
Internet-Draft iris-dreg November 2002
References
[1] World Wide Web Consortium, "Extensible Markup Language (XML)
1.0", W3C XML, February 1998, <http://www.w3.org/TR/1998/REC-
xml-19980210>.
[2] World Wide Web Consortium, "Namespaces in XML", W3C XML
Namespaces, January 1999, <http://www.w3.org/TR/1999/REC-xml-
names-19990114>.
[3] World Wide Web Consortium, "XML Schema Part 2: Datatypes", W3C
XML Schema, October 2000, <http://www.w3.org/TR/2001/REC-
xmlschema-2-20010502/>.
[4] World Wide Web Consortium, "XML Schema Part 1: Structures", W3C
XML Schema, October 2000, <http://www.w3.org/TR/2001/REC-
xmlschema-1-20010502/>.
[5] Newton, A., "Internet Registry Information Service", draft-
ietf-crisp-iris-core-01 (work in progress), November 2002.
[6] Newton, A., "Internet Registry Information Service (IRIS) over
Blocks Exstensible Exchange Protocol (BEEP)", draft-ietf-crisp-
iris-beep-01 (work in progress), November 2002.
[7] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998.
[8] Postel, J., "Internet Protocol", STD 5, RFC 791, September
1981.
[9] Reynolds, J. and J. Postel, "ASSIGNED NUMBERS", RFC 1700, STD
2, October 1994.
[10] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", RFC 2434, BCP 26, October
1998.
[11] Newton, A., "Cross Registry Internet Service Protocol (CRISP)
Requirements", draft-ietf-crisp-requirements-00 (work in
progress), August 2002.
[12] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[13] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, BCP 14, March 1997.
Newton Expires May 5, 2003 [Page 29]
Internet-Draft iris-dreg November 2002
Author's Address
Andrew L. Newton
VeriSign, Inc.
21345 Ridgetop Circle
Sterling, VA 20166
USA
Phone: +1 703 948 3382
EMail: anewton@ecotroph.net
URI: http://www.verisignlabs.com/
Newton Expires May 5, 2003 [Page 30]
Internet-Draft iris-dreg November 2002
Appendix A. An Example Request and Response
The following is an example of an IRIS request and response using
this registry schema.
---------------------------------------------------------------------
This XML instance is a request to search for domains by the
registrant's name.
<?xml version="1.0"?>
<request xmlns="urn:ietf:params:xml:ns:iris1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
<searchSet>
<dreg:findDomainsByRegistrant
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" >
<dreg:baseDomain>com</dreg:baseDomain>
<dreg:field>commonName</dreg:field>
<dreg:beginsWith>
The Cobbler Shoppe
</dreg:beginsWith>
</dreg:findDomainsByRegistrant>
</searchSet>
</request>
Figure 2: dreg-request.xml
---------------------------------------------------------------------
---------------------------------------------------------------------
This XML instance is a response from Figure 2.
<?xml version="1.0"?>
<response xmlns="urn:ietf:params:xml:ns:iris1"
xmlns:iris="urn:ietf:params:xml:ns:iris1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
<resultSet>
<answer>
Newton Expires May 5, 2003 [Page 31]
Internet-Draft iris-dreg November 2002
<dreg:domain
xmlns="urn:ietf:params:xml:ns:dreg1"
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
thisEntityURI="iris://com/dreg1/domainHandle/tcs-com-1">
<domainName>thecobblershoppe.com</domainName>
<nameServers>
<iris:entityURI>
iris://com/dreg1/host-handle/research7
</iris:entityURI>
<iris:entityURI>
iris://com/dreg1/host-handle/nso1184
</iris:entityURI>
</nameServers>
<registrant>
<iris:entityURI
displayName="Bill Eckels" language="en">
iris://com/dreg1/contact-handle/beb140
</iris:entityURI>
</registrant>
<domainContacts>
<contact>
<iris:entityURI
displayName="Mark Kosters" language="en">
iris://com/dreg1/contact-handle/mak21
</iris:entityURI>
<role>technical</role>
</contact>
</domainContacts>
<iris:seeAlso>
<iris:entityURI>
iris://com/dreg1/service-definition/notice
</iris:entityURI>
</iris:seeAlso>
</dreg:domain>
</answer>
<additional>
<dreg:contact
xmlns="urn:ietf:params:xml:ns:dreg1"
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
thisEntityURI="iris://com/dreg1/contact-handle/beb140">
<contactHandle>beb140</contactHandle>
<commonName>
Bill Eckels
</commonName>
<organization>
The Cobbler Shoppe
Newton Expires May 5, 2003 [Page 32]
Internet-Draft iris-dreg November 2002
</organization>
<eMail>
bille@bjmk.com
</eMail>
<address>
21 North Main Street
</address>
<city>
Britt
</city>
<region>
IA
</region>
<postalCode>
50423
</postalCode>
<country>
US
</country>
<phone>
515-843-3521
</phone>
</dreg:contact>
<simpleEntity
thisEntityURI="iris://com/dreg1/service-definition/notice" >
<property name="legal" language="en">
It is illegal to use information from this service
for the purposes of sending unsolicited bulk email.
</property>
</simpleEntity>
</additional>
</resultSet>
</response>
Figure 3: dreg-response.xml
---------------------------------------------------------------------
Newton Expires May 5, 2003 [Page 33]
Internet-Draft iris-dreg November 2002
Appendix B. An Example Database Serialization
The following is an example of serializing domain data.
---------------------------------------------------------------------
This example shows the serialization of a domain, a host, and some
named queries.
<iris:serialization
xmlns:iris="urn:ietf:params:xml:ns:iris1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
<dreg:domain
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xmlns="urn:ietf:params:xml:ns:dreg1"
xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
thisEntityURI="iris://com/dreg1/domain-handle/tcs-com-1" >
<domainName>thecobblershoppe.com</domainName>
<nameServers>
<iris:serializedEntityURI>
iris://com/dreg1/host-handle/research7
</iris:serializedEntityURI>
<iris:serializedEntityURI>
iris://com/dreg1/host-handle/nso1184
</iris:serializedEntityURI>
</nameServers>
<registrant>
<iris:entityURI>
iris://net/dreg1/contact-handle/beb140
</iris:entityURI>
</registrant>
<domainContacts>
<contact>
<iris:entityURI
displayName="Mark Kosters" language="en">
iris://net/dreg1/contact-handle/mak21
</iris:entityURI>
<role>technical</role>
</contact>
</domainContacts>
</dreg:domain>
<dreg:host
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xmlns="urn:ietf:params:xml:ns:dreg1"
Newton Expires May 5, 2003 [Page 34]
Internet-Draft iris-dreg November 2002
xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
thisEntityURI="iris://com/dreg1/host-handle/nsol184" >
<hostHandle>nsol184</hostHandle>
<hostName>ns1.netsol.com</hostName>
<ipV4Addresses>
<ipV4Address>216.168.224.200</ipV4Address>
</ipV4Addresses>
<ipV6Addresses>
</ipV6Addresses>
<hostContacts>
<iris:serializedEntityURI
displayName="David Blacka" language="en">
iris://com/dreg1/contact-handle/dblacka
</iris:serializedEntityURI>
</hostContacts>
</dreg:host>
<iris:searchContinuation
thisEntityURI="iris://com/dreg1/contact-handle/dblacka">
<iris:authority> net </iris:authority>
<iris:searchSet>
<iris:lookupEntity registryID="dreg1">
<iris:entityName>dblacka</iris:entityName>
<dreg:entityClass
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" >
contact-handle
</dreg:entityClass>
</iris:lookupEntity>
</iris:searchSet>
</iris:searchContinuation>
<iris:serializedNamedQuery
registryID="dreg1" entityName="my-servers" >
<iris:resultSet>
<iris:answer>
<iris:serializedEntityURI>
iris://verisignlabs.com/dreg1/host-handle/nsol184
</iris:serializedEntityURI>
<iris:serializedEntityURI>
iris://verisignlabs.com/dreg1/host-handle/research7
</iris:serializedEntityURI>
<iris:serializedEntityURI>
Newton Expires May 5, 2003 [Page 35]
Internet-Draft iris-dreg November 2002
iris://verisignlabs.com/dreg1/host-handle/scooter
</iris:serializedEntityURI>
</iris:answer>
</iris:resultSet>
</iris:serializedNamedQuery>
</iris:serialization>
Figure 4: dreg-serialization.xml
---------------------------------------------------------------------
Newton Expires May 5, 2003 [Page 36]
Internet-Draft iris-dreg November 2002
Full Copyright Statement
Copyright (C) The Internet Society (2002). 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 assigns.
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
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 Expires May 5, 2003 [Page 37]
| PAFTECH AB 2003-2026 | 2026-04-24 01:15:04 |