DNS Nasıl Çalışır? Sorgu Yolculuğu
Bir adresi yazdığınız andan sayfanın açılmasına kadar geçen dört durak.
Adres çubuğuna bir alan adı yazıp Enter'a bastığınızda, sayfa açılmadan önce arka planda bir arama tamamlanır. Bu arama genellikle 100 milisaniyenin altında sürer ve dört ayrı sunucu türünü ilgilendirir. Aşağıda o yolculuğu adım adım izliyoruz.
Neden bir arama gerekiyor?
Bilgisayarlar birbirine adla değil, IP adresiyle bağlanır. "ipkontrol.net" yazdığınızda tarayıcınızın bilmesi gereken şey, o adın hangi sunucuya karşılık geldiğidir. Bu bilgi hiçbir yerde önceden durmaz — her seferinde ya önbellekten alınır ya da sorulur.
Durak 1: Cihazınızın kendi hafızası
İlk bakılan yer cihazınızdır. İşletim sistemi daha önce çözdüğü adları bir süre saklar. Tarayıcının da ayrı bir önbelleği vardır. Aranan ad buradaysa sorgu hiç ağa çıkmaz ve cevap mikrosaniyeler içinde döner.
Bundan önce bakılan bir yer daha var: hosts dosyası. Bu dosyaya elle yazılmış bir kayıt varsa DNS'e hiç gidilmez. Test amacıyla kullanılır; zararlı yazılımların da sevdiği bir yerdir.
Durak 2: Çözümleyici sunucu
Cevap cihazınızda yoksa sorgu çözümleyici (resolver) sunucuya gider. Bu genellikle operatörünüzün sunucusudur; siz değiştirdiyseniz seçtiğiniz sunucu olur.
Çözümleyicinin işi, cevabı sizin adınıza bulmaktır. Kendi önbelleğinde varsa hemen verir — ki çoğu popüler site için vardır, çünkü binlerce kullanıcıya hizmet ediyordur. Yoksa aramaya başlar.
Durak 3: Kök ve üst düzey sunucular
Çözümleyici, aradığı adı sağdan sola çözer. Önce kök sunuculara sorar: ".net" uzantısından kim sorumlu? Kök sunucular cevabı bilmez ama nereye sorulacağını bilir ve yönlendirir.
Sonra ".net" uzantısını yöneten üst düzey alan adı sunucularına sorulur: "ipkontrol.net" kimin? Bu sunucular da adresin kendisini bilmez; yalnızca o alan adının yetkili sunucularını söyler.
Bu katmanlı yapı, sistemin ölçeklenebilmesinin nedenidir. Hiçbir sunucu her şeyi bilmek zorunda değildir; herkes bir sonraki adımı gösterir.
Durak 4: Yetkili sunucu
Zincirin sonundaki yetkili sunucu, alan adının kayıtlarını asıl tutan yerdir. Sorulan kaydın gerçek değerini o verir. Çözümleyici cevabı alır, size iletir ve TTL süresi boyunca kendi önbelleğinde saklar.
Bir alan adının yetkili sunucularını ve tüm kayıtlarını DNS sorgulama aracıyla görebilirsiniz — NS kayıtları tam olarak bu sunucuları listeler.
Özyinelemeli ve yinelemeli sorgu
İki farklı sorgu davranışı vardır ve karıştırılır:
- Özyinelemeli: siz çözümleyiciye sorarsınız, o size nihai cevabı getirir. Aradaki tüm adımları sizin yerinize yapar. Cihazınızın yaptığı sorgu budur.
- Yinelemeli: çözümleyicinin kök ve üst düzey sunucularla yaptığı yazışma. Her sunucu cevabı değil, bir sonraki adresi verir.
Önbellek her katmanda var
Yukarıdaki dört duraklı yolculuk aslında nadiren tamamlanır. Pratikte sorgu çoğu zaman ilk iki durakta biter, çünkü önbellek her seviyede çalışır: tarayıcıda, işletim sisteminde, modeminizde ve çözümleyicide.
Bunun bedeli, değişikliklerin gecikmeli görünmesidir. Bir kaydı güncellediğinizde, önbelleğinde eski değeri tutan her sunucu TTL süresi dolana kadar eskisini vermeye devam eder. Konu hakkında ayrıntı için DNS yayılma süresi yazısına bakabilirsiniz.
Sorgu şifreli mi?
Geleneksel DNS sorguları şifresizdir ve 53 numaralı port üzerinden düz metin olarak gider. Yani HTTPS kullanan bir siteye girseniz bile, hangi alan adını sorduğunuz aradaki cihazlar tarafından görülebilir.
Bu boşluğu kapatmak için DNS over HTTPS ve DNS over TLS geliştirildi. İkisi de sorguyu şifreler; farkları hangi port ve protokol üzerinden çalıştıklarıdır.
Ne kadar sürüyor?
Önbellekten gelen cevap 1 milisaniyenin altındadır. Çözümleyicinin önbelleğinden gelen cevap tipik olarak 10-30 ms sürer. Tam zincirin işletilmesi gerektiğinde 100-300 ms'yi bulabilir.
Bu süre sayfanın açılmaya başlama süresini etkiler, indirme hızını değil. Yavaş bir DNS sunucusu, her yeni alan adında ek gecikme yaratır — bir sayfada onlarca farklı alan adından kaynak yükleniyorsa toplam etki hissedilir hale gelir.
Sıkça sorulan sorular
DNS sorgusu nasıl çalışır?
Önce cihazınızın önbelleğine, sonra çözümleyici sunucuya bakılır. Cevap yoksa kök ve üst düzey sunucular üzerinden alan adının yetkili sunucusuna ulaşılır.
Neden bazen sayfa geç açılıyor?
Alan adı önbellekte yoksa tam sorgu zinciri işletilir ve bu birkaç yüz milisaniye sürebilir. Yavaş bir DNS sunucusu bu süreyi uzatır.
DNS sorgularım şifreli mi?
Geleneksel DNS şifresizdir. DNS over HTTPS veya DNS over TLS kullanılırsa sorgular şifrelenir; modern tarayıcıların çoğu bunu destekler.
Kök sunucular ne yapar?
Aradığınız adresi bilmezler; yalnızca hangi uzantıdan kimin sorumlu olduğunu söyleyip yönlendirirler. Bu katmanlı yapı sistemin ölçeklenmesini sağlar.
Önbellek neden sorun çıkarıyor?
Bir DNS kaydını değiştirdiğinizde, eski değeri önbelleğinde tutan sunucular TTL süresi dolana kadar eskisini vermeye devam eder.