
IPv4/IPv6 प्रीफ़िक्स को ICMP, TCP और DNS के माध्यम से प्रोब करने वाली अनुदैर्ध्य anycast जनगणना प्रणाली, जो anycast परिनियोजनों का पता लगाती है और 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
व्यक्तिगत प्रीफ़िक्स, ASN और दैनिक आँकड़ों की क्वेरी करने के लिए संपूर्ण API दस्तावेज़ देखें।
हम जनगणना डेटा की क्वेरी, विज़ुअलाइज़ेशन और अन्वेषण के लिए एक इंटरैक्टिव डैशबोर्ड प्रदान करते हैं:
खोज और लुकअप। किसी भी IP पता, प्रीफ़िक्स, ASN, डोमेन या TLD को दर्ज करके anycast स्थिति, पहचाने गए PoPs की भौगोलिक स्थिति और संबंधित नेटवर्क जानकारी देखें। 21 मार्च, 2024 से सभी जनगणना तिथियों के लिए ऐतिहासिक स्नैपशॉट उपलब्ध हैं।
तुलना मोड। समय के साथ anycast परिनियोजन में हुए बदलाव को ट्रैक करने के लिए दो अलग-अलग जनगणना तिथियाँ चुनें।
RIPE Atlas एकीकरण। सार्वजनिक RIPE Atlas परिणामों पर भौगोलिक स्थान एल्गोरिथ्म चलाएँ।
विश्लेषण। समय के साथ आँकड़े, क्षेत्र के अनुसार anycast, anycast स्पेस का Hilbert वक्र, ...
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 माना जाता है यदि कई PoP प्रतिक्रियाएँ प्राप्त करते हैं। विवरण के लिए MAnycast2 देखें। तीन प्रोब प्रोटोकॉल का उपयोग किया जाता है: ICMP/ping, TCP SYN/ACK, और DNS/UDP।
लेटेंसी-आधारित (GCD): लेटेंसी माप और Great-Circle-Distance गणनाओं का उपयोग करके anycast का पता लगाता है।
NOTE हम unicast geolocation परिणाम प्रदान करते हैं जब AB > 1 लेकिन GCD == 1। यह निर्धारित करने में मदद कर सकता है कि AB परिणाम FPs हैं या GCD परिणाम FNs हैं।
नवीनतम फ़ाइलें (दैनिक रूप से अपडेट की जाती हैं):
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 प्रीफ़िक्स: IPv4 के लिए /24 (जैसे, 1.0.0.0/24), IPv6 के लिए /48 |
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(s) (MOASes ; द्वारा अलग किए गए) |
locations | प्रत्येक भू-स्थानिक स्थान के लिए एक प्रविष्टि (नीचे देखें) |
| फ़ील्ड | विवरण |
|---|---|
id | शहर की GeoNames ID, या NoCity जब RTT डिस्क के भीतर कोई उम्मीदवार शहर नहीं होता है |
city | वह शहर जिसमें साइट रखी गई है, iGreedy के एल्गोरिदम का उपयोग करके (सबसे अधिक जनसंख्या वाला उम्मीदवार) |
country_code | 2-अक्षर देश कोड (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 का पता लगाते हैं (अर्थात, .parquet में backing_prefix कॉलम)।
हम यह फ़ाइल इसलिए प्रदान करते हैं क्योंकि यह रूटेड प्रीफ़िक्स का उपयोग करके आसान विश्लेषण की अनुमति देती है और GitHub के वेब UI के माध्यम से आसानी से सुलभ है।
इसके अलावा, यह उन लोगों के लिए bgp.tools की सूची (जो रूटेड प्रीफ़िक्स के आधार पर anycast को वर्गीकृत करती है) का उपयोग करके संयुक्त विश्लेषण को सरल बनाती है जो हमारे डेटासेट का उनके साथ संयोजन में उपयोग करते हैं।
हम ध्यान दिलाते हैं कि एक backing_prefix में unicast और anycast पतों का मिश्रण हो सकता है (विवरण के लिए पेपर देखें)।
पूरे backing_prefix को anycast मानने से कई FP होते हैं, विशेष रूप से बड़े प्रीफ़िक्स के लिए (IPv4 के लिए /8 तक)।
हमारी सिफ़ारिश है कि .parquet फ़ाइल में /24, /48 ब्लॉक्स का उपयोग करके anycast पतों का आकलन करें।