İletişime geç

DNS Nedir, Nasıl Çalışır?

Tarayıcıya yazdığınız alan adının bir IP adresine nasıl dönüştüğünü, DNS kayıt türlerini ve TTL'in ne işe yaradığını sade bir dille anlattım.

DNS Nedir, Nasıl Çalışır? Web & Altyapı

İnternetteki her sunucunun bir IP adresi var: 104.21.32.1 gibi, akılda tutması zor bir sayı dizisi. DNS (Domain Name System), bu sayıları umutarcn.com gibi hatırlanabilir isimlerle eşleştiren sistemdir. Çoğu zaman internetin telefon rehberine benzetilir ve bu benzetme gerçekten iş görüyor.

Bir alan adı nasıl IP adresine dönüşür?

Tarayıcıya bir adres yazıp Enter'a bastığınızda arka planda kabaca şu adımlar yaşanır:

  1. Önbellek kontrolü. Tarayıcı ve işletim sistemi bu adresi kısa süre önce sorup sormadığına bakar. Cevap hafızadaysa iş burada biter.
  2. Çözümleyiciye soru. Hafızada yoksa soru, ayarlarınızdaki DNS sunucusuna gider. Bu genelde internet sağlayıcınızın ya da 1.1.1.1, 8.8.8.8 gibi genel bir servisin sunucusudur.
  3. Kök sunucular. Çözümleyici cevabı bilmiyorsa kök sunuculara ".com uzantısını kim yönetiyor?" diye sorar.
  4. Uzantı sunucuları. .com sunucusu, umutarcn.com alan adının hangi ad sunucularında (nameserver) tutulduğunu söyler.
  5. Yetkili ad sunucusu. Son durak alan adının kendi ad sunucusudur. IP adresini o verir; çözümleyici cevabı hem size iletir hem de bir süre saklar.

Bu turun tamamı genellikle birkaç on milisaniye sürer. Sonraki ziyaretlerde cevap önbellekten geldiği için çok daha kısa.

En sık kullanılan DNS kayıt türleri

Bir alan adının ad sunucusunda farklı işler için farklı kayıtlar tutulur. Bir siteyi yayına alırken ya da e-posta kurarken karşılaşacağınız başlıcaları şunlar:

KayıtNe işe yarar?Örnek
AAlan adını IPv4 adresine bağlarumutarcn.com → 203.0.113.10
AAAAAlan adını IPv6 adresine bağlar2001:db8::10
CNAMEBir adı başka bir ada yönlendirirwww → umutarcn.com
MXE-postaların hangi sunucuya gideceğini belirlermail.umutarcn.com (öncelik 10)
TXTDoğrulama ve e-posta güvenliği (SPF, DKIM, DMARC)v=spf1 include:… ~all
NSAlan adının hangi ad sunucularında yönetildiğini gösterirns1.ornek.com

TTL nedir, neden önemli?

Her kaydın bir TTL (Time To Live) değeri vardır ve saniye cinsinden yazılır. Çözümleyiciler cevabı bu süre kadar saklar. TTL'i 3600 olan bir kaydı değiştirdiğinizde bazı ziyaretçiler bir saate kadar eski adrese gitmeye devam edebilir.

Bunun pratik bir sonucu var: bir siteyi başka sunucuya taşımadan bir gün önce TTL'i 300 gibi düşük bir değere çekmek, geçiş anında yaşanacak karışıklığı ciddi oranda azaltır. Taşıma bitince değeri tekrar yükseltebilirsiniz. Ben sunucu değişikliklerinde bu adımı hiç atlamıyorum.

"DNS yayılması" gerçekten 48 saat mi sürer?

Yeni bir kayıt eklediğinizde ya da ad sunucusu değiştirdiğinizde hâlâ "48 saat bekleyin" uyarısı görülür. Gerçekte bekleme süresini belirleyen şey eski kayıtların TTL değeri ve ad sunucusu değişikliklerinde uzantı sunucularının kendi saklama süreleridir. Sıradan bir A kaydı değişikliği çoğu zaman dakikalar içinde yansır. Ad sunucusu değişikliği ise birkaç saati bulabilir.

DNS'i kendim kontrol edebilir miyim?

Evet. Windows'ta komut istemine, Mac ve Linux'ta terminale şunları yazmanız yeterli:

nslookup umutarcn.com
nslookup -type=mx umutarcn.com

Mac ve Linux'ta daha ayrıntılı çıktı veren dig komutu da var. Bir değişikliğin dünya genelinde yayılıp yayılmadığını görmek için ise "DNS propagation checker" araması yapıp çıkan araçlardan birini kullanabilirsiniz.

Kendi cihazınızda hangi DNS sunucusunu kullanacağınıza karar vermek isterseniz güncel DNS adresleri ve DNS değiştirme rehberine bakın.