
IPv4/IPv6プレフィックスをICMP、TCP、DNS経由でプローブし、エニーキャスト配備を検出してPoPを地理特定する縦断的エニーキャストセンサスシステム。日次データセットとAPIを公開。
LACeS: an Open, Fast, Responsible and Efficient Longitudinal Anycast Census System
連絡先: [email protected]
このリポジトリ内のparquetファイルは、manycast.net REST APIを通じて別のフォーマットでもダウンロードできます:
| フォーマット | 例 |
|---|---|
.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 |
latestを特定の日付(例: 2026-03-22)に置き換えると、過去のスナップショットをダウンロードできます。IPv4とIPv6の両方が利用可能で、それぞれIPv4-とIPv6-というプレフィックスが付きます。
例:
curl -O https://manycast.net/api/v1/export/IPv4-2026-03-22.csv.gz
個別のプレフィックス、ASN、日次統計を照会する方法については、完全なAPIドキュメントを参照してください。
国勢調査データの照会、可視化、探索のためのインタラクティブなダッシュボードを提供しています:
検索とルックアップ。 任意のIPアドレス、プレフィックス、ASN、ドメイン、またはTLDを入力すると、エニーキャストのステータス、検出されたPoPの地理位置情報、および関連するネットワーク情報を検索できます。 2024年3月21日以降のすべての国勢調査日について、履歴スナップショットが利用可能です。
比較モード。 2つの異なる国勢調査日を選択して、エニーキャストの展開が時間とともにどのように変化したかを追跡できます。
RIPE Atlas連携。 公開されているRIPE Atlasの結果に対して地理位置情報アルゴリズムを実行します。
分析。 時系列統計、地域別エニーキャスト、エニーキャスト空間のヒルベルト曲線、...
census_helper.pyファイルは、データセットのダウンロードとフィルタリングのための便利な関数を提供します。pandas、pyarrow、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
要件に応じて、以下のフィルタリングを推奨します。
高信頼度:
(AB > 3) || (GCD > 1)
包括的なカバレッジ:
(AB > 1) || (GCD > 1)
この調査では2つの検出方法を使用しています:
Anycastベース (AB): anycastを使用してanycastを検出します。 複数のPoPが応答を受信した場合、そのプレフィックスはanycastと見なされます。 詳細はMAnycast2を参照してください。 3つのプローブプロトコルが使用されています:ICMP/ping、TCP SYN/ACK、DNS/UDP。
レイテンシベース (GCD): レイテンシ測定と大円距離計算を使用してanycastを検出します。
NOTE AB > 1 かつ GCD == 1 の場合、unicastジオロケーション結果を提供します。 これはAB結果がFPであるか、GCD結果がFNであるかを判断するのに役立つ場合があります。
最新ファイル(毎日更新):
IPv4-latest.parquet
IPv6-latest.parquet
routed-prefixes-IPv4-latest.csv
routed-prefixes-IPv6-latest.csv
stats-latest
履歴ファイル(2024年3月21日以降):
YYYY/MM/DD/IPv4.parquet
YYYY/MM/DD/IPv6.parquet
YYYY/MM/DD/IPv4.csv
YYYY/MM/DD/IPv6.csv
YYYY/MM/DD/stats
| 列 | 説明 |
|---|---|
prefix | 候補のエニーキャストプレフィックス: IPv4 は /24(例: 1.0.0.0/24)、IPv6 は /48 |
AB_ICMPv4/v6 | エニーキャストベースの手法(ICMP)を使用して検出されたロケーション |
AB_TCPv4/v6 | エニーキャストベースの手法(TCP SYNACK)を使用して検出されたロケーション |
AB_DNSv4/v6 | エニーキャストベースの手法(DNS/UDP)を使用して検出されたロケーション |
GCD_ICMPv4/v6 | レイテンシベースの手法(ICMP)を使用して検出されたロケーション |
GCD_TCPv4/v6 | レイテンシベースの手法(TCP)を使用して検出されたロケーション |
partial | 部分的なエニーキャストが検出されたかどうか(IPv4 のみ) |
backing_prefix | 対応する IP ルーティングテーブルプレフィックス(RouteViews) |
ASN | プレフィックスをアナウンスしている ASN(MOAS は ; で区切られる) |
locations | 地理特定されたロケーションごとに 1 エントリ(下記参照) |
| フィールド | 説明 |
|---|---|
id | 都市の GeoNames ID、または RTT ディスク内に候補都市が存在しない場合は NoCity |
city | iGreedy のアルゴリズムを使用してサイトが配置される都市(最も人口の多い候補) |
country_code | 2 文字の国コード(ISO 3166-1 alpha-2) |
lat | 都市の緯度 |
lon | 都市の経度 |
candidate_diameter | 残存する候補都市間の最大ペアワイズ距離(km)。値が小さいほど精度が高いことを示す |
num_constraints | 候補セットを絞り込んだ重複するディスクの数。値が大きいほど結果の信頼度が高いことを示す |
注: 2026-10-03 より前の日付では、地理特定は空港の粒度で行われます(id の前に IATA 3 文字空港コードが含まれます)
routed-prefixes-IPv*.csv を公開しています。これには以下が含まれます:
prefix,asn
4.144.0.0/12,8075
このファイルには、anycast を高い信頼度で検出したすべての IP ルーティングテーブルプレフィックス(すなわち .parquet の backing_prefix 列)が含まれています。
このファイルを提供するのは、ルーティングされたプレフィックスを用いた分析が容易になり、GitHub の Web UI から簡単にアクセスできるためです。
さらに、当社のデータセットを bgp.tools のリスト(ルーティングされたプレフィックスに基づいて anycast を分類するもの)と組み合わせて使用する場合、bgp.tools のリストを用いた共同分析が簡素化されます。
backing_prefix には unicast アドレスと anycast アドレスが混在している可能性があることに注意してください(詳細は論文を参照)。
backing_prefix 全体が anycast であると仮定すると、特に大きなプレフィックス(IPv4 では /8 まで)で多くの FP が発生します。
推奨事項として、.parquet ファイル内の /24、/48 ブロックを用いて anycast アドレスを評価することをお勧めします。
各プローブプロトコル(ICMP、TCP、DNS)には IP バージョンごとの独自のヒットリストがあり、/24(IPv4)または /48(IPv6)ごとに複数のランク付けされたターゲットが含まれています。 プロービングコストを削減するため、プレフィックスのランク付けされたターゲットを反復的にプローブし、 1 つが応答した時点で停止します(MAnycastR のランク付けされたヒットリストを参照)。 以下のソースの順序は、プロービングの優先順位です。
| ソース | 説明 | ICMPv4 | TCPv4 | DNSv4 | ICMPv6 | TCPv6 | DNSv6 |
|---|---|---|---|---|---|---|---|
| LACeS フィードバックループ | 以前のセンサスからの anycast ターゲット、および Ark の完全な GCD スキャンターゲット | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| LACeS レスポンダー | 過去 7 回の日次センサスで同じプロトコルに応答したアドレス | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| USC/ISI ANT ヒットリスト | /24 ごとのランク付けされた ping 応答アドレス | ✓ | |||||
| OpenINTEL A/AAAA | A/AAAA レコードで観測されたアドレス | ✓ | ✓ | ✓ | ✓ | ||
| OpenINTEL infra:ns | 権威ネームサーバーのアドレス | ✓ | ✓ | ||||
| DNS 依存関係グラフ | 権威ネームサーバーのアドレス(UT DACS、IIJ Labs) | ✓ | ✓ | ||||
| anycast-prefixes | bgp.tools の anycast プレフィックスリスト | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| パブリック DNS サーバー | パブリック DNS ネームサーバー | ✓ | ✓ | ||||
| ODNS | オープン DNS リゾルバーおよびフォワーダー(TU Dresden) | ✓ | |||||
| IPv6 ヒットリスト | 応答アドレス:ICMP、UDP/53、TCP/80、TCP/443(TUM) | ✓ | ✓ | ✓ | |||
| IPv6-SRA | ping 応答ルーターアドレス(TU Dresden、HAW Hamburg) | ✓ | ✓ |
ヒットリストは毎週日曜日に再構築されます。 ご要望に応じて週次のヒットリストを共有いたします([email protected])。 ただし、許可が必要なデータソースについては、その許可を得ていることを条件とします。
2026-10-17 以降、エイリアスされたプレフィックス(TUM のエイリアスされたプレフィックスリストを使用)を /40 プレフィックス粒度でスキャンしています。 これは、これらのエイリアスされた範囲内にある多数の /48 プレフィックスを毎日スキャンすることが(妥当なプロービングレートでは)実行不可能であるため必要です。 一部のエイリアスされたプレフィックスには、anycast と unicast の範囲が混在していることが観測されていることに注意してください。 そのため、/40 プレフィックス粒度でのカバレッジは、場合によっては粗すぎます。
日次のプロービングへの影響を最小限に抑えるため、/24 粒度でスキャンしています。 ただし、一部のプレフィックスには unicast と anycast の IP アドレスが混在しており(詳細は論文を参照)、これらはマルチターゲットプロービングを用いて検出しています。
すべての測定および分析ツールを MPL 2.0 ライセンスの下で公開しています:
MAnycastR は AB および GCD 測定の実装を提供します