draft-ietf-weirds-bootstrap-00.txt   draft-ietf-weirds-bootstrap-01.txt 
Network Working Group M. Blanchet Network Working Group M. Blanchet
Internet-Draft Viagenie Internet-Draft Viagenie
Intended status: Standards Track January 13, 2014 Intended status: Standards Track February 13, 2014
Expires: July 17, 2014 Expires: August 17, 2014
Finding the Authoritative Registration Data (RDAP) Service Finding the Authoritative Registration Data (RDAP) Service
draft-ietf-weirds-bootstrap-00.txt draft-ietf-weirds-bootstrap-01.txt
Abstract Abstract
This document specifies a method to find which Registration Data This document specifies a method to find which Registration Data
Access Protocol (RDAP) server is authoritative to answer queries for Access Protocol (RDAP) server is authoritative to answer queries for
a requested scope, such as domain names, IP addresses or Autonomous a requested scope, such as domain names, IP addresses or Autonomous
System numbers, using data available in IANA registries. System numbers, using data available in IANA registries.
Status of This Memo Status of This Memo
skipping to change at page 1, line 33 skipping to change at page 1, line 33
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 17, 2014. This Internet-Draft will expire on August 17, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 13 skipping to change at page 2, line 13
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Domain Name RDAP Registry . . . . . . . . . . . . . . . . . . 2 2. Domain Name RDAP Registry . . . . . . . . . . . . . . . . . . 2
3. Internet Numbers RDAP Registries . . . . . . . . . . . . . . 3 3. Internet Numbers RDAP Registries . . . . . . . . . . . . . . 3
3.1. IPv4 Address Space RDAP Registry . . . . . . . . . . . . 3 3.1. IPv4 Address Space RDAP Registry . . . . . . . . . . . . 3
3.2. IPv6 Address Space RDAP Registry . . . . . . . . . . . . 3 3.2. IPv6 Address Space RDAP Registry . . . . . . . . . . . . 3
3.3. Autonomous Systems RDAP Registry . . . . . . . . . . . . 3 3.3. Autonomous Systems RDAP Registry . . . . . . . . . . . . 3
4. Nameserver . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Non-existent Entries or RDAP URL Values . . . . . . . . . . . 4
6. Non-existent Entries or RDAP URL Values . . . . . . . . . . . 4 6. Deployment Considerations . . . . . . . . . . . . . . . . . . 4
7. Deployment Considerations . . . . . . . . . . . . . . . . . . 4 7. Limitations . . . . . . . . . . . . . . . . . . . . . . . . . 5
8. Security Considerations . . . . . . . . . . . . . . . . . . . 5 8. Security Considerations . . . . . . . . . . . . . . . . . . . 5
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
11. Non-Normative References . . . . . . . . . . . . . . . . . . 6 11. Non-Normative References . . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
Querying and retrieving registration data from registries are defined Querying and retrieving registration data from registries are defined
in the Registration Data Access Protocol(RDAP)[I-D.ietf-weirds-rdap-q in the Registration Data Access Protocol(RDAP)[I-D.ietf-weirds-rdap-q
uery][I-D.ietf-weirds-using-http][I-D.ietf-weirds-json-response]. uery][I-D.ietf-weirds-using-http][I-D.ietf-weirds-json-response].
These documents do not specify where to send the queries. This These documents do not specify where to send the queries. This
document specifies a method to find which server is authoritative to document specifies a method to find which server is authoritative to
answer queries for the requested scope. answer queries for the requested scope.
skipping to change at page 2, line 46 skipping to change at page 2, line 46
create these registries for the specific purpose of RDAP use. An create these registries for the specific purpose of RDAP use. An
RDAP client fetches the registries, extract the data and then do a RDAP client fetches the registries, extract the data and then do a
match with the query data to find the authoritative registration data match with the query data to find the authoritative registration data
server and appropriate query base URL. server and appropriate query base URL.
2. Domain Name RDAP Registry 2. Domain Name RDAP Registry
The domain names authoritative registration data service is found by The domain names authoritative registration data service is found by
doing the longest match of the target domain name with the values of doing the longest match of the target domain name with the values of
the Domain column in the IANA Domain Name RDAP registry as defined in the Domain column in the IANA Domain Name RDAP registry as defined in
section Section 9. The value of the "RDAP URL" column is the base section Section 9. This is a string search of the longest match
starting from the end of the target name and the end of each value in
the Domain column. The value of the "RDAP URL" column is the base
RDAP url as described in [I-D.ietf-weirds-rdap-query]. RDAP url as described in [I-D.ietf-weirds-rdap-query].
For example, a RDAP query for example.com matches the .com entry in 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 the Domain column of the registry. The RDAP server URL for this
address is located in the corresponding "RDAP URL" column for that address is located in the corresponding "RDAP URL" column for that
entry, which could be http://rdap.example.org/rdap. Therefore the entry, which could be http://rdap.example.org/rdap. Therefore the
query URL would be: http://rdap.example.org/rdap/domain/example.com. query URL would be: http://rdap.example.org/rdap/domain/example.com.
This example is not normative. This example is not normative.
3. Internet Numbers RDAP Registries 3. Internet Numbers RDAP Registries
3.1. IPv4 Address Space RDAP Registry 3.1. IPv4 Address Space RDAP Registry
The IPv4 address space authoritative registration data service is The IPv4 address space authoritative registration data service is
found by doing a longest match of the target address with the values found by doing a longest match of the target address with the values
of the Prefix column in the IANA IPv4 address space RDAP registry as of the Prefix column in the IANA IPv4 address space RDAP registry as
defined in section Section 9. The value of the "RDAP URL" column is defined in section Section 9. The longest match is done the same way
the base RDAP url as described in [I-D.ietf-weirds-rdap-query]. as for routing: the addresses are converted in binary form and then
the binary strings are compared. The value of the "RDAP URL" column
is the base RDAP url as described in [I-D.ietf-weirds-rdap-query].
For example, a query for "192.0.2.0/24" matches the "192/8" entry in 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 the Prefix column of the registry. The RDAP server URL for this
address is located in the corresponding "RDAP URL" column for that address is located in the corresponding "RDAP URL" column for that
entry, which could be http://rdap.example.org/rdap. Therefore the entry, which could be http://rdap.example.org/rdap. Therefore the
query URL would be: http://rdap.example.org/rdap/ip/192.0.2.0/24. query URL would be: http://rdap.example.org/rdap/ip/192.0.2.0/24.
This example is not normative. This example is not normative.
3.2. IPv6 Address Space RDAP Registry 3.2. IPv6 Address Space RDAP Registry
The IPv6 address space authoritative registration data service is The IPv6 address space authoritative registration data service is
found by doing a longest match of the target address with the values found by doing a longest match of the target address with the values
of the Prefix column in the IANA IPv6 address space RDAP registry as of the Prefix column in the IANA IPv6 address space RDAP registry as
defined in section Section 9. The value of the "RDAP URL" column is defined in section Section 9. The longest match is done the same way
the base RDAP url as described in [I-D.ietf-weirds-rdap-query]. as for routing: the addresses are converted in binary form and then
the binary strings are compared. The value of the "RDAP URL" column
is the base RDAP url as described in [I-D.ietf-weirds-rdap-query].
For example, a query for "2001:db8::/32" matches the "2001/16" entry 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 in the Prefix column of the registry. The RDAP server URL for this
address is located in the corresponding "RDAP URL" column for that address is located in the corresponding "RDAP URL" column for that
entry, which could be http://rdap.example.org/rdap. Therefore the entry, which could be http://rdap.example.org/rdap. Therefore the
query URL would be: http://rdap.example.org/rdap/ip/2001:db8::/32. query URL would be: http://rdap.example.org/rdap/ip/2001:db8::/32.
This example is not normative. This example is not normative.
3.3. Autonomous Systems RDAP Registry 3.3. Autonomous Systems RDAP Registry
skipping to change at page 4, line 7 skipping to change at page 4, line 14
Section 9. The value of the "RDAP URL" column is the base RDAP url Section 9. The value of the "RDAP URL" column is the base RDAP url
as described in [I-D.ietf-weirds-rdap-query]. as described in [I-D.ietf-weirds-rdap-query].
For example, a query for AS 65411 matches the "64512-65534" entry in 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 the Number column of the registry. The RDAP server URL for this
address is located in the corresponding "RDAP URL" column for that address is located in the corresponding "RDAP URL" column for that
entry, which could be http://rdap.example.org/rdap. Therefore the entry, which could be http://rdap.example.org/rdap. Therefore the
query URL would be: http://rdap.example.org/rdap/autnum/65411. This query URL would be: http://rdap.example.org/rdap/autnum/65411. This
example is not normative. example is not normative.
4. Nameserver 4. Entity
TBD
5. Entity
Since there is no global namespace for entities, this document does Since there is no global namespace for entities, this document does
not describe how to find the authoritative RDAP server for entities. not describe how to find the authoritative RDAP server for entities.
It is possible however that, if the entity identifier was received It is possible however that, if the entity identifier was received
from a previous query, the same RDAP server could be queried for that from a previous query, the same RDAP server could be queried for that
entity. entity or the entity identifier itself is a fully referenced URL that
can be queried.
6. Non-existent Entries or RDAP URL Values 5. Non-existent Entries or RDAP URL Values
The registries may not contain the requested value or the RDAP URL 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 value may be empty. In these cases, there is no known RDAP server
for that requested value and the client should provide an appropriate for that requested value and the client should provide an appropriate
error message to the user. error message to the user.
7. Deployment Considerations 6. Deployment Considerations
This method relies on the fact that RDAP clients are fetching the This method relies on the fact that RDAP clients are fetching the
IANA XML registries. Clients SHOULD not fetch every time the XML IANA XML registries. Clients SHOULD not fetch every time the XML
files. If the query data does not match any entry in the already files.
fetched registry in the client, then the client shall first query the
DNS to see if the respective entry has been recently delegated or if If the query data does not match any entry in the already fetched
it is a mistyped information by the user. The DNS query could be to registry in the client, then the client may implement various
fetch the NS records for a domain TLD. If the DNS answer is methods, such as the following:
negative, then there is no need to fetch the new version of the XML
registry. However, if the DNS answer is positive, this means that o The client first queries the DNS to see if the respective entry
the currently cached XML registry is no more current. The client has been recently delegated or if it is a mistyped information by
should fetch the registry, parse and then do the normal matching as the user. The DNS query could be to fetch the NS records for a
specified above. Clients can also rely on HTTP headers to verify if domain TLD. If the DNS answer is negative, then there is no need
the registry has changed since last time it was fetched, without the to fetch the new version of the XML registry. However, if the DNS
need to fetch the whole registry. answer is positive, this means that the currently cached XML
registry is no more current. The client should fetch the
registry, parse and then do the normal matching as specified
above.
o If the client knows the existence of a RDAP aggregator or
redirector and trust that service, then it could send the query to
the redirector, which would redirect the client if it knows the
authoritative server that client has not found.
o Clients can also rely on HTTP headers to verify if the registry
has changed since last time it was fetched, without the need to
fetch the whole registry.
IANA should make sure that the service of those registries is able to IANA should make sure that the service of those registries is able to
cope with a larger demand and should take appropriate measures such cope with a larger demand and should take appropriate measures such
as caching and load balancing. as caching and load balancing.
This specification makes no assumption on how the authorities of This specification makes no assumption on how the authorities of
registration data may work together on sharing their information for registration data may work together on sharing their information for
a common service. a common service.
7. Limitations
This method does not provide a direct way to find authoritative RDAP
servers:
o for entities
o for queries using search patterns that do not contain a
terminating string that matches some entries in the registries
8. Security Considerations 8. Security Considerations
By providing a bootstrap method to find RDAP servers, this document By providing a bootstrap method to find RDAP servers, this document
helps making sure that the end-users will get the RDAP data from helps making sure that the end-users will get the RDAP data from
authoritative source, instead of from rogue sources. The method authoritative source, instead of from rogue sources. The method
itself has the same security properties as the RDAP protocols itself has the same security properties as the RDAP protocols
themselves. themselves. The transport used to access the registries could be
secured by TLS if IANA supports it.
9. IANA Considerations 9. IANA Considerations
IANA is requested to do the following: IANA is requested to do the following:
o Create a new registry for IPv4 address space with the following o Create a new registry for IPv4 address space with the following
columns: the first column is the entries taken from the current columns: the first column is the entries taken from the current
"IPv4 Address Space" registry[ipv4reg] and and the second column "IPv4 Address Space" registry[ipv4reg] and and the second column
is the RDAP server URL. The same registrants for these entries is the RDAP server URL. The same registrants for these entries
are entitled to provide the RDAP URL value for their respective are entitled to provide the RDAP URL value for their respective
skipping to change at page 6, line 22 skipping to change at page 6, line 47
additional records. If there is a need for additional records, additional records. If there is a need for additional records,
then the policy for updating the registry is Standards Track RFC. then the policy for updating the registry is Standards Track RFC.
10. Acknowledgements 10. Acknowledgements
The weirds working group had multiple discussions on this topic, The weirds working group had multiple discussions on this topic,
including a session during IETF 84. The idea of using IANA including a session during IETF 84. The idea of using IANA
registries was discovered by the editor during discussions with his registries was discovered by the editor during discussions with his
colleagues as well as by a comment from Andy Newton. All the people colleagues as well as by a comment from Andy Newton. All the people
involved in these discussions are herein acknowledged. Linlin Zhou, involved in these discussions are herein acknowledged. Linlin Zhou,
Jean-Philippe Dionne, John Levine, Kim Davies have provided input and Jean-Philippe Dionne, John Levine, Kim Davies, Ernie Dainow, Scott
Hollenbeck, Arturo Servin, Andy Newton have provided input and
suggestions to this document. suggestions to this document.
11. Non-Normative References 11. Non-Normative References
[I-D.ietf-weirds-json-response] [I-D.ietf-weirds-json-response]
Newton, A. and S. Hollenbeck, "JSON Responses for the Newton, A. and S. Hollenbeck, "JSON Responses for the
Registration Data Access Protocol (RDAP)", draft-ietf- Registration Data Access Protocol (RDAP)", draft-ietf-
weirds-json-response-06 (work in progress), October 2013. weirds-json-response-06 (work in progress), October 2013.
[I-D.ietf-weirds-rdap-query] [I-D.ietf-weirds-rdap-query]
Newton, A. and S. Hollenbeck, "Registration Data Access Newton, A. and S. Hollenbeck, "Registration Data Access
Protocol Query Format", draft-ietf-weirds-rdap-query-09 Protocol Query Format", draft-ietf-weirds-rdap-query-10
(work in progress), December 2013. (work in progress), February 2014.
[I-D.ietf-weirds-using-http] [I-D.ietf-weirds-using-http]
Newton, A., Ellacott, B., and N. Kong, "HTTP usage in the Newton, A., Ellacott, B., and N. Kong, "HTTP usage in the
Registration Data Access Protocol (RDAP)", draft-ietf- Registration Data Access Protocol (RDAP)", draft-ietf-
weirds-using-http-07 (work in progress), July 2013. weirds-using-http-08 (work in progress), February 2014.
[asreg] Internet Assigned Numbers Authority(IANA), , "Autonomous [asreg] Internet Assigned Numbers Authority(IANA), , "Autonomous
System (AS) Numbers", <http://www.iana.org/assignments/ System (AS) Numbers", <http://www.iana.org/assignments/
as-numbers/as-numbers.xml>. as-numbers/as-numbers.xml>.
[domainreg] [domainreg]
Internet Assigned Numbers Authority(IANA), , "Root Zone Internet Assigned Numbers Authority(IANA), , "Root Zone
Database", <http://www.iana.org/domains/root/db>. Database", <http://www.iana.org/domains/root/db>.
[ipv4reg] Internet Assigned Numbers Authority(IANA), , "IPv4 Address [ipv4reg] Internet Assigned Numbers Authority(IANA), , "IPv4 Address
 End of changes. 18 change blocks. 
39 lines changed or deleted 66 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/