返回首页

RFC 4698 - IRIS: An Address Registry (areg) Type for the Int(3)

时间:2006-11-02 来源: 作者: 点击:
groupref="areg:contactSearchGroup"/ elementname="organizationId" type="areg:exactMatchParameter"/ /choice elementname="language"type="language"minOccurs="0" maxOccurs="unbounded"/ /sequence /extensio
  
               <group ref="areg:contactSearchGroup" />
               <element name="organizationId"
                 type="areg:exactMatchParameter" />
             </choice>
             <element name="language" type="language" minOccurs="0"
               maxOccurs="unbounded"/>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element name="findContacts" type="areg:findContactsType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Organizations                        -->
     <!--                                           -->

     <complexType name="findOrganizationsType">
       <complexContent>
         <extension base="iris:queryType">
           <sequence>
             <choice>
               <element name="organizationName"
                 type="areg:exactOrPartialMatchParameter" />
               <group ref="areg:commonSearchGroup" />
             </choice>
             <element name="language" type="language" minOccurs="0"
               maxOccurs="unbounded"/>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element name="findOrganizations" type="areg:findOrganizationsType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Networks by Name Server              -->
     <!--                                           -->

     <complexType name="findNetworksByNameServerType">
       <complexContent>
         <extension base="iris:queryType">
           <sequence>
             <element name="nameServer" type="normalizedString" />
             <element name="returnedResultType" minOccurs="0"
               maxOccurs="1" >
               <simpleType>
                 <restriction base="string" >
                   <enumeration value="returnIPv4Networks" />
                   <enumeration value="returnIPv6Networks" />
                 </restriction>
               </simpleType>
             </element>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element name="findNetworksByNameServer"
       type="areg:findNetworksByNameServerType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Contact Search Group                      -->
     <!--                                           -->

     <group name="contactSearchGroup">
       <choice>
         <element name="commonName"
           type="areg:exactOrPartialMatchParameter" />
         <group ref="areg:commonSearchGroup" />
       </choice>
     </group>

     <!--                                           -->
     <!-- Common Search Group                       -->
     <!--                                           -->

     <group name="commonSearchGroup">
       <choice>
         <element name="eMail" type="areg:domainResourceParameter" />
         <element name="city" type="areg:exactMatchParameter" />
         <element name="region" type="areg:exactMatchParameter" />
         <element name="country" type="areg:exactMatchParameter" />
         <element name="postalCode" type="areg:exactMatchParameter" />
       </choice>
     </group>

     <!--                                           -->
     <!-- Parameters for Search Groups              -->
     <!--                                           -->

     <complexType name="exactOrPartialMatchParameter">
       <choice>
         <group ref="areg:partialMatchGroup" />
         <group ref="areg:exactMatchGroup" />
       </choice>
     </complexType>

     <complexType name="exactMatchParameter">
       <group ref="areg:exactMatchGroup" />
     </complexType>

     <complexType name="partialMatchParameter">
       <sequence>
         <group ref="areg:partialMatchGroup" />

       </sequence>
     </complexType>

     <complexType name="domainResourceParameter" >
       <choice>
         <group ref="areg:exactMatchGroup" />
         <element name="inDomain" type="token" />
       </choice>
     </complexType>

     <group name="partialMatchGroup">
       <choice>
         <sequence>
           <element name="beginsWith">
             <simpleType>
               <restriction base="token">
                 <minLength value="1"/>
               </restriction>
             </simpleType>
           </element>
           <element minOccurs="0" ref="areg:endsWith"/>
         </sequence>
         <element ref="areg:endsWith" />
       </choice>
     </group>

     <element name="endsWith">
       <simpleType>
         <restriction base="token">
           <minLength value="1"/>
         </restriction>
       </simpleType>
     </element>

     <group name="exactMatchGroup">
       <sequence>
         <element name="exactMatch" type="normalizedString" />
       </sequence>
     </group>

     <!-- ========================================= -->
     <!--                                           -->
     <!-- Result Types                              -->
     <!--                                           -->
     <!-- ========================================= -->

     <!--                                           -->
     <!-- IPv4 and IPv6 Network Results             -->

     <!--                                           -->

     <complexType name="ipNetworkType">
       <complexContent>
         <extension base="iris:resultType">
           <sequence>
             <element name="networkHandle" type="token"
               minOccurs="0" maxOccurs="1" />
             <element name="name" minOccurs="0" maxOccurs="1"
               type="normalizedString" />
             <element name="startAddress" type="token" />
             <element name="endAddress" type="token" />
             <sequence minOccurs="0" maxOccurs="1">
               <element name="networkType" type="normalizedString"
                 minOccurs="1" maxOccurs="1" />
               <element name="networkTypeInfo" type="iris:entityType"
                 minOccurs="0" maxOccurs="1" />
             </sequence>
             <element name="nameServer" type="normalizedString"
               minOccurs="0" maxOccurs="unbounded" />
             <element name="organization" type="iris:entityType"
               minOccurs="0" maxOccurs="1" />
             <choice minOccurs="0" maxOccurs="1" >
               <element name="parent" type="iris:entityType" />
               <element name="noParent">
               </element>
             </choice>
             <group ref="areg:contactGroup" />
             <group ref="areg:commonGroup" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element name="ipv4Network" type="areg:ipNetworkType"
       substitutionGroup="iris:result" />

     <element name="ipv6Network" type="areg:ipNetworkType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Autonomous System                         -->
     <!--                                           -->

     <complexType name="autonomousSystemType">
       <complexContent>
         <extension base="iris:resultType">
           <sequence>

             <element name="asHandle" type="token"
               minOccurs="0" maxOccurs="1" />
             <element name="asNumberStart" type="integer" minOccurs="0"
               maxOccurs="1" />
             <element name="asNumberEnd" type="integer" minOccurs="0"
               maxOccurs="1" />
             <element name="name" type="normalizedString" minOccurs="0"
               maxOccurs="1" />
             <element name="organization" type="iris:entityType"
               minOccurs="0" maxOccurs="1" />
             <choice minOccurs="0" maxOccurs="1">
               <element name="parent" type="iris:entityType" />
               <element name="noParent" />
             </choice>
             <group ref="areg:contactGroup" />
             <group ref="areg:commonGroup" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element name="autonomousSystem" type="areg:autonomousSystemType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Contact                                   -->
     <!--                                           -->

     <complexType name="contactType">
       <complexContent>
         <extension base="iris:resultType">
           <sequence>
             <element name="contactHandle" type="token"
               minOccurs="0" maxOccurs="1" />
             <element name="commonName" type="normalizedString"
               minOccurs="0" maxOccurs="1" />
             <element name="eMail" type="normalizedString" minOccurs="0"
               maxOccurs="unbounded" />
             <element name="sip" type="normalizedString" minOccurs="0"
               maxOccurs="unbounded" />
             <element name="organization" type="iris:entityType"
               minOccurs="0" maxOccurs="unbounded" />
             <element name="postalAddress" minOccurs="0"
               maxOccurs="unbounded">
               <complexType>
                 <sequence>
                   <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" />
                 </sequence>
               </complexType>
             </element>
             <element name="phone" minOccurs="0" maxOccurs="unbounded" >
               <complexType>
                 <sequence>
                   <element name="number" type="normalizedString" />
                   <element name="extension" type="normalizedString"
                     minOccurs="0" maxOccurs="unbounded" />
                   <element name="type" type="normalizedString"
                     minOccurs="0" maxOccurs="1" />
                 </sequence>
               </complexType>
             </element>
             <group ref="areg:commonGroup" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element name="contact" type="areg:contactType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Organization                              -->
     <!--                                           -->

     <complexType name="organizationType">
       <complexContent>
         <extension base="iris:resultType">
           <sequence>
             <element name="name" type="normalizedString"
               minOccurs="0" maxOccurs="1" />
             <element name="eMail" type="normalizedString" minOccurs="0"
               maxOccurs="unbounded" />
             <element name="id" type="token" />
             <element name="postalAddress" minOccurs="0"
               maxOccurs="unbounded">
               <complexType>
                 <sequence>

                   <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" />
                 </sequence>
               </complexType>
             </element>
             <element name="phone" minOccurs="0" maxOccurs="unbounded" >
               <complexType>
                 <sequence>
                   <element name="number" type="normalizedString" />
                   <element name="extension" type="normalizedString"
                     minOccurs="0" maxOccurs="unbounded" />
                   <element name="type" type="normalizedString"
                     minOccurs="0" maxOccurs="1" />
                 </sequence>
               </complexType>
             </element>
             <group ref="areg:contactGroup" />
             <group ref="areg:commonGroup" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element name="organization" type="areg:organizationType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Contact Group                             -->
     <!--                                           -->

     <group name="contactGroup">
       <sequence>
         <element name="adminContact" type="iris:entityType"
           minOccurs="0" maxOccurs="unbounded" />
         <element name="techContact" type="iris:entityType"
           minOccurs="0" maxOccurs="unbounded" />
         <element name="nocContact" type="iris:entityType" minOccurs="0"
           maxOccurs="unbounded" />
         <element name="abuseContact" type="iris:entityType"
           minOccurs="0" maxOccurs="unbounded" />

         <element name="otherContact" type="iris:entityType"
           minOccurs="0" maxOccurs="unbounded" />
       </sequence>
     </group>

     <!--                                           -->
     <!-- Common Group                              -->
     <!--                                           -->

     <group name="commonGroup">
       <sequence>
         <element name="numberResourceRegistry" type="iris:entityType"
           minOccurs="0" maxOccurs="1" />
         <element name="registrationDate" type="dateTime" minOccurs="0"
           maxOccurs="1" />
         <element name="lastUpdatedDate" type="dateTime" minOccurs="0"
           maxOccurs="1" />
         <element ref="iris:seeAlso" minOccurs="0" maxOccurs="unbounded"
           />
       </sequence>
     </group>
   </schema>

                                 Figure 9

