Ցանցի մոտակա հանգույցների ընտրություն

Ցանցի մոտակա հանգույցների ընտրություն

Ցանցի հետաձգումը զգալի ազդեցություն ունի ցանցի հետ փոխազդող հավելվածների կամ ծառայությունների աշխատանքի վրա: Որքան ցածր է հետաձգումը, այնքան բարձր է կատարումը: Սա ճիշտ է ցանկացած ցանցային ծառայության համար՝ սովորական կայքէջից մինչև տվյալների բազա կամ ցանցային պահեստ:

Լավ օրինակ է տիրույթի անունների համակարգը (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-ին, որն ինձ շատ ավելի մոտ է, քան msk-ix-ը, որի մեջ միացված է գեղեցիկ 1.1.1.1-ը:

Տարբերությունը, ինչպես տեսնում եք, զգալի է, քանի որ նույնիսկ ամենաարագ լույսի ճառագայթը չի կարող Սանկտ Պետերբուրգից Մոսկվա հասնել 10 ms-ից պակաս ժամանակում։

Բացի պարզ պինգից, PoC-ն նաև հնարավորություն ունի համեմատելու այլ արձանագրությունների հետաձգումները, ինչպիսիք են http և tcp-ը, ինչպես նաև կոնկրետ լուծիչի միջոցով տիրույթները IP-ի փոխարկելու ժամանակը։

Նախատեսվում է համեմատել հանգույցների թիվը հոսթինգների միջև՝ օգտագործելով traceroute-ը, որպեսզի ավելի հեշտ լինի գտնել հոսթեր, որոնք ավելի կարճ ճանապարհ ունեն դեպի իրենց:

Կոդը կոպիտ է, այն չունի մի շարք ստուգումներ, բայց այն բավականին լավ է աշխատում մաքուր տվյալների վրա: Ես կգնահատեի ցանկացած արձագանք, աստղեր github, և եթե որևէ մեկին դուր եկավ նախագծի գաղափարը, ապա համեցեք դառնալ ներդրում:

Source: www.habr.com

Добавить комментарий