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

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

Vonëzitet e rrjetit kanë një ndikim të konsiderueshëm në performancën e aplikacioneve ose shërbimeve që ndërveprojnë me rrjetin. Sa më të ulëta të jenë vonesat, aq më e lartë është performanca. Kjo është e vërtetë për çdo shërbim rrjetesor, nga një faqe web-i e zakonshme deri te një bazë të dhënash ose ruajtje rrjeti.

Një shembull i mirë është sistemi i emrave të domainit (DNS). DNS është, sipas natyrës së vet, një sistem i shpërndarë, ku nodet rrënjësore janë të shpërndara në të gjithë planetin. Për të hyrë në çdo faqe, së pari duhet të merrni adresën e saj IP.

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

Pra, ku mund ta gjejmë adresën e rezolvuesit DNS?

  1. Ofruesi i internetit ofron adresën e rezolvuesit të tij DNS.
  2. Gjeni në internet adresën e një rezolvuesi publik.
  3. Mund të ngrini një të tillë ose të përdorni atë të ndërtuar në router-in tuaj të shtëpisë.

Të gjitha këto mundësi do t'ju lejojnë të shijoni një eksplorim pa stres në gjithë internetin, por nëse keni nevojë të konvertoni një numër të madh domenesh në IP, duhet të qaseni me më shumë kujdes në zgjedhjen e rezolutorit.

Siç kam përmendur tashmë, përveç rezolutorit të ofruesit të internetit, ka shumë adresa publike, për shembull, mund të shqyrtoni këtë listë. Disa prej tyre mund të rezultojnë të jenë shumë më të preferuar për shkak të lidhjes më të mirë rrjetore sesa rezolutori 'i paracaktuar'.

Kur lista është e vogël, është e lehtë ta 'pingoni' me dorë dhe të krahasoni kohët e vonesave, por nëse marrim menjëherë listën e përmendur më sipër, atëherë kjo veprimtari bëhet e pakëndshme.

Prandaj, për të lehtësuar këtë detyrë, unë, i prekur nga sindromi i impostorit, kam përgatitur një provë-koncepti në Go për ideën time të titulluar get-closer.

Si një shembull, nuk do të kontrolloj gjithë listën e rezolutorë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]

Kur isha duke zgjedhur njĂ« rezolutor pĂ«r vete, kufizohesha vetĂ«m nĂ« kontrollin e adresave themelore (1.1.1.1, 8.8.8.8, 9.9.9.9) — sepse ato janĂ« kaq tĂ« bukura, dhe çfarĂ« mund tĂ« presĂ«sh nga adresat rezervĂ« qĂ« nuk janĂ« tĂ« bukura.

Por tani që ka një mënyrë automatizuese për të krahasuar vonesat, pse të mos e zgjasësh listën...

Siç tregoi testi, adresa 'rezervë' e Cloudflare më përfshin më shumë, pasi është e lidhur me spb-ix, i cili është shumë më afër për mua se msk-ix, ku është e lidhur adresa e bukur 1.1.1.1.

Dallimi, siç e shihni, është i rëndësishëm, sepse madje as rrezja më e shpejtë e dritës nuk arrin të arrijë nga Piter në Moskë për më pak se 10 ms.

Përveç ping-ut të thjeshtë, në PoC ka edhe mundësinë për të krahasuar vonesat në protokolle të tjera, të tilla si http dhe tcp, si dhe kohën e përkthimit të dominave në IP nëpërmjet një rezolutori të caktuar.

Në planet ka një detyrë për të krahasuar numrin e nyjeve midis hosteve përmes traceroute, në mënyrë që të jetë më e lehtë të gjesh hoste për të cilat ka një rrugë më të shkurtër.

Kodi është ende në gjendje të papërfunduar, i mungojnë shumë verifikime, por funksionon në mënyrë mjaft të kënaqshme me të dhëna të pastra. Do të isha i mirënjohur për çdo feedback, yje në github, dhe nëse kujt i pëlqeu ideja e projektit, është i mirëpritur si kontribuues.

Burimi: habr.com

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