idnits 2.17.1 draft-ietf-regext-rfc7484bis-03.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 29, 2021) is 1117 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) -- Obsolete informational reference (is this intentional?): RFC 7234 (Obsoleted by RFC 9111) -- Obsolete informational reference (is this intentional?): RFC 7482 (Obsoleted by RFC 9082) -- Obsolete informational reference (is this intentional?): RFC 7483 (Obsoleted by RFC 9083) -- Obsolete informational reference (is this intentional?): RFC 7484 (Obsoleted by RFC 9224) Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 5 comments (--). 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 Obsoletes: 7484 (if approved) March 29, 2021 5 Intended status: Standards Track 6 Expires: September 30, 2021 8 Finding the Authoritative Registration Data (RDAP) Service 9 draft-ietf-regext-rfc7484bis-03 11 Abstract 13 This document specifies a method to find which Registration Data 14 Access Protocol (RDAP) server is authoritative to answer queries for 15 a requested scope, such as domain names, IP addresses, or Autonomous 16 System numbers. This document obsoletes RFC7484. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at https://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on September 30, 2021. 35 Copyright Notice 37 Copyright (c) 2021 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (https://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 54 3. Structure of the RDAP Bootstrap Service Registries . . . . . 3 55 4. Bootstrap Service Registry for Domain Name Space . . . . . . 5 56 5. Bootstrap Service Registries for Internet Numbers . . . . . . 6 57 5.1. Bootstrap Service Registry for IPv4 Address Space . . . . 6 58 5.2. Bootstrap Service Registry for IPv6 Address Space . . . . 7 59 5.3. Bootstrap Service Registry for AS Number Space . . . . . 8 60 6. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 61 7. Non-existent Entries or RDAP URL Values . . . . . . . . . . . 10 62 8. Deployment and Implementation Considerations . . . . . . . . 10 63 9. Limitations . . . . . . . . . . . . . . . . . . . . . . . . . 10 64 10. Formal Definition . . . . . . . . . . . . . . . . . . . . . . 11 65 10.1. Imported JSON Terms . . . . . . . . . . . . . . . . . . 11 66 10.2. Registry Syntax . . . . . . . . . . . . . . . . . . . . 11 67 11. Security Considerations . . . . . . . . . . . . . . . . . . . 12 68 12. Implementation Status . . . . . . . . . . . . . . . . . . . . 12 69 12.1. RDAP Browser Mobile Application . . . . . . . . . . . . 13 70 12.2. ICANN Lookup Web Application . . . . . . . . . . . . . . 13 71 12.3. ARIN Implementation . . . . . . . . . . . . . . . . . . 13 72 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 73 13.1. Bootstrap Service Registry for IPv4 Address Space . . . 15 74 13.2. Bootstrap Service Registry for IPv6 Address Space . . . 15 75 13.3. Bootstrap Service Registry for AS Number Space . . . . . 16 76 13.4. Bootstrap Service Registry for Domain Name Space . . . . 16 77 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 78 14.1. Normative References . . . . . . . . . . . . . . . . . . 16 79 14.2. Informative References . . . . . . . . . . . . . . . . . 17 80 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 19 81 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 19 83 1. Introduction 85 Querying and retrieving registration data from registries are defined 86 in Registration Data Access Protocol (RDAP) [RFC7480] [RFC7481] 87 [RFC7482] [RFC7483]. These documents do not specify where to send 88 the queries. This document specifies a method to find which server 89 is authoritative to answer queries for the requested scope. 91 Top-Level Domains (TLDs), Autonomous System (AS) numbers, and network 92 blocks are delegated by IANA to Internet registries such as TLD 93 registries and Regional Internet Registries (RIRs) that then issue 94 further delegations and maintain information about them. Thus, the 95 bootstrap information needed by RDAP clients is best generated from 96 data and processes already maintained by IANA; the relevant 97 registries already exist at [ipv4reg], [ipv6reg], [asreg], and 98 [domainreg]. This document obsoletes [RFC7484]. 100 Per this document, IANA has created new registries based on a JSON 101 format specified in this document, herein named RDAP Bootstrap 102 Service Registries. These new registries are based on the existing 103 entries of the above mentioned registries. An RDAP client fetches 104 the RDAP Bootstrap Service Registries, extracts the data, and then 105 performs a match with the query data to find the authoritative 106 registration data server and appropriate query base URL. 108 2. Conventions Used in This Document 110 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 111 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 112 document are to be interpreted as described in [RFC2119] when 113 specified in their uppercase forms. 115 3. Structure of the RDAP Bootstrap Service Registries 117 The RDAP Bootstrap Service Registries, as specified in Section 13 118 below, have been made available as JSON [RFC8259] objects, which can 119 be retrieved via HTTP from locations specified by IANA. The JSON 120 object for each registry contains a series of members containing 121 metadata about the registry such as a version identifier, a timestamp 122 of the publication date of the registry, and a description. 123 Additionally, a "services" member contains the registry items 124 themselves, as an array. Each item of the array contains a second- 125 level array, with two elements, each of them being a third-level 126 array. 128 Each element of the Services Array is a second-level array with two 129 elements: in order, an Entry Array and a Service URL Array. 131 The Entry Array contains all entries that have the same set of base 132 RDAP URLs. The Service URL Array contains the list of base RDAP URLs 133 usable for the entries found in the Entry Array. Elements within 134 these two arrays are not sorted in any way. 136 An example structure of the JSON output of a RDAP Bootstrap Service 137 Registry is illustrated: 139 { 140 "version": "1.0", 141 "publication": "YYYY-MM-DDTHH:MM:SSZ", 142 "description": "Some text", 143 "services": [ 144 [ 145 ["entry1", "entry2", "entry3"], 146 [ 147 "https://registry.example.com/myrdap/", 148 "http://registry.example.com/myrdap/" 149 ] 150 ], 151 [ 152 ["entry4"], 153 [ 154 "https://example.org/" 155 ] 156 ] 157 ] 158 } 160 The formal syntax is described in Section 10. 162 The "version" corresponds to the format version of the registry. 163 This specification defines version "1.0". 165 The syntax of the "publication" value conforms to the Internet date/ 166 time format [RFC3339]. The value is the latest update date of the 167 registry by IANA. 169 The optional "description" string can contain a comment regarding the 170 content of the bootstrap object. 172 Per [RFC7258], in each array of base RDAP URLs, the secure versions 173 of the transport protocol SHOULD be preferred and tried first. For 174 example, if the base RDAP URLs array contains both HTTPS and HTTP 175 URLs, the bootstrap client SHOULD try the HTTPS version first. 177 Base RDAP URLs MUST have a trailing "/" character because they are 178 concatenated to the various segments defined in [RFC7482]. 180 JSON names MUST follow the format recommendations of [RFC7480]. Any 181 unrecognized JSON object properties or values MUST be ignored by 182 implementations. 184 Internationalized Domain Name labels used as entries or base RDAP 185 URLs in the registries defined in this document MUST be only 186 represented using their A-label form as defined in [RFC5890]. 188 All Domain Name labels used as entries or base RDAP URLs in the 189 registries defined in this document MUST be only represented in 190 lowercase. 192 4. Bootstrap Service Registry for Domain Name Space 194 The JSON output of this registry contains domain label entries 195 attached to the root, grouped by base RDAP URLs, as shown in this 196 example. 198 { 199 "version": "1.0", 200 "publication": "YYYY-MM-DDTHH:MM:SSZ", 201 "description": "Some text", 202 "services": [ 203 [ 204 ["net", "com"], 205 [ 206 "https://registry.example.com/myrdap/" 207 ] 208 ], 209 [ 210 ["org", "mytld"], 211 [ 212 "https://example.org/" 213 ] 214 ], 215 [ 216 ["xn--zckzah"], 217 [ 218 "https://example.net/rdap/xn--zckzah/", 219 "http://example.net/rdap/xn--zckzah/" 220 ] 221 ] 222 ] 223 } 225 The domain name's authoritative registration data service is found by 226 doing the label-wise longest match of the target domain name with the 227 domain values in the Entry Arrays in the IANA Bootstrap Service 228 Registry for Domain Name Space. The match is done per label, from 229 right to left. If the longest match results in multiple entries, 230 then those entries are considered equivalent. The values contained 231 in the Service URL Array of the matching second-level array are the 232 valid base RDAP URLs as described in [RFC7482]. 234 For example, a domain RDAP query for a.b.example.com matches the com 235 entry in one of the arrays of the registry. The base RDAP URL for 236 this query is then taken from the second element of the array, which 237 is an array of base RDAP URLs valid for this entry. The client 238 chooses one of the base URLs from this array; in this example, it 239 chooses the only one available, "https://registry.example.com/ 240 myrdap/". The segment specified in [RFC7482] is then appended to the 241 base URL to complete the query. The complete query is then 242 "https://registry.example.com/myrdap/domain/a.b.example.com". 244 If a domain RDAP query for a.b.example.com matches both com and 245 example.com entries in the registry, then the longest match applies 246 and the example.com entry is used by the client. 248 If the registry contains entries such as com and goodexample.com, 249 then a domain RDAP query for example.com only matches the com entry 250 because matching is done on a per-label basis. 252 The entry for the root of the domain name space is specified as "". 254 5. Bootstrap Service Registries for Internet Numbers 256 This section discusses IPv4 and IPv6 address space and Autonomous 257 System numbers. 259 For IP address space, the authoritative registration data service is 260 found by doing a longest match of the target address with the values 261 of the arrays in the corresponding RDAP Bootstrap Service Registry 262 for Address Space. The longest match is done the same way as for 263 routing: the addresses are converted in binary form and then the 264 binary strings are compared to find the longest match up to the 265 specified prefix length. The values contained in the second element 266 of the array are the base RDAP URLs as described in [RFC7482]. The 267 longest match method enables covering prefixes of a larger address 268 space pointing to one base RDAP URL while more specific prefixes 269 within the covering prefix are being served by another base RDAP URL. 271 5.1. Bootstrap Service Registry for IPv4 Address Space 273 The JSON output of this registry contains IPv4 prefix entries, 274 specified in Classless Inter-domain Routing (CIDR) format [RFC4632] 275 and grouped by RDAP URLs, as shown in this example. 277 { 278 "version": "1.0", 279 "publication": "2024-01-07T10:11:12Z", 280 "description": "RDAP Bootstrap file for example registries.", 281 "services": [ 282 [ 283 ["198.51.100.0/24", "192.0.0.0/8"], 284 [ 285 "https://rir1.example.com/myrdap/" 286 ] 287 ], 288 [ 289 ["203.0.113.0/24", "192.0.2.0/24"], 290 [ 291 "https://example.org/" 292 ] 293 ], 294 [ 295 ["203.0.113.0/28"], 296 [ 297 "https://example.net/rdaprir2/", 298 "http://example.net/rdaprir2/" 299 ] 300 ] 301 ] 302 } 304 For example, a query for "192.0.2.1/25" matches the "192.0.0.0/8" 305 entry and the "192.0.2.0/24" entry in the example registry above. 306 The latter is chosen by the client given the longest match. The base 307 RDAP URL for this query is then taken from the second element of the 308 array, which is an array of base RDAP URLs valid for this entry. The 309 client chooses one of the base URLs from this array; in this example, 310 it chooses the only one available, "https://example.org/". The 311 {resource} specified in [RFC7482] is then appended to the base URL to 312 complete the query. The complete query is then "https://example.org/ 313 ip/192.0.2.1/25". 315 5.2. Bootstrap Service Registry for IPv6 Address Space 317 The JSON output of this registry contains IPv6 prefix entries, using 318 [RFC4291] text representation of the address prefixes format, grouped 319 by base RDAP URLs, as shown in this example. 321 { 322 "version": "1.0", 323 "publication": "2024-01-07T10:11:12Z", 324 "description": "RDAP Bootstrap file for example registries.", 325 "services": [ 326 [ 327 ["2001:db8::/34"], 328 [ 329 "https://rir2.example.com/myrdap/" 330 ] 331 ], 332 [ 333 ["2001:db8:4000::/36", "2001:db8:ffff::/48"], 334 [ 335 "https://example.org/" 336 ] 337 ], 338 [ 339 ["2001:db8:1000::/36"], 340 [ 341 "https://example.net/rdaprir2/", 342 "http://example.net/rdaprir2/" 343 ] 344 ] 345 ] 346 } 348 For example, a query for "2001:db8:1000::/48" matches the 349 "2001:db8::/34" entry and the "2001:db8:1000::/36" entry in the 350 example registry above. The latter is chosen by the client given the 351 longest match. The base RDAP URL for this query is then taken from 352 the second element of the array, which is an array of base RDAP URLs 353 valid for this entry. The client chooses one of the base URLs from 354 this array; in this example, it chooses "https://example.net/ 355 rdaprir2/" because it's the secure version of the protocol. The 356 segment specified in [RFC7482] is then appended to the base URL to 357 complete the query. The complete query is, therefore, 358 "https://example.net/rdaprir2/ip/2001:0db8:1000::/48". If the target 359 RDAP server does not answer, the client can then use another URL 360 prefix from the array. 362 5.3. Bootstrap Service Registry for AS Number Space 364 The JSON output of this registry contains Autonomous Systems number 365 ranges entries, grouped by base RDAP URLs, as shown in this example. 366 The Entry Array is an array containing the list of AS number ranges 367 served by the base RDAP URLs found in the second element. The array 368 always contains two AS numbers represented in decimal format that 369 represents the range of AS numbers between the two elements of the 370 array. A single AS number is represented as a range of two identical 371 AS numbers. AS numbers are represented as 'asplain' as defined in 372 [RFC5396]. 374 { 375 "version": "1.0", 376 "publication": "2024-01-07T10:11:12Z", 377 "description": "RDAP Bootstrap file for example registries.", 378 "services": [ 379 [ 380 ["64496-64496"], 381 [ 382 "https://rir3.example.com/myrdap/" 383 ] 384 ], 385 [ 386 ["64497-64510", "65536-65551"], 387 [ 388 "https://example.org/" 389 ] 390 ], 391 [ 392 ["64512-65534"], 393 [ 394 "http://example.net/rdaprir2/", 395 "https://example.net/rdaprir2/" 396 ] 397 ] 398 ] 399 } 401 For example, a query for AS 65411 matches the 64512-65534 entry in 402 the example registry above. The base RDAP URL for this query is then 403 taken from the second element of the array, which is an array of base 404 RDAP URLs valid for this entry. The client chooses one of the base 405 URLs from this array; in this example, it chooses 406 "https://example.net/rdaprir2/". The segment specified in [RFC7482] 407 is then appended to the base URL to complete the query. The complete 408 query is, therefore, "https://example.net/rdaprir2/autnum/65411". If 409 the server does not answer, the client can then use another URL 410 prefix from the array. 412 6. Entity 414 Entities (such as contacts, registrants, or registrars) can be 415 queried by handle as described in [RFC7482]. Since there is no 416 global namespace for entities, this document does not describe how to 417 find the authoritative RDAP server for entities. However, it is 418 possible that, if the entity identifier was received from a previous 419 query, the same RDAP server could be queried for that entity, or the 420 entity identifier itself is a fully referenced URL that can be 421 queried. The mechanism described in [RFC8521] MAY also be used. 423 7. Non-existent Entries or RDAP URL Values 425 The registries may not contain the requested value. In these cases, 426 there is no known RDAP server for that requested value, and the 427 client SHOULD provide an appropriate error message to the user. 429 8. Deployment and Implementation Considerations 431 This method relies on the fact that RDAP clients are fetching the 432 IANA registries to then find the servers locally. Clients SHOULD NOT 433 fetch the registry on every RDAP request. Clients SHOULD cache the 434 registry, but use underlying protocol signaling, such as the HTTP 435 Expires header field [RFC7234], to identify when it is time to 436 refresh the cached registry. 438 Some authorities of registration data may work together on sharing 439 their information for a common service, including mutual redirection 440 [REDIRECT-RDAP]. 442 When a new object is allocated, such as a new AS range, a new TLD, or 443 a new IP address range, there is no guarantee that this new object 444 will have an entry in the corresponding bootstrap RDAP registry, 445 since the setup of the RDAP server for this new entry may become live 446 and registered later. Therefore, the clients should expect that even 447 if an object, such as TLD, IP address range, or AS range is 448 allocated, the existence of the entry in the corresponding bootstrap 449 registry is not guaranteed. 451 9. Limitations 453 This method does not provide a direct way to find authoritative RDAP 454 servers for any other objects than the ones described in this 455 document. In particular, the following objects are not bootstrapped 456 with the method described in this document: 458 o entities 460 o queries using search patterns that do not contain a terminating 461 string that matches some entries in the registries 463 o nameservers 464 o help 466 10. Formal Definition 468 This section is the formal definition of the registries. The 469 structure of JSON objects and arrays using a set of primitive 470 elements is defined in [RFC8259]. Those elements are used to 471 describe the JSON structure of the registries. 473 10.1. Imported JSON Terms 475 o OBJECT: a JSON object, defined in Section 4 of [RFC8259] 477 o MEMBER: a member of a JSON object, defined in Section 4 of 478 [RFC8259] 480 o MEMBER-NAME: the name of a MEMBER, defined as a "string" in 481 Section 4 of [RFC8259] 483 o MEMBER-VALUE: the value of a MEMBER, defined as a "value" in 484 Section 4 of [RFC8259] 486 o ARRAY: an array, defined in Section 5 of [RFC8259] 488 o ARRAY-VALUE: an element of an ARRAY, defined in Section 5 of 489 [RFC8259] 491 o STRING: a "string", as defined in Section 7 of [RFC8259] 493 10.2. Registry Syntax 495 Using the above terms for the JSON structures, the syntax of a 496 registry is defined as follows: 498 o rdap-bootstrap-registry: an OBJECT containing a MEMBER version and 499 a MEMBER publication, an optional MEMBER description, and a MEMBER 500 services-list 502 o version: a MEMBER with MEMBER-NAME "version" and MEMBER-VALUE a 503 STRING 505 o publication: a MEMBER with MEMBER-NAME "publication" and MEMBER- 506 VALUE a STRING 508 o description: a MEMBER with MEMBER-NAME "description" and MEMBER- 509 VALUE a STRING 511 o services-list: a MEMBER with MEMBER-NAME "services" and MEMBER- 512 VALUE a services-array 514 o services-array: an ARRAY, where each ARRAY-VALUE is a service 516 o service: an ARRAY of 2 elements, where the first ARRAY-VALUE is a 517 an entry-list and the second ARRAY-VALUE is a service-uri-list 519 o entry-list: an ARRAY, where each ARRAY-VALUE is an entry 521 o entry: a STRING 523 o service-uri-list: an ARRAY, where each ARRAY-VALUE is a service- 524 uri 526 o service-uri: a STRING 528 11. Security Considerations 530 By providing a bootstrap method to find RDAP servers, this document 531 helps to ensure that the end users will get the RDAP data from an 532 authoritative source, instead of from rogue sources. The method has 533 the same security properties as the RDAP protocols themselves. The 534 transport used to access the registries can be more secure by using 535 TLS [RFC8446], which IANA supports. 537 Additional considerations on using RDAP are described in [RFC7481]. 539 12. Implementation Status 541 NOTE: Please remove this section and the reference to RFC 7942 prior 542 to publication as an RFC. 544 This section records the status of known implementations of the 545 protocol defined by this specification at the time of posting of this 546 Internet-Draft, and is based on a proposal described in [RFC7942]. 547 The description of implementations in this section is intended to 548 assist the IETF in its decision processes in progressing drafts to 549 RFCs. Please note that the listing of any individual implementation 550 here does not imply endorsement by the IETF. Furthermore, no effort 551 has been spent to verify the information presented here that was 552 supplied by IETF contributors. This is not intended as, and must not 553 be construed to be, a catalog of available implementations or their 554 features. Readers are advised to note that other implementations may 555 exist. 557 According to [RFC7942], "this will allow reviewers and working groups 558 to assign due consideration to documents that have the benefit of 559 running code, which may serve as evidence of valuable experimentation 560 and feedback that have made the implemented protocols more mature. 561 It is up to the individual working groups to use this information as 562 they see fit". 564 12.1. RDAP Browser Mobile Application 566 Responsible Organization: Viagenie 568 Author: Marc Blanchet 570 Location: https://viagenie.ca/rdapbrowser/ 572 Description: RDAP Browser is an RDAP client for domain names, IP 573 addresses and AS numbers fetching the IANA registries described in 574 this document to find the right authoritative RDAP server. End 575 user can query any domain name, IP address or AS number and the 576 registration data will be shown on the screen. 578 Level of Maturity: Production (i.e. in the Android and iOS App 579 stores since August 2019) 581 Contact Information: rdapbrowser@viagenie.ca 583 Information last updated: March 2021 585 12.2. ICANN Lookup Web Application 587 Responsible Organization: ICANN 589 Location: https://lookup.icann.org 591 Description: ICANN's Domain Name Registration Data Lookup is an 592 RDAP client for domain names fetching the IANA regis tries 593 described in this document to find the right authoritative RDAP 594 server. End user can query any domain name and the registration 595 data will be shown on the screen. 597 Level of Maturity: Production 599 Information last updated: March 2021 601 12.3. ARIN Implementation 603 Responsible Organization: ARIN 605 Base URL: https://rdap-bootstrap.arin.net/bootstrap ( Sample 606 query: https://rdap-bootstrap.arin.net/bootstrap/autnum/1 ) 607 Description: ARIN RDAP Bootstrap server aids clients by reading 608 the bootstrapping information published by IANA and using it to 609 send HTTP redirects to RDAP queries. RDAP clients 610 https://search.arin.net/ and NicInfo ( https://github.com/arineng/ 611 nicinfo ) use this bootstrap service. The underlying server 612 software is open-sourced at https://github.com/arineng/ 613 rdap_bootstrap_server . 615 Level of Maturity: Production 617 Contact Information: info@arin.net 619 Information Last Updated: Nov 2020 621 13. IANA Considerations 623 IANA has created the RDAP Bootstrap Services Registries, listed 624 below, and made them available as JSON objects. The contents of 625 these registries are described in Section 3, Section 4, and 626 Section 5, with the formal syntax specified in Section 10. 628 The process for adding or updating entries in these registries 629 differs from the normal IANA registry processes: these registries are 630 generated from the data, processes, and policies maintained by IANA 631 in their allocation registries ([ipv4reg], [ipv6reg], [asreg], and 632 [domainreg]), with the addition of new RDAP server information. 634 IANA updates RDAP Bootstrap Services Registries entries from the 635 allocation registries as those registries are updated. 637 This document does not change any policies related to the allocation 638 registries; IANA has provided a mechanism for collecting the RDAP 639 server information. The RDAP Bootstrap Services Registries will 640 start empty and will be gradually populated as registrants of domains 641 and address spaces provide RDAP server information to IANA. 643 IANA has created a new top-level category on the Protocol Registries 644 page, . The group is called 645 "Registration Data Access Protocol (RDAP)". Each of the RDAP 646 Bootstrap Services Registries has been made available for general 647 public on-demand download in the JSON format, and that registry's URI 648 is listed directly on the Protocol Registries page. 650 Other normal registries will be added to this group by other 651 documents, but the reason the URIs for these registries are clearly 652 listed on the main page is to make those URIs obvious to implementers 653 -- these are registries that will be accessed by software, as well as 654 by humans using them for reference information. 656 Because these registries will be accessed by software, the download 657 demand for the RDAP Bootstrap Services Registries may be unusually 658 high compared to normal IANA registries. The technical 659 infrastructure by which registries are published has been put in 660 place by IANA to support the load. Since the first publication of 661 this RFC, no issue have been reported regarding the load or the 662 service. 664 As discussed in Section 8, software that accesses these registries 665 will depend on the HTTP Expires header field to limit their query 666 rate. It is, therefore, important for that header field to be 667 properly set to provide timely information as the registries change, 668 while maintaining a reasonable load on the IANA servers. 670 The HTTP Content-Type returned to clients accessing these JSON- 671 formatted registries MUST be "application/json", as defined in 672 [RFC8259]. 674 Because of how information in the RDAP Bootstrap Services Registries 675 is grouped and formatted, the registry entries may not be sortable. 676 It is, therefore, not required or expected that the entries be sorted 677 in any way. 679 NOTE TO IANA: Please update the registries to reference this new RFC 680 instead of RFC 7484 once this document is approved by the IESG and 681 published by the RFC Editor". RFC-Editor, please remove this 682 paragraph before publication 684 13.1. Bootstrap Service Registry for IPv4 Address Space 686 Entries in this registry contain at least the following: 688 o a CIDR [RFC4632] specification of the network block being 689 registered. 691 o one or more URLs that provide the RDAP service regarding this 692 registration. 694 13.2. Bootstrap Service Registry for IPv6 Address Space 696 Entries in this registry contain at least the following: 698 o an IPv6 prefix [RFC4291] specification of the network block being 699 registered. 701 o one or more URLs that provide the RDAP service regarding this 702 registration. 704 13.3. Bootstrap Service Registry for AS Number Space 706 Entries in this registry contain at least the following: 708 o a range of Autonomous System numbers being registered. 710 o one or more URLs that provide the RDAP service regarding this 711 registration. 713 13.4. Bootstrap Service Registry for Domain Name Space 715 Entries in this registry contain at least the following: 717 o a domain name attached to the root being registered. 719 o one or more URLs that provide the RDAP service regarding this 720 registration. 722 14. References 724 14.1. Normative References 726 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 727 Requirement Levels", BCP 14, RFC 2119, 728 DOI 10.17487/RFC2119, March 1997, 729 . 731 [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: 732 Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, 733 . 735 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 736 Architecture", RFC 4291, DOI 10.17487/RFC4291, February 737 2006, . 739 [RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing 740 (CIDR): The Internet Address Assignment and Aggregation 741 Plan", BCP 122, RFC 4632, DOI 10.17487/RFC4632, August 742 2006, . 744 [RFC5396] Huston, G. and G. Michaelson, "Textual Representation of 745 Autonomous System (AS) Numbers", RFC 5396, 746 DOI 10.17487/RFC5396, December 2008, 747 . 749 [RFC5890] Klensin, J., "Internationalized Domain Names for 750 Applications (IDNA): Definitions and Document Framework", 751 RFC 5890, DOI 10.17487/RFC5890, August 2010, 752 . 754 [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an 755 Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May 756 2014, . 758 [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data 759 Interchange Format", STD 90, RFC 8259, 760 DOI 10.17487/RFC8259, December 2017, 761 . 763 14.2. Informative References 765 [asreg] IANA, "Autonomous System (AS) Numbers", 766 . 768 [domainreg] 769 IANA, "Root Zone Database", 770 . 772 [ipv4reg] IANA, "IPv4 Address Space Registry", 773 . 775 [ipv6reg] IANA, "IPv6 Global Unicast Address Assignments", 776 . 779 [REDIRECT-RDAP] 780 Martinez, C., Zhou, L., and G. Rada, "Redirection Service 781 for Registration Data Access Protocol", Work in Progress, 782 draft-ietf-weirds-redirects-04, July 2014. 784 [RFC7071] Borenstein, N. and M. Kucherawy, "A Media Type for 785 Reputation Interchange", RFC 7071, DOI 10.17487/RFC7071, 786 November 2013, . 788 [RFC7234] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, 789 Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching", 790 RFC 7234, DOI 10.17487/RFC7234, June 2014, 791 . 793 [RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the 794 Registration Data Access Protocol (RDAP)", STD 95, 795 RFC 7480, DOI 10.17487/RFC7480, March 2015, 796 . 798 [RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the 799 Registration Data Access Protocol (RDAP)", STD 95, 800 RFC 7481, DOI 10.17487/RFC7481, March 2015, 801 . 803 [RFC7482] Newton, A. and S. Hollenbeck, "Registration Data Access 804 Protocol (RDAP) Query Format", RFC 7482, 805 DOI 10.17487/RFC7482, March 2015, 806 . 808 [RFC7483] Newton, A. and S. Hollenbeck, "JSON Responses for the 809 Registration Data Access Protocol (RDAP)", RFC 7483, 810 DOI 10.17487/RFC7483, March 2015, 811 . 813 [RFC7484] Blanchet, M., "Finding the Authoritative Registration Data 814 (RDAP) Service", RFC 7484, DOI 10.17487/RFC7484, March 815 2015, . 817 [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 818 Code: The Implementation Status Section", BCP 205, 819 RFC 7942, DOI 10.17487/RFC7942, July 2016, 820 . 822 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 823 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 824 . 826 [RFC8521] Hollenbeck, S. and A. Newton, "Registration Data Access 827 Protocol (RDAP) Object Tagging", BCP 221, RFC 8521, 828 DOI 10.17487/RFC8521, November 2018, 829 . 831 Acknowledgements 833 The WEIRDS working group had multiple discussions on this topic, 834 including a session during IETF 84, where various methods such as 835 in-DNS and others were debated. The idea of using IANA registries 836 was discovered by the author during discussions with his colleagues 837 as well as by a comment from Andy Newton. All the people involved in 838 these discussions are herein acknowledged. Linlin Zhou, Jean- 839 Philippe Dionne, John Levine, Kim Davies, Ernie Dainow, Scott 840 Hollenbeck, Arturo Servin, Andy Newton, Murray Kucherawy, Tom 841 Harrison, Naoki Kambe, Alexander Mayrhofer, Edward Lewis, Pete 842 Resnick, Alessandro Vesely, Bert Greevenbosch, Barry Leiba, Jari 843 Arkko, Kathleen Moriaty, Stephen Farrell, Richard Barnes, and Jean- 844 Francois Tremblay have provided input and suggestions to this 845 document. Guillaume Leclanche was a coauthor of this document for 846 some revisions; his support is therein acknowledged and greatly 847 appreciated. The section on formal definition was inspired by 848 Section 6.2 of [RFC7071]. This new version got comments and 849 suggestions from: Gavin Brown, Patrick Mevzek, John Levine, Jasdip 850 Singh, George Michaelson and Scott Hollenbeck. 852 Author's Address 854 Marc Blanchet 855 Viagenie 856 246 Aberdeen 857 Quebec, QC G1R 2E1 858 Canada 860 EMail: Marc.Blanchet@viagenie.ca 861 URI: https://viagenie.ca