Network Working Group A. Newton
Internet-Draft VeriSign, Inc.
Expires: February 12, 2003 August 14, 2002
IRIS Address Registry Schema
draft-ietf-crisp-iris-areg
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 February 12, 2003.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This document describes an IRIS registry id and schema for
registered Internet address information. The schema extends the
necessary query and result operations of IRIS
(draft-ietf-crisp-iris-core-00.txt) to provide the functional
information service needs for syntaxes and results used by Internet
address registries.
Newton Expires February 12, 2003 [Page 1]
Internet-Draft iris-areg August 2002
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Document Terminology . . . . . . . . . . . . . . . . . . . . 4
3. Schema Description . . . . . . . . . . . . . . . . . . . . . 5
3.1 Query Derivatives . . . . . . . . . . . . . . . . . . . . . 5
3.1.1 <findContacts> Query . . . . . . . . . . . . . . . . . . . . 5
3.2 Result Derivatives . . . . . . . . . . . . . . . . . . . . . 5
3.2.1 <hostInfo> Result . . . . . . . . . . . . . . . . . . . . . 5
3.2.2 <networkInfo> Result . . . . . . . . . . . . . . . . . . . . 5
3.2.3 <autonomousSystemInfo> Result . . . . . . . . . . . . . . . 5
3.2.4 <contactInfo> Result . . . . . . . . . . . . . . . . . . . . 6
3.3 Global Types . . . . . . . . . . . . . . . . . . . . . . . . 6
3.4 Support for <iris:lookupEntity> . . . . . . . . . . . . . . 6
4. Formal XML Syntax . . . . . . . . . . . . . . . . . . . . . 8
5. Internationalization Considerations . . . . . . . . . . . . 14
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . 15
7. Security Considerations . . . . . . . . . . . . . . . . . . 16
References . . . . . . . . . . . . . . . . . . . . . . . . . 17
Author's Address . . . . . . . . . . . . . . . . . . . . . . 17
Full Copyright Statement . . . . . . . . . . . . . . . . . . 18
Newton Expires February 12, 2003 [Page 2]
Internet-Draft iris-areg August 2002
1. Introduction
This document describes an IRIS namespace for Internet address
registries using an XML Schema[4] derived from and using the IRIS[8]
schema. This schema and registry type are provided to demonstrate
the extensibility of the IRIS framework beyond the use of domains, a
criteria layed out in CRISP[9].
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].
It is important to note that XML is case sensitive. XML
specifications and examples provided in this document MUST be
interpreted in the exact character case presented to develop a
conforming implementation.
Newton Expires February 12, 2003 [Page 3]
Internet-Draft iris-areg August 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[7].
Newton Expires February 12, 2003 [Page 4]
Internet-Draft iris-areg August 2002
3. Schema Description
IRIS requires the derivation of both query and result elements by a
registry schema. These descriptions follow.
3.1 Query Derivatives
3.1.1 <findContacts> Query
<findContacts> searches for contacts given search constraints. The
<beginsWith> element MUST be present and specifies the beginning of
the common name of the contact. The <endsWith> element is OPTIONAL
and MUST contain the end of the common name of the contact.
3.2 Result Derivatives
3.2.1 <hostInfo> Result
The <hostInfo> element is the expected result of a <lookupHost>
query. It contains elements for the fully qualified host name of the
host, the IP address of the host, and a reference to the host
contact.
The address elements contain the IP address of the name server,
either IP v4 or IP v6, and an OPTIONAL reference to the network
which contains the given address.
3.2.2 <networkInfo> Result
The <networkInfo> element is the expected result of a network
lookup. It has the following child elements:
o <holder> contains an entity URI to the holder of the network. The
<holder> element is OPTIONAL.
o <contact> contains an entity URI to the technical contact of the
network. The <contact> element is OPTIONAL.
o Either <ipV4> or <ipV6> MUST be present. Each element contains
children representing the start and end of the network in the
appropriate format.
3.2.3 <autonomousSystemInfo> Result
The <autonomousSystemInfo> element is the expected result of an
autonomous system lookup. It has the following children:
o <holder> contains an entity URI to the holder of the autonomous
system. The <holder> element is an OPTIONAL element.
Newton Expires February 12, 2003 [Page 5]
Internet-Draft iris-areg August 2002
o <contact> contains an entity URI to the technical contact of the
autonomous system. The <contact> element is an OPTIONAL element.
o <handle> is a registry assigned unique identifier. This element
MUST be present.
o <startNumber> is a positive integer representing the starting
number of the autonomous system. This element MUST be present.
o <endNumber> is a positive integer representing the final number
of the autonomous system. This element MUST be present.
3.2.4 <contactInfo> Result
The <contactInfo> element is the expected result of a contact lookup
or a <findContacts> query. The children that MUST be present are
<handle>, containing a registry assigned unique identifier, and
<commonName>, which holds the common name of the contact. The other
children of this element are OPTIONAL and contain Internet, phone,
and postal address information.
3.3 Global Types
Some of the global types defined by the schema specified in this
document are expressed using regular expressions. The regular
expressions used for these definitions do not fully represent every
allowable syntax for the intended type, but meet a standard of
reasonableness for the expression of the types.
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 hostName - the fully qualified host names of nameservers. Queries
with these names will yield a <hostInfo> result. A host may be
multi-homed and therefore known by many host names.
o hostHandle - a registry unique identifier of a nameserver. Yields
a <hostInfo> result.
o ipv4Host - the IPv4 address of a nameserver. Yields a <hostInfo>
result.
o ipv6Host - the IPv6 address of a nameserver. Yields a <hostInfo>
result.
o ipv4Address - a network for which an IPv4 address resides.
Newton Expires February 12, 2003 [Page 6]
Internet-Draft iris-areg August 2002
Queries with these names will yield a <networkInfo> result.
o ipv6Address - a network for which an IPv6 address resides.
Queries with these names will yield a <networkInfo> result.
o autonomousSystem - the positive integer (ASN) representing
specifying an autonomous system. It yields a result of
<autonomousSystemInfo>.
o contactHandle - a registry unique identifier of a contact. Yields
a result of <contactInfo>.
Newton Expires February 12, 2003 [Page 7]
Internet-Draft iris-areg August 2002
4. Formal XML Syntax
This IP address registry 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. Due to document formatting
restrictions, readers should note that the regular expressions
expressed in this schema DO NOT contain whitespace within the quotes
containing the regular expression.
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:areg="urn:ietf:params:xml:ns:areg1"
xmlns:iris="urn:ietf:params:xml:ns:iris1"
targetNamespace="urn:ietf:params:xml:ns:areg1"
elementFormDefault="qualified" >
<annotation>
<documentation>
IP address registry schema
derived from IRIS schema
</documentation>
</annotation>
<!-- -->
<!-- Query types -->
<!-- -->
<complexType name="findContactsType">
<complexContent>
<extension base="iris:queryType">
<sequence>
<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>
<restriction base="token">
<minLength value="2"/>
</restriction>
</simpleType>
</element>
Newton Expires February 12, 2003 [Page 8]
Internet-Draft iris-areg August 2002
</sequence>
</extension>
</complexContent>
</complexType>
<element name="findContacts"
type="areg:findContactsType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Result types -->
<!-- -->
<complexType name="hostInfoType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="hostName"
type="areg:domainNameType" />
<choice
minOccurs="1" maxOccurs="unbounded" >
<element name="ipV4">
<complexType>
<sequence>
<element name="ipV4Address"
type="areg:dotQuadIPv4Type" />
<element ref="iris:entityURI"
minOccurs="0" maxOccurs="1" />
</sequence>
</complexType>
</element>
<element name="ipV6">
<complexType>
<sequence>
<element name="ipV6Address"
type="areg:textIPv6AddressType" />
<element ref="iris:entityURI"
minOccurs="0" maxOccurs="1" />
</sequence>
</complexType>
</element>
</choice>
<element ref="iris:entityURI" />
</sequence>
<attribute name="thisEntityURI" type="anyURI" />
</extension>
</complexContent>
</complexType>
Newton Expires February 12, 2003 [Page 9]
Internet-Draft iris-areg August 2002
<element name="hostInfo"
type="areg:hostInfoType"
substitutionGroup="iris:result" />
<complexType name="networkInfoType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="holder"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI" />
</sequence>
</complexType>
</element>
<element name="contact"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI" />
</sequence>
</complexType>
</element>
<element name="handle"
type="normalizedString" />
<choice>
<element name="ipV4">
<complexType>
<sequence>
<element name="startIPv4"
type="areg:dotQuadIPv4Type" />
<element name="endIPv4"
type="areg:dotQuadIPv4Type" />
</sequence>
</complexType>
</element>
<element name="ipV6">
<complexType>
<sequence>
<element name="startIPv6"
type="areg:textIPv6AddressType" />
<element name="endIPv6"
type="areg:textIPv6AddressType" />
</sequence>
</complexType>
</element>
</choice>
</sequence>
Newton Expires February 12, 2003 [Page 10]
Internet-Draft iris-areg August 2002
<attribute name="thisEntityURI" type="anyURI" />
</extension>
</complexContent>
</complexType>
<element name="networkInfo"
type="areg:networkInfoType"
substitutionGroup="iris:result" />
<complexType name="autonomousSystemInfoType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="holder"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI"/>
</sequence>
</complexType>
</element>
<element name="contactReference"
minOccurs="0" maxOccurs="1">
<complexType>
<sequence>
<element ref="iris:entityURI"/>
</sequence>
</complexType>
</element>
<element name="handle"
type="normalizedString" />
<element name="startNumber"
type="positiveInteger" />
<element name="endNumber"
type="positiveInteger" />
</sequence>
<attribute name="thisEntityURI" type="anyURI" />
</extension>
</complexContent>
</complexType>
<element name="autonomousSystemInfo"
type="areg:autonomousSystemInfoType"
substitutionGroup="iris:result" />
<complexType name="contactInfoType">
<complexContent>
<extension base="iris:resultType">
<sequence>
Newton Expires February 12, 2003 [Page 11]
Internet-Draft iris-areg August 2002
<element name="handle"
type="areg:handleType"
minOccurs="0" maxOccurs="1" />
<element name="commonName"
type="token" />
<element name="organization"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="e-mail"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="address"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="city"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="region"
type="string"
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" />
</sequence>
<attribute name="thisEntityURI" type="anyURI" />
</extension>
</complexContent>
</complexType>
<element name="contactInfo"
type="areg:contactInfoType"
substitutionGroup="iris:result" />
<!-- -->
<!-- Global types -->
<!-- -->
<simpleType name="entityClassType">
<restriction base="iris:entityClassType">
<enumeration value="hostName" />
Newton Expires February 12, 2003 [Page 12]
Internet-Draft iris-areg August 2002
<enumeration value="hostHandle" />
<enumeration value="ipv4Host" />
<enumeration value="ipv6Host" />
<enumeration value="contactHandle" />
<enumeration value="ipv4Address" />
<enumeration value="ipv6Address" />
<enumeration value="autonomousSystem" />
</restriction>
</simpleType>
<element name="entityClass"
type="dreg:entityClassType"
substitutionGroup="iris:entityClass" />
<simpleType name="dotQuadIPv4Type">
<restriction base="string">
<pattern value="([\d]{1,3}.){3}[\d]{1,3}" />
<minLength value="7" />
<maxLength value="15" />
</restriction>
</simpleType>
<!-- does not support '::' -->
<simpleType name="textIPv6AddressType">
<restriction base="string">
<pattern value="(([\dA-Fa-f]{1,4}:){7}[\dA-Fa-f]{1,4})(:([\d]{1,3}.){3}[\d]{1,3})?"/>
<minLength value="16"/>
<maxLength value="39"/>
</restriction>
</simpleType>
<simpleType name="domainNameType">
<restriction base="token">
<pattern
value="([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]\.)*([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])?" />
<maxLength value="255" />
</restriction>
</simpleType>
</schema>
Newton Expires February 12, 2003 [Page 13]
Internet-Draft iris-areg August 2002
5. Internationalization Considerations
This document lays out no new consideratains for
internationalization beyond that specified in IRIS[8].
Newton Expires February 12, 2003 [Page 14]
Internet-Draft iris-areg August 2002
6. IANA Considerations
The following URN will need to be registered with IANA according to
the IANA considerations defined in IRIS[8]:
urn:ietf:params:xml:ns:areg1
Newton Expires February 12, 2003 [Page 15]
Internet-Draft iris-areg August 2002
7. Security Considerations
This document lays out no new considerations for security
precautions beyond that specified in IRIS[8].
Newton Expires February 12, 2003 [Page 16]
Internet-Draft iris-areg August 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] Reynolds, J. and J. Postel, "ASSIGNED NUMBERS", RFC 1700, STD
2, October 1994.
[6] Narten, T. and H.T. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", RFC 2434, BCP 26, October 1998.
[7] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, BCP 14, March 1997.
[8] Newton, A, "Internet Registry Information Service",
draft-ietf-crisp-iris-core-00 (work in progress), August 2002.
[9] Newton, A, "Cross Registry Internet Service Protocol (CRISP)
Requirements", draft-ietf-crisp-requirements-00 (work in
progress), August 2002.
Author's Address
Andrew L. Newton
VeriSign, Inc.
21345 Ridgetop Circle
Sterling, VA 20166
USA
Phone: +1 703 948 3382
EMail: anewton@verisignlabs.com
URI: http://www.verisignlabs.com/
Newton Expires February 12, 2003 [Page 17]
Internet-Draft iris-areg August 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 February 12, 2003 [Page 18]