Everything on netstats.gr is built from open, citable data — the Regional Internet Registries’ own ledgers plus a handful of public measurement projects. No proprietary feeds, no manual edits: every figure is rebuilt automatically from these sources each day. This page documents exactly where every number comes from, the units we count in, and the limitations you should keep in mind when reading the charts.
Refreshed automatically on startup and again every day.
Each refresh pulls all of the sources below, normalises them into a consistent schema and derives the aggregate figures, then publishes the new dataset all at once — so the site is never served half-built data. Every external fetch is wrapped so that a single unreachable source degrades gracefully — that section simply keeps the previous day’s value — rather than failing the whole refresh.
Most history is effectively free: the RIR delegated files carry an allocation date on every record going back to 1983, so one daily snapshot already yields the full allocation, ASN and per-country timelines. Only the historical size of the global BGP routing table needs a separate one-time backfill of monthly CAIDA snapshots.
Every feed behind the charts, what it contributes, and how often it refreshes.
| Source | What it provides | Cadence |
|---|---|---|
| RIR delegated-extended files | The authoritative per-resource ledger from all five Regional Internet Registries (RIPE NCC, ARIN, APNIC, LACNIC, AFRINIC). Every IPv4 block, IPv6 block and ASN, with its country, status and allocation date. This is the backbone — allocation, ASN and per-country history all come from a single daily snapshot. | Daily |
| CAIDA RouteViews pfx2as | Daily prefix-to-AS snapshots (IPv4 + IPv6) derived from the RouteViews BGP collectors. Turns the global routing table into per-AS routed-address totals and prefix-length distributions — what is actually announced, not just allocated. | Daily |
| CAIDA AS-relationships & customer cones | Inferred provider / customer / peer relationships and customer-cone sizes across the AS graph, used for transit roles, AS rank and the topology views. | Monthly (latest available) |
| PeeringDB | Operator-maintained interconnection registry: which networks are present at which Internet Exchanges and facilities, their port capacity and self-declared network type. Drives the interconnection-density figures. | Daily |
| IRR dumps — RADb + regional registries | Internet Routing Registry route: / route6: objects from RADb plus every regional IRR (RIPE, ARIN, APNIC, LACNIC, AFRINIC). Operator-published statements of which AS may originate which prefix; cross-checked against BGP and RPKI for routing hygiene. | Daily |
| RPKI VRPs (Cloudflare rpki.json mirror) | Validated ROA Payloads — the cryptographically signed (prefix, max-length, origin AS) tuples published under all five RIR trust anchors. We read Cloudflare's public rpki.json mirror, regenerated every few minutes from the global RPKI. | Daily (snapshot) |
| APNIC Labs + Google — IPv6 adoption | Measured IPv6 deployment, distinct from allocation. APNIC Labs reports per-economy and per-AS capability/preference (sampled via advertisements); Google publishes the long-running global adoption time series measured against its own users. | Daily |
| World Bank — population | Total-population per economy (indicator SP.POP.TOTL), used for the per-capita rankings. World Bank aggregates (regions, income groups) are filtered out. | Annual (latest year) |
| RIPEstat / RIPE RIS — live BGP | For per-AS pages we query RIPEstat on demand for currently-announced prefixes, drawn from RIPE's Routing Information Service (RIS) collectors. This is a best-effort live overlay; if RIPEstat is unreachable the rest of the page still renders. | Live (on request) |
Live per-AS prefix data on the network pages is fetched from RIPEstat on demand and is not part of the daily database.
The three resource types are measured in different units and must never be mixed.
Counted as the number of individual addresses in each block (a /24 = 256, a /16 = 65,536).
Counted in /48 units — the conventional end-site allocation. A prefix of length p contributes 2^(48 − p) blocks, so a /32 holds 65,536 /48s.
A simple count of Autonomous System Numbers (16- and 32-bit), allocated or assigned.
Important: never sum IPv4 addresses with IPv6 /48 counts. They measure different things, on wildly different scales, and adding them produces a meaningless number. Each chart is scoped to a single resource type for exactly this reason.
Where the data is approximate, sampled or point-in-time — read accordingly.
An announcement is classed valid, invalid or not-found by matching it against VRPs on the announced prefix and its max-length. A covering ROA on a less-specific prefix is not treated as validating a more-specific announcement here, so coverage is a conservative, point-in-time read of the published ROA set — not a replacement for a live relying-party validator.
Routed totals come from a snapshot of the global table. More-specifics and de-aggregation inflate prefix counts; aggregation deflates them. Overlapping announcements mean routed address space is de-duplicated where possible, but two operators announcing overlapping space can still skew per-AS attribution.
The Internet Routing Registries are a loose federation of independently maintained databases. Objects are frequently out of date, duplicated across mirrors, or orphaned (registered for prefixes no longer held or announced). An IRR match raises confidence but does not prove current authorisation.
Deployment percentages are statistical estimates. APNIC Labs measures capability by serving advertisements and observing whether the client can reach an IPv6 endpoint; Google measures against its own visitor population. Both are excellent proxies but neither is a complete census, and small economies carry wide sampling error.
The transfer market view is built from the registries' own published transfer logs. Country attribution depends on the registries populating it (well-filled for RIPE/APNIC/LACNIC/AFRINIC, sparser for ARIN), and mergers / self-transfers are excluded from the flow charts so they reflect genuine market movement.
“Dark” space is allocated address space minus what we observe routed in BGP (allocated − routed). It is a useful lower bound on under-utilisation, but legitimately reserved, internally-used or intermittently-announced space will appear dark, so treat it as an indicator rather than a precise figure.
Spotted something that looks off, or want a source we don’t yet cover? The figures here are only as good as the open data behind them, and corrections are welcome. In the meantime, explore the RPKI, transfer-market and per-capita views to see these sources in action.