
نظام إحصاء أيونيكاست طولي يقوم بفحص بادئات IPv4/IPv6 عبر ICMP وTCP وDNS للكشف عن عمليات نشر أيونيكاست وتحديد الموقع الجغرافي لنقاط الحضور (PoPs)، مع نشر مجموعات بيانات يومية وواجهة برمجة تطبيقات (API).
LACeS: نظام إحصاء طولي مفتوح وسريع ومسؤول وفعّال للبث الجماعي (Anycast)
للتواصل: [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
راجع توثيق API الكامل للاستعلام عن بادئات فردية وASNs وإحصاءات يومية.
نوفر لوحة تحكم تفاعلية للاستعلام عن بيانات الإحصاء وتصورها واستكشافها:
البحث والاستعلام. أدخل أي عنوان IP أو بادئة أو ASN أو نطاق أو TLD للبحث عن حالة البث الجماعي (Anycast)، والموقع الجغرافي لنقاط الحضور (PoPs) المكتشفة، ومعلومات الشبكة ذات الصلة. تتوفر لقطات تاريخية لجميع تواريخ الإحصاء منذ 21 مارس 2024.
وضع المقارنة. اختر تاريخي إحصاء مختلفين لتتبع كيفية تغير نشر البث الجماعي (Anycast) بمرور الوقت.
تكامل 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): يكتشف البث الجماعي باستخدام البث الجماعي. تُعتبر البادئة بثًا جماعيًا إذا استقبلت عدة نقاط حضور (PoPs) ردودًا. راجع MAnycast2 للتفاصيل. تُستخدم ثلاثة بروتوكولات للتحقيق: ICMP/ping و TCP SYN/ACK و DNS/UDP.
القائم على زمن الاستجابة (GCD): يكتشف البث الجماعي باستخدام قياسات زمن الاستجابة وحسابات المسافة الدائرية الكبرى (Great-Circle-Distance).
ملاحظة نوفر نتائج تحديد الموقع الجغرافي للبث الأحادي (Unicast) عندما يكون AB > 1 لكن GCD == 1. قد يساعد ذلك في تحديد ما إذا كانت نتائج AB إيجابيات كاذبة أو نتائج GCD سلبيات كاذبة.
أحدث الملفات (تُحدَّث يوميًا):
IPv4-latest.parquet
IPv6-latest.parquet
IPv4-latest.csv
IPv6-latest.csv
stats-latest
الملفات التاريخية (منذ 21 مارس 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
| العمود | الوصف |
|---|---|
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 (أو ASNs) المعلنة عن البادئة (MOASes مفصولة بـ ;) |
locations | بيانات تحديد الموقع الجغرافي التفصيلية من المواقع المكتشفة (انظر أدناه) |
| الحقل | الوصف |
|---|---|
city | المدينة المحددة جغرافيًا باستخدام خوارزمية iGreedy |
country_code | رمز الدولة المكوّن من حرفين (ISO 3166-1 alpha-2) |
airport_code | رمز IATA المكوّن من 3 أحرف لأقرب مطار |
lat | خط عرض المطار |
lon | خط طول المطار |
radius | نصف قطر قرص RTT بالكيلومترات |
candidate_diameter | أقصى مسافة زوجية (كم) بين المدن المرشحة الباقية؛ القيم الأصغر تشير إلى دقة أعلى |
num_constraints | عدد الأقراص المتقاطعة التي حسّنت مجموعة المرشحين؛ القيم الأعلى تشير إلى ثقة أعلى في النتيجة |
تساعد الحقول الثلاثة الأخيرة في تحديد ثقة نتائج تحديد الموقع الجغرافي.
تُوفَّر بيانات محدودة بصيغة CSV لسهولة الوصول عبر واجهة GitHub على الويب:
prefix,number_of_sites,backing_prefix
1.1.1.0/24,67,1.1.1.0/24
نستخدم قائمة USC/ISI ANT IPv4 hitlist (عناوين IP المستجيبة لـ ICMP/ping مرتبة حسب كل /24)، مدعومة بـ:
نستخدم:
لتقليل تأثير الفحص اليومي، نفحص على مستوى /24. ومع ذلك، تحتوي بعض البادئات على عناوين IP مختلطة بين البث الأحادي والبث الجماعي (راجع الورقة البحثية للتفاصيل) والتي نكتشفها باستخدام الفحص متعدد الأهداف.
نوفر جميع أدوات القياس والتحليل للعموم بموجب رخصة MPL 2.0:
يوفر MAnycastR تطبيقات لقياسات AB و GCD
MiGreedy هو تطبيقنا المُحسَّن لـ خوارزمية iGreedy لتحديد الموقع الجغرافي لـ IP، مصمم للإحصاءات الإنتاجية واسعة النطاق. يدعم تحديد الموقع الجغرافي للبث الأحادي، والكشف المُحسَّن باستخدام التقاطع، ومقاييس الثقة/الدقة.
عند استخدام مجموعة البيانات هذه للبحث الأكاديمي، يرجى الاقتباس من الورقة البحثية التالية:
@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}
}