howto/GeoFeed.md
... ...
@@ -0,0 +1,75 @@
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.
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.
4
+
5
+## Standards & Protocol References
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.
11
+
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.
16
+
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.
20
+
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 formats
26
+
27
+**CSV Example**:
28
+```csv
29
+# prefix,country_code,region_code,city,postal
30
+172.20.0.0/24,FR,FR-ARA,LYON,69123
31
+fd42:1234::/48,FR,,,,
32
+...
33
+```
34
+
35
+**JSON Example**:
36
+```json
37
+[
38
+ {
39
+ "prefix": "172.20.0.0/24",
40
+ "country_code": "FR",
41
+ "region_code": "FR-ARA",
42
+ "city": "LYON",
43
+ "postal": 69123
44
+ },
45
+ {
46
+ "prefix": "fd42:1234::/48",
47
+ "country_code": "",
48
+ "region_code": "",
49
+ "city": "",
50
+ "postal": 0
51
+ },
52
+ ...
53
+]
54
+```
55
+
56
+> GeoFeed files can also be TXT or other simple text formats, but CSV/JSON is recommended for ease of parsing in scripts and automation tools.
57
+
58
+## How to publish a GeoFeed on DN42 ?
59
+
60
+1. **Host your GeoFeed file**
61
+ The file must be accessible via HTTP or HTTPS (IPv4 and/or IPv6), either on DN42 or on clearnet.
62
+2. **Reference in the Registry**
63
+ Add a `remarks: GeoFeed <url>` attribute in your `inet(6)num` object to point to your hosted GeoFeed.
64
+ Example DN42 WHOIS snippet:
65
+ ```rpsl
66
+ inetnum: 0.0.0.0/0
67
+ remarks: GeoFeed http://example.dn42/geofeed.csv
68
+ ```
69
+
70
+## Best Practices
71
+- **Version control**: Store your GeoFeed in Git to track changes and manage updates.
72
+- **Accuracy**: Keep node locations precise enough for mapping, but avoid exposing sensitive private addresses or exact locations.
73
+- **Accessibility**: Ensure your GeoFeed URL is always reachable; update registry references if the file moves.
74
+- **Integration**: Combine GeoFeed with monitoring dashboards, RIPE Atlas probes (clearnet), or Looking Glass tools to visualize node availability over time.
75
+- **Naming Conventions**: Maintain consistent node names and clear comments for easier automation and identification.
... ...
\ No newline at end of file