research: index complete IANA IPv4 range baseline

This commit is contained in:
2026-07-22 19:52:48 +00:00
parent 652bd652d8
commit 1c20298ab0
291 changed files with 8964 additions and 14 deletions
+28 -10
View File
@@ -20,9 +20,9 @@ The parts mean:
- `zero-padded-network-address`: canonical IPv4 network address, each octet padded to three digits and separated by hyphens;
- `zero-padded-prefix-length`: CIDR range number without `/`, padded to two digits;
- `registry-or-status`: authoritative number registry when the range has been researched (`iana`, `afrinic`, `apnic`, `arin`, `lacnic`, or `ripe-ncc`), otherwise `placeholder`.
- `registry-or-status`: authoritative number registry when the exact range has a researched/manual record (`iana`, `afrinic`, `apnic`, `arin`, `lacnic`, or `ripe-ncc`); `iana-special` for generated IANA special-purpose records; otherwise `placeholder`.
A known top-level registry is not enough to put that registry in the suffix. If the exact range's holder, routing, and subdivision have not been investigated, use `placeholder`.
Top-level `/8` records generated from the IANA IPv4 Address Space Registry use their current RDAP authority in the suffix. This is registry-level attribution, not a claim that one entity holds or operates every more-specific address.
The zero padding is required because repository browsers sort filenames lexicographically: without it, `1-10...` would appear before `1-2...`.
@@ -30,16 +30,34 @@ IPv6 filenames use the same rule, with colons replaced by hyphens and compressed
## Current coverage
| Range | Registry | Classification | Status | Known exact addresses | Record |
|---|---|---|---|---|---|
| `0.0.0.0/8` | IANA | Special-purpose | Researched | `0.0.0.0` | [record](000-000-000-000--08--iana.md) |
| `1.0.0.0/16` | APNIC | Pending subdivision/research | Placeholder | — | [record](001-000-000-000--16--placeholder.md) |
| `1.1.0.0/24` | APNIC | Pending research | Placeholder | — | [record](001-001-000-000--24--placeholder.md) |
| `1.1.1.0/24` | APNIC | Public unicast | Researched | `1.1.1.1` | [record](001-001-001-000--24--apnic.md) |
The generated [complete IPv4 index](IPV4-INDEX.md) now contains:
These four files now provide contiguous documented coverage from `0.0.0.0` through `1.1.1.255`. The two middle files are explicitly marked as placeholders and must not be interpreted as fully researched ownership records.
- all **256 top-level `/8` ranges** from the IANA IPv4 Address Space Registry, providing gapless coverage of the complete IPv4 address space;
- all **26 expanded prefixes** from the IANA IPv4 Special-Purpose Address Registry;
- links to every generated baseline range file, with manually researched records retained alongside them.
This is **not yet a list of all global ranges**. The expansion plan is in [`research/ip-network-roadmap.md`](../research/ip-network-roadmap.md).
The folder currently contains **284 range files**: 280 generated IANA baseline records and four pre-existing manual research/placeholder records. Overlap is intentional: a top-level `/8`, a special-purpose prefix, and a more-specific researched range describe different layers of the same address space.
Examples of manual detail retained alongside the generated baseline:
| Range | Registry | Classification | Status | Record |
|---|---|---|---|---|
| `0.0.0.0/8` | IANA | Special-purpose | Researched | [record](000-000-000-000--08--iana.md) |
| `1.0.0.0/16` | APNIC | Pending subdivision/research | Placeholder | [record](001-000-000-000--16--placeholder.md) |
| `1.1.0.0/24` | APNIC | Pending research | Placeholder | [record](001-001-000-000--24--placeholder.md) |
| `1.1.1.0/24` | APNIC | Public unicast | Researched | [record](001-001-001-000--24--apnic.md) |
This is exhaustive at the IANA top-level `/8` layer, but not yet exhaustive for all more-specific RIR allocations, BGP announcements, operators, services, individual IPv4 addresses, or IPv6. The expansion plan is in [`research/ip-network-roadmap.md`](../research/ip-network-roadmap.md).
## Synchronization
Run:
```text
make sync-iana-ipv4
```
The synchronization script downloads both authoritative IANA CSV registries, verifies that all 256 `/8` blocks are present, expands multi-prefix special-purpose rows, regenerates CSV/index artifacts, and updates only files carrying its generated-file marker. Manually researched files are never overwritten.
## Required contents