- Published on
Derinlemesine DNS Nedir ? DNS Zone, DNS Kayıtları Nelerdir ?
- Authors

- Name
- Alperen Önal
DNS(Domain Name System) Nedir ?
İnternette, bilgisayarlar ve routerlar IP adresleriyle(IPv4/IPv6) tanımlanırlar. IP adreslerini insanların hatırlaması ve kullanması zordur. IP adresleri yerine bilgisayarın adresini domain isimlerine soyutlamak insanlar için daha kolay olacaktır. Örneğin : 76.76.21.21 yerine www.alperenonal.com domain ismi(alan adı), bizler için kullanması daha kolay olacaktır. DNS, hatırlanması ve kullanması güç olan IP adreslerini insanların kolayca kullanabileceği ve hatırlayabileceği domain isimleriyle eşleştiren sistemdir. DNS, Application Layer protokolü olmakla beraber UDP kullanmaktadır.
Özetle, bilgisayarlar birbirleriyle IP adresleri üzerinden iletişim kurarken biz bu adresleri domain isimlerine soyutlaştırarak işimizi kolaylaştırırız.
IP Adresi ve Domain İsmi Eşleştirilmesi
İnternetteki bilgisayarların birbirleriyle IP adresleri üzerinden iletişim kurduğunu söylemiştik. Bir kullanıcı internette bir WEB sitesine erişmek istediğinde (örn : alperenonal.com) kullanıcı bilgisayarının hedef bilgisayarının IP adresine ihtiyacı olacaktır. DNS, bu sorunun çözümü için telefon rehberi gibi çözüm benimser. Emmi dayı ---> 0553 XXX XXX(alperenonal.com ---> 76.76.21.21). Her bir IP adresi bloğu bir ISP'ye sunulduğu için host hizmeti aldığınız firmayı değiştiğinizde IP adresiniz de değişecektir. Bu yüzden dünyadaki tüm domainlerin statik bir şekilde tutulması mümkün olmayacaktır. Veya IPv4 adresleri için 2^32 = 4,294,967,296 adet IP adresi + domain isimlerini depolamanız gerekecektir. Bu da IP adreslerini veri merkezlerinde tutmayı zorunlu hale getirmiştir. DNS, bu yapısından dolayı merkezi olmayan dağıtık, hiyerarşik veri tabanı modelini benimsemiştir.
nslookup www.siteismi.com yazarak istediğiniz sitenin IP adresine ulaşabilirsiniz. 
Windows'da C:\Windows\System32\drivers\etc\hosts dosyasını metin editörüyle açarak el ile domain kaydı yapabilirsiniz.(Karşılıksız.)
Örneğin : www.hepsiburada.com adresini yerel ağda paylaştığım 192.168.43.51 IP adresine sahip olan blog siteme vereceğim.


