联系方式: [email protected]
本仓库中的 parquet 文件可通过 manycast.net REST API 以其他格式下载:
将 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 日以来的所有普查日期均提供历史快照。
对比模式。 选择两个不同的普查日期,以追踪任播部署随时间的变化。
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)
普查使用两种检测方法:
基于任播(AB): 使用任播检测任播。 如果多个 PoP 收到回复,则该前缀被视为任播。 详情请参阅 MAnycast2。 使用三种探测协议:ICMP/ping、TCP SYN/ACK 和 DNS/UDP。
基于延迟(GCD): 使用延迟测量和大圆距离计算来检测任播。
注意 当 AB > 1 但 GCD == 1 时,我们提供单播地理位置结果。 这可能有助于判断 AB 结果是误报,还是 GCD 结果是漏报。
最新文件(每日更新):
IPv4-latest.parquet
IPv6-latest.parquet
IPv4-latest.csv
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
最后三个字段有助于判断地理位置结果的置信度。
为便于通过 GitHub 的 Web UI 访问,我们以 CSV 格式提供有限的数据:
prefix,number_of_sites,backing_prefix
1.1.1.0/24,67,1.1.1.0/24
我们使用 USC/ISI ANT IPv4 hitlist(按 /24 排序的 ICMP/ping 响应 IP 地址),并辅以:
我们使用:
为尽量减少每日探测的影响,我们以 /24 粒度进行扫描。 然而,某些前缀包含单播和任播混合的 IP 地址(详情见论文),我们通过多目标探测来检测这种情况。
我们根据 MPL 2.0 许可证公开提供所有测量和分析工具:
MAnycastR 提供了 AB 和 GCD 测量的实现
MiGreedy 是我们针对 IP 地理位置优化的 iGreedy 算法实现,专为大规模生产级普查而设计。 它支持单播地理位置、使用交集改进检测,以及置信度/精度指标。
在学术研究中使用此数据集时,请引用以下论文:
@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}
}
| 格式 | 示例 |
|---|
.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 |
| 列 | 描述 |
|---|
prefix | 候选任播 /24 前缀(例如 1.0.0.0/24) |
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 | 来自检测站点的详细地理位置数据(见下文) |
| 字段 | 描述 |
|---|
city | 使用 iGreedy 算法定位的城市 |
country_code | 2 字符国家代码(ISO 3166-1 alpha-2) |
airport_code | 最近机场的 IATA 三字母代码 |
lat | 机场纬度 |
lon | 机场经度 |
radius | RTT 圆盘半径,单位为公里 |
candidate_diameter | 存留候选城市之间的最大成对距离(km);数值越小表示精度越高 |
num_constraints | 用于细化候选集的重叠圆盘数量;数值越高表示对结果的置信度越高 |