6.  BEEP Transport Compliance

   IRIS allows several extensions of the core capabilities.  This
   section outlines those extensions allowable by IRIS-BEEP [3].

6.1.  Message Pattern

   This registry type uses the default message pattern as described in
   IRIS-BEEP [3].

6.2.  Server Authentication

   This registry type uses the default server authentication method as
   described in IRIS-BEEP [3].

7.  URI Resolution

7.1.  Application Service Label

   See Section 9 for the application service label registration.

7.2.  Operational Considerations

   Address registries do not have natural links to DNS.  Using reverse
   DNS tree presents problems for IP address delegation (for example,
   delegations do not fall into byte boundaries, unlike reverse DNS),
   and DNS does not currently contain any information regarding
   autonomous system delegation.

   Therefore, in order for the top-down resolution to operate properly,
   it is requested that the IAB instruct IANA to insert and maintain a
   NAPTR DNS resource record for areg.iris.arpa, as described in
   Section 9.

7.3.  Top-Down Resolution

   The top-down alternative resolution method MUST be identified as
   ’top’ in IRIS URIs.

   The process for this condition is as follows:

   1.  The IRIS [2] direct-resolution process is tried against
       areg.iris.arpa.

   2.  If the direct-resolution process yields no server for which a
       connection can be made, then a negative response is returned, and
       no further action is taken.

   It is RECOMMENDED that IRIS clients issuing AREG1 requests use the
   ’top’ resolution method when no resolution method has been explicitly
   given by a user.  IRIS servers accepting AREG1 requests that seek
   information for which they are not authoritative SHOULD refer clients
   using the ’top’ resolution method.

