Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir

Muhtemelen birçok kişi Anycast'i duymuştur. Bu ağ adresleme ve yönlendirme yönteminde, bir ağdaki birden fazla sunucuya tek bir IP adresi atanır. Bu sunucular birbirinden uzak veri merkezlerinde bile bulunabilir. Anycast'in amacı, istek kaynağının konumuna bağlı olarak verilerin en yakın (ağ topolojisine göre, daha doğrusu BGP yönlendirme protokolüne göre) sunucuya gönderilmesidir. Bu şekilde ağ atlama sayısını ve gecikmeyi azaltabilirsiniz.

Esasen, aynı rota dünya çapındaki birden fazla veri merkezinden duyurulmaktadır. Böylece müşteriler BGP rotalarına göre "en iyi" ve "en yakın" olan veri merkezine yönlendirilecektir. Neden Anycast? Neden Unicast yerine Anycast kullanmalısınız?

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Unicast, tek bir web sunucusuna ve orta düzeyde trafiğe sahip bir site için gerçekten uygundur. Ancak bir hizmetin milyonlarca abonesi varsa, genellikle her biri aynı IP adresine sahip birçok web sunucusu kullanır. Bu sunucular, isteklere en iyi şekilde hizmet verebilmek için coğrafi olarak dağıtılmıştır.

Bu senaryoda, Anycast performansı artıracak (trafik kullanıcıya minimum gecikmeyle gönderilir), hizmetin güvenilirliğini sağlayacak (yedek sunucular sayesinde) ve yük dengeleme - birden fazla sunucuya yönlendirme, yükü bunlar arasında etkili bir şekilde dağıtarak hızı artıracak Sitenin.

Operatörler, müşterilere Anycast ve DNS'ye dayalı çeşitli yük dengeleme türleri sunar. İstemciler, sitenin coğrafi konumuna göre isteklerin gönderileceği IP adreslerini belirtebilirler. Bu, kullanıcı isteklerinin daha esnek bir şekilde dağıtılmasını mümkün kılar.

Yükü (kullanıcılar) aralarında dağıtmanız gereken birkaç site olduğunu varsayalım; örneğin, günde 100 istek alan bir çevrimiçi mağaza veya popüler bir blog. Kullanıcıların belirli bir siteye eriştiği bölgeyi sınırlamak için Geo Community seçeneğini kullanabilirsiniz. Operatörün rotanın reklamını yapacağı bölgeyi sınırlamanıza olanak tanır.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Her noktaya yayın ve Tek noktaya yayın: farklar

Anycast genellikle DNS (Etki Alanı Adı Sistemi) ve CDN (İçerik Dağıtım Ağları) gibi uygulamalarda kullanılır ve ağ performansını artıran yönlendirme kararlarına olanak tanır. İçerik dağıtım ağları, büyük miktarda trafikle uğraştıkları için Anycast'i kullanır ve Anycast bu durumda bir takım avantajlar sağlar (bunlar hakkında daha fazla bilgi aşağıdadır). DNS'de Anycast, hizmetin güvenilirlik düzeyini ve hata toleransını önemli ölçüde artırmanıza olanak tanır.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Anycast IP'de BGP kullanılırken belirli bir ana bilgisayara giden birden fazla yol vardır. Bunlar aslında birden fazla veri merkezindeki ana bilgisayarların kopyalarıdır ve daha düşük gecikmeli bağlantılar kurmak için kullanılır.

Dolayısıyla, bir Anycast ağında, aynı IP adresi farklı yerlerden duyurulur ve ağ, rotanın "maliyetine" bağlı olarak kullanıcının isteğinin nereye yönlendirileceğine karar verir. Örneğin BGP genellikle veri iletimi için en kısa rotayı belirlemek için kullanılır. Bir kullanıcı Anycast isteği gönderdiğinde BGP, ağdaki mevcut Anycast sunucuları için en iyi rotayı belirler.

Anycast'in Faydaları

