DNS nedir? | DNS nasıl çalışır?

DNS, kullanıcıların IP adresleri yerine alan adlarını kullanarak web sitelerine bağlanmasını sağlar. DNS'in nasıl çalıştığını öğrenin.

Öğrenim Hedefleri

Bu makaleyi okuduktan sonra şunları yapabileceksiniz:

  • DNS'i tanımlama
  • DNS'in nasıl çalıştığını anlama
  • Özyinelemeli ve yinelemeli DNS aramaları arasındaki farkları anlama
  • Yetkili ad sunucularını özyinelemeli DNS çözümleyicilerinden ayırma
  • DNS önbelleğe alma işleminin işleyiş şeklini öğrenme

İlgili İçerik


Öğrenmeye devam etmek mi istiyorsunuz?

Cloudflare'den güvenlik eğitimi ile ilgili makaleler almak için kaydolun.

form.privacy.newsletterform

Makale bağlantısını kopyala

DNS nedir?

Alan Adı Sistemi (Domain Name System - DNS) internetin telefon rehberidir. Kişiler, internetteki bilgilere nytimes.com veya espn.com gibi alan adları aracılığıyla erişir. Web tarayıcıları, İnternet Protokolü (IP) adresleri aracılığıyla etkileşime girer. DNS, tarayıcıların internet kaynaklarını yükleyebilmesi için alan adlarını IP adreslerine çevirir.

İnternete bağlı her cihaz, diğer makinelerin cihazı bulmak için kullandığı benzersiz bir IP adresine sahiptir. DNS sunucuları, kullanıcıların 192.168.1.1 (IPv4'te) gibi IP adreslerini ya da 2400:cb00:2048:1::c629:d7a2 (IPv6'da) gibi daha karmaşık yeni alfasayısal IP adreslerini ezberleme ihtiyacını ortadan kaldırır.

DNS - büyüteç IP adreslerini inceler ve www.example.com'u bulur

DNS nasıl çalışır?

DNS çözümleme işlemi, bir ana bilgisayar adının (www.example.com gibi), bilgisayarın anlayacağı bir IP adresine (192.168.1.1 gibi) dönüştürülmesi sürecidir. İnternet üzerindeki her cihaza bir IP adresi verilir ve bu adres, belirli bir evi bulmak için sokak adresinin kullanılması gibi uygun internet cihazını bulmak için gereklidir. Kullanıcı bir web sayfasını yüklemek istediğinde, web tarayıcısına yazdığı adres (example.com) ile example.com web sayfasını bulmak için gereken makine dostu adres arasında bir çeviri gerçekleştirilmesi gerekir.

DNS çözümlemesinin altında yatan süreci anlamak için bir DNS sorgusunun geçmesi gereken farklı donanım bileşenleri hakkında bilgi edinmek önemlidir. Web tarayıcısı için, DNS araması "perde arkasında" gerçekleşir ve ilk istek dışında kullanıcının bilgisayarından etkileşim gerektirmez.

Web sayfası yükleme sürecinde 4 DNS sunucusu vardır:

  • DNS özyineleyicisi - Özyineleyici, kütüphanenin herhangi bir yerinde belirli bir kitabı bulması istenen bir kütüphaneci olarak düşünülebilir. DNS özyineleyicisi, web tarayıcıları gibi uygulamalar aracılığıyla istemci makinelerden sorguları almak için tasarlanmış bir sunucudur. Özyineleyici genellikle istemcinin DNS sorgusunu karşılamak için ek isteklerde bulunmaktan sorumludur.
  • Kök ad sunucusu - Kök sunucu, kullanıcılar tarafından okunabilen ana bilgisayar adlarını IP adreslerine çevirmenin (çözümlemenin) ilk adımıdır. Kütüphanede farklı kitap raflarına işaret eden bir dizin gibi düşünülebilir; genellikle diğer daha spesifik konumlara referans verme görevini görür.
  • TLD ad sunucusu - Üst düzey alan adı sunucusu (TLD), kütüphanede belirli bir kitap rafı olarak düşünülebilir. Bu ad sunucusu, belirli bir IP adresini aramanın bir sonraki adımıdır ve bir ana bilgisayar adının son bölümünü barındırır (example.com adresindeki TLD sunucusu "com" dur).
  • Yetkili ad sunucusu - Bu son ad sunucusu, kitap rafında, belirli bir adın tanımına çevrildiği bir sözlük olarak düşünülebilir. Yetkili ad sunucusu, ad sunucusu sorgusunun son durağıdır. Yetkili ad sunucusunun istekte bulunulan kayda erişimi varsa, istekte bulunulan ana bilgisayar adının IP adresini ilk isteği yapan DNS Özyineleyicisine (kütüphaneci) geri döndürür.

