
Sistema di censimento anycast longitudinale che sonda prefissi IPv4/IPv6 tramite ICMP, TCP e DNS per rilevare deployment anycast e geolocalizzare i PoP, pubblicando dataset giornalieri e un'API.
LACeS: un sistema di censimento anycast longitudinale aperto, veloce, responsabile ed efficiente
Contatto: [email protected]
I file parquet in questo repository possono essere scaricati in formati alternativi tramite la REST API di manycast.net:
| Formato | Esempio |
|---|---|
.parquet | https://manycast.net/api/v1/export/IPv4-latest.parquet |
.parquet.gz | https://manycast.net/api/v1/export/IPv4-latest.parquet.gz |
.csv.gz | https://manycast.net/api/v1/export/IPv4-latest.csv.gz |
.json.gz | https://manycast.net/api/v1/export/IPv4-latest.json.gz |
Sostituisci latest con una data specifica (ad esempio, 2026-03-22) per scaricare uno snapshot storico. Sia IPv4 che IPv6 sono disponibili con i prefissi IPv4- e IPv6-.
Esempio:
curl -O https://manycast.net/api/v1/export/IPv4-2026-03-22.csv.gz
Consulta la documentazione completa dell'API per interrogare singoli prefissi, ASN e statistiche giornaliere.
Forniamo una dashboard interattiva per interrogare, visualizzare ed esplorare i dati del censimento:
Ricerca e lookup. Inserisci qualsiasi indirizzo IP, prefisso, ASN, dominio o TLD per verificare lo stato anycast, la geolocalizzazione dei PoP rilevati e le informazioni di rete correlate. Gli snapshot storici sono disponibili per tutte le date di censimento dal 21 marzo 2024.
Modalità confronto. Seleziona due date di censimento diverse per monitorare come è cambiato il deployment anycast nel tempo.
Integrazione con RIPE Atlas. Esegui l'algoritmo di geolocalizzazione sui risultati pubblici di RIPE Atlas.
Analytics. Statistiche nel tempo, anycast per regione, curva di Hilbert dello spazio anycast, ...
Il file census_helper.py fornisce funzioni di comodo per scaricare e filtrare il dataset. Richiede pandas, pyarrow e requests.
import census_helper
# Download latest snapshot and filter to high-confidence anycast prefixes
census = census_helper.download_latest("v4")
anycast = census_helper.filter_anycast(census, "v4")
# Or use comprehensive coverage (includes borderline cases)
anycast = census_helper.filter_anycast(census, "v4", confidence="comprehensive")
python census_helper.py --ip-version v4 --date latest --prefixes-only
python census_helper.py --ip-version v4 --date 2026-03-22 --confidence comprehensive
A seconda dei requisiti, raccomandiamo il seguente filtraggio:
Alta confidenza:
(AB > 3) || (GCD > 1)
Copertura completa:
(AB > 1) || (GCD > 1)
Il censimento utilizza due metodi di rilevamento:
Basato su anycast (AB): Rileva l'anycast utilizzando l'anycast. Un prefisso è considerato anycast se più PoP ricevono risposte. Vedi MAnycast2 per i dettagli. Vengono utilizzati tre protocolli di probe: ICMP/ping, TCP SYN/ACK e DNS/UDP.
Basato su latenza (GCD): Rileva l'anycast utilizzando misurazioni di latenza e calcoli di Great-Circle-Distance.
NOTA Forniamo risultati di geolocalizzazione unicast quando AB > 1 ma GCD == 1. Questo può aiutare a determinare se i risultati AB sono FP o i risultati GCD sono FN.
File più recenti (aggiornati quotidianamente):
IPv4-latest.parquet
IPv6-latest.parquet
IPv4-latest.csv
IPv6-latest.csv
stats-latest
File storici (dal 21 marzo 2024):
YYYY/MM/DD/IPv4.parquet
YYYY/MM/DD/IPv6.parquet
YYYY/MM/DD/IPv4.csv
YYYY/MM/DD/IPv6.csv
YYYY/MM/DD/stats
| Colonna | Descrizione |
|---|---|
prefix | Il prefisso anycast candidato /24 (ad esempio, 1.0.0.0/24) |
AB_ICMPv4/v6 | Località trovate utilizzando il metodo basato su anycast (ICMP) |
AB_TCPv4/v6 | Località trovate utilizzando il metodo basato su anycast (TCP SYNACK) |
AB_DNSv4/v6 | Località trovate utilizzando il metodo basato su anycast (DNS/UDP) |
GCD_ICMPv4/v6 | Siti trovati utilizzando il metodo basato su latenza (ICMP) |
GCD_TCPv4/v6 | Siti trovati utilizzando il metodo basato su latenza (TCP) |
partial | Se è stato rilevato anycast parziale (solo IPv4) |
backing_prefix | Prefisso corrispondente della tabella di routing IP (RouteViews) |
ASN | ASN che annunciano il prefisso (MOAS separati da ;) |
locations | Dati di geolocalizzazione dettagliati dai siti rilevati (vedi sotto) |
| Campo | Descrizione |
|---|---|
city | Città geolocalizzata utilizzando l'algoritmo di iGreedy |
country_code | Codice paese di 2 caratteri (ISO 3166-1 alpha-2) |
airport_code | Codice IATA di 3 lettere dell'aeroporto più vicino |
lat | Latitudine dell'aeroporto |
lon | Longitudine dell'aeroporto |
radius | Raggio del disco RTT in chilometri |
candidate_diameter | Distanza massima a coppie (km) tra le città candidate sopravvissute; valori più piccoli indicano maggiore precisione |
num_constraints | Numero di dischi sovrapposti che hanno raffinato l'insieme di candidati; valori più alti indicano maggiore confidenza nel risultato |
Gli ultimi tre campi aiutano a determinare la confidenza dei risultati di geolocalizzazione.
Dati limitati sono forniti in formato CSV per facilità di accesso tramite la Web UI di GitHub:
prefix,number_of_sites,backing_prefix
1.1.1.0/24,67,1.1.1.0/24
Utilizziamo la hitlist IPv4 di USC/ISI ANT (indirizzi IP reattivi a ICMP/ping classificati per /24), integrati da:
Utilizziamo:
Per minimizzare l'impatto del probing quotidiano, scansioniamo a granularità /24. Tuttavia, alcuni prefissi contengono indirizzi IP misti unicast e anycast (vedi il paper per i dettagli) che rileviamo utilizzando il probing multi-target.
Rendiamo pubblicamente disponibili tutti gli strumenti di misurazione e analisi sotto licenza MPL 2.0:
MAnycastR fornisce implementazioni per le misurazioni AB e GCD
MiGreedy è la nostra implementazione ottimizzata dell'algoritmo di iGreedy per la geolocalizzazione IP, progettata per censimenti di produzione su larga scala. Supporta la geolocalizzazione unicast, il rilevamento migliorato tramite intersezione e metriche di confidenza/accuratezza.
Quando utilizzi questo dataset per la ricerca accademica, cita il seguente paper:
@inproceedings{10.1145/3730567.3764484,
author = {Hendriks, Remi and Luckie, Matthew and Jonker, Mattijs and van Rijswijk-Deij, Roland},
title = {LACeS: an Open, Fast, Responsible and Efficient Longitudinal Anycast Census System},
year = {2025},
booktitle = {Proceedings of the 2025 Internet Measurement Conference}
}