Gecikmeyi Azaltma
Anycast'li sistemler, en yakın sunucudan veri almanıza olanak tanıdığı için kullanıcı isteklerini işlerken gecikmeyi azaltabilir. Yani kullanıcılar her zaman "en yakın" (yönlendirme protokolü açısından) DNS sunucusuna bağlanacaktır. Sonuç olarak Anycast, istemci ile sunucu arasındaki ağ mesafesini azaltarak etkileşim süresini azaltır. Bu yalnızca gecikmeyi azaltmakla kalmaz, aynı zamanda yük dengelemeyi de sağlar.

hız

Trafik en yakın düğüme yönlendirildiği ve istemci ile düğüm arasındaki gecikme azaldığı için, istemcinin bilgiyi nereden talep ettiğine bakılmaksızın sonuç optimize edilmiş teslimat hızıdır.

Artan kararlılık ve hata toleransı

Dünya çapında birden fazla sunucu aynı IP'yi kullanıyorsa, sunuculardan biri arızalanırsa veya bağlantısı kesilirse trafik en yakın sunucuya yönlendirilecektir. Sonuç olarak Anycast, hizmeti daha dayanıklı hale getirir ve daha iyi ağ erişimi/gecikme/hız sağlar. 

Böylece, örneğin Anycast, birden fazla sunucunun sürekli olarak kullanıcıların kullanımına sunulmasıyla DNS kararlılığını artırır. Bir düğüm başarısız olursa, kullanıcı istekleri herhangi bir manuel müdahale veya yeniden yapılandırma olmaksızın başka bir DNS sunucusuna yönlendirilecektir. Anycast, sorunlu sitenin rotalarını basitçe kaldırarak diğer sitelere neredeyse şeffaf geçiş sağlar. 

Yük dengeleme

Anycast'te ağ trafiği farklı sunuculara dağıtılır. Yani yük dengeleyici görevi görerek herhangi bir sunucunun trafiğin büyük kısmını almasını engeller. Yük dengeleme, örneğin istek kaynağına aynı coğrafi mesafede birden fazla ağ düğümü olduğunda kullanılabilir. Bu durumda yük düğümler arasında dağıtılır.

DoS saldırılarının etkisini azaltın 

Anycast'in bir diğer özelliği de DDoS direncidir. DDoS saldırılarının bir Anycast sistemini çökertmesi pek olası değildir çünkü böyle bir ağdaki tüm sunucuları bir çığ gibi isteklerle boğmak zorunda kalacaklardır. 

DDoS saldırıları sıklıkla botnet'leri kullanır; bu botnetler, saldırıya uğrayan sunucunun aşırı yüklenmesine neden olacak kadar çok trafik oluşturabilir. Bu durumda Anycast kullanmanın avantajı, her sunucunun saldırının bir kısmını "emebilmesi" ve bu da söz konusu sunucudaki yükün azalmasıdır. Hizmet reddi saldırısı büyük olasılıkla sunucuya yerelleştirilecek ve hizmetin tamamını etkilemeyecektir.

Yüksek yatay ölçeklenebilirlik

Anycast sistemleri, büyük miktarda trafiğe sahip hizmetler için çok uygundur. Anycast kullanan bir hizmet, artan trafiği idare etmek için yeni sunucular gerektiriyorsa, bunu idare etmek için ağa yeni sunucular eklenebilir. Yeni veya mevcut sitelere yerleştirilebilirler. 

Belirli bir konumda trafikte büyük bir artış yaşanıyorsa, bir sunucu eklemek o sitenin yükünü dengelemeye yardımcı olacaktır. Yeni bir siteye sunucu eklemek, bazı kullanıcılar için yeni bir en kısa rota oluşturarak bekleme sürelerinin azaltılmasına yardımcı olacaktır. Her iki yöntem de ağda yeni sunucular kullanıma sunuldukça hizmetin kararlılığının artırılmasına yardımcı olur. Bu şekilde, eğer bir sunucu aşırı yüklenmişse, başka bir sunucuyu, aşırı yüklenmiş sunucunun isteklerinin bir kısmını kabul etmesine izin verecek bir konuma yerleştirebilirsiniz. Bu, istemciler açısından herhangi bir yapılandırma gerektirmez. 

Ancak bu şekilde, sunucuda yalnızca birkaç 10 veya 25 Gbps bağlantı noktası bulunduğunda terabitlik trafik ve çok sayıda kullanıcıya hizmet verilebilir. Tek bir IP adresine sahip 100 ana bilgisayar, terabit hacimli trafiğin işlenmesini mümkün kılacaktır.

Kolay konfigürasyon yönetimi

Yukarıda belirtildiği gibi Anycast'in ilginç bir kullanımı DNS'dir. Ağ düğümlerine birkaç farklı DNS sunucusu yerleştirebilirsiniz ancak tek bir DNS adresi kullanabilirsiniz. Kaynağın bulunduğu yere bağlı olarak istekler en yakın düğüme yönlendirilir. Bu, bir DNS sunucusu arızası durumunda bir miktar trafik dengeleme ve yedeklilik sağlar. Bu şekilde, bulundukları yere göre farklı DNS sunucuları yapılandırmak yerine, bir DNS sunucusunun yapılandırması tüm düğümlere yayılabilir.

Anycast ağları, istekleri yalnızca mesafeye göre değil aynı zamanda bir sunucunun varlığı, kurulan bağlantı sayısı gibi parametrelere göre yönlendirecek şekilde yapılandırılabilir. veya tepki süresi.

Anycast teknolojisini kullanmak için istemci tarafında hiçbir özel sunucuya, ağa veya özel bileşene gerek yoktur. Ancak Anycast'in dezavantajları da var. Uygulamasının, ek ekipman, güvenilir sağlayıcılar ve uygun trafik yönlendirmesi gerektiren karmaşık bir görev olduğuna inanılmaktadır.

Saf kaynaktan güzelliğe uzak

Anycast, kullanıcıları en az atlama noktasına göre yönlendirse de, bu mutlaka en düşük gecikme anlamına gelmez. Gecikme daha karmaşık bir ölçümdür çünkü bir geçiş için on geçişten daha yüksek olabilir.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Örnek: Kıtalararası iletişim, çok yüksek gecikme süresine sahip tek bir atlama içerebilir.

Anycast öncelikle DNS gibi UDP tabanlı hizmetler için kullanılır. Kullanıcı istekleri BGP rotalarına göre “en iyi” ve “en yakın” veri merkezine yönlendirilir.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Örnek: Anycast DNS IP adresi 123.10.10.10 olan bir DNS istemci iş istasyonu, aynı Anycast IP adresini kullanarak dağıtılan üç DNS ad sunucusundan en yakın olanına DNS çözümlemesi gerçekleştirir. Yönlendirici R1 veya Sunucu A arızalanırsa, DNS istemci paketleri Yönlendiriciler R2 ve R3 aracılığıyla otomatik olarak bir sonraki en yakın DNS sunucusuna iletilecektir. Ek olarak, sunucumuz A'ya giden yol, yönlendirme tablolarından kaldırılacak ve bu ad sunucusunun daha fazla kullanılması engellenecektir.

Dağıtım Senaryoları

Bir kullanıcının hangi sunucuya bağlandığını belirlemek için kullanılan iki genel şema vardır:

  • Her noktaya yayın ağ katmanı. Kullanıcıyı en yakın sunucuya bağlar. Burada kullanıcıdan sunucuya giden ağ yolu önemlidir.
  • Uygulama düzeyinde herhangi bir yayın. Bu şema, sunucu kullanılabilirliği, yanıt süresi, bağlantı sayısı vb. dahil olmak üzere daha fazla hesaplanmış ölçümlere sahiptir. Bu, ağ istatistiklerini sağlayan harici bir monitöre bağlıdır.

Anycast'e dayalı CDN

Şimdi içerik dağıtım ağlarında Anycast'i kullanmaya dönelim. Anycast kesinlikle ilginç bir ağ konseptidir ve yeni nesil CDN sağlayıcıları arasında giderek daha fazla kabul görmektedir.

CDN, içeriği son kullanıcılara yüksek kullanılabilirlik ve düşük gecikme süresiyle sunan dağıtılmış bir sunucu ağıdır. İçerik dağıtım ağları günümüzde birçok çevrimiçi medya hizmetinin omurgası olarak önemli bir rol oynamaktadır ve tüketiciler yavaş indirme hızlarına karşı giderek daha az tolerans göstermektedir. Video ve ses uygulamaları özellikle ağ titreşimine ve gecikmeye karşı hassastır.

CDN, tüm sunucuları tek bir ağa bağlar ve içeriğin daha hızlı yüklenmesini sağlar. Bazen kullanıcının bekleme süresini 5-6 saniye kadar azaltmak mümkün olabiliyor. CDN'nin amacı, içeriği son kullanıcıya en yakın sunucudan sunarak dağıtımı optimize etmektir. Bu, en yakın sunucunun son kullanıcının konumuna göre seçildiği Anycast'e çok benzer. Görünüşe göre her CDN servis sağlayıcısı varsayılan olarak Anycast'i kullanacak, ancak gerçekte durum böyle değil.

HTTP/TCP gibi protokolleri kullanan uygulamalar, kurulan bağlantıya bağlıdır. Yeni bir Anycast düğümü seçilirse (örneğin, sunucu arızası nedeniyle), hizmet kesintiye uğrayabilir. Bu nedenle Anycast daha önce UDP ve DNS gibi bağlantısız hizmetler için önerilmişti. Ancak Anycast, bağlantı yönelimli protokoller için de iyi çalışır; örneğin TCP, Anycast modunda iyi çalışır.

Bazı CDN sağlayıcıları Anycast tabanlı yönlendirmeyi kullanırken diğerleri DNS tabanlı yönlendirmeyi tercih eder: en yakın sunucu, kullanıcının DNS sunucusunun bulunduğu yere göre seçilir.

Hibrit ve çoklu veri merkezi altyapıları Anycast kullanımına bir başka örnektir. Sağlayıcıdan alınan Yük Dengeleme IP adresi, yükü sağlayıcının veri merkezindeki farklı istemci hizmetlerinin IP adresleri arasında dağıtmanıza olanak tanır. Herhangi bir cihaz teknolojisi sayesinde, yoğun trafik altında daha iyi performans, hata toleransı sağlar ve çok sayıda kullanıcıyla uğraşırken yanıt süresinin optimize edilmesine yardımcı olur.

Hibrit çoklu veri merkezi altyapılarında, trafiği sunucular arasında ve hatta özel sunuculardaki sanal makineler arasında dağıtabilirsiniz.

Bu nedenle, altyapı oluşturmak için çok çeşitli teknik çözümler mevcuttur. Ayrıca, site performansını optimize etmek için bir gruptaki herhangi bir cihazı hedefleyerek birden çok veri merkezindeki IP adresleri arasında yük dengelemeyi de yapılandırabilirsiniz.

Her veri merkezinde dağıtılan sunucuların her birinin “ağırlığını” tanımlayarak trafiği kendi kurallarınıza göre dağıtabilirsiniz. Bu yapılandırma özellikle dağıtılmış bir sunucu parkının olduğu ve hizmetlerin performansının eşit olmadığı durumlarda kullanışlıdır. Bu, sunucu performansını artırmak için trafiğin daha sık dağıtılmasına olanak tanıyacaktır.

Ping komutunu kullanarak bir izleme sistemi oluşturmak için probları yapılandırmak mümkündür. Bu, yöneticinin kendi izleme prosedürlerini tanımlamasına ve altyapıdaki her bileşenin durumuna ilişkin daha net bir resim elde etmesine olanak tanır. Bu şekilde erişilebilirlik kriterleri tanımlanabilir.

Hibrit bir altyapı oluşturmak mümkündür: Bazen arka ofisi kurumsal ağda bırakmak ve arayüz kısmını sağlayıcıya dış kaynak olarak kullanmak daha uygun olur.

Yük dengeleme, iletilen verilerin şifrelenmesi ve site ziyaretçileri ile kurumsal altyapı arasındaki iletişimin güvenliği için SSL sertifikaları eklemek mümkündür. Veri merkezleri arasında yük dengeleme yapılması durumunda SSL de kullanılabilir.

Adres yük dengeleme özelliğine sahip Anycast hizmetini sağlayıcınızdan alabilirsiniz. Bu özellik, kullanıcıların konuma bağlı olarak uygulamalarla etkileşimini iyileştirmeye yardımcı olacak. Veri merkezinde hangi hizmetlerin mevcut olduğunu duyurmanız yeterli olup, trafik en yakın altyapıya yönlendirilecektir. Örneğin Fransa veya Kuzey Amerika'da özel sunucular varsa, istemciler ağdaki en yakın sunucuya yönlendirilecektir.

Anycast'i kullanma seçeneklerinden biri, operatörün varlık noktasının (PoP) en uygun seçimidir. Hadi verelim örnek. LinkedIn (Rusya'da engellendi) yalnızca ürünlerinin (mobil ve web uygulamaları) performansını ve hızını artırmakla kalmıyor, aynı zamanda daha hızlı içerik dağıtımı için ağ altyapısını da geliştirmeye çalışıyor. Bu dinamik içerik dağıtımı için LinkedIn, PoP'ları (varlık noktalarını) aktif olarak kullanıyor. Anycast, kullanıcıları en yakın PoP'a yönlendirmek için kullanılır.

Bunun nedeni, Unycast durumunda her LinkedIn PoP'un benzersiz bir IP adresine sahip olmasıdır. Kullanıcılar daha sonra DNS kullanılarak coğrafi konumlarına göre PoP'a atanır. Sorun şu ki, DNS kullanırken Amerika Birleşik Devletleri'ndeki kullanıcıların yaklaşık %30'u ideal olmayan bir PoP'ye yönlendirildi. Anycast'in aşamalı olarak uygulanmasıyla birlikte optimal olmayan PoP ataması %31'den %10'a düştü.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Pilot testin sonuçları grafikte gösterilmektedir; burada Y ekseni, optimum PoP atamasının yüzdesidir. Anycast'in artmasıyla birlikte birçok ABD eyaleti, optimum PoP'a yönelik trafik yüzdesinde bir iyileşme gördü.

Anycast Ağ İzleme

Her noktaya yayın ağları teoride basittir: BGP'nin rotayı belirlemek için kullandığı aynı IP adresi birden fazla fiziksel sunucuya atanır. Ancak Anycast platformlarının uygulanması ve tasarımı karmaşıktır ve hataya dayanıklı Anycast ağları özellikle bununla ünlüdür. Daha da zorlu olanı, hataları hızlı bir şekilde tanımlamak ve izole etmek için Anycast ağını etkili bir şekilde izlemektir.

Hizmetler, içeriklerini sunmak için üçüncü taraf bir CDN sağlayıcı kullanıyorsa ağ performansını izlemeleri ve doğrulamaları çok önemlidir. Anycast tabanlı CDN izleme, içeriği hangi veri merkezinin sunduğunu anlamak için uçtan uca gecikmeyi ve sondan bir önceki atlama performansını ölçmeye odaklanır. HTTP sunucusu başlıklarını analiz etmek, verilerin nereden geldiğini belirlemenin başka bir yoludur.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Örnek: CDN sunucusunun konumunu gösteren HTTP yanıt başlıkları.

Örneğin CloudFlare, HTTP Yanıt mesajlarında, isteğin yapıldığı veri merkezinin bir göstergesini içeren kendi CF-Ray başlığını kullanır. Zendesk durumunda, Seattle bölgesi için CF-Ray başlığı CF-RAY: 2a21675e65fd2a3d-SEA ve Amsterdam için CF-RAY: 2a216896b93a0c71-AMS'dir. İçeriğin nerede bulunduğunu belirlemek için HTTP yanıtındaki HTTP-X üstbilgilerini de kullanabilirsiniz.

Diğer adresleme yöntemleri

Kullanıcı isteklerini belirli bir ağ uç noktasına yönlendirmek için başka adresleme yöntemleri de vardır:

Tek noktaya yayın

Bugün internetin çoğu bu yöntemi kullanıyor. Tek noktaya yayın - tek noktaya yayın iletimi, IP adresi ağdaki yalnızca belirli bir düğümle ilişkilidir. Buna birebir eşleştirme denir. 

Multicast

Çok noktaya yayın, bire çok veya çoktan çoğa ilişkiyi kullanır. Çok noktaya yayın, gönderenden gelen bir isteğin aynı anda seçilen farklı uç noktalara gönderilmesine olanak tanır. Bu, istemciye aynı anda birden fazla ana bilgisayardan parçalar halinde bir dosyayı indirme yeteneği verir (bu, ses veya video akışı için kullanışlıdır). Çoklu yayın genellikle Anycast ile karıştırılır ancak temel fark, Anycast'in birden fazla düğüm mevcut olsa bile göndereni belirli bir düğüme yönlendirmesidir.

Yayın yapmak

Tek bir göndericiden gelen datagram, yayın adresiyle ilişkili tüm uç noktalara iletilir. Ağ, yayındaki (genellikle aynı alt ağdaki) tüm alıcılara ulaşabilmek için veri birimlerini otomatik olarak çoğaltır.

Geocast

Geocast, Multicast'e biraz benzer: gönderenden gelen istekler aynı anda birden fazla uç noktaya gönderilir. Ancak fark, muhatabın coğrafi konuma göre belirlenmesidir. Bu, mobil geçici ağlar için bazı yönlendirme protokolleri tarafından kullanılan özel bir çok noktaya yayın biçimidir.

Coğrafi bir yönlendirici, hizmet alanını hesaplar ve yaklaşık olarak tahmin eder. Georouters, hizmet alanlarını değiştiriyor, yönlendirme tabloları oluşturuyor. Georouter sistemi hiyerarşik bir yapıya sahiptir.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Tek noktaya yayın, çok noktaya yayın ve yayın.

Anycast teknolojisinin kullanılması DNS'nin güvenilirlik düzeyini, hata toleransını ve güvenliğini artırır. Operatörler bu teknolojiyi kullanarak müşterilerine DNS'ye dayalı çeşitli yük dengeleme hizmetleri sunar. Kontrol panelinde coğrafi konuma bağlı olarak isteklerin gönderileceği IP adreslerini belirleyebilirsiniz. Bu, müşterilere kullanıcı isteklerini daha esnek bir şekilde dağıtma fırsatı verecektir.

Bazı operatörler her varlık noktasında (POP) rota izleme yeteneklerini uygular: sistem, varlık noktaları için en kısa yerel ve küresel rotaları otomatik olarak analiz eder ve bunları sıfır kesinti süresiyle en düşük gecikme süreli coğrafi konumlara yönlendirir.

Şu anda Anycast, yüksek stabilite ve güvenilirlik gereksinimlerine sahip, yüksek yüklü DNS hizmetleri oluşturmak için en istikrarlı ve güvenilir çözümdür.

.ru alanı, beş Anycast bulutuna dağıtılmış, 35 düğüm halinde gruplandırılmış 20 Anycast DNS sunucusunu destekler. Bu durumda coğrafi özelliklere dayalı inşaat ilkesi kullanılır; Geocast. DNS düğümleri yerleştirilirken, en aktif kullanıcılara yakın coğrafi olarak dağınık konumlara taşınması, düğümün bulunduğu noktada Rus sağlayıcıların maksimum konsantrasyonunun yanı sıra boş kapasitenin bulunması ve kullanım kolaylığının sağlanması öngörülmektedir. siteyle etkileşim.

CDN nasıl oluşturulur?

CDN, içeriğin kullanıcılara teslimini hızlandıran bir sunucu ağıdır. İçerik Dağıtım Ağı tüm sunucuları tek bir ağda birleştirir ve içeriğin daha hızlı yüklenmesini sağlar. Sunucudan kullanıcıya olan mesafe yükleme hızında önemli rol oynar.

CDN, hedef kitleye en yakın sunucuları kullanmanızı sağlar. Bu, bekleme süresini azaltır ve tüm ziyaretçiler için site içeriğinin yüklenmesinin hızlandırılmasına yardımcı olur; bu, özellikle büyük dosyalara veya multimedya hizmetlerine sahip siteler için kritik öneme sahiptir. CDN'nin tipik uygulamaları e-ticaret ve eğlencedir.

CDN altyapısında oluşturulan ve kullanıcılara mümkün olduğunca yakın konumlandırılan ek sunuculardan oluşan ağ, daha stabil ve daha hızlı veri dağıtımına katkı sağlıyor. İstatistiklere göre CDN kullanmak, bir siteye erişimde gecikmeyi CDN olmayan sitelere kıyasla %70'ten fazla azaltır.

Gibi DNS kullanarak CDN oluştur? Anycast'in kendi çözümünü kullanarak bir CDN kurmak oldukça pahalı bir proje olabilir, ancak daha ucuz seçenekler de var. Örneğin, GeoDNS'yi ve benzersiz IP adreslerine sahip normal sunucuları kullanabilirsiniz. GeoDNS hizmetlerini kullanarak, kararların DNS çözümleyicinin konumu yerine ziyaretçinin gerçek konumuna göre verildiği coğrafi konum özelliklerine sahip bir CDN oluşturabilirsiniz. DNS bölgenizi ABD sunucusu IP adreslerini ABD'li ziyaretçilere gösterecek şekilde yapılandırabilirsiniz, ancak Avrupalı ​​ziyaretçiler Avrupa IP adresini görecektir.

GeoDNS ile kullanıcının IP adresine bağlı olarak farklı DNS yanıtları döndürebilirsiniz. Bunu yapmak için DNS sunucusu, istekteki kaynak IP adresine bağlı olarak farklı IP adresleri döndürecek şekilde yapılandırılmıştır. Tipik olarak, bir isteğin yapıldığı bölgeyi belirlemek için bir GeoIP veritabanı kullanılır. DNS kullanan coğrafi konum, yakındaki bir siteden kullanıcılara içerik göndermenize olanak tanır.

GeoDNS, DNS isteğini gönderen istemcinin IP adresini veya istemci isteğini işlerken kullanılan sağlayıcının özyinelemeli DNS sunucusunun IP adresini belirler. Ülke/bölge, müşterinin IP'si ve GeoIP veritabanı tarafından belirlenir. İstemci daha sonra en yakın CDN sunucusunun IP adresini alır. GeoDNS kurulumu hakkında daha fazla bilgi edinebilirsiniz burada.

Anycast veya GeoDNS?

Anycast, küresel ölçekte içerik sunmanın harika bir yolu olsa da belirlilikten yoksundur. GeoDNS'in kurtarmaya geldiği yer burasıdır. Bu hizmet, kullanıcıları konumlarına göre benzersiz uç noktalara gönderen kurallar oluşturmanıza olanak tanır.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir
Örnek: Avrupa'daki kullanıcılar farklı bir uç noktaya yönlendiriliyor.

Ayrıca tüm istekleri reddederek alan adlarına erişimi reddedebilirsiniz. Bu özellikle davetsiz misafirleri engellemenin hızlı bir yoludur.

GeoDNS, Anycast'e göre daha doğru yanıtlar verir. Anycast durumunda en kısa rota atlama sayısına göre belirlenirse, GeoDNS'de son kullanıcılar için yönlendirme fiziksel konumlarına bağlı olarak gerçekleşir. Bu, gecikmeyi azaltır ve ayrıntılı yönlendirme kuralları oluştururken doğruluğu artırır.

Bir etki alanına giderken tarayıcı, etki alanına bağlı olarak siteyi yüklemek için bir IP adresi veren en yakın DNS sunucusuyla bağlantı kurar. Bir çevrimiçi mağazanın ABD ve Avrupa'da popüler olduğunu, ancak bunun için DNS sunucularının yalnızca Avrupa'da mevcut olduğunu varsayalım. Daha sonra mağazanın hizmetlerini kullanmak isteyen ABD'li kullanıcılar en yakın sunucuya istek göndermek zorunda kalacak ve çok uzakta olduğu için yanıt için uzun süre beklemek zorunda kalacaklar - site hızlı yüklenmeyecek.

ABD'de bir GeoDNS sunucusu bulunduğunda kullanıcılar ona zaten erişecektir. Yanıt hızlı olacak ve bu da sitenin yüklenme hızını etkileyecektir.

Amerika Birleşik Devletleri'nde mevcut bir DNS sunucusunun olduğu bir durumda, Amerika Birleşik Devletleri'ndeki bir kullanıcı belirli bir etki alanına gittiğinde, gerekli IP'yi sağlayacak en yakın sunucuyla iletişime geçecektir. Kullanıcı site içeriğini barındıran sunucuya yönlendirilecektir ancak içeriğin bulunduğu sunucular uzakta olduğundan hızlı bir şekilde alamayacaktır.

ABD'de CDN sunucularını önbelleğe alınmış verilerle barındırıyorsanız, istemci tarayıcısı yüklendikten sonra en yakın DNS sunucusuna gerekli IP adresini geri gönderecek bir istek gönderecektir. Alınan IP'ye sahip tarayıcı en yakın CDN sunucusu ve ana sunucuyla iletişim kurar ve CDN sunucusu önbelleğe alınan içeriği tarayıcıya sunar. Önbelleğe alınan içerik yüklenirken sitenin tamamını yüklemek için eksik olan dosyalar ana sunucudan alınır. Sonuç olarak, ana sunucudan çok daha az dosya gönderildiğinden site yükleme süresi kısalır.

Belirli bir IP adresinin tam konumunu belirlemek her zaman kolay bir iş değildir: işin içinde birçok faktör vardır ve çeşitli IP adreslerinin sahipleri, dünyanın diğer tarafında bunun reklamını yapmaya karar verebilir (o zaman bunu yapmak zorunda kalacaksınız). doğru konumu almak için veritabanının güncellenmesini bekleyin). Bazen VPS sağlayıcıları ABD'de olduğu varsayılan adresleri Singapur'daki VPS'ye atar.

Anycast adreslerinin kullanılmasından farklı olarak dağıtım, önbellekleme sunucusuna bağlanmak yerine ad çözümlemesi sırasında yapılır. Özyinelemeli sunucu EDNS istemci alt ağlarını desteklemiyorsa, önbellekleme sunucusuna bağlanacak kullanıcı yerine söz konusu özyinelemeli sunucunun konumu kullanılır.

DNS'deki İstemci Alt Ağları, özyinelemeli DNS sunucularının istemci bilgilerini, özellikle de GeoDNS sunucusunun istemcinin konumunu daha doğru bir şekilde belirlemek için kullanabileceği ağ bilgilerini DNS sunucusuna nasıl gönderebileceğini tanımlayan bir DNS uzantısıdır (RFC7871).

Çoğu, ISP'lerinin DNS sunucularını veya coğrafi olarak kendilerine yakın olan DNS sunucularını kullanır, ancak ABD'deki bir kişi herhangi bir nedenle Avustralya'da bulunan bir DNS çözümleyici kullanmaya karar verirse, muhtemelen Avustralya'ya en yakın bir IP sunucu adresi elde edecektir.

GeoDNS kullanmak istiyorsanız bu özelliklerin farkında olmanız önemlidir çünkü bazı durumlarda önbelleğe alma sunucuları ile istemci arasındaki mesafeyi artırabilir.

Özet: Birkaç VPS'yi bir CDN'de birleştirmek istiyorsanız en iyi dağıtım seçeneği, GeoDNS + Anycast işleviyle birlikte kutudan çıkan bir DNS sunucusu paketi kullanmaktır.

Anycast vs Unicast: her durumda hangisinin seçilmesi daha iyidir

Kaynak: habr.com

Yorum ekle