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]