Ağdaki en yakın düğümleri seçme

Ağdaki en yakın düğümleri seçme

Ağ gecikmesinin, ağ ile etkileşime giren uygulamaların veya hizmetlerin performansı üzerinde önemli bir etkisi vardır. Gecikme ne kadar düşük olursa performans o kadar yüksek olur. Bu, normal bir web sitesinden veritabanına veya ağ depolama alanına kadar her türlü ağ hizmeti için geçerlidir.

Bunun iyi bir örneği Alan Adı Sistemidir (DNS). DNS, doğası gereği, kök düğümlerin gezegenin her tarafına dağılmış olduğu dağıtılmış bir sistemdir. Herhangi bir web sitesine kolayca erişmek için öncelikle IP adresini almanız gerekir.

Etki alanı bölgelerinin "ağacından" yinelemeli olarak geçme sürecinin tamamını açıklamayacağım, ancak kendimi bir etki alanını bir IP adresine dönüştürmek için tüm bu işi yapacak bir DNS çözümleyiciye ihtiyacımız olduğu gerçeğiyle sınırlandıracağım. biz.

Peki, DNS çözümleyici adresini nereden alıyorsunuz?

  1. ISP, DNS çözümleyicisinin adresini sağlar.
  2. İnternette genel çözümleyicinin adresini bulun.
  3. Kendinizinkini alın veya ev yönlendiricinizde yerleşik olanı kullanın.

Bu seçeneklerden herhangi biri, World Wide Web'de kaygısız gezinmenin keyfini çıkarmanıza olanak tanır, ancak çok sayıda alanı IP'ye dönüştürmeniz gerekiyorsa, çözümleyici seçimine daha dikkatli yaklaşmalısınız.

Daha önce de yazdığım gibi, ISP çözümleyicisine ek olarak birçok genel adres var, örneğin bu listeye göz atabilirsiniz. Bazıları, varsayılan çözümleyiciden daha iyi ağ bağlantısına sahip oldukları için çok daha fazla tercih edilebilir.

Liste küçük olduğunda, manuel olarak kolayca "ping" yapabilir ve gecikme sürelerini karşılaştırabilirsiniz, ancak yukarıda belirtilen listeyi bile alırsanız, bu görev tatsız hale gelir.

Bu nedenle, bu görevi kolaylaştırmak için, sahtekarlık sendromuyla dolu olan Go hakkındaki fikrimin bir kavram kanıtını çizdim. yaklaş.

Örnek olarak, çözümleyicilerin tüm listesini kontrol etmeyeceğim, kendimi yalnızca en popüler olanlarla sınırlayacağım.

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

Bir zamanlar kendim için bir çözümleyici seçerken kendimi yalnızca ana adresleri (1.1.1.1, 8.8.8.8, 9.9.9.9) kontrol etmekle sınırladım - sonuçta çok güzeller ve onlardan ne bekleyebilirsiniz? çirkin yedekleme adresleri.

Ancak gecikmeleri karşılaştırmanın otomatik bir yolu olduğuna göre neden listeyi genişletmiyorsunuz?

Testin gösterdiği gibi, "yedek" Cloudflare adresi benim için daha uygun çünkü bana güzel 1.1.1.1'in takılı olduğu msk-ix'ten çok daha yakın olan spb-ix'e bağlı.

Gördüğünüz gibi fark önemlidir, çünkü en hızlı ışık hüzmesi bile St. Petersburg'dan Moskova'ya 10 ms'den daha kısa sürede ulaşamaz.

Basit ping'e ek olarak PoC, http ve tcp gibi diğer protokoller için gecikmelerin yanı sıra belirli bir çözümleyici aracılığıyla etki alanlarını IP'ye dönüştürme süresini de karşılaştırma olanağına sahiptir.

Kendilerine giden yolu daha kısa olan ana bilgisayarları bulmayı kolaylaştırmak için traceroute kullanarak ana bilgisayarlar arasındaki düğüm sayısını karşılaştırmaya yönelik planlar var.

Kod kabadır, çok sayıda kontrolden yoksundur, ancak temiz verilerde oldukça iyi çalışır. Herhangi bir geri bildirimden memnuniyet duyarım, yıldızlar githubve eğer biri proje fikrini beğendiyse, katkıda bulunmaya hoş geldiniz.

Kaynak: habr.com

Yorum ekle