Tuvāko mezglu atlase tīklā

Tuvāko mezglu atlase tīklā

Tīkla latentumam ir būtiska ietekme uz to lietojumprogrammu vai pakalpojumu veiktspēju, kas mijiedarbojas ar tīklu. Jo mazāks latentums, jo augstāka ir veiktspēja. Tas attiecas uz jebkuru tīkla pakalpojumu, sākot no parastas vietnes līdz datu bāzei vai tīkla krātuvei.

Labs piemērs ir domēna vārdu sistēma (DNS). DNS pēc būtības ir sadalīta sistēma, kuras saknes mezgli ir izkaisīti pa visu planētu. Lai vienkārši piekļūtu jebkurai vietnei, vispirms ir jāiegūst tās IP adrese.

Es neaprakstīšu visu procesu, kurā notiek rekursīva iziešana caur domēna zonu “koku”, bet aprobežošos ar faktu, ka, lai pārveidotu domēnu par IP adresi, mums ir nepieciešams DNS atrisinātājs, kas visu šo darbu veiks. mums.

Tātad, kur iegūt DNS atrisinātāja adresi?

  1. ISP nodrošina sava DNS atrisinātāja adresi.
  2. Atrodiet internetā publiskā atrisinātāja adresi.
  3. Paņemiet savu vai izmantojiet mājas maršrutētājā iebūvēto.

Jebkura no šīm opcijām ļaus jums izbaudīt bezrūpīgu sērfošanu globālajā tīmeklī, taču, ja jums ir nepieciešams pārvērst lielu skaitu domēnu uz IP, jums vajadzētu pievērst uzmanību atrisinātāja izvēlei.

Kā jau rakstīju, papildus ISP atrisinātājam ir daudz publisko adrešu, piemēram, varat apskatīt šo sarakstu. Daži no tiem var būt daudz vēlamāki, jo tiem ir labāka tīkla savienojamība nekā noklusējuma atrisinātājam.

Kad saraksts ir mazs, to var viegli “ping” manuāli un salīdzināt aizkaves laikus, bet, ja pat paņem iepriekš minēto sarakstu, tad šis uzdevums jau kļūst nepatīkams.

Tāpēc, lai atvieglotu šo uzdevumu, es, krāpnieka sindroma pārņemts, ieskicēju savas idejas jēdziena pierādījumu vietnē Go ar nosaukumu pienāc tuvāk.

Kā piemēru es nepārbaudīšu visu atrisinātāju sarakstu, bet aprobežošos ar populārākajiem.

$ 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]

Savulaik, izvēloties sev atrisinātāju, aprobežojos tikai ar galveno adrešu pārbaudi (1.1.1.1, 8.8.8.8, 9.9.9.9) - galu galā tās ir tik skaistas, un ko no tā gaidīt. neglītas rezerves adreses.

Bet, tā kā ir automatizēts veids, kā salīdzināt kavējumus, kāpēc gan nepaplašināt sarakstu...

Kā parādīja tests, man ir piemērotāka “rezerves” Cloudflare adrese, jo tā ir pievienota spb-ix, kas man ir daudz tuvāk nekā msk-ix, kurā ir pievienota skaista 1.1.1.1.

Atšķirība, kā redzams, ir ievērojama, jo pat ātrākais gaismas stars no Sanktpēterburgas līdz Maskavai nevar sasniegt ātrāk par 10 ms.

Papildus vienkāršai ping, PoC ir arī iespēja salīdzināt aizkaves citiem protokoliem, piemēram, http un tcp, kā arī laiku, kas nepieciešams domēnu konvertēšanai uz IP, izmantojot īpašu atrisinātāju.

Tiek plānots salīdzināt mezglu skaitu starp saimniekiem, izmantojot traceroute, lai būtu vieglāk atrast saimniekdatorus, kuriem ir īsāks ceļš uz tiem.

Kods ir neapstrādāts, tam trūkst pārbaužu, taču tas diezgan labi darbojas uz tīriem datiem. Būšu pateicīgs par atsauksmēm, zvaigznes github, un, ja kādam patika projekta ideja, laipni lūdzam kļūt par līdzstrādnieku.

Avots: www.habr.com

Pievieno komentāru