RFC 9877: Registration Data Access Protocol (RDAP) Extension for Geofeed Data
- J. Singh,
- T. Harrison
Abstract
This document defines a new Registration Data Access Protocol (RDAP) extension, "geofeed1", for indicating that an RDAP server hosts geofeed URLs for its IP network objects. It also defines a new media type and a new link relation type for the associated link objects included in responses.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
[RFC8805] and [RFC9632] detail the IP geolocation feed (commonly known as 'geofeed') file format and associated access mechanisms. While [RFC9632] describes how a registry can make geofeed URLs available by way of a Routing Policy Specification Language (RPSL) [RFC2622] service, the Regional Internet Registries (RIRs) have deployed Registration Data Access Protocol (RDAP) ([RFC7480], [RFC7481], [RFC9082], [RFC9083]) services as successors to RPSL for Internet number resource registrations, and maintaining feature parity between the two services supports client transition from RPSL to RDAP in this context. To that end, this document specifies how geofeed URLs can be accessed through RDAP. It defines a new RDAP extension, "geofeed1", for indicating that an RDAP server hosts geofeed URLs for its IP network objects, as well as a new media type and a new link relation type for the associated link objects.¶
Fetching and making use of geofeed data is out of scope for the purposes of this document. See [RFC8805] and [RFC9632] for further details.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Indentation and whitespace in examples are provided only to illustrate element relationships and are not required features of this specification.¶
"..." in examples is used as shorthand for elements defined outside of this document.¶
2. Specification
2.1. Media Type for a Geofeed Link
[RFC9632] requires a geofeed file to be a UTF-8 [RFC3629] comma-separated values (CSV) file, with a series of "#" comments at the end for the optional Resource Public Key Infrastructure (RPKI) [RFC6480] signature. At first glance, the "text/csv" media type seems like a good candidate for a geofeed file, since it supports the "#" comments needed for including the RPKI signature.¶
However, although the CSV geofeed data could be viewed directly by a user such that the "text/csv" media type was appropriate, the most common use case will involve it being processed by some sort of application first, in order to facilitate subsequent IP address lookup operations. Therefore, using a new "application" media type with a "geofeed" subtype (Section 4.2.5 of [RFC6838]) for the geofeed data is preferable to using "text/csv".¶
To that end, this document registers a new "application
2.2. Geofeed Link
An RDAP server that hosts geofeed URLs for its IP network objects (Section 5.4 of [RFC9083]) may include link objects for those geofeed URLs in IP network objects in its responses. These link objects are added to the "links" member of each object (Section 4.2 of [RFC9083]).¶
In RDAP, the "value", "rel", and "href" JSON members are required for any link object. Additionally, for a geofeed link
object, the "type" JSON member is RECOMMENDED. The geofeed
- "rel":
- The link relation type is set to "geofeed". This is a new link relation type for IP geolocation feed data, registered in the IANA "Link Relations" registry (see Section 6.2) by this document.¶
- "href":
- The target URL is set to the HTTPS URL of the geofeed file (Section 6 of [RFC9632]) for an IP network.¶
- "type":
- "application
/geofeed+csv" (see Section 2.1).¶
An IP network object returned by an RDAP server MAY contain zero or more geofeed link objects, though typically an IP
network will have either zero or only one. The scenario where more than one geofeed link object could be
returned is when the server is able to represent that data in multiple languages. In such a case, the server SHOULD
provide "hreflang" members for the geofeed link objects. Except for the multiple
2.3. Extension Identifier
This document defines a new extension identifier, "geofeed1", for use by servers that host geofeed URLs for their IP
network objects and include geofeed URL link objects in their responses to clients in accordance with Section 2.2. A
server that uses this extension identifier MUST include it in the "rdap
If the server includes "geofeed1" in the "rdap
An RDAP server may make use of the "application
Although a server may use registered media types in its link objects without any restrictions, it is useful to define new RDAP extensions for those media types in order for the server to communicate to clients that it will make data for that type accessible. This is what the server does with the "geofeed1" extension identifier.¶
The "1" in "geofeed1" denotes that this is version 1 of the geofeed extension. New versions of the geofeed extension will use different extension identifiers.¶
3. Operational Considerations
When an RDAP client performs an IP network lookup, per Section 3.1.1 of [RFC9082], the RDAP server is required to return the most-specific IP network object that covers the IP address range provided by the client. That IP network object may not have an associated geofeed link, but it is possible that a less-specific IP network object does have such a link. Clients attempting to retrieve geofeed data for a given IP address range via RDAP should consider whether to retrieve the parent object for the initial response (and so on, recursively) in the event that the initial response does not contain geofeed data. Conversely, server operators should consider interface options for resource holders in order to support the provisioning of geofeed links for all networks covered by the associated data.¶
It is common for a resource holder to maintain a single geofeed file containing the geofeed data for all of their resources. The resource holder then updates each of their network object registrations to refer to that single geofeed file. As with geofeed references in inetnum: objects (per [RFC9632]), clients who find a geofeed link object within an IP network object and opt to retrieve the data from the associated link MUST ignore any entry where the entry's IP address range is outside the IP network object's address range.¶
Section 3.2 of [RFC8805] recommends that consumers of geofeed data verify that the publisher of the data is authoritative for the relevant resources. The RDAP bootstrap process [RFC9224] helps clients with this recommendation, since a client following that process will be directed to the RDAP server that is able to make authoritative statements about the disposition of the relevant resources.¶
To prevent undue load on RDAP and geofeed servers, clients fetching geofeed data using these mechanisms MUST NOT do frequent real-time lookups. See Section 6 of [RFC9632] for further details.¶
4. Privacy Considerations
All the privacy considerations from Section 7 of [RFC9632] apply to this document. In particular, the service provider publishing the geofeed file MUST take care not to expose the location of any individual.¶
Many jurisdictions have laws or regulations that restrict the use of "personal data", per the definition in [RFC6973]. Given that, registry operators should ascertain whether the regulatory environment in which they operate permits implementation of the functionality defined in this document.¶
5. Security Considerations
Sections 6 and 9 of [RFC9632] document several security considerations that are equally relevant in the RDAP context.¶
A geofeed file MUST be referenced with an HTTPS URL, per Section 6 of [RFC9632]. The geofeed file may also contain an RPKI signature, per Section 5 of [RFC9632].¶
Besides that, this document does not introduce any new security considerations past those already discussed in the RDAP protocol specifications ([RFC7481], [RFC9560]).¶
6. IANA Considerations
6.1. RDAP Extensions Registry
IANA has registered the following value in the "RDAP Extensions" registry at [RDAP-EXTENSIONS]:¶
6.2. Link Relations Registry
IANA has registered the following value in the "Link Relations" registry at [LINK-RELATIONS]:¶
6.3. Media Types Registry
IANA has registered the following media type in the "Media Types" registry at [MEDIA-TYPES]:¶
- Type name:
- application¶
- Subtype name:
- geofeed+csv¶
- Required parameters:
- N/A¶
- Optional parameters:
- "charset" is an optional
parameter for "text/csv", but it is not used for
"application
/geofeed+csv" because the geofeed content is always in UTF-8 (Section 2.1 of [RFC8805]).¶ - Encoding considerations:
- See Section 2 of [RFC9632].¶
- Security considerations:
- See Section 5 of RFC 9877.¶
- Interoperability considerations:
- There are no known interoperabilit
y problems regarding this media format.¶ - Published specification:
- RFC 9877.¶
- Applications that use this media type:
- Implementations of the Registration Data Access Protocol (RDAP) Extension for Geofeed Data. Furthermore, any application that processes the CSV geofeed data.¶
- Additional information:
- This media type is a product of the IETF REGEXT Working Group. The REGEXT charter, information on the REGEXT mailing list, and other documents produced by the REGEXT Working Group can be found at [REGEXT].¶
- Person & email address to contact for further information:
-
REGEXT Working Group <regext@ietf .org>¶ - Intended usage:
- COMMON¶
- Restrictions on usage:
- None¶
- Authors:
- Tom Harrison, Jasdip Singh¶
- Author/Change controller:
- IETF¶
6.4. Structured Syntax Suffixes Registry
IANA has registered the following value in the "Structured Syntax Suffixes" registry
at [STRUCTURED
- Name:
- Comma-Separated Values (CSV)¶
- +suffix:
- +csv¶
- References:
- [RFC4180], [RFC7111]¶
- Encoding Considerations:
- Same as "text/csv".¶
- Interoperability Considerations:
- Same as "text/csv".¶
- Fragment Identifier Considerations:
-
The syntax and semantics of fragment identifiers specified for +csv SHOULD be as specified for "text/csv".¶
The syntax and semantics for fragment identifiers for a specific "xxx/yyy+csv" SHOULD be processed as follows:¶
- Security Considerations:
- Same as "text/csv".¶
- Contact:
- IETF <iesg@ietf.org>¶
- Author/Change controller:
- IETF¶
7. References
7.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC3629]
-
Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, DOI 10
.17487 , , <https:///RFC3629 www >..rfc -editor .org /info /rfc3629 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC9082]
-
Hollenbeck, S. and A. Newton, "Registration Data Access Protocol (RDAP) Query Format", STD 95, RFC 9082, DOI 10
.17487 , , <https:///RFC9082 www >..rfc -editor .org /info /rfc9082 - [RFC9083]
-
Hollenbeck, S. and A. Newton, "JSON Responses for the Registration Data Access Protocol (RDAP)", STD 95, RFC 9083, DOI 10
.17487 , , <https:///RFC9083 www >..rfc -editor .org /info /rfc9083 - [RFC9224]
-
Blanchet, M., "Finding the Authoritative Registration Data Access Protocol (RDAP) Service", STD 95, RFC 9224, DOI 10
.17487 , , <https:///RFC9224 www >..rfc -editor .org /info /rfc9224 - [RFC9632]
-
Bush, R., Candela, M., Kumari, W., and R. Housley, "Finding and Using Geofeed Data", RFC 9632, DOI 10
.17487 , , <https:///RFC9632 www >..rfc -editor .org /info /rfc9632
7.2. Informative References
- [LINK-RELATIONS]
-
IANA, "Link Relations", <https://
www >..iana .org /assignments /link -relations / - [MEDIA-TYPES]
-
IANA, "Media Types", <https://
www >..iana .org /assignments /media -types / - [RDAP
-EXTENSIONS] -
IANA, "RDAP Extensions", <https://
www >..iana .org /assignments /rdap -extensions / - [REGEXT]
-
IETF, "Registration Protocols Extensions (regext)", <https://
datatracker >..ietf .org /wg /regext / - [RFC2622]
-
Alaettinoglu, C., Villamizar, C., Gerich, E., Kessens, D., Meyer, D., Bates, T., Karrenberg, D., and M. Terpstra, "Routing Policy Specification Language (RPSL)", RFC 2622, DOI 10
.17487 , , <https:///RFC2622 www >..rfc -editor .org /info /rfc2622 - [RFC4180]
-
Shafranovich, Y., "Common Format and MIME Type for Comma-Separated Values (CSV) Files", RFC 4180, DOI 10
.17487 , , <https:///RFC4180 www >..rfc -editor .org /info /rfc4180 - [RFC6480]
-
Lepinski, M. and S. Kent, "An Infrastructure to Support Secure Internet Routing", RFC 6480, DOI 10
.17487 , , <https:///RFC6480 www >..rfc -editor .org /info /rfc6480 - [RFC6838]
-
Freed, N., Klensin, J., and T. Hansen, "Media Type Specifications and Registration Procedures", BCP 13, RFC 6838, DOI 10
.17487 , , <https:///RFC6838 www >..rfc -editor .org /info /rfc6838 - [RFC6973]
-
Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., Morris, J., Hansen, M., and R. Smith, "Privacy Considerations for Internet Protocols", RFC 6973, DOI 10
.17487 , , <https:///RFC6973 www >..rfc -editor .org /info /rfc6973 - [RFC7111]
-
Hausenblas, M., Wilde, E., and J. Tennison, "URI Fragment Identifiers for the text/csv Media Type", RFC 7111, DOI 10
.17487 , , <https:///RFC7111 www >..rfc -editor .org /info /rfc7111 - [RFC7480]
-
Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the Registration Data Access Protocol (RDAP)", STD 95, RFC 7480, DOI 10
.17487 , , <https:///RFC7480 www >..rfc -editor .org /info /rfc7480 - [RFC7481]
-
Hollenbeck, S. and N. Kong, "Security Services for the Registration Data Access Protocol (RDAP)", STD 95, RFC 7481, DOI 10
.17487 , , <https:///RFC7481 www >..rfc -editor .org /info /rfc7481 - [RFC8805]
-
Kline, E., Duleba, K., Szamonek, Z., Moser, S., and W. Kumari, "A Format for Self-Published IP Geolocation Feeds", RFC 8805, DOI 10
.17487 , , <https:///RFC8805 www >..rfc -editor .org /info /rfc8805 - [RFC9560]
-
Hollenbeck, S., "Federated Authentication for the Registration Data Access Protocol (RDAP) Using OpenID Connect", RFC 9560, DOI 10
.17487 , , <https:///RFC9560 www >..rfc -editor .org /info /rfc9560 - [STRUCTURED
-SYNTAX -SUFFIXES] -
IANA, "Structured Syntax Suffixes", <https://
www >..iana .org /assignments /media -type -structured -suffix /
Acknowledgements
Mark Kosters provided initial support and encouragement for this work, along with the authors of [RFC9632]. Gavin Brown suggested using a web link instead of a simple URL string to specify a geofeed file URL. Andy Newton, James Gould, Scott Hollenbeck, Mario Loffredo, Orie Steele, Alexey Melnikov, Mark Nottingham, Rifaat Shekh-Yusef, Dale R. Worley, Dhruv Dhody, Mohamed Boucadair, Mahesh Jethanandani, Ketan Talaulikar, and Éric Vyncke provided valuable feedback for this document.¶