8.  Internationalization Considerations

   This document lays out no new considerations for internationalization
   beyond those specified in IRIS [2].

9.  IANA Considerations

   The following URN has been registered with IANA according to the IANA
   considerations defined in IRIS [2]:

      urn:ietf:params:xml:ns:areg1

   The following S-NAPTR application service label has been registered
   with IANA according to the IANA considerations defined in IRIS [2]:

      AREG1

   Under instructions from the IAB, the IANA will create a new second
   level domain under .arpa called iris (i.e., iris.arpa.).  The
   contents of this new domain are to be under the control of the IAB.
   Under instructions from the IAB, the IANA will insert and maintain a
   NAPTR DNS resource record in the iris.arpa. domain for the name
   areg.iris.arpa.  The initial contents for that record is:

   areg.iris.arpa.
   ;;        order pref flags service                   re replacement
   IN NAPTR  100   10   ""    "AREG1:iris.xpc:iris.lwz" "" areg.nro.net

10.  Security Considerations

   This document lays out no new considerations for security precautions
   beyond those specified in IRIS [2].

11.  References

11.1.  Normative References

   [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", BCP 14, RFC 2119, March 1997.

   [2]  Newton, A. and M. Sanz, "IRIS: The Internet Registry Information
        Service (IRIS) Core Protocol", RFC 3981, January 2005.

   [3]  Newton, A. and M. Sanz, "Using the Internet Registry Information
        Service (IRIS) over the Blocks Extensible Exchange Protocol
        (BEEP)", RFC 3983, January 2005.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容