ping www.hepsiburada.com yazarsam aslında 192.168.43.51'e yani kendi bilgisayarıma ping attığımı görebileceğiz. 
DNS Sunucu Çeşitleri
- DNS Resolver (DNS Çözümleyici) : DNS resolver, istemci makinelerden sorguları almak için tasarlanmış bir sunucudur. Recursive query yaparak kullanıcı adına DNS sorgularını tamamlar.
- Root Name Server : Root Name Server, TLD name server adreslerini tutmaktadır. ICANN ve bir kaç organizasyon tarafından yönetilmektedir.(Örneğin : .org TLD name server IP adresi = X.X.X.X)
- TLD(Top Level Domain) Name Server : Bir domain adresinin son bölümünü barındırır örneğin : .com, .org, .net, .xyz,.edu gibi her bir uzantı için TLD name server'ları vardır. Bu son bölüm ile Authoritative Name Server'ın adresini eşleştirmektedir.(Örneğin : alperenonal.com'un authoritative name server'ının IP adresi = X.X.X.X) Network Solutions kuruluşu, bu TLD name server'larının yönetimini yaparlar.
- Authoritative Name Server : Hiyerarşideki son name server'dır. DNS Resolver'a hedef bilgisayar domainin IP adresini yollar.(Örneğin : alperenonal.com'un ip adresi = 77.61.36.77)
Dünyanın farklı bölgelerine dağıtılmış toplamda 13 adet Root Name Server bulunmaktadır. Bu Root Name Server'lar internetin ana yapı taşlarındandır.
Her bir Root Name Server aynı bilgilere sahiptir.
Not: Root Name Server'lara Buradan Ulaşabilirsiniz: "https://www.iana.org/domains/root/servers"

DNS Resolver (DNS Çözümleyici) Nedir ?
- DNS resolver'lar, kullanıcıların internete erişimlerini sağlamak için DNS sorgularını yaparlar.
- ISP'ler, evinizdeki router cihazları(SOHO) DNS çözümleme hizmetini sunmaktadırlar. Ayrıca bazı firmalar public DNS resolver hizmeti sunmaktadır.(Örneğin : google, cloudflare)
- DNS resolver'lar sıkça kullanılan çözümleri önbelleklerinde saklarlar.
Yerel DNS Sunucuları (Local Name Server)
- DNS hiyerarşisine dahil değillerdir.(Root, TLD ...)
- Her ISP'de bir tane olur.
- Diğer bir ismi "Default Name Server"dir.
- Yerel ağda yapılan sorgular local name server'a gönderilir. Local name server cache'inde domain'in IP adresini bulamazsa sorguyu hiyerarşik yapıya gönderir.
DNS Domain Çözümleme Çeşitleri
- Iterative Query(Tekrarlı Sorgu): Başvurulan sunucu, başvuracağı sunucu ismi ile cevaplar.("Bu ismi bilmiyorum şu sunucuya sor")
- Recursive Query(Yinelemeli Sorgu): DNS resolver sorguyu tamamen çözerek nihai cevabı döndürür. İstemci sadece son sonucu alır.

Recursive query'ler, genellikle performans açısından daha etkilidir çünkü resolver sunucusu tüm sorgu sürecini üstlenir. Iterative query'ler ise daha fazla sorgu ile daha fazla ağ trafiği gerektirebilir, ancak daha esnek bir yapı sunabilir.
DNS İsimlerini Önbelleğe Alma(Caching)
- Bir name server bir eşleştirmeyi öğrendiğinde o eşleştirmeyi TTL(Time to Live) süresi kadar önbelleğinde saklar.
- TLD name server'lar genellikle local name server'larda saklanır bu yüzden Root Name Server'lar sık kullanılmazlar.
about:networking#dns, chrome://net-internals/#dns yazarak tarayıcınızın cache aldığı DNS kayıtlarını görebilirsiniz.İşletim sistemi düzeyinde de DNS kayıtlarını Önbelleğe alma yapılmaktadır. Bir DNS sorgusu makinenizden ayrılmadan önceki ikinci ve son yerel duraktır. Örneğin :
ipconfig /displaydns yazarak işletim sisteminizin kaydettiği DNS kayıtlarına erişebilirsiniz. 
DNS Kayıt Türleri Nelerdir ?
DNS dağıtık veri tabanı, DNS kaynaklarının kayıtlarını saklar.
A(Address) Kaydı :

- Domain isminin hangi IPv4 adresinde bulunduğunun kaydını tutan kayıt türüdür.
AAAA(IPv6 Address) Kaydı :

- Domain isminin hangi IPv6 adresinde bulunduğunun kaydını tutan kayıt türüdür.
CNAME(Canonical Name) Kaydı :

- Bir domain ismine başka bir takım isim vermek için tutulan kayıt türüdür.
- Bir domain'i başka bir domain'e yönlendirmek için kullanılır.
NS(Name Server) Kaydı :

- Bir domain'in authoritative name server'larının listesini tutan kayıt türüdür.
- NS1 ve NS2 olmak üzere 2 adet tanımlanır. Birisi diğerinin yedeğidir.
MX(Mail Exchange) Kaydı :

- Bir alan adına gelen e-posta trafiğini işleyecek mail server'larının listesini belirtir.
TXT(Text) Kaydı :

Bir alan adıyla ilişkilendirilmiş metin verisini içerir.
TXT kayıtları, alanınız hakkındaki metin biçiminde bilgiler içeren bir DNS kaydı türüdür. TXT kayıtları, harici sunucuların ve hizmetlerin alanınızdan giden e-postaları işlemesine yardımcı olan bilgiler de içerir.
PTR(Pointer) Kaydı :
- Bir IP adresinin, o IP adresine sahip olan domain adının kaydını tutar.
- IP adresinden domain adına ulaşmak için kullanılır (Reverse DNS Lookup).
KAYNAKÇA :
Kurose, James F., & Ross, Keith W. (2017). "Computer Networking: A Top-Down Approach" (7th ed.). Boston: Pearson Education.
gaia.cs.umass.edu/kurose_ross/interactive/dns_query.php
cloudflare.com/tr-tr/learning/dns/what-is-dns/
iana.org/domains/root/servers
en.wikipedia.org/wiki/Virtual_hosting
lenovo.com/ca/en/glossary/dns-resolver/
tcpipguide.com/free/t_DNSNameResolutionProcess-2.htm
blogs.manageengine.com/clouddns/2022/10/24/how-does-a-dns-work.html
hosting.com.tr/bilgi-bankasi/hosts-dosyasi-ile-siteye-erisim/
next.liquidweb.com/blog/how-to-demystify-the-dns-process/