Желідегі ең жақын түйіндерді таңдау

Желідегі ең жақын түйіндерді таңдау

Желінің кешігуі желімен әрекеттесетін қолданбалардың немесе қызметтердің өнімділігіне айтарлықтай әсер етеді. Кідіріс неғұрлым төмен болса, өнімділік соғұрлым жоғары болады. Бұл кәдімгі веб-сайттан дерекқорға немесе желілік жадқа дейін кез келген желі қызметіне қатысты.

Жақсы мысал - домендік атаулар жүйесі (DNS). DNS табиғаты бойынша жер шарында шашыраңқы түбірлік түйіндері бар бөлінген жүйе болып табылады. Кез келген веб-сайтқа жай ғана кіру үшін алдымен оның IP мекенжайын алу керек.

Мен домен аймақтарының «ағашынан» рекурсивті өтудің бүкіл процесін сипаттамаймын, бірақ доменді IP мекенжайына түрлендіру үшін бізге осы жұмыстардың барлығын орындайтын DNS шешушісі қажет екендігімен шектелемін. біз.

Сонымен, DNS шешуші мекенжайын қайдан аласыз?

  1. ISP өзінің DNS шешушісінің мекенжайын береді.
  2. Интернетте жалпыға ортақ шешім қабылдаушының мекенжайын табыңыз.
  3. Өзіңізді таңдаңыз немесе үйдегі маршрутизаторды пайдаланыңыз.

Осы опциялардың кез келгені Дүниежүзілік Интернетте алаңсыз серфингтен ләззат алуға мүмкіндік береді, бірақ егер сізге көптеген домендерді IP-ге түрлендіру қажет болса, онда шешуші таңдауға мұқият қарау керек.

Мен жазғанымдай, ISP шешушісінен басқа, көптеген жалпы мекенжайлар бар, мысалы, сіз бұл тізімді тексере аласыз. Олардың кейбіреулері әлдеқайда жақсырақ болуы мүмкін, себебі олар әдепкі шешушіге қарағанда жақсы желі қосылымына ие.

Тізім кішкентай болғанда, оны қолмен оңай «пинг» жасай аласыз және кідіріс уақытын салыстыра аласыз, бірақ жоғарыда аталған тізімді алсаңыз да, бұл тапсырма жағымсыз болады.

Сондықтан, бұл тапсырманы жеңілдету үшін мен алдамшы синдромға толы болдым, Go бағдарламасында өз идеямның тұжырымдамасын дәлелдедім. жақындау.

Мысал ретінде мен шешушілердің толық тізімін тексермеймін, тек ең танымалдарымен ғана шектелемін.

$ get-closer ping -f dnsresolver.txt -b=0 --count=10
Closest hosts:
	1.0.0.1 [3.4582ms]
	8.8.8.8 [6.7545ms]
	1.1.1.1 [12.6773ms]
	8.8.4.4 [16.6361ms]
	9.9.9.9 [40.0525ms]

Бір кездері мен өзіме шешуші таңдап жатқанда, мен тек негізгі мекенжайларды (1.1.1.1, 8.8.8.8, 9.9.9.9) тексерумен шектелдім - олар өте әдемі және одан не күтуге болады. жағымсыз сақтық көшірме мекенжайлары.

Бірақ кідірістерді салыстырудың автоматтандырылған тәсілі болғандықтан, тізімді неге кеңейтпеске...

Сынақ көрсеткендей, «сақтық көшірме» Cloudflare мекенжайы мен үшін қолайлырақ, өйткені ол spb-ix-ге қосылған, ол маған әдемі 1.1.1.1 қосылған msk-ix-ке қарағанда әлдеқайда жақын.

Көріп отырғаныңыздай, айырмашылық өте маңызды, өйткені ең жылдам жарық сәулесі де Санкт-Петербургтен Мәскеуге 10 мс-ден аз уақытта жете алмайды.

Қарапайым пингтен басқа, PoC-те http және tcp сияқты басқа протоколдар үшін кідірістерді, сондай-ақ белгілі бір шешуші арқылы домендерді IP-ге түрлендіру уақытын салыстыру мүмкіндігі бар.

Оларға қысқа жол бар хосттарды табуды жеңілдету үшін traceroute көмегімен хосттар арасындағы түйіндер санын салыстыру жоспарлары бар.

Код шикі, оған көптеген тексерулер жоқ, бірақ ол таза деректерде жақсы жұмыс істейді. Мен кез келген пікірді бағалаймын, жұлдыздар гитабе, және егер кімге жобаның идеясы ұнаса, онда үлес қосушы болуға қош келдіңіз.

Ақпарат көзі: www.habr.com

пікір қалдыру