
نظام إحصاء أيونيكاست طولي يقوم بفحص بادئات IPv4/IPv6 عبر ICMP وTCP وDNS للكشف عن عمليات نشر أيونيكاست وتحديد الموقع الجغرافي لنقاط الحضور (PoPs)، مع نشر مجموعات بيانات يومية وواجهة برمجة تطبيقات (API).
LACeS: نظام إحصاء طولي مفتوح وسريع ومسؤول وفعّال للبث الأحادي المتعدد
التواصل: [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، والموقع الجغرافي لنقاط الحضور المكتشفة، ومعلومات الشبكة ذات الصلة. تتوفر لقطات تاريخية لجميع تواريخ الإحصاء منذ 21 مارس 2024.
وضع المقارنة. اختر تاريخي إحصاء مختلفين لتتبّع كيفية تغيّر نشر anycast بمرور الوقت.
تكامل RIPE Atlas. شغّل خوارزمية تحديد الموقع الجغرافي على نتائج RIPE Atlas العامة.
التحليلات. إحصاءات بمرور الوقت، وanycast حسب المنطقة، ومنحنى Hilbert لفضاء anycast، ...
يوفّر ملف 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)
يستخدم الإحصاء طريقتين للكشف:
القائم على Anycast (AB): يكتشف Anycast باستخدام Anycast. يُعتبر البادئة Anycast إذا استقبلت عدة نقاط حضور (PoPs) ردودًا. راجع MAnycast2 للتفاصيل. تُستخدم ثلاثة بروتوكولات للتحقيق: ICMP/ping وTCP SYN/ACK وDNS/UDP.
القائم على زمن الاستجابة (GCD): يكتشف Anycast باستخدام قياسات زمن الاستجابة وحسابات المسافة الدائرية الكبرى.
ملاحظة نوفّر نتائج تحديد الموقع الجغرافي لـ unicast عندما يكون AB > 1 لكن GCD == 1. قد يساعد ذلك في تحديد ما إذا كانت نتائج AB إيجابيات كاذبة أو نتائج GCD سلبيات كاذبة.
أحدث الملفات (تُحدَّث يوميًا):
IPv4-latest.parquet
IPv6-latest.parquet
routed-prefixes-IPv4-latest.csv
routed-prefixes-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 | بادئة anycast المرشحة: /24 لـ IPv4 (مثل 1.0.0.0/24)، /48 لـ IPv6 |
AB_ICMPv4/v6 | المواقع التي تم العثور عليها باستخدام طريقة anycast (ICMP) |
AB_TCPv4/v6 | المواقع التي تم العثور عليها باستخدام طريقة anycast (TCP SYNACK) |
AB_DNSv4/v6 | المواقع التي تم العثور عليها باستخدام طريقة anycast (DNS/UDP) |
GCD_ICMPv4/v6 | المواقع التي تم العثور عليها باستخدام طريقة زمن الاستجابة (ICMP) |
GCD_TCPv4/v6 | المواقع التي تم العثور عليها باستخدام طريقة زمن الاستجابة (TCP) |
partial | ما إذا تم اكتشاف anycast جزئي (IPv4 فقط) |
backing_prefix | بادئة جدول توجيه IP المقابلة (RouteViews) |
ASN | ASN (أو ASNs) التي تعلن البادئة (MOASes مفصولة بـ ;) |
locations | إدخال واحد لكل موقع محدد جغرافياً (انظر أدناه) |
| الحقل | الوصف |
|---|---|
id | معرّف المدينة في GeoNames، أو NoCity عندما لا تقع أي مدينة مرشحة ضمن قرص RTT |
city | المدينة التي يُوضع فيها الموقع، باستخدام خوارزمية iGreedy (الأكثر سكاناً بين المرشحين) |
country_code | رمز الدولة المكوّن من حرفين (ISO 3166-1 alpha-2) |
lat | خط عرض المدينة |
lon | خط طول المدينة |
candidate_diameter | أقصى مسافة ثنائية (كم) بين المدن المرشحة المتبقية؛ القيم الأصغر تشير إلى دقة أعلى |
num_constraints | عدد الأقراص المتداخلة التي حسّنت مجموعة المرشحين؛ القيم الأعلى تشير إلى ثقة أعلى في النتيجة |
ملاحظة: التحديد الجغرافي يكون بدقة المطار للتواريخ قبل 2026-10-03 (يحتوي id على رمز مطار IATA المكوّن من 3 أحرف قبل ذلك)
ننشر routed-prefixes-IPv*.csv الذي يحتوي على:
prefix,asn
4.144.0.0/12,8075
يحتوي هذا الملف على جميع بادئات جدول توجيه IP التي نكتشف فيها Anycast بثقة عالية (أي عمود backing_prefix في ملف .parquet).
نوفر هذا الملف لأن ذلك يسمح بتحليل سهل باستخدام البادئات الموجّهة، ويمكن الوصول إليه بسهولة عبر واجهة الويب الخاصة بـ GitHub.
علاوة على ذلك، فإنه يبسّط التحليل المشترك باستخدام قائمة bgp.tools (التي تصنّف Anycast بناءً على البادئة الموجّهة) لمن يستخدمون مجموعة بياناتنا بالاشتراك مع مجموعتهم.
نلاحظ أن backing_prefix قد يحتوي على مزيج من عناوين unicast وanycast (انظر الورقة البحثية للتفاصيل).
افتراض أن كامل backing_prefix هو anycast يؤدي إلى العديد من النتائج الإيجابية الخاطئة (FPs)، خاصة بالنسبة للبادئات الأكبر (حتى /8 في IPv4).
توصيتنا هي تقييم عناوين anycast باستخدام كتل /24 و/48 في ملف .parquet.
لكل بروتوكول فحص (ICMP، TCP، DNS) قائمة أهداف خاصة به لكل إصدار IP، مع عدة أهداف مرتّبة لكل /24 (IPv4) أو /48 (IPv6). نفحص الأهداف المرتّبة للبادئة بشكل تكراري، ونتوقف بمجرد استجابة أحدها، لتقليل تكاليف الفحص (انظر قوائم الأهداف المرتّبة في MAnycastR). ترتيب المصادر أدناه هو ترتيب أولوية الفحص.