rfc-7484

Finding the Authoritative Registration Data (RDAP) Service

M. Blanchet
date2015-03 streamIETF areaapp wgweirds statusPROPOSED STANDARD pages17 canonicalhttps://www.rfc-editor.org/rfc/rfc7484 doi10.17487/RFC7484 errataview
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.

obsoleted by

updated by

Extracted elements (25)

design-rationale §8

Clients cache the Bootstrap Registries and use HTTP Expires to limit fetch frequency, rather than querying IANA on every RDAP lookup, because registry download demand from software could be unusually high compared to normal IANA registries; caching reduces load on IANA servers while keeping data timely.

http, registry

design-rationale §5

IP address lookup uses the same longest-match algorithm as routing (binary string comparison up to prefix length) because this naturally handles hierarchical delegation where covering prefixes point to one RDAP server while more specific sub-prefixes are served by another.

ip

design-rationale §1

The bootstrap information for RDAP clients is generated from IANA's existing allocation registries (IPv4, IPv6, AS numbers, domain names) because TLDs, AS numbers, and network blocks are delegated by IANA, making IANA the authoritative and natural source. This avoids creating a parallel infrastructure.

registry

interoperability-note §6

Entities (contacts, registrants, registrars) can be queried by handle per RFC 7482, but there is no global namespace for entities; therefore, this document does not define a bootstrap method for entity lookups. An entity handle received from a prior RDAP query may be requeried at the same server, or a fully referenced URL may be used directly.

interoperability-note §9

This bootstrap method does not cover entities, nameservers, help queries, or search-pattern queries that do not contain a terminating string matching registry entries. Implementors must use alternative means (e.g., RDAP aggregators or redirectors) for these object types.

interoperability-note §8

When a new object is allocated (new AS range, TLD, or IP address range), there is no guarantee its entry will appear promptly in the corresponding bootstrap registry; the RDAP server setup may go live and be registered later. Clients must tolerate missing entries for newly allocated objects.

registry

normative-requirement §3 MUST

All Domain Name labels used as entries or base RDAP URLs in the registries defined in this document MUST be represented only in lowercase.

dns

normative-requirement §3 MUST

Base RDAP URLs MUST have a trailing '/' character because they are concatenated to the various path segments defined in RFC 7482.

http

normative-requirement §3 MUST

Internationalized Domain Name labels used as entries or base RDAP URLs in these registries MUST be represented only using their A-label form as defined in RFC 5890.

dns

normative-requirement §3 MUST

JSON names in the registry MUST follow the format recommendations of RFC 7480. Any unrecognized JSON object properties or values MUST be ignored by implementations.

json

normative-requirement §3 SHOULD

Per RFC 7258, in each array of base RDAP URLs the secure transport versions SHOULD be preferred and tried first. If both HTTPS and HTTP URLs are present, the bootstrap client SHOULD try HTTPS first.

http, security

normative-requirement §8 SHOULD

RDAP clients SHOULD NOT fetch the Bootstrap Registry on every RDAP request. Clients SHOULD cache the registry and rely on the HTTP Expires header field (RFC 7234) to determine when to refresh it.

http

normative-requirement §12 MUST

The HTTP Content-Type returned to clients accessing JSON-formatted RDAP Bootstrap Services Registries MUST be 'application/json' as defined in RFC 7159.

http, json

normative-requirement §7 SHOULD

When a requested value is not present in the registry (no matching entry), there is no known RDAP server for that value, and the client SHOULD provide an appropriate error message to the user.

protocol-element §5.3

AS number lookups match against inclusive ranges expressed as 'LOW-HIGH' decimal strings in the Bootstrap Registry for AS Number Space. A single AS number is encoded as a range of two identical values (e.g., '2045-2045').

protocol-element §4

Domain name lookups use label-wise longest match of the target domain name against domain values in the Bootstrap Registry for Domain Name Space. Matching is done per label, from right to left; if the longest match yields multiple entries they are treated as equivalent. The root of the domain name space is represented as the empty string "".

dns

protocol-element §5.1

IPv4 address space lookups use longest prefix match against CIDR [RFC 4632] entries in the Bootstrap Registry for IPv4 Address Space. Addresses are converted to binary form and compared bit-by-bit up to the prefix length, mirroring routing longest-match semantics.

ip

protocol-element §5.2

IPv6 address space lookups use longest prefix match against entries in RFC 4291 text-representation format in the Bootstrap Registry for IPv6 Address Space. If the primary URL fails to respond, the client may try another URL from the Service URL Array.

ip

protocol-element §3

The RDAP Bootstrap Service Registry is a JSON object with members: 'version' (string, currently '1.0'), 'publication' (RFC 3339 date/time string), optional 'description' (string), and 'services' (array). Each services entry is a two-element array: an Entry Array of scope strings and a Service URL Array of base RDAP URLs.

json, registry

registry §12.3

IANA Bootstrap Service Registry for AS Number Space: each entry contains a range of Autonomous System numbers and one or more RDAP service URLs. Generated from the IANA Autonomous System Numbers registry.

registry

registry §12.4

IANA Bootstrap Service Registry for Domain Name Space: each entry contains a domain name attached to the root (a TLD label) and one or more RDAP service URLs. Generated from the IANA Root Zone Database.

dns, registry

registry §12.1

IANA Bootstrap Service Registry for IPv4 Address Space: each entry contains a CIDR [RFC 4632] specification of the network block and one or more RDAP service URLs. Generated from and kept in sync with the IANA IPv4 Address Space Registry.

ip, registry

registry §12.2

IANA Bootstrap Service Registry for IPv6 Address Space: each entry contains an IPv6 prefix [RFC 4291] specification of the network block and one or more RDAP service URLs. Generated from the IANA IPv6 Global Unicast Address Assignments registry.

ip, registry

security-consideration §11

By directing RDAP clients to authoritative servers via IANA-maintained registries, the bootstrap method helps ensure users receive RDAP data from authoritative sources rather than rogue ones. The registries can be accessed via TLS for additional transport security, and the overall security properties are the same as those of the RDAP protocols themselves (see RFC 7481).

security, tls

wire-format §10.2

The registry JSON object contains: 'version' (STRING, value '1.0'), 'publication' (STRING, RFC 3339 format), optional 'description' (STRING), and 'services' (ARRAY of service arrays). Each service is a 2-element ARRAY: an entry-list ARRAY of STRING scope values and a service-uri-list ARRAY of STRING base URLs.

json