DNS Yayılımı Nedir?
DNS yayılımı, DNS kayıtlarında yapılan değişikliklerin internet genelindeki resolver'lar tarafından tanınması için geçen süredir. Ad sunucularını, A kayıtlarını veya MX kayıtlarını güncellediğinizde değişiklikler anında her yerde görünmez; hiyerarşik DNS sistemindeki önbellekler süresi dolup yenilendikçe yeni değerler gözlemlenir.
“Yayılımı” Anlamak
"Yayılım" ifadesi biraz yanıltıcıdır. DNS değişiklikleri aktif olarak her yere yayılmaz. Süreç, yetkili ad sunucusundaki kaydın güncellenmesi, önbellek kopyalarının TTL'ye göre sona ermesi ve yeni sorguların yetkili sunucudan güncel kaydı alması şeklinde işler. Bu nedenle "DNS önbelleğinin sona ermesi" daha isabetli bir açıklamadır; yine de propagation terimi yaygın olarak kullanılır.
DNS Değişiklikleri Nasıl Çalışır?
Güncelleme Süreci
Step 1: Update DNS records
example.com A record: 203.0.113.50 → 203.0.113.51
Step 2: Authoritative nameserver immediately serves new record
Step 3: Existing cached copies remain valid until TTL expires
Step 4: New queries after TTL expiration receive updated record
Step 5: All caches eventually expire and refresh
→ "Propagation complete"
Zaman Çizelgesi Örneği
Time: 10:00 - DNS updated (TTL: 300s / 5 minutes)
Resolver A (cached at 09:58):
09:58 - Cached old IP, expires 10:03
10:03 - Cache expires, queries again, gets new IP
Resolver B (cached at 10:01):
10:01 - Cached old IP, expires 10:06
10:06 - Cache expires, queries again, gets new IP
Resolver C (queries at 10:05):
10:05 - No cache, queries immediately, gets new IP
All resolvers have new IP by: 10:06
Propagation time: 6 minutes (worst case based on TTL)
Yayılma Süresini Etkileyen Etkenler
TTL (Yaşam Süresi)
En önemli faktör TTL'dir. TTL, bir resolver'ın kaydı ne kadar süreyle önbellekte tutabileceğini belirler. 60 saniyelik TTL hızlı geçişler için, 300 saniye üretim değişiklikleri için, 3600 saniye kararlı altyapı için, 86400 saniye ise seyrek değişen kayıtlar için kullanılabilir. TTL düşürülürse resolver yükü artar.
| TTL değeri | Yayılım süresi | Kullanım alanı |
|---|---|---|
| 60s | 1-2 dakika | Etkin geçişler, yük dengeleme |
| 300s (5 dakika) | 5-10 dakika | Üretim değişiklikleri, makul varsayılan |
| 3600s (1 saat) | 1-2 saat | Kararlı altyapı |
| 86400s (24 saat) | 24-48 saat | Seyrek değişen kayıtlar |
Ad Sunucusu Değişiklikleri
Ad sunucusu değişikliği, sıradan DNS kaydı değişikliğinden daha uzun sürer:
Registry Level: 24-48 hours (TLD nameserver cache)
Resolver Level: Based on NS record TTL
Total Time: Up to 48 hours worst case
ISP ve Çözümleyici Davranışı
Google (8.8.8.8), Cloudflare (1.1.1.1) ve OpenDNS gibi uyumlu resolver'lar TTL'ye büyük ölçüde uyar. Bazı ISP resolver'ları düşük TTL'leri yok sayabilir, kaydı daha uzun önbelleğe alabilir ve değişikliği saatlerce geciktirebilir.
Coğrafi Dağılım
Farklı bölgeler yerel resolver önbelleklerinin durumuna göre farklı zamanlarda güncellenebilir:
North America: 10:05 - Updated
Europe: 10:08 - Updated
Asia: 10:12 - Updated
İstemci Tarafı Önbellekleme
DNS sunucuları güncellense bile tarayıcı, işletim sistemi ve uygulama önbellekleri eski değeri tutabilir. Tarayıcı önbelleği çoğunlukla 60 saniye, işletim sistemi önbelleği dakikalar veya saatler boyunca sürebilir; uygulama davranışı değişir.
DNS Yayılımını Kontrol Etme
Çevrimiçi Yayılım Denetleyicileri
whatsmydns.net, dünyanın 20'den fazla noktasından DNS çözümlemesini gösterir. dnschecker.org ise A, AAAA, CNAME, MX ve TXT kayıtlarını küresel olarak kontrol eder. DomScan sağlık denetimi mevcut DNS yapılandırmasını gösterebilir:
curl "https://domscan.net/v1/health?domain=example.com"
# Shows current DNS configuration
Komut Satırı Kontrolleri
Birden fazla resolver'ı karşılaştırın:
# Google DNS
dig @8.8.8.8 example.com
# Cloudflare DNS
dig @1.1.1.1 example.com
# Your ISP (no @ server specified)
dig example.com
# Compare results
Yetkili ad sunucusunu doğrudan sorgulamak için önce NS kayıtlarını bulun, ardından doğrudan sorgu gönderin:
# Find nameservers
dig example.com NS
# Query authoritative NS directly
dig @ns1.example.com example.com
Bu doğrudan sorgu, önbelleğe bağlı olmayan yetkili gerçeği gösterir.
Birden Çok Konumdan Kontrol
DNS over HTTPS ile farklı ağlardan sorgu yapabilirsiniz:
# Using curl with DNS over HTTPS
curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=A'
Yayılım Süresini En Aza İndirme
Değişiklik Yapmadan Önce
Değişiklikten 24-48 saat önce TTL'yi düşürün ve eski TTL'nin tamamen dolmasını bekleyin:
Old: example.com. 3600 IN A 203.0.113.50
New: example.com. 300 IN A 203.0.113.50
^^^
Reduced to 5 minutes
Ardından DNS değişikliğini yapın:
example.com. 300 IN A 203.0.113.51
Başarıyı doğruladıktan sonra TTL'yi eski değerine yükseltebilirsiniz:
example.com. 3600 IN A 203.0.113.51
Değişiklik Sırasında
Anycast DNS, küresel ağlarda güncellemelerin daha hızlı görünmesine yardımcı olabilir. Değişikliği sürekli izleyin, önceki altyapıyı yayılım tamamlanana kadar çalışır tutun ve geri dönüş planını hazır bulundurun.
Yaygın Yayılım Senaryoları
A Kaydını Değiştirme
Genellikle beklenen süre TTL'ye bağlı olarak 5-30 dakikadır:
# Before
example.com → 203.0.113.50
# After
example.com → 203.0.113.51
# Propagation: 1x TTL duration
MX Kaydını Değiştirme
MX değişikliği de çoğunlukla 5-30 dakika sürer. Yayılım boyunca e-postalar eski sunucuya gidebileceğinden eski posta sunucusunu 24-48 saat çalışır tutun.
Ad Sunucularını Değiştirme
Ad sunucusu değişiklikleri 24-48 saat sürebilir. TLD registry önbellekleri ve registry TTL'si üzerinde doğrudan kontrolünüz yoktur:
Why so long?
- TLD registry caches NS records
- Registry TTL often 24-48 hours
- No control over registry cache
Yeni ad sunucularında tüm kayıtları, delegasyonu değiştirmeden önce yapılandırın.
Yeni Alt Alan Adı Ekleme
Yeni bir alt alan adı anında veya bir saat içinde görülebilir; ancak negatif önbellekleme bunu geciktirebilir:
If subdomain was queried and didn't exist:
→ NXDOMAIN cached (SOA minimum TTL)
→ New subdomain won't resolve until cache expires
SOA minimum TTL'sini önceden düşürmek bu gecikmeyi azaltabilir.
Yayılım Sorunlarını Giderme
Değişiklik Yayılmıyor
Önce yetkili sunucunun yeni değeri verdiğini kontrol edin:
dig @ns1.example.com example.com
# Should show new value
Ardından TTL'yi inceleyin:
dig example.com | grep -i ttl
Negatif önbellek için SOA minimum TTL alanını kontrol edin:
dig example.com SOA
# Look at minimum TTL field
Son olarak tarayıcı, işletim sistemi ve uygulama önbelleklerini temizleyin.
Kısmi Yayılım
Bazı kullanıcıların yeni, bazılarının eski kaydı görmesi normaldir; resolver'lar kaydı farklı zamanlarda önbelleğe almıştır. Maksimum TTL süresini bekleyin ve istemci önbelleklerini temizleyin.
Yayılım Takıldı
Günler sonra bazı resolver'lar eski değeri veriyorsa yetkili sunucuyu doğrulayın, kalıcı sorun varsa ISP ile iletişime geçin ve kullanıcıların 8.8.8.8 veya 1.1.1.1 gibi genel DNS'e geçmesini değerlendirin.
DNS Yayılımı ve Önbellek TTL’si Karşılaştırması
| Kavram | Açıklama | Süre |
|---|---|---|
| TTL | Bir kaydın önbellekte tutulabileceği süre | Alan adı sahibi belirler |
| Yayılım | Tüm önbelleklerin sona ermesi için geçen süre | Yaklaşık 2x TTL |
| Ad sunucusu TTL'si | NS kayıtlarının önbellekte tutulma süresi | Registry'de çoğu kez 24-48 saat |
| Negatif önbellek | NXDOMAIN'ın saklanma süresi | SOA minimum TTL |
En İyi Uygulamalar
1. DNS değişikliğinden 24-48 saat önce TTL'yi düşürün.
2. Performans ve esneklik arasında uygun TTL dengesi kurun.
3. Farklı coğrafyalardan ve resolver'lardan küresel kontrol yapın.
4. Yayılım bitene kadar eski hizmetleri çalışır tutun.
5. Değişiklikleri ve zamanlarını belgeleyin.
6. Yeni kayıtları geçişten önce kapsamlı biçimde test edin.
7. Kullanıcıları olası kısa kesintiler konusunda bilgilendirin.
8. Anycast altyapılı yönetilen DNS hizmetlerini değerlendirin.
9. DNS değişiklikleri ve yayılım durumu için otomatik uyarılar kurun.
10. Sorun çıkarsa geri dönmek için uygulanabilir bir plan hazırlayın.
Yayılım Kontrol Listesi
☐ Lower TTL 24-48 hours before change
☐ Wait for old TTL to expire
☐ Make DNS change
☐ Verify on authoritative nameservers
☐ Check multiple public resolvers
☐ Test from multiple geographic locations
☐ Monitor for 2x TTL duration
☐ Verify no errors reported
☐ Restore higher TTL if desired
☐ Document change completion
DNS yayılımı, DNS önbelleklemesinin doğal sonucudur. TTL davranışını anlamak ve değişiklikleri buna göre planlamak, düşük kesintiyle öngörülebilir geçişler sağlar.
DNS yayılımı için kaynak, zaman damgası ve belirsiz sonuçlar ayrı izlenmelidir.