Published on

Derinlemesine DNS Nedir ? DNS Zone, DNS Kayıtları Nelerdir ?

Authors
  • avatar
    Name
    Alperen Önal
    Twitter

DNS(Domain Name System) Nedir ?

İnternette, bilgisayarlar ve routerler 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 tutmanız 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.

Windows'da komut satırına 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 sitemi vereceğim.

Muhtemelen tarayıcılar sertfikadan bu olayı anlayıp bağlanmamızı onaylamıyorlar. Ancak eğer komut satırına ping www.hepsiburada.com yazarsam aslında 192.168.43.51'a yani kendi bilgisayarıma ping attığımı görebileceğiz.

DNS Sunucu Çeşitleri

  • DNS Özyineleyicisi : DNS özyineleyicisi, istemci makinelerden sorguları almak için tasarlanmış bir sunucudur.
  • Root DNS Sunucusu : Root DNS Sunucusu, TLD DNS sunucu adreslerini tutmaktadır. ICANN ve bir kaç organizasyon tarafından yönetilmektedir.(Örneğin : .org TLD server IP adresi = X.X.X.X)
  • TLD(Top Level Domain) DNS Sunucusu : 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 sunucuları vardır. Bu son bölüm ile Authoritative(yetkilendirilmiş) DNS sunucusunun adresini eşleştirmektedir.(Örneğin : alperenonal.com'un yetkilendirilmiş DNS sunucusunun IP adresi = X.X.X.X) Network Solutions kuruluşu, bu TLD DNS sunucularının yönetimini yaparlar.
  • Authoritative DNS Sunucusu : Hiyerarşideki son DNS sunucusudur. DNS Özyineleyicisine 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 DNS Sunucusu Bulunmaktadır. Bu Root DNS sunucuları internetin ana yapı taşlarındandır.

Her bir Root DNS sunucusu aynı bilgilere sahiptir.

Not : Aşağıdaki root sunucuların ip adresleri siz bu yazıyı okuduğunuz zaman değişmiş olabilir güncel olan adreslere buradan ulaşabilirsiniz "https://www.iana.org/domains/root/servers"

DNS Çözümleyici Nedir ?

  • DNS çözümleyiciler, kullanıcıların internete erişimlerini sağlamak için DNS sorgularını yaparlar.
  • ISP'ler, evinizdeki router cihazları DNS çözümleme hizmetini sunmaktadırlar. Ayrıca bazı firmalar public DNS çözümleme hizmeti sunmaktadır.(Örneğin : google, cloudflare)
  • DNS çözümleyiciler sıkça kullanılan çözümleri önbelleklerinde saklarlar.

Yerel DNS Sunucuları

  • 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 yerel DNS sunucusuna gönderilir. Yerel DNS sunucusu cache'inde domain'in IP adresini bulamazsa sorguyu hiyerarşik yapıya gönderir.

DNS Domain Çözümleme Çeşitleri

  • Iterated Query(Tekrarlı Sorgu): Başvurulan sunucu, başvuracağı sunucu ismi ile cevaplar.("Bu ismi bilmiyorum şu sunucuya sor")
  • Recursive Query(Yinelemeli Sorgu): Bağlanılan DNS sunucusuna sorgu iletilir.

Yinelemeli sorgular, genellikle performans açısından daha etkilidir çünkü resolver sunucusu, birden fazla sorgu yapmadan sonuca ulaşabilir. Tekrarlı sorgular ise daha fazla sorgu ile daha fazla ağ trafiği gerektirebilir, ancak daha esnek bir yapı sunabilir.

DNS İsimlerini Önbelleğe Alma(Caching)

  • Bir DNS sunucusu bir eşleştirmeyi öğrendiğinde o eşleştirmeyi TTL(Time to Live) süresi kadar önbelleğinde saklar.
  • TLD DNS sunucuları genellikle yerel DNS sunucularında saklanır bu yüzden Root DNS sunucuları sık kullanılmazlar.
Günümüzde bir çok web tarayıcıları, DNS kayıtlarını belli bir süre önbelleklerinde saklarlar. Örneğin: firefox'da : about:networking#dns, Chrome'da 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 makinenizdeb ayrılmadan önceki ikinci ve son yerel duraktır. Örneğin :

Windows'da komut satırına 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(Adress) Kaydı :

  • Domain isminin hangi IP 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 yetkilendirilmiş ad sunucuları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) :

  • Bir alan adına gelen e-posta trafiğini işleyecek posta sunucuları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 Alan Adı Sistemi (DNS) kaydı türüdür. TXT kayıtları, harici ağ sunucularını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.

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/