
Système de recensement anycast longitudinal qui sonde les préfixes IPv4/IPv6 via ICMP, TCP et DNS pour détecter les déploiements anycast et géolocaliser les PoP, publiant des jeux de données quotidiens et une API.
LACeS : un système de recensement anycast longitudinal ouvert, rapide, responsable et efficace
Contact : [email protected]
Les fichiers parquet de ce dépôt peuvent être téléchargés dans d'autres formats via l'API REST manycast.net :
| Format | Exemple |
|---|---|
.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 |
Remplacez latest par une date spécifique (par exemple, 2026-03-22) pour télécharger un instantané historique. IPv4 et IPv6 sont tous deux disponibles avec les préfixes IPv4- et IPv6-.
Exemple :
curl -O https://manycast.net/api/v1/export/IPv4-2026-03-22.csv.gz
Consultez la documentation complète de l'API pour interroger des préfixes individuels, des ASN et des statistiques quotidiennes.
Nous fournissons un tableau de bord interactif pour interroger, visualiser et explorer les données du recensement :
Recherche et consultation. Saisissez n'importe quelle adresse IP, préfixe, ASN, domaine ou TLD pour consulter le statut anycast, la géolocalisation des PoP détectés et les informations réseau associées. Des instantanés historiques sont disponibles pour toutes les dates de recensement depuis le 21 mars 2024.
Mode comparaison. Sélectionnez deux dates de recensement différentes pour suivre l'évolution du déploiement anycast au fil du temps.
Intégration RIPE Atlas. Exécutez l'algorithme de géolocalisation sur les résultats publics de RIPE Atlas.
Analytique. Statistiques dans le temps, anycast par région, courbe de Hilbert de l'espace anycast, ...
Le fichier census_helper.py fournit des fonctions pratiques pour télécharger et filtrer le jeu de données. Nécessite pandas, pyarrow et 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
Selon les exigences, nous recommandons le filtrage suivant :
Haute confiance :
(AB > 3) || (GCD > 1)
Couverture complète :
(AB > 1) || (GCD > 1)
Le recensement utilise deux méthodes de détection :
Basée sur l'anycast (AB) : Détecte l'anycast à l'aide de l'anycast. Un préfixe est considéré comme anycast si plusieurs PoPs reçoivent des réponses. Voir MAnycast2 pour plus de détails. Trois protocoles de sondage sont utilisés : ICMP/ping, TCP SYN/ACK et DNS/UDP.
Basée sur la latence (GCD) : Détecte l'anycast à l'aide de mesures de latence et de calculs de distance orthodromique.
REMARQUE Nous fournissons des résultats de géolocalisation unicast lorsque AB > 1 mais GCD == 1. Cela peut aider à déterminer si les résultats AB sont des FPs ou si les résultats GCD sont des FNs.
Derniers fichiers (mis à jour quotidiennement) :
IPv4-latest.parquet
IPv6-latest.parquet
routed-prefixes-IPv4-latest.csv
routed-prefixes-IPv6-latest.csv
stats-latest
Fichiers historiques (depuis le 21 mars 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
| Colonne | Description |
|---|---|
prefix | Le préfixe anycast candidat : /24 pour IPv4 (par ex., 1.0.0.0/24), /48 pour IPv6 |
AB_ICMPv4/v6 | Emplacements trouvés à l'aide de la méthode basée sur l'anycast (ICMP) |
AB_TCPv4/v6 | Emplacements trouvés à l'aide de la méthode basée sur l'anycast (TCP SYNACK) |
AB_DNSv4/v6 | Emplacements trouvés à l'aide de la méthode basée sur l'anycast (DNS/UDP) |
GCD_ICMPv4/v6 | Emplacements trouvés à l'aide de la méthode basée sur la latence (ICMP) |
GCD_TCPv4/v6 | Emplacements trouvés à l'aide de la méthode basée sur la latence (TCP) |
partial | Indique si un anycast partiel a été détecté (IPv4 uniquement) |
backing_prefix | Préfixe correspondant de la table de routage IP (RouteViews) |
ASN | ASN(s) annonçant le préfixe (MOAS séparés par ;) |
locations | Une entrée par emplacement géolocalisé (voir ci-dessous) |
| Champ | Description |
|---|---|
id | ID GeoNames de la ville, ou NoCity lorsqu'aucune ville candidate ne se trouve dans le disque RTT |
city | Ville dans laquelle le site est placé, selon l'algorithme d'iGreedy (la candidate la plus peuplée) |
country_code | Code pays à 2 caractères (ISO 3166-1 alpha-2) |
lat | Latitude de la ville |
lon | Longitude de la ville |
candidate_diameter | Distance maximale par paire (km) entre les villes candidates restantes ; des valeurs plus faibles indiquent une précision plus élevée |
num_constraints | Nombre de disques qui se chevauchent et qui ont affiné l'ensemble des candidates ; des valeurs plus élevées indiquent une confiance plus élevée dans le résultat |
Remarque : La géolocalisation est à la granularité de l'aéroport pour les dates antérieures au 2026-10-03 ( id contient un code d'aéroport IATA à 3 lettres avant)