
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
このファイルには、我々が高い信頼度でエニーキャストを検出したすべての IP ルーティングテーブルプレフィックスが含まれています(すなわち、.parquet 内の backing_prefix 列)。
このファイルを提供するのは、ルーティングされたプレフィックスを用いた分析を容易にし、GitHub の Web UI から簡単にアクセスできるようにするためです。
さらに、我々のデータセットを bgp.tools のリスト(ルーティングされたプレフィックスに基づいてエニーキャストを分類する)と組み合わせて使用する場合の共同分析を簡素化します。
backing_prefix にはユニキャストアドレスとエニーキャストアドレスが混在している可能性があることに注意してください(詳細は論文を参照)。
backing_prefix 全体がエニーキャストであると仮定すると、特に大きなプレフィックス(IPv4 では /8 まで)で多くの FP が発生します。
我々の推奨は、.parquet ファイル内の /24、/48 ブロックを用いてエニーキャストアドレスを評価することです。
各プローブプロトコル(ICMP、TCP、DNS)は IP バージョンごとに独自のヒットリストを持ち、/24(IPv4)または /48(IPv6)ごとに複数のランク付けされたターゲットがあります。 プロービングコストを削減するため、プレフィックスのランク付けされたターゲットを反復的にプローブし、 1 つが応答した時点で停止します(MAnycastR のランク付けされたヒットリストを参照)。 以下のソースの順序は、プロービングの優先順序です。
| ソース | 説明 | ICMPv4 | TCPv4 | DNSv4 | ICMPv6 | TCPv6 | DNSv6 |
|---|---|---|---|---|---|---|---|
| LACeS フィードバックループ | 以前のセンサスからのエニーキャストターゲット、および Ark フル GCD スキャンターゲット | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| LACeS レスポンダー | 過去 7 回の日次センサスで同じプロトコルに応答したアドレス | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| USC/ISI ANT ヒットリスト | /24 ごとのランク付けされた ping 応答アドレス | ✓ | |||||
| OpenINTEL A/AAAA | A/AAAA レコードで見られたアドレス | ✓ | ✓ | ✓ | ✓ | ||
| OpenINTEL infra:ns | 権威ネームサーバーアドレス | ✓ | ✓ | ||||
| DNS Dependency Graph | 権威ネームサーバーアドレス(UT DACS、IIJ Labs) | ✓ | ✓ | ||||
| anycast-prefixes | bgp.tools のエニーキャストプレフィックスリスト | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| パブリック DNS サーバー | パブリック DNS ネームサーバー | ✓ | ✓ | ||||
| ODNS | オープン DNS リゾルバーおよびフォワーダー(TU Dresden) | ✓ | |||||
| IPv6 Hitlist | 応答アドレス:ICMP、UDP/53、TCP/80、TCP/443(TUM) | ✓ | ✓ | ✓ | |||
| IPv6-SRA | ping 応答ルーターアドレス(TU Dresden、HAW Hamburg) | ✓ | ✓ |
ヒットリストは毎週日曜日に再構築されます。 我々は、必要とするデータソースからの許可を得ていることを条件に、 週次のヒットリストをリクエストに応じて共有します([email protected])。
エイリアスされたプレフィックス(TUM のエイリアスされたプレフィックスリストを使用)のスキャンを、エイリアスされたブロックの各ルーティングされたプレフィックス内の最初の /48 に限定します。 これは、これらのエイリアスされたブロック内の多数の /48 プレフィックスを毎日スキャンすることが(妥当なプロービングレートでは)実行不可能であるため必要です。
日次のプロービング影響を最小限に抑えるため、/24 の粒度でスキャンします。 ただし、一部のプレフィックスにはユニキャストアドレスとエニーキャストアドレスが混在しており(詳細は論文を参照)、これはマルチターゲットプロービングを用いて検出します。
我々はすべての測定および分析ツールを MPL 2.0 ライセンスの下で公開しています:
MAnycastR は AB および GCD 測定の実装を提供します