<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
    <!ENTITY rfc2119 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
]>

<rfc category="info" ipr="trust200902" docName="draft-blanchet-weirds-bootstrap-ianaregistries-00.txt">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes" ?>

<front>
<title abbrev="Finding Authoritative RDAP service">Finding the Authoritative Registration Data (RDAP) Service</title>
<author initials='M.' surname="Blanchet" fullname='Marc Blanchet'>
  <organization>Viagenie</organization>
  <address>
    <postal>
      <street>246 Aberdeen</street>
      <city>Quebec</city>
      <region>QC</region>
      <code>G1R 2E1</code>
      <country>Canada</country>
    </postal>
    <email>Marc.Blanchet@viagenie.ca</email>
    <uri>http://www.viagenie.ca</uri>
  </address>
</author>
<date/>
<abstract>
<t>This document specifies a method to find which Registration Data Access Protocol (RDAP) server is authoritative to answer queries for a requested scope, such as domain names, IP addresses or Autonomous System numbers, using data available in IANA registries.</t>
</abstract>
</front>
<middle>
  <section title="Introduction">
<t>Querying and retrieving registration data from registries are defined in the Registration Data Access Protocol(RDAP)<xref target="I-D.ietf-weirds-rdap-query"/><xref target="I-D.ietf-weirds-using-http"/><xref target="I-D.ietf-weirds-json-response"/>. These documents do not specify where to send the queries. This document specifies a method to find which server is authoritative to answer queries for the requested scope.</t>
<t>(author note: should it have some text on various possibilities that have been discussed, such as IETF84...?)</t>
<t>The proposed mechanism is based on that allocation data for domain names and IP addresses are maintained by IANA, are publicly available and are in a structured format. The mechanism assumes some data structure within these registries and request IANA to modify these registries for the specific purpose of RDAP use. An RDAP client fetches the registries, extract the data and then do a match with the query data to find the authoritative registration data server and appropriate query base URL.</t>
  </section>
  <section title="Domain Name Registry">
    <t>The domain names authoritative registration data service is found by doing the longest match of the target domain name with the values of the Domain column in the IANA Domain Name registry<xref target="domainreg"/>. The value of the "RDAP URL" column is the base RDAP url as described in <xref target="I-D.ietf-weirds-rdap-query"/>.</t>
    <t>For example, a RDAP query for example.com matches the .com entry in the Domain column of the registry. The RDAP server URL for this address is located in the corresponding "RDAP URL" column for that entry, which could be http://rdap.example.org/rdap.</t>
  </section>
  <section title="Internet Numbers Registry">
    <section title="IPv4 Address Space">
    <t>The IPv4 address space authoritative registration data service is found by doing a longest match of the target address with the values of the Prefix column in the IANA IPv4 address space registry<xref target="ipv4reg"/>. The value of the "RDAP URL" column is the base RDAP url as described in <xref target="I-D.ietf-weirds-rdap-query"/>.</t>
    <t>For example, a query for "192.0.2.0/24" matches the "192/8" entry in the Prefix column of the registry. The RDAP server URL for this address is located in the corresponding "RDAP URL" column for that entry, which could be http://rdap.example.org/rdap.</t>
    </section>
    <section title="IPv6 Address Space">
    <t>The IPv6 address space authoritative registration data service is found by doing a longest match of the target address with the values of the Prefix column in the IANA IPv6 address space registry<xref target="ipv6reg"/>. The value of the "RDAP URL" column is the base RDAP url as described in <xref target="I-D.ietf-weirds-rdap-query"/>.</t>
    <t>For example, a query for "2001:db8::/32" matches the "2001/16" entry in the Prefix column of the registry. The RDAP server URL for this address is located in the corresponding "RDAP URL" column for that entry, which could be http://rdap.example.org/rdap.</t>
    </section>
    <section title="Autonomous Systems">
    <t>The Autonomous Systems (AS) authoritative registration data service is found by identifying the range in which the target Autonomous System is  with the values of the Number column in the IANA Autonomous Systems (AS) Numbers registry<xref target="asreg"/>. The value of the "RDAP URL" column is the base RDAP url as described in <xref target="I-D.ietf-weirds-rdap-query"/>.</t>
    <t>For example, a query for AS 65411 matches the "64512-65534" entry in the Number column of the registry. The RDAP server URL for this address is located in the corresponding "RDAP URL" column for that entry, which could be http://rdap.example.org/rdap. </t>
    </section>
  </section>
  <section title="Nameserver">
   <t>TBD</t>
  </section>
  <section title="Entity">
   <t>TBD</t>
  </section>
  <section title="Non-existent Entries or RDAP URL Values">
    <t>The registries may not contain the requested value or the RDAP URL value may be empty. In these cases, there is no known RDAP server for that requested value and the client should provide an appropriate error message to the user.</t>
  </section>
  <section title="Deployment Considerations">
   <t>This method relies on the fact that RDAP clients are fetching the IANA XML registries. Clients SHOULD not fetch every time the XML files. Clients should rely on HTTP headers to verify if the registry has changed since last time it was fetched.</t>
   <t>IANA should make sure that the service of those registries is able to cope with a larger demand and should take appropriate measures such as caching and load balancing.</t>
   <t>This specification makes no assumption on how the authorities of registration data may work together on sharing their information for a common service. </t>
  </section>
  <section title="Security Considerations">
     <t>TBD</t>
  </section>
  <section title="IANA Considerations">
   <t>IANA is requested to do the following:
   <list style="symbols">
    <t>Add the "RDAP URL" column to the IPv4 Address Space, IPv6 Address Space and Autonomous Systems Numbers registries. The same entities who are registrants for these spaces are entitled to provide the RDAP URL value for their respective space.</t>
    <t>Create a new registry of domain names with the following columns: Domain and RDAP URL. The content should be initially populated by an extract of the Root zone database. A change happens in the database may trigger a change in that new registry. The same entities who are registrants for the root zone database entries are entitled to provide the RDAP URL value for their domain. IANA shall update its procedures to include the provisioning of these values.</t>
    <t>author note: more details needed</t>
   </list>
  </t>
  </section>
  <section title="Acknowledgements">
     <t>The weirds working group had multiple discussions on this topic, including a session during IETF 84. All the people involved in these discussions are herin acknowledged. XXX  have provided input and suggestions to this document.</t>
  </section>
</middle>
<back>
  <references title="Normative References">
    <?rfc include="reference.I-D.ietf-weirds-rdap-query.xml"?>
    <?rfc include="reference.I-D.ietf-weirds-using-http.xml"?>
    <?rfc include="reference.I-D.ietf-weirds-json-response.xml"?>
    <reference anchor="ipv4reg" target="http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml">
      <front><title>IPv4 Address Space</title><author surname="Internet Assigned Numbers Authority(IANA)"/><date/></front>
    </reference>
    <reference anchor="ipv6reg" target="http://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.xml">
      <front><title>IPv6 Global Unicast Address Assignments</title><author surname="Internet Assigned Numbers Authority(IANA)"/><date/></front>
    </reference>
    <reference anchor="asreg" target="http://www.iana.org/assignments/as-numbers/as-numbers.xml">
      <front><title>Autonomous System (AS) Numbers</title><author surname="Internet Assigned Numbers Authority(IANA)"/><date/></front>
    </reference>
    <reference anchor="domainreg" target="http://www.iana.org/assignments/tbd/tbd.xml">
      <front><title>TBD</title><author surname="Internet Assigned Numbers Authority(IANA)"/><date/></front>
    </reference>
  </references>
</back>
</rfc>
