howto/GeoFeed.md
... ...
@@ -1,52 +1,46 @@
1
-A *GeoFeed* is a standardized mechanism for publishing geographic location information about IP address prefixes. It helps network operators associate IP address blocks with real-world locations, enabling better visualization, monitoring, and geolocation accuracy.
1
+# GeoFeed
2 2
3
-A GeoFeed is especially useful in distributed networks like DN42, where many nodes exist in different physical locations. It can assist in mapping latency, debugging routing, and documenting physical network topology.
3
+A **GeoFeed** is a standardized mechanism for publishing geographic location information about IP address prefixes, helping associate IP blocks with real-world locations for better geolocation accuracy, latency mapping, and network topology documentation.
4 4
5
-## Standards & Protocol References
5
+## Standards
6 6
7
-**[RFC 8805](https://www.rfc-editor.org/rfc/rfc8805) - _Format for Self-Published IP Geolocation Feeds_**
8
-- Defines the **format** for GeoFeed files (CSV);
9
-- Geographic mappings associate prefixes with location attributes.
10
-- A GeoFeed file consists of comma-separated values in UTF-8 format.
7
+| RFC | Description |
8
+|-----|-------------|
9
+| [RFC 8805](https://www.rfc-editor.org/rfc/rfc8805) | Defines the CSV-based GeoFeed file format |
10
+| [RFC 9632](https://www.rfc-editor.org/rfc/rfc9632) | Specifies referencing GeoFeeds from RPSL objects via `geofeed:` attribute |
11
+| [RFC 9877](https://www.rfc-editor.org/rfc/rfc9877) | RDAP extension for automated GeoFeed discovery |
11 12
12
-**[RFC 9632](https://www.rfc-editor.org/rfc/rfc9632) - _Finding and Using GeoFeed Data_**
13
-- Specifies how to reference GeoFeed files from routing databases such as RPSL objects (`inetnum`, `inet6num`);
14
-- Defines how to augment existing routing registry objects with attributes pointing to GeoFeed URLs (e.g., using a `geofeed:` attribute);
15
-- Replaces earlier RFC 9092, improving schema and specification details.
13
+## File Format
16 14
17
-**[RFC 9877](https://www.rfc-editor.org/rfc/rfc9877) - _RDAP GeoFeed Extension_**
18
-- Defines an extension to RDAP (Registration Data Access Protocol) that allows RDAP servers to disclose GeoFeed URLs for IP address resources;
19
-- Useful for automated discovery of GeoFeed data through registry queries.
15
+A UTF-8 CSV file with the following fields:
20 16
21
-### Operational Example (RIPE 82)
22
-A concrete operational example of GeoFeed publication and integration within the RIPE Database was presented at RIPE 82 (see presentation below):
23
-https://ripe82.ripe.net/presentations/84-RIPE82_geofeed.pdf
24
-
25
-## GeoFeed file format
26
-
27
-**CSV Example**:
28 17
```csv
29 18
# prefix,country_code,region_code,city,postal
30
-172.20.0.0/24,FR,FR-ARA,LYON,69123
19
+172.20.0.0/24,FR,FR-ARA,Lyon,69123
31 20
fd42:1234::/48,FR,,,
32
-...
33 21
```
34 22
35
-## How to publish a GeoFeed on DN42 ?
23
+Fields follow [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166) conventions. Unused fields may be left empty.
24
+
25
+## Publishing on DN42
36 26
37
-1. **Host your GeoFeed file**
38
- The file must be accessible via HTTP or HTTPS (IPv4 and/or IPv6), either on DN42 or on clearnet.
39
-2. **Reference in the Registry**
40
- Add a `geofeed: <url>` attribute in your `inet(6)num` object to point to your hosted GeoFeed.
41
- Example DN42 WHOIS snippet:
42
- ```rpsl
43
- inetnum: 0.0.0.0/0
44
- geofeed: http://example.dn42/geofeed.csv
45
- ```
27
+1. **Host the file** — Serve your GeoFeed over HTTP/HTTPS. **Hosting within DN42 is strongly recommended** so that the file remains accessible to all DN42 participants regardless of public internet connectivity, and to keep DN42 infrastructure self-contained.
28
+2. **Reference in the registry** — Add a `geofeed:` attribute to your `inetnum` or `inet6num` object:
29
+
30
+```rpsl
31
+inetnum: 172.20.0.0/24
32
+geofeed: http://example.dn42/geofeed.csv
33
+```
34
+
35
+> ⚠️ Hosting your GeoFeed on the public internet means it may be unreachable to peers who access DN42 exclusively through the internal network. Always prefer a DN42-reachable URL.
46 36
47 37
## Best Practices
48
-- **Version control**: Store your GeoFeed in Git to track changes and manage updates.
49
-- **Accuracy**: Keep node locations precise enough for mapping, but avoid exposing sensitive private addresses or exact locations.
50
-- **Accessibility**: Ensure your GeoFeed URL is always reachable; update registry references if the file moves.
51
-- **Integration**: Combine GeoFeed with monitoring dashboards, RIPE Atlas probes (clearnet), or Looking Glass tools to visualize node availability over time.
52
-- **Naming Conventions**: Maintain consistent node names and clear comments for easier automation and identification.
... ...
\ No newline at end of file
0
+
1
+- Ensure the URL remains reachable and update the registry if it changes
2
+- Maintain consistent node names and clear comments for easier automation and identification
3
+- Keep locations accurate
4
+- Store your GeoFeed in version control (e.g., Git) for easier management
5
+
6
+## Further Reading
7
+
8
+- [RIPE 82 GeoFeed presentation](https://ripe82.ripe.net/presentations/84-RIPE82_geofeed.pdf)
... ...
\ No newline at end of file