Zgjidhni nyjet më të afërta në rrjet

Zgjidhni nyjet më të afërta në rrjet

Ngjarjet e rrjetit kanë një ndikim të rëndësishëm në performancën e aplikacioneve ose shërbimeve që ndërveprojnë me rrjetin. Sa më të vogla të jenë vonesat, aq më e lartë është performanca. Kjo vlen për çdo shërbim rrjeti, duke filluar nga një faqe interneti e zakonshme deri te një bazë të dhënash ose ruajtje në rrjet.

Një shembull i mirë është sistemi i emrave dhe domeneve (DNS). DNS është në natyrë një sistem i shpërndarë, me nyjat themelore të shpërndara në të gjithë planetin. Që të hyjmë në çdo faqe interneti, së pari duhet të marrim adresën e saj IP.

Nuk do ta pĂ«rshkruaj tĂ« gjithĂ« procesin e kalimit rekurziv nĂ« “pemĂ«n” e zonave tĂ« domeneve, por do tĂ« kufizohem nĂ« faktin se pĂ«r tĂ« konvertuar njĂ« domain nĂ« adresĂ«n IP, na nevojitet njĂ« DNS resolver qĂ« do ta kryejĂ« tĂ« gjithĂ« kĂ«tĂ« punĂ« pĂ«r ne.

Pra, ku ta gjejmë adresën e DNS resolverit?

  1. Furnizuesi i shërbimeve të internetit ofron adresën e DNS resolverit të tij.
  2. Të kërkojmë në internet adresën e një resolveri publik.
  3. Të ngrisim tonin tonë ose të përdorim atë të integruar në routerin tuaj shtëpiak.

Cdo një nga këto mundësi do t'ju lejojë të shijoni ndërlidhjen të lirë në gjithë internetin, por nëse keni nevojë të konvertoni një numër të madh domainesh në adresat IP, atëherë është e rëndësishme të zgjidhni më me kujdes resolverin.

Siç e thashĂ« mĂ« parĂ«, pĂ«rveç DNS resolverit tĂ« ofruesit tĂ« shĂ«rbimeve tĂ« internetit, ekzistojnĂ« shumĂ« adresa publike, pĂ«r shembull, mund tĂ« shihni kĂ«tĂ« listĂ«. Disa prej tyre mund tĂ« jenĂ« mĂ« tĂ« preferuara, sepse kanĂ« lidhje mĂ« tĂ« mira nĂ« rrjet se sa resolveri “default”.

Kur lista Ă«shtĂ« e vogĂ«l, Ă«shtĂ« e lehtĂ« ta “pingosh” me dorĂ« dhe tĂ« krahasosh kohĂ«n e vonesave, por nĂ«se marim pĂ«r shembull listĂ«n e pĂ«rmendur mĂ« lart, kjo bĂ«het njĂ« detyrĂ« e pakĂ«ndshme.

Prandaj, për të lehtësuar këtë detyrë, kam hartuar me sindromën e vetëquajtur 'sindromi i mashtruesit' një koncept provë në Go të ideve të mia të quajtur get-closer.

Si shembull, nuk do të kontrolloj të gjithë listën e resolverëve, por do të kufizohem vetëm në ata më të njohur.

$ get-closer ping -f dnsresolver.txt -b=0 --count=10
Hostet më të afërt:
	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]

Në atë kohë, kur zgjodha një resolver për veten time, kufizohesha vetëm në kontrollin e adreseve kryesore (1.1.1.1, 8.8.8.8, 9.9.9.9), sepse ato janë kaq të bukura, dhe çfarë të presim nga adresat rezervë që nuk janë të bukura.

Por çfarĂ« u shfaq njĂ« mĂ«nyrĂ« automatike pĂ«r tĂ« krahasuar vonesat, atĂ«herĂ« pse tĂ« mos zgjerojmĂ« listĂ«n


Siç tregoi testi, mĂ« pĂ«rshtatet mĂ« shumĂ« adresa “rezervĂ«â€ e Cloudflare, pasi ajo Ă«shtĂ« e lidhur me spb-ix, i cili Ă«shtĂ« shumĂ« mĂ« afĂ«r pĂ«r mua se msk-ix, ku Ă«shtĂ« e lidhur bukur 1.1.1.1.

Dallimi, siç e shihni, është i dukshëm, sepse as një rreze e shpejtë dritë nuk arrin të kalojë nga Shën Peterburgu në Moskë për më pak se 10 ms.

Përveç ping-ut të thjeshtë, në PoC ka gjithashtu mundësinë për të krahasuar vonesat dhe në protokolle të tjera si http dhe tcp, si dhe kohën e transformimit të domain-eve në IP përmes një rezolutori të caktuar.

Në planet është një detyrë për të krahasuar numrin e nyjeve midis hosteve duke përdorur traceroute, për t'u ndihmuar për të gjetur hostet të cilat kanë një rrugë më të shkurtër.

Kodi është i papërpunuar, mungojnë shumë kontrollime, por funksionon mjaft mirë me të dhëna të pastra. Do të isha mirënjohës për çdo feedback, yjet në GitHub, nëse dikujt i pëlqeu ideja e projektit, është mirëpritur si kontribues.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster