A hálózat legközelebbi csomópontjainak kiválasztása

A hálózat legközelebbi csomópontjainak kiválasztása

A hálózati késleltetés jelentős hatással van a hálózattal együttműködő alkalmazások vagy szolgáltatások teljesítményére. Minél alacsonyabb a késleltetés, annál nagyobb a teljesítmény. Ez minden hálózati szolgáltatásra igaz, a szokásos webhelyektől az adatbázisokig vagy hálózati tárolókig.

Jó példa erre a Domain Name System (DNS). A DNS természeténél fogva egy elosztott rendszer, amelynek gyökércsomópontjai szétszórva vannak a bolygón. Bármely webhely egyszerű eléréséhez először meg kell szereznie annak IP-címét.

Nem írom le a tartományzónák „fáján” való rekurzív átlépés teljes folyamatát, hanem arra szorítkozom, hogy egy tartomány IP-címmé alakításához szükségünk van egy DNS-feloldóra, amely elvégzi ezt a munkát. minket.

Szóval, honnan szerzi be a DNS-feloldó címét?

  1. Az internetszolgáltató megadja DNS-feloldójának címét.
  2. Keresse meg egy nyilvános feloldó címét az interneten.
  3. Vegye fel a sajátját, vagy használja az otthoni útválasztóba építettet.

Ezen lehetőségek bármelyike ​​lehetővé teszi, hogy gondtalan böngészést élvezhessen a világhálón, de ha nagyszámú tartományt kell IP-re konvertálnia, akkor óvatosabban kell megközelítenie a feloldó kiválasztását.

Mint már írtam, az ISP-feloldón kívül sok nyilvános cím van, ezt a listát például meg lehet nézni. Némelyikük sokkal előnyösebb lehet, mert jobb hálózati kapcsolattal rendelkeznek, mint az alapértelmezett feloldó.

Ha kicsi a lista, akkor könnyen manuálisan „pingelhetjük” és összehasonlíthatjuk a késleltetési időket, de ha még a fent említett listát is vesszük, akkor ez a feladat kellemetlenné válik.

Ezért, hogy megkönnyítsem ezt a feladatot, imposztor-szindrómával telve felvázoltam ötletem bizonyítékát a Go-n, ún. közelít.

Példaként nem nézem meg a feloldók teljes listáját, hanem csak a legnépszerűbbekre korlátozom magam.

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

Egy időben, amikor feloldót választottam magamnak, csak a fő címeket ellenőriztem (1.1.1.1, 8.8.8.8, 9.9.9.9) - elvégre olyan szépek, és mit várhat az ember tőle csúnya tartalék címek.

De mivel van egy automatizált módszer a késések összehasonlítására, miért ne bővíthetnénk a listát...

Ahogy a teszt megmutatta, nekem jobban megfelel a „tartalék” Cloudflare cím, mivel az spb-ix-re van bedugva, ami sokkal közelebb áll hozzám, mint az msk-ix, amibe a gyönyörű 1.1.1.1-es van.

A különbség, amint látható, jelentős, mert még a leggyorsabb fénysugár sem tud 10 ms-nál rövidebb idő alatt eljutni Szentpétervárról Moszkvába.

Az egyszerű ping mellett a PoC-nak lehetősége van összehasonlítani más protokollok, például a http és a tcp késleltetéseit, valamint a tartományok IP-re konvertálásának idejét egy adott feloldón keresztül.

A tervek szerint a traceroute segítségével összehasonlítják a csomópontok számát a gazdagépek között, hogy könnyebben megtalálhassák azokat a gazdagépeket, amelyeknek rövidebb az elérési útjuk.

A kód durva, hiányzik belőle egy csomó ellenőrzés, de tiszta adatokon elég jól működik. Örülnék minden visszajelzésnek, csillagok github, és ha valakinek tetszett a projekt ötlete, üdvözöljük, hogy legyen közreműködő.

Forrás: will.com

Hozzászólás