idnits 2.17.1 draft-ietf-weirds-bootstrap-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 170: '...stries. Clients SHOULD not fetch ever...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: This method relies on the fact that RDAP clients are fetching the IANA XML registries. Clients SHOULD not fetch every time the XML files. If the query data does not match any entry in the already 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 it is a mistyped information by the user. The DNS query could be to fetch the NS records for a domain TLD. If the DNS answer is 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 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. 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. -- The document date (January 13, 2014) is 3746 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-14) exists of draft-ietf-weirds-json-response-06 == Outdated reference: A later version (-18) exists of draft-ietf-weirds-rdap-query-09 == Outdated reference: A later version (-15) exists of draft-ietf-weirds-using-http-07 Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Blanchet 3 Internet-Draft Viagenie 4 Intended status: Standards Track January 13, 2014 5 Expires: July 17, 2014 7 Finding the Authoritative Registration Data (RDAP) Service 8 draft-ietf-weirds-bootstrap-00.txt 10 Abstract 12 This document specifies a method to find which Registration Data 13 Access Protocol (RDAP) server is authoritative to answer queries for 14 a requested scope, such as domain names, IP addresses or Autonomous 15 System numbers, using data available in IANA registries. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on July 17, 2014. 34 Copyright Notice 36 Copyright (c) 2014 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Domain Name RDAP Registry . . . . . . . . . . . . . . . . . . 2 53 3. Internet Numbers RDAP Registries . . . . . . . . . . . . . . 3 54 3.1. IPv4 Address Space RDAP Registry . . . . . . . . . . . . 3 55 3.2. IPv6 Address Space RDAP Registry . . . . . . . . . . . . 3 56 3.3. Autonomous Systems RDAP Registry . . . . . . . . . . . . 3 57 4. Nameserver . . . . . . . . . . . . . . . . . . . . . . . . . 4 58 5. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 59 6. Non-existent Entries or RDAP URL Values . . . . . . . . . . . 4 60 7. Deployment Considerations . . . . . . . . . . . . . . . . . . 4 61 8. Security Considerations . . . . . . . . . . . . . . . . . . . 5 62 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 63 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 64 11. Non-Normative References . . . . . . . . . . . . . . . . . . 6 65 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 67 1. Introduction 69 Querying and retrieving registration data from registries are defined 70 in the Registration Data Access Protocol(RDAP)[I-D.ietf-weirds-rdap-q 71 uery][I-D.ietf-weirds-using-http][I-D.ietf-weirds-json-response]. 72 These documents do not specify where to send the queries. This 73 document specifies a method to find which server is authoritative to 74 answer queries for the requested scope. 76 The proposed mechanism is based on that allocation data for domain 77 names and IP addresses are maintained by IANA, are publicly available 78 and are in a structured format. The mechanism assumes some data 79 structure within these registries and request IANA to modify or 80 create these registries for the specific purpose of RDAP use. An 81 RDAP client fetches the registries, extract the data and then do a 82 match with the query data to find the authoritative registration data 83 server and appropriate query base URL. 85 2. Domain Name RDAP Registry 87 The domain names authoritative registration data service is found by 88 doing the longest match of the target domain name with the values of 89 the Domain column in the IANA Domain Name RDAP registry as defined in 90 section Section 9. The value of the "RDAP URL" column is the base 91 RDAP url as described in [I-D.ietf-weirds-rdap-query]. 93 For example, a RDAP query for example.com matches the .com entry in 94 the Domain column of the registry. The RDAP server URL for this 95 address is located in the corresponding "RDAP URL" column for that 96 entry, which could be http://rdap.example.org/rdap. Therefore the 97 query URL would be: http://rdap.example.org/rdap/domain/example.com. 98 This example is not normative. 100 3. Internet Numbers RDAP Registries 102 3.1. IPv4 Address Space RDAP Registry 104 The IPv4 address space authoritative registration data service is 105 found by doing a longest match of the target address with the values 106 of the Prefix column in the IANA IPv4 address space RDAP registry as 107 defined in section Section 9. The value of the "RDAP URL" column is 108 the base RDAP url as described in [I-D.ietf-weirds-rdap-query]. 110 For example, a query for "192.0.2.0/24" matches the "192/8" entry in 111 the Prefix column of the registry. The RDAP server URL for this 112 address is located in the corresponding "RDAP URL" column for that 113 entry, which could be http://rdap.example.org/rdap. Therefore the 114 query URL would be: http://rdap.example.org/rdap/ip/192.0.2.0/24. 115 This example is not normative. 117 3.2. IPv6 Address Space RDAP Registry 119 The IPv6 address space authoritative registration data service is 120 found by doing a longest match of the target address with the values 121 of the Prefix column in the IANA IPv6 address space RDAP registry as 122 defined in section Section 9. The value of the "RDAP URL" column is 123 the base RDAP url as described in [I-D.ietf-weirds-rdap-query]. 125 For example, a query for "2001:db8::/32" matches the "2001/16" entry 126 in the Prefix column of the registry. The RDAP server URL for this 127 address is located in the corresponding "RDAP URL" column for that 128 entry, which could be http://rdap.example.org/rdap. Therefore the 129 query URL would be: http://rdap.example.org/rdap/ip/2001:db8::/32. 130 This example is not normative. 132 3.3. Autonomous Systems RDAP Registry 134 The Autonomous Systems (AS) authoritative registration data service 135 is found by identifying the range in which the target Autonomous 136 System is, with the values of the Number column in the IANA 137 Autonomous Systems (AS) Numbers RDAP registry as defined in section 138 Section 9. The value of the "RDAP URL" column is the base RDAP url 139 as described in [I-D.ietf-weirds-rdap-query]. 141 For example, a query for AS 65411 matches the "64512-65534" entry in 142 the Number column of the registry. The RDAP server URL for this 143 address is located in the corresponding "RDAP URL" column for that 144 entry, which could be http://rdap.example.org/rdap. Therefore the 145 query URL would be: http://rdap.example.org/rdap/autnum/65411. This 146 example is not normative. 148 4. Nameserver 150 TBD 152 5. Entity 154 Since there is no global namespace for entities, this document does 155 not describe how to find the authoritative RDAP server for entities. 156 It is possible however that, if the entity identifier was received 157 from a previous query, the same RDAP server could be queried for that 158 entity. 160 6. Non-existent Entries or RDAP URL Values 162 The registries may not contain the requested value or the RDAP URL 163 value may be empty. In these cases, there is no known RDAP server 164 for that requested value and the client should provide an appropriate 165 error message to the user. 167 7. Deployment Considerations 169 This method relies on the fact that RDAP clients are fetching the 170 IANA XML registries. Clients SHOULD not fetch every time the XML 171 files. If the query data does not match any entry in the already 172 fetched registry in the client, then the client shall first query the 173 DNS to see if the respective entry has been recently delegated or if 174 it is a mistyped information by the user. The DNS query could be to 175 fetch the NS records for a domain TLD. If the DNS answer is 176 negative, then there is no need to fetch the new version of the XML 177 registry. However, if the DNS answer is positive, this means that 178 the currently cached XML registry is no more current. The client 179 should fetch the registry, parse and then do the normal matching as 180 specified above. Clients can also rely on HTTP headers to verify if 181 the registry has changed since last time it was fetched, without the 182 need to fetch the whole registry. 184 IANA should make sure that the service of those registries is able to 185 cope with a larger demand and should take appropriate measures such 186 as caching and load balancing. 188 This specification makes no assumption on how the authorities of 189 registration data may work together on sharing their information for 190 a common service. 192 8. Security Considerations 194 By providing a bootstrap method to find RDAP servers, this document 195 helps making sure that the end-users will get the RDAP data from 196 authoritative source, instead of from rogue sources. The method 197 itself has the same security properties as the RDAP protocols 198 themselves. 200 9. IANA Considerations 202 IANA is requested to do the following: 204 o Create a new registry for IPv4 address space with the following 205 columns: the first column is the entries taken from the current 206 "IPv4 Address Space" registry[ipv4reg] and and the second column 207 is the RDAP server URL. The same registrants for these entries 208 are entitled to provide the RDAP URL value for their respective 209 space, using the same communication channels already established 210 between the registrants and IANA. 212 o Create a new registry for IPv6 address space with the following 213 columns: the first column is the entries taken from the current 214 IPv6 Address Space registries [ipv6regparent][ipv6reg] and the 215 second column is the RDAP server URL. The same registrants for 216 these entries are entitled to provide the RDAP URL value for their 217 respective space, using the same communication channels already 218 established between the registrants and IANA. 220 o Create a new registry for Autonomous System Number space with the 221 following columns: the first column is the entries taken from the 222 current "Autonomous System Number Space" registry[asreg] and the 223 second column is the RDAP server URL. The same registrants for 224 these entries are entitled to provide the RDAP URL value for their 225 respective space, using the same communication channels already 226 established between the registrants and IANA. 228 o Create a new registry of domain names, essentially TLDs, with the 229 following columns: Domain and RDAP URL. The content should be 230 initially populated by an extract of the Root zone 231 database[domainreg]. The same registrants for these entries are 232 entitled to provide the RDAP URL value for their respective space, 233 using the same communication channels already established between 234 the registrants and IANA. 236 o A change happening in any of the source registries should trigger 237 a change in the corresponding new registry. For example, a new 238 IPv6 address block appearing in the source IPv6 address space 239 registry should trigger the same new entry in the corresponding 240 RDAP registry. 242 o IANA shall update its procedures to include the provisioning of 243 these values. 245 o It is envisioned that the entries of each of these registries are 246 synched from the source assignment registries. There shall be no 247 additional records. If there is a need for additional records, 248 then the policy for updating the registry is Standards Track RFC. 250 10. Acknowledgements 252 The weirds working group had multiple discussions on this topic, 253 including a session during IETF 84. The idea of using IANA 254 registries was discovered by the editor during discussions with his 255 colleagues as well as by a comment from Andy Newton. All the people 256 involved in these discussions are herein acknowledged. Linlin Zhou, 257 Jean-Philippe Dionne, John Levine, Kim Davies have provided input and 258 suggestions to this document. 260 11. Non-Normative References 262 [I-D.ietf-weirds-json-response] 263 Newton, A. and S. Hollenbeck, "JSON Responses for the 264 Registration Data Access Protocol (RDAP)", draft-ietf- 265 weirds-json-response-06 (work in progress), October 2013. 267 [I-D.ietf-weirds-rdap-query] 268 Newton, A. and S. Hollenbeck, "Registration Data Access 269 Protocol Query Format", draft-ietf-weirds-rdap-query-09 270 (work in progress), December 2013. 272 [I-D.ietf-weirds-using-http] 273 Newton, A., Ellacott, B., and N. Kong, "HTTP usage in the 274 Registration Data Access Protocol (RDAP)", draft-ietf- 275 weirds-using-http-07 (work in progress), July 2013. 277 [asreg] Internet Assigned Numbers Authority(IANA), , "Autonomous 278 System (AS) Numbers", . 281 [domainreg] 282 Internet Assigned Numbers Authority(IANA), , "Root Zone 283 Database", . 285 [ipv4reg] Internet Assigned Numbers Authority(IANA), , "IPv4 Address 286 Space", . 289 [ipv6reg] Internet Assigned Numbers Authority(IANA), , "IPv6 Global 290 Unicast Address Assignments", . 294 [ipv6regparent] 295 Internet Assigned Numbers Authority(IANA), , "Internet 296 Protocol Version 6 Address Space", . 299 Author's Address 301 Marc Blanchet 302 Viagenie 303 246 Aberdeen 304 Quebec, QC G1R 2E1 305 Canada 307 Email: Marc.Blanchet@viagenie.ca 308 URI: http://www.viagenie.ca