Lähimpien solmujen valitseminen verkossa

Lähimpien solmujen valitseminen verkossa

Verkon latenssilla on merkittävä vaikutus verkon kanssa vuorovaikutuksessa olevien sovellusten tai palveluiden suorituskykyyn. Mitä pienempi viive, sitä parempi suorituskyky. Tämä pätee kaikkiin verkkopalveluihin, tavallisesta verkkosivustosta tietokantaan tai verkkotallennustilaan.

Hyvä esimerkki on Domain Name System (DNS). DNS on luonteeltaan hajautettu järjestelmä, jonka juurisolmut ovat hajallaan ympäri planeettaa. Päästäksesi mihin tahansa verkkosivustoon, sinun on ensin hankittava sen IP-osoite.

En kuvaile koko prosessia verkkoaluealueiden "puun" läpikäymisestä, vaan rajoitan siihen, että verkkotunnuksen muuttamiseksi IP-osoitteeksi tarvitsemme DNS-selvittimen, joka tekee kaiken tämän työn. meille.

Joten mistä saat DNS-ratkaisun osoitteen?

  1. Internet-palveluntarjoaja tarjoaa DNS-selvittäjänsä osoitteen.
  2. Etsi Internetistä julkisen ratkaisun osoite.
  3. Nouda omasi tai käytä kotireitittimesi sisäänrakennettua reititintä.

Mikä tahansa näistä vaihtoehdoista antaa sinun nauttia huolettomasta surffailusta World Wide Webissä, mutta jos sinulla on tarve muuntaa suuri määrä verkkotunnuksia IP-muotoon, sinun tulee lähestyä ratkaisun valintaa huolellisemmin.

Kuten jo kirjoitin, Internet-palveluntarjoajan ratkaisun lisäksi on monia julkisia osoitteita, voit esimerkiksi tarkistaa tämän luettelon. Jotkut niistä voivat olla paljon parempia, koska niillä on parempi verkkoyhteys kuin oletusselvittimellä.

Kun lista on pieni, voit helposti "pingata" sen manuaalisesti ja vertailla viiveaikoja, mutta jos edes otat yllä mainitun listan, niin tästä tehtävästä tulee epämiellyttävä.

Siksi tehdäkseni tämän tehtävän helpommaksi, minä, täynnä huijarin syndroomaa, luonnostelin ideani ideasta Gossa ns. päästä lähemmäksi.

Esimerkiksi, en tarkista koko ratkaisijaluetteloa, vaan rajoitan vain suosituimpiin.

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

Aikoinaan, kun valitsin itselleni ratkaisijaa, rajoitin vain pääosoitteiden tarkistamiseen (1.1.1.1, 8.8.8.8, 9.9.9.9) - onhan ne niin kauniita, ja mitä voi odottaa rumia varaosoitteita.

Mutta koska on olemassa automaattinen tapa vertailla viivästyksiä, miksi et laajentaisi luetteloa...

Kuten testi osoitti, "vara" Cloudflare-osoite sopii minulle paremmin, koska se on kytketty spb-ixiin, joka on paljon lähempänä minua kuin msk-ix, johon on kytketty kaunis 1.1.1.1.

Ero, kuten näette, on merkittävä, koska edes nopein valonsäde ei pääse Pietarista Moskovaan alle 10 ms:ssa.

Yksinkertaisen pingin lisäksi PoC:lla on myös mahdollisuus verrata muiden protokollien, kuten http:n ja tcp:n, viiveitä sekä aikaa, joka kuluu verkkotunnusten muuntamiseen IP:ksi tietyn ratkaisijan kautta.

Suunnitelmissa on verrata isäntien välisiä solmuja käyttämällä traceroutea, jotta on helpompi löytää isäntiä, joilla on lyhyempi reitti niihin.

Koodi on raakaa, siitä puuttuu joukko tarkistuksia, mutta se toimii melko hyvin puhtaalla datalla. Olisin kiitollinen kaikesta palautteesta, tähdet github, ja jos joku piti projektin ideasta, niin tervetuloa osallistujaksi.

Lähde: will.com

Lisää kommentti