Odabir najbližih čvorova u mreži

Odabir najbližih čvorova u mreži

Kašnjenje mreže ima značajan utjecaj na performanse aplikacija ili usluga koje su u interakciji s mrežom. Što je niža latencija, to je bolja izvedba. To vrijedi za bilo koju mrežnu uslugu, od obične web stranice do baze podataka ili mrežne pohrane.

Dobar primjer je sustav naziva domena (DNS). DNS je po prirodi distribuirani sustav, s korijenskim čvorovima razasutim diljem planeta. Da biste jednostavno pristupili bilo kojoj web stranici, prvo trebate dobiti njenu IP adresu.

Neću opisivati ​​cijeli proces rekurzivnog prolaska kroz "stablo" domenskih zona, već ću se ograničiti na činjenicu da nam je za pretvaranje domene u IP adresu potreban DNS resolver koji će obaviti sav ovaj posao za nas.

Dakle, gdje dobivate adresu DNS rezolvera?

  1. ISP daje adresu svog DNS rezolvera.
  2. Pronađite adresu javnog razrješivača na internetu.
  3. Odaberite vlastiti ili upotrijebite onaj ugrađen u kućni usmjerivač.

Bilo koja od ovih opcija omogućit će vam bezbrižno surfanje na World Wide Webu, ali ako imate potrebu pretvoriti veliki broj domena u IP, trebali biste pažljivije pristupiti izboru razrješitelja.

Kao što sam već napisao, osim ISP resolvera, postoji mnogo javnih adresa, na primjer, možete pogledati ovaj popis. Neki od njih mogu biti mnogo poželjniji jer imaju bolju mrežnu povezanost od zadanog razlučivača.

Kada je popis malen, možete ga jednostavno ručno "pingati" i usporediti vremena kašnjenja, ali ako čak uzmete gore navedeni popis, onda ovaj zadatak postaje neugodan.

Stoga sam, kako bih olakšao ovaj zadatak, ispunjen sindromom varalice, skicirao dokaz svoje ideje na Gou tzv. približiti.

Kao primjer, neću provjeravati cijeli popis rješavača, već ću se ograničiti samo na najpopularnije.

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

Jedno vrijeme, kada sam birao razrješivač za sebe, ograničio sam se samo na provjeru glavnih adresa (1.1.1.1, 8.8.8.8, 9.9.9.9) - uostalom, tako su lijepe, a što možete očekivati ​​od ružne pričuvne adrese.

Ali budući da postoji automatizirani način usporedbe kašnjenja, zašto ne proširiti popis...

Kao što je test pokazao, više mi odgovara “rezervna” Cloudflare adresa, jer je uključena u spb-ix, koji mi je puno bliži nego msk-ix, koji ima utaknutu prekrasnu 1.1.1.1

Razlika je, kao što vidite, značajna, jer ni najbrža zraka svjetlosti ne može stići od Sankt Peterburga do Moskve za manje od 10 ms.

Osim jednostavnog pinga, PoC također ima priliku usporediti kašnjenja za druge protokole, kao što su http i tcp, kao i vrijeme za pretvaranje domene u IP kroz određeni rezolver.

Postoje planovi za usporedbu broja čvorova između hostova pomoću traceroutea kako bi se olakšalo pronalaženje hostova koji imaju kraći put do njih.

Kod je sirov, nedostaje mu hrpa provjera, ali prilično dobro radi na čistim podacima. Cijenio bih svaku povratnu informaciju, zvjezdice githabe, a ako se nekome svidjela ideja projekta, dobrodošli da postanete suradnik.

Izvor: www.habr.com

Dodajte komentar