
VÔrgulÀtked mÔjutavad mÀrkimisvÀÀrselt rakenduste vÔi teenuste, mis suhtlevad vÔrguga, jÔudlust. Mida vÀiksemad on lÀtked, seda kÔrgem on jÔudlus. See kehtib kÔigi vÔrguteenuste kohta, alates tavalistest veebilehtedest kuni andmebaaside vÔi vÔrgusalvestusteni.
Hea nĂ€ide sellest on domeeninimesĂŒsteem (DNS). DNS on oma olemuselt jaotatud sĂŒsteem, mille juurte sĂ”lmed on laiali ĂŒle terve planeedi. Et lihtsalt siseneda kĂ”igile veebilehtedele, tuleb esmalt saada nende IP-aadress.
Ma ei hakka kirjeldama kogu protsessi rekursiivsest lÀbimisest domeenitsoonide "puust", piirdun vaid sellega, et domeeni IP-aadressiks muutmiseks vajame DNS-resolverit, mis selle töö meie eest Àra teeb.
Kust saada DNS-resolveri aadress?
- Interneti teenusepakkuja annab oma DNS-resolveri aadressi.
- Otsi internetist avaliku resolveri aadressi.
- Tee oma vÔi kasuta oma kodus ruuterisse sisse ehitatud resolverit.
IgaĂŒks neist variantidest vĂ”imaldab nautida muretu sirvimise kogemust ĂŒle maailma veebis, kuid kui sul tekib vajadus korraga ĂŒmber muuta palju domeene IP-deks, tuleb resolveri valikule lĂ€heneda tĂ€helepanelikumalt.
Nagu ma juba mainisin, peale interneti teenusepakkuja resolveri, eksisteerib palju avalikke aadresse, nĂ€iteks saa tuttavaks selle nimekirjaga. MĂ”ned neist vĂ”ivad osutuda oluliselt eelistatumateks, sest nende vĂ”rguĂŒhendus on parem kui "vaikimisi" resolveril.
Kui nimekiri on vÀike, on seda lihtne "pingida" kÀsitsi ja vÔrrelda lÀtke aegu, kuid kui vÔtta kas vÔi see eelmainitud nimekiri, siis muutub see tegevus juba ebameeldivaks.
SeetĂ”ttu, et seda ĂŒlesannet lihtsustada, viskasin Go-sse kokku tĂ”enduse oma idee kohta, mille nimeks on .
NÀiteks ma ei hakka kontrollima kogu resolverite nimekirja, vaid piirdun vaid kÔige populaarsematega.
$ get-closer ping -f dnsresolver.txt -b=0 --count=10
LĂ€himad hostid:
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]
Oma ajal, kui valisin endale resolveri, piirdusin ma vaid peamiste aadresside (1.1.1.1, 8.8.8.8, 9.9.9.9) kontrollimisega - nad on ju nii ilusad, ja milleks oodata varu mitte ilusate aadresside puhul.
Kuna automatiseeritud meetod viivituste vÔrdlemiseks on olemas, siis miks mitte laiendada nimekirja...
Test nĂ€itas, et mulle sobib rohkem âvaruâ aadress Cloudflare, kuna see on ĂŒhendatud spb-ix, mis on minu jaoks palju lĂ€hemal kui msk-ix, kuhu on ĂŒhendatud ilus 1.1.1.1.
Nagu nÀete, on erinevus mÀrkimisvÀÀrne, kuna isegi kÔige kiiremal valguskiirusel ei Ônnestu jÔuda Peterburist Moskvasse vÀhem kui 10 ms.
Lisaks tavalisele pingile vÔimaldab PoC ka vÔrrelda viivitusi teiste protokollide, nÀiteks http ja tcp, osas, aga ka domeenide muutmise aega IP-deks lÀbi kindla resolveri.
Plaanis on ĂŒlesanne vĂ”rrelda hostide vaheliste sĂ”lmede arvu traceroute'i abil, et oleks lihtsam leida hoste, millele on lĂŒhem tee.
Kood on toorelt kirjutatud, paljusid kontrolle napib, kuid töötab ĂŒsna korralikult puhaste andmete peal. Olen tĂ€nulik igasuguse tagasiside eest, tĂ€hed , ja kui kellelegi meeldib projekti idee, siis on oodatud liituma kaasautoriteks.
Allikas: habr.com
