Files
network-v1/registry-ips
..

Global IP range registry

This folder is the human-readable registry of IP knowledge collected by this repository. It is organized by network range, not by one file for every individual address: IPv4 alone contains 4,294,967,296 addresses, and registration and routing facts normally apply to prefixes.

Filename convention

<zero-padded-network-address>--<zero-padded-prefix-length>--<registry-or-status>.md

Examples:

000-000-000-000--08--iana.md
001-000-000-000--16--placeholder.md
001-001-001-000--24--apnic.md

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 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.

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....

IPv6 filenames use the same rule, with colons replaced by hyphens and compressed notation expanded to avoid ambiguous names.

Current coverage

The generated complete IPv4 index now contains:

  • 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.

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
1.0.0.0/16 APNIC Pending subdivision/research Placeholder record
1.1.0.0/24 APNIC Pending research Placeholder record
1.1.1.0/24 APNIC Public unicast Researched record

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.

Synchronization

Run:

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

Use TEMPLATE.md for every new range record. The first section after the title must be Who is this IP range? and must immediately name the registered holder/authority and operator—or explicitly say detailed attribution is unknown.

Every range file must then distinguish:

  1. registry and registered resource holder;
  2. special-purpose classification, where applicable;
  3. observed BGP announcement and origin ASN;
  4. operator and service relationships;
  5. exact addresses already investigated inside the range;
  6. sources and verification dates.

Do not compress these into a single misleading “owner” field. Registration, routing, operation, and service responsibility can belong to different organizations.