Yetkili DNS sunucusu ile özyinelemeli DNS çözümleyici arasındaki fark nedir?

Her iki kavram da DNS altyapısına entegre olan sunuculara (sunucu grupları) atıfta bulunur, ancak her biri farklı bir rol oynar ve bir DNS sorgusunun iletişim hattı içinde farklı konumlarda yer alır. Arasındaki farklardan biri, özyinelemeli çözümleyicinin, DNS sorgusunun başında, yetkili ad sunucusunun ise sorgunun sonunda olmasıdır.

Özyinelemeli DNS çözümleyici

Özyinelemeli çözümleyici, istemciden gelen özyinelemeli bir isteğe yanıt veren ve DNS kaydının izini aramaya zaman ayıran bilgisayardır. Bu işlemi, istekte bulunulan kayıt için yetkili DNS ad sunucusuna ulaşana kadar bir dizi istekte bulunarak gerçekleştirir (ya da zaman aşımına uğrar veya kayıt bulunamazsa bir hata mesajı verir). Neyse ki, özyinelemeli DNS çözümleyicilerin bir istemciye yanıt vermek amacıyla ihtiyaç duyulan kayıtların izini sürmesi için her zaman birden çok istekte bulunması gerekmez; önbelleğe alma, istekte bulunulan kaynak kaydını DNS aramasında daha önce sunarak gerekli istekleri kolaylaştırmaya yardımcı olan bir veri kalıcılığı sürecidir.

DNS Kaydı İstek Sırası - DNS Özyinelemeli Çözümleyici, istemciden istek alır

Yetkili DNS sunucusu

Basitçe söylemek gerekirse, yetkili DNS sunucusu, DNS kaynak kayıtlarını gerçekten muhafaza eden ve bunlardan sorumlu olan bir sunucudur. Bu, DNS arama zincirinin altındaki sunucudur ve sorgu gönderilen kaynak kaydıyla yanıt verir; sonuç olarak, web tarayıcısının bir web sitesine veya diğer web kaynaklarına erişmek için gereken IP adresine ulaşması için istekte bulunmasına olanak tanır. Yetkili bir ad sunucusu, belirli DNS kayıtları için son doğruluk kaynağı olduğundan, başka bir kaynağa sorgu göndermeye gerek kalmadan kendi verilerinden gelen sorguları karşılayabilir.

DNS Kaydı İstek Sırası - DNS sorgusu, cloudflare.com için yetkili isim sunucusuna ulaşır

Sorgunun foo.example.com veya blog.cloudflare.com gibi bir alt alan adına yönelik olduğu durumlarda, alt alan adının CNAME kaydını depolamaktan sorumlu yetkili ad sunucusundan sonraki sıraya ek bir ad sunucusu ekleneceğini belirtmekte fayda vardır.

DNS Kaydı İstek Sırası - blog.cloudflare.com alt alan adı için CNAME kaydına yönelik DNS sorgusu

Birçok DNS hizmeti ile Cloudflare'ın sağladığı hizmet arasında önemli bir fark vardır. Google DNS, OpenDNS gibi farklı DNS özyinelemeli çözümleyiciler ve Comcast gibi sağlayıcıların tümü, DNS özyinelemeli çözümleyicilerden oluşan veri merkezi kurulumlarına sahiptir. Bu çözümleyiciler, DNS ile optimize edilmiş bilgisayar sistemlerinin optimize edilmiş kümeleri aracılığıyla hızlı ve kolay sorgulara olanak tanır, ancak bunlar Cloudflare tarafından barındırılan ad sunucularından temel olarak farklıdır.

Cloudflare, internetin işleyişinin ayrılmaz bir parçası olan altyapı düzeyinde ad sunucularına sahiptir. Önemli bir örnek, Cloudflare'ın barındırmadan kısmen sorumlu olduğu f-root sunucu ağıdır. F-root, günlük milyarlarca internet isteğinden sorumlu kök düzeyindeki DNS ad sunucusu altyapı bileşenlerinden biridir. Anycast ağımız, büyük hacimli DNS trafiğini hizmet kesintisi olmadan işlemede bizi eşsiz bir konuma taşımaktadır.

DNS aramasındaki adımlar nelerdir?

Çoğu durumda DNS, bir alan adının uygun IP adresine çevrilmesiyle ilgilenir. Bu sürecin işleyiş şeklini öğrenmek için DNS aramasının, DNS arama süreci üzerinden web tarayıcısından çıkıp geri dönerken izlediği yolu takip etmek yararlı olacaktır. Adımlara bir göz atalım.

Not: DNS arama bilgileri genellikle, sorgu gönderen bilgisayarın içinde yerel olarak veya DNS altyapısında uzaktan önbelleğe alınır. Bir DNS aramasında genellikle 8 adım vardır. DNS bilgileri önbelleğe alındığında, DNS arama sürecindeki bazı adımlar atlanır, bu da süreci hızlandırır. Aşağıdaki örnek, hiçbir şey önbelleğe alınmadığında, 8 adımın hepsini ana hatlarıyla belirtmektedir.

DNS aramasındaki 8 adım:

  1. Kullanıcı, web tarayıcısına "example.com" yazar, sorgu internete gider ve bir DNS özyinelemeli çözümleyici tarafından alınır.
  2. Çözümleyici daha sonra bir DNS kök ad sunucusuna (.) sorgu gönderir.
  3. Ardından, kök sunucu çözümleyiciye, alan adları için bilgileri depolayan bir Üst Düzey Alan Adı (TLD) DNS sunucusunun adresiyle (.com veya veya .net gibi) yanıt verir. example.com'u ararken isteğimiz, .com TLD'ye yönlendirilir.
  4. Çözümleyici daha sonra .com TLD'ye bir istekte bulunur.
  5. TLD sunucusu daha sonra alan adının ad sunucusunun IP adresi olan example.com ile yanıt verir.
  6. Son olarak, özyinelemeli çözümleyici, alan adının ad sunucusuna bir sorgu gönderir.
  7. example.com için IP adresi daha sonra ad sunucusundan çözümleyiciye döndürülür.
  8. Ardından DNS çözümleyici, web tarayıcısına başlangıçta istekte bulunulan alan adının IP adresiyle yanıt verir.

  9. DNS aramasının 8 adımı, example.com için IP adresini döndürdüğünde, tarayıcı web sayfası için istekte bulunabilir:

  10. Tarayıcı, IP adresine bir HTTP isteğinde bulunur.
  11. Bu IP'deki sunucu, tarayıcıda oluşturulacak web sayfasını döndürür (adım 10).
Eksiksiz DNS Araması ve Web Sayfası Sorgusu - 10 adım

DNS çözümleyici nedir?

DNS çözümleyici, DNS aramasındaki ilk duraktır ve ilk isteği gönderen istemciyle ilgilenmekten sorumludur. Çözümleyici, sonuç olarak bir URL'nin gerekli IP adresine çevrilmesine yol açan sorgu dizisini başlatır.

Not: Tipik bir önbelleğe alınmamış DNS araması, hem özyinelemeli hem de yinelemeli sorguları içerir.

Özyinelemeli DNS sorgusu ile özyinelemeli DNS çözümleyici arasında ayrım yapmak önemlidir. Sorgu, sorgunun çözümlenmesini gerektiren bir DNS çözümleyiciye yapılan isteği ifade eder. DNS özyinelemeli çözümleyici, özyinelemeli bir sorguyu kabul eden ve gerekli istekleri yaparak yanıtı işleyen bilgisayardır.

DNS özyinelemeli sorgu, DNS istemcisinden DNS özyinelemeli çözümleyiciye gider

DNS Sorgu türleri nelerdir?

Tipik bir DNS aramasında üç tür sorgu gerçekleşir. DNS çözümlemesi için optimize edilmiş bir süreç, bu sorguların bir kombinasyonunu kullanarak kat edilen mesafenin azalmasıyla sonuçlanabilir. İdeal bir durumda, önbelleğe alınmış kayıt verileri mevcut olacak ve bir DNS ad sunucusunun özyinelemeli olmayan bir sorgu döndürmesine olanak tanıyacaktır.

DNS sorgusunun 3 türü:

  1. Özyinelemeli sorgu - Özyinelemeli sorguda DNS istemcisi, DNS sunucusunun (genellikle DNS özyinelemeli çözümleyici) istemciye ya istenen kaynak kaydıyla ya da çözümleyici kaydı bulamazsa bir hata mesajıyla yanıt vermesini gerektirir.
  2. Yinelemeli sorgu - Bu durumda DNS istemcisi, DNS sunucusunun verebileceği en iyi yanıtı vermesine olanak tanır. Sorgu gönderilen DNS sunucusunun sorgu adıyla eşleşmesi yoksa, etki alanı ad alanının daha düşük bir düzeyi için yetkili bir DNS sunucusuna başvuru döndürür. DNS istemcisi daha sonra başvuru adresine bir sorgu yapar. Bu süreç, bir hata veya zaman aşımı meydana gelene kadar sorgu zincirindeki ek DNS sunucularıyla devam eder.
  3. Özyinelemesiz sorgu - Genellikle bu, bir DNS çözümleyici istemcisinin, DNS sunucusunu, erişebildiği bir kayıt için sorguladığında gerçekleşir (bu erişime sahip olmasının nedeni kayıt için yetkili olması veya kaydın, sunucu önbelleğinin içinde bulunmasıdır). DNS sunucusu genellikle ek bant genişliği tüketimini önlemek ve yukarı akış sunucularına yüklenmek için DNS kayıtlarını önbelleğe alır.

DNS önbelleğe alma nedir? DNS önbelleğe alma nerede gerçekleşir?

Önbelleğe almanın amacı, veri istekleri için performans ve güvenilirlikte iyileştirmelerle sonuçlanan verileri bir konumda geçici olarak depolamaktır. DNS önbelleğe alma, DNS sorgusunun daha erken çözümlenmesi ve DNS arama zincirinin daha aşağısındaki ek sorguların önlenebilmesi ve böylece yükleme sürelerinin iyileştirilmesi ve bant genişliği/CPU tüketiminin azaltılması için istekte bulunan istemciye daha yakın veri depolamayı içerir. DNS verileri, her biri bir yaşam süresi (TTL) tarafından belirlenen belirli bir süre boyunca DNS kayıtlarını depolayacak olan çeşitli konumlarda önbelleğe alınabilir.

Tarayıcı DNS önbelleğe alma

Modern web tarayıcıları, DNS kayıtlarını varsayılan olarak belirli bir süre önbelleğe alacak şekilde tasarlanmıştır. Buradaki amaç açıktır; DNS önbelleğe alma işlemi web tarayıcısına ne kadar yakın gerçekleşirse, önbelleği kontrol etmek ve bir IP adresine doğru isteklerde bulunmak için o kadar az işlem adımı gerekecektir. DNS kaydı için bir istekte bulunulduğunda, tarayıcı önbelleği, istekte bulunulan kayıt için kontrol edilen ilk konumdur.

Chrome'da, chrome://net-internals/#dns adresine giderek DNS önbelleğinizin durumunu görebilirsiniz.

İşletim sistemi (OS) düzeyinde DNS önbelleğe alma

İşletim sistemi düzeyindeki DNS çözümleyici, bir DNS sorgusu makinenizden ayrılmadan önceki ikinci ve son yerel duraktır. Bu sorguyu işlemek için tasarlanmış işletim sisteminizin içindeki süreç, genellikle "saplama çözümleyici" veya DNS istemcisi olarak adlandırılır. Saplama çözümleyici bir uygulamadan istek aldığında, kaydın olup olmadığını görmek için önce kendi önbelleğini kontrol eder. Kayıt yoksa, yerel ağ dışında, internet servis sağlayıcı (ISP) içindeki DNS özyinelemeli çözümleyiciye bir DNS sorgusu (özyinelemeli bir bayrak seti) gönderir.

ISP içindeki özyinelemeli çözümleyici, önceki tüm adımlar gibi bir DNS sorgusu aldığında, istekte bulunulan ana bilgisayardan IP adresine çevirisinin yerel kalıcılık katmanına daha önce depolanmış olup olmadığını da kontrol eder.

Özyinelemeli çözümleyici, önbelleğinde sahip olduğu kayıt türlerine bağlı olarak ek işlevlere de sahiptir:

  1. Çözümleyici A kayıtlarına sahip değilse, ancak yetkili ad sunucuları için NS kayıtlarına sahipse, DNS sorgusundaki birkaç adımı atlayarak doğrudan bu ad sunucularına sorgu gönderir. Bu kısayol, kök sunucudan ve .com ad sunucularından (example.com için yaptığımız aramada) yapılan aramaları engeller ve DNS sorgusunun çözümlenmesinin daha hızlı gerçekleşmesine yardımcı olur.
  2. Çözümleyici NS kayıtlarına sahip değilse, kök sunucuyu atlayarak TLD sunucularına (verdiğimiz örnekte .com) bir sorgu gönderir.
  3. Çok düşük bir ihtimalle olsa da, çözümleyicinin TLD sunucularını gösteren kayıtları olmaması durumunda, kök sunuculara sorgu gönderir. Bu olay genellikle DNS önbelleği temizlendikten sonra gerçekleşir.

Cloudflare DNS'i diğer DNS sağlayıcılarından ayıran özellikleri öğrenin.