Anycast DNS Ağ Yapısını Anlamak
Geniş kapsamlı rehber: Anycast DNS Ağ Yapısını Anlamak. Detaylı ipuçları, kurulumlar ve dikkat edilmesi gereken noktalar.
Neredeyse herhangi bir büyük web sitesinin ad sunucularına baktığınızda, her biri bir ya da iki IP adresine çözümlenen birkaç ana makine adı görürsünüz. Her adresin tek bir veri merkezindeki tek bir makine olduğunu varsaymak kolaydır. Oysa çoğu durumda bu doğru değildir. O tek adresin arkasında genellikle kıtalara yayılmış onlarca sunucu bulunur ve hepsi aynı IP adına yanıt verir. Bu tekniğin adı anycast’tir ve modern DNS’in hem hızlı hem de son derece dayanıklı olmasının başlıca nedenlerinden biridir.
Bu rehberde bir anycast DNS ağının nasıl çalıştığını, BGP’nin bu işteki rolünü, küresel erişilebilirliğe ve DDoS korumasına nasıl katkı sağladığını ve sınırlarının nerede başladığını anlatıyoruz. “Küresel kesintisizlik için DNS anycast yönlendirmesi” başlığı altında aranan konuları da ele alıyoruz, çünkü aynı sistemi tarif ediyorlar.
Alan Adınızı ve Web Sitenizi Anında İnceleyin
TLDix'in WHOIS Domain, Hosting Tespiti ve Domain Oracle (AI) servisleri ile herhangi bir web sitesinin arka plan altyapısını saniyeler içinde analiz edin.
Unicast ve Anycast: Temel Fikir
Sıradan unicast ağlarda bir IP adresi tek bir hedefi tanımlar. Dünyanın her yerinden gelen her sorgu, ne kadar uzakta olursa olsun aynı sunucuya gider.
Anycast’te ise aynı IP öneki internete aynı anda birçok konumdan duyurulur. Bu konumlara erişim noktası (point of presence, PoP) denir. Yönlendiriciler birden fazla sitenin aynı adresi paylaştığını bilmez ve umursamaz; paketleri bildikleri en iyi yol boyunca iletirler ve bu yol sitelerden birine çıkar. İstanbul’daki bir kullanıcı ile São Paulo’daki bir kullanıcı aynı IP adresine sorgu gönderip tamamen farklı sunuculardan yanıt alabilir.
| Özellik | Unicast DNS | Anycast DNS |
|---|---|---|
| IP adresi ile konum ilişkisi | Bir adres, bir site | Bir adres, birçok site |
| Uzaktaki kullanıcılar için gecikme | Mesafeyle artar | Genellikle daha düşük, yakın bir PoP’tan sunulur |
| Bir sitenin arızalanması | O adrese erişilemez | Trafik diğer PoP’lara kayar |
| DDoS trafiği | Tek bir sitede yoğunlaşır | Birçok siteye bölünür |
| İşletme karmaşıklığı | Düşük | Daha yüksek: BGP, birden fazla site ve tutarlı veri gerektirir |
BGP, Anycast’i Nasıl Mümkün Kılar?
İnternet, otonom sistem adı verilen ve erişilebilirlik bilgisini Border Gateway Protocol (BGP) ile paylaşan bağımsız ağlardan oluşur. Her ağ trafik teslim edebildiği IP öneklerini duyurur, komşu ağlar da bu duyuruları aktarır.
Anycast DNS işletmecisi aynı öneki her PoP’tan duyurur. İnternetteki her yönlendirici bu öneke giden birkaç olası yol alır ve BGP’nin karar sürecine göre birini seçer. Bu süreç yerel yönlendirme politikası, otonom sistem yolunun uzunluğu ve ağlar arasındaki ticari ilişkiler gibi etkenleri hesaba katar. Sonuçta her sorgu, gönderene topolojik olarak yakın bir PoP’a ulaşma eğilimindedir.
“En yakın” neden her zaman en yakın değildir?
BGP en iyi yolu fiziksel mesafeye ya da ölçülen gecikmeye göre değil, politika ve AS yolu kurallarına göre seçer. Bir sorgu, ISS’in diğer ağlarla nasıl eşleştiğine (peering) bağlı olarak zaman zaman başka bir ülkedeki PoP’a gidebilir. İyi anycast sağlayıcıları geniş eşleşme anlaşmaları yaparak, PoP’ları büyük internet değişim noktalarına yerleştirerek ve duyurularını ince ayarlayarak bunu hafifletir; ancak bir miktar kusurlu yönlendirme anycast’in olağan bir parçasıdır.
DNS’e neden bu kadar uygundur?
Klasik DNS sorguları çoğunlukla tek bir yanıtı olan kısa, tek UDP paketleridir. Yönlendirme konuşmanın ortasında değişse bile kaybedilecek durum (state) neredeyse yoktur. Bu da DNS’i anycast için doğal bir aday yapar. Rotalar genellikle kararlı olduğundan daha uzun TCP oturumları da anycast üzerinde çalışabilir; CDN’lerin aynı fikri web trafiği için kullanmasının nedeni budur.
Anycast ve Küresel Erişilebilirlik
Bir alan adının erişilebilir kalmasına bağımlı olan herkes için anycast’in asıl önemi dayanıklılıktır.
Yönlendirme düzeyinde yük devretme
Her PoP genellikle kendi DNS hizmeti üzerinde sağlık kontrolleri çalıştırır. Bir sunucu arızalanırsa ya da bütün bir site bağlantısını kaybederse o PoP öneki duyurmayı bırakır. BGP bu geri çekmeyi yayar ve yönlendiriciler trafiği bir sonraki en iyi PoP’a göndermeye başlar. Hiçbir DNS kaydının değişmesi ya da hiçbir TTL’nin dolması gerekmez; kayma yönlendirme katmanında, rotaların yakınsamasına bağlı olarak genellikle saniyeler ile dakikalar içinde gerçekleşir.
Katmanlı yedeklilik
Anycast çoğu zaman başka yedeklilik biçimleriyle birlikte kullanılır:
- PoP başına birden fazla sunucu, yerel yük dengeleme arkasında; böylece tek bir makinenin arızası fark edilmez.
- NS kayıtlarınızda birden fazla ad sunucusu adresi, çoğunlukla ayrı anycast ağlarında ya da öneklerde; böylece bir önekteki yönlendirme sorunu her şeyi çökertmez.
- Yüksek değerli alan adları için aynı bölgeyi sunan birden fazla sağlayıcı; böylece sağlayıcı çapında bir kesintide bile çözümleme çalışmaya devam eder.
Temel DNS altyapısının büyük bölümü anycast’e dayanır. Örneğin kök sunucu sistemi, her biri dünya genelinde birçok anycast örneğinden sunulan az sayıda adlandırılmış kök sunucu kimliği olarak işletilir.
DDoS Saldırılarını Emme
DNS sunucuları dağıtık hizmet engelleme (DDoS) saldırılarının sık hedefidir, çünkü bir alan adının ad sunucularını çökertmek o alan adındaki her şeyi erişilemez hâle getirir. Anycast iki şekilde yardımcı olur.
- Seyreltme. Bir botnetten gelen saldırı trafiği pek çok yerden çıkar. Anycast ile her kaynak yakınındaki PoP’a yönlendirilir; böylece sel tek bir siteye tüm gücüyle çarpmak yerine ağa bölünür.
- Sınırlama. Bir PoP aşırı yüklenirse hasar genellikle bölgesel kalır. Diğer PoP’lara yönlendirilen kullanıcılar yanıt almaya devam eder ve işletmeci trafiği kaydırmak için duyuruları geri çekebilir ya da yeniden şekillendirebilir.
Anycast tek başına eksiksiz bir savunma değildir. Sağlayıcıların yine de kapasiteye, hız sınırlamaya, filtrelemeye ve üst akış (upstream) korumasına ihtiyacı vardır. Ama sorunu tek bir noktayı savunmaktan, alt edilmesi çok daha zor olan dağıtık bir sistemi savunmaya dönüştürür.
Web Siteniz İçin Performans Faydaları
Bir ziyaretçinin çözümleyicisinde alan adınız için önbelleğe alınmış bir yanıt yoksa yetkili ad sunucularınıza sorması gerekir. Anycast ad sunucularıyla bu sorgu genellikle yakın bir PoP tarafından yanıtlanır; böylece uluslararası bir kitle için önbellekte olmayan sorgular daha hızlı tamamlanır. Bu da İlk Bayta Kadar Geçen Süre’nin DNS payını kısaltır.
Ölçeği doğru değerlendirin: DNS genellikle toplam yükleme süresinin küçük bir parçasıdır ve yoğun biçimde önbelleğe alınır; bu yüzden anycast özellikle ilk ziyaretlere ve az ziyaret edilen sayfalara yardımcı olur. SEO için DNS çözümleme hızını optimize etme rehberimiz, etkiyi dig ve tarayıcı geliştirici araçlarıyla nasıl ölçeceğinizi anlatıyor.
DNS’inizin Anycast Kullanıp Kullanmadığını Anlamak
Dışarıdan bakıldığında bir anycast sunucusu diğer IP adreslerinden farksız görünür, ancak bazı ipuçları vardır.
# Which nameservers does the domain use?
dig example.com NS +short
# Some operators reveal the answering instance
dig @ns1.example-dns.net id.server CH TXT
dig @ns1.example-dns.net example.com SOA +nsid
# Compare the network path from different locations
traceroute ns1.example-dns.net
- Aynı IP farklı örnek tanımlayıcıları döndürüyorsa ya da farklı ülkelerden çok farklı yollar gösteriyorsa neredeyse kesinlikle anycast’tir.
- Birçok DNS sağlayıcısı belgelerinde anycast kullanıp kullanmadığını ve PoP’larının kabaca nerede olduğunu belirtir.
- Birbirinden uzak birkaç bölgeden aynı adrese düşük sorgu süreleri ölçmek de güçlü bir işarettir.
Bir alan adının hangi ad sunucularını ve barındırma sağlayıcısını kullandığını öğrenmek için önce TLDix WHOIS ve hosting aracıyla bir sorgulama yapabilirsiniz.
Sınırlamalar ve Yaygın Yanılgılar
- Anycast iyi yapılandırmanın yerini tutmaz. Hatalı bir kayıt her PoP’tan aynı anda hatalı olarak sunulur.
- En kısa yolu garanti etmez. Yönlendirme BGP politikasını izler; bu yüzden bazı kullanıcılar uzak bir PoP’a ulaşabilir.
- Veri tutarlılığı önemlidir. Tüm PoP’ların bölge güncellemelerini hızla alması gerekir; sağlayıcılar senkronizasyon için çoğaltma kullanır ve değişikliklerden sonra kısa bir gecikme olabilir.
- Yenilemelerin yerini tutmaz. Alan adı kaydının süresi dolarsa ne kadar anycast olursa olsun çözümleme devam etmez.
- Hata ayıklama zorlaşabilir. Aynı IP’yi test eden iki kişi farklı sunuculara ulaşabilir; bu nedenle raporlarda konum ve örnek kimliği belirtilmelidir.
Pratik Örnek: Anycast Sorunlarını Raporlamak
Diyelim ki Almanya’daki kullanıcılarınız sitenizin zaman zaman açılmadığını bildiriyor, ama Türkiye’den yaptığınız testlerde her şey yolunda görünüyor. Anycast ağlarda bu tür bölgesel sorunlar şaşırtıcı değildir; muhtemelen o kullanıcılar sizden farklı bir PoP’a yönlendiriliyordur. İlk adım, sorunu yaşayan bir kullanıcıdan ya da o bölgedeki bir test sunucusundan +nsid veya id.server sorgusu çalıştırmasını istemektir. Böylece yanıtı hangi örneğin verdiğini öğrenirsiniz.
İkinci adım, aynı bölgeden traceroute çıktısı almaktır. Paketlerin beklenmedik biçimde başka bir kıtaya gittiğini görürseniz sorun yönlendirme kaynaklıdır; bu bilgiyi sağlayıcınıza ilettiğinizde duyurularını düzeltebilirler. Yanıtlar yakın bir PoP’tan geliyor ama eski veri içeriyorsa sorun çoğaltma gecikmesidir. Sağlayıcıya destek talebi açarken zaman damgasını, kaynak IP’yi, sorgulanan adı ve örnek kimliğini eklemek çözüm süresini belirgin biçimde kısaltır. Bu bilgileri toplamayı alışkanlık hâline getirmek, anycast’in hata ayıklama zorluğunu büyük ölçüde ortadan kaldırır.
Anycast DNS Sağlayıcısı Seçimi
Saygın yönetilen DNS sağlayıcılarının çoğu ve birçok kayıt firması zaten anycast ağları işletiyor. Karşılaştırma yaparken şunları değerlendirin:
- PoP’ların coğrafi dağılımı ile ziyaretçilerinizin bulunduğu bölgelerin uyumu.
- Yayımlanmış çalışma süresi geçmişi ve olayların nasıl duyurulduğu.
- DNSSEC, apex takma adı, API ve çok sağlayıcılı yapılar için ikincil DNS desteği.
- Ad sunucularının ayrı ağlara ya da öneklere dağıtılıp dağıtılmadığı.
Makul TTL’ler, izlenen yenileme tarihleri ve birden fazla yedeklilik katmanıyla birleştiğinde anycast DNS ağı, internetin bazı bölümleri kötü bir gün geçirirken bile alan adınıza hızlı ve erişilebilir kalan bir temel sağlar.