DNS Server (Domain Name System) Nedir?

DNS Server alan adı sistemi, host isimleri ile IP adresleri arasında çift taraflı dönüşüm sağlayan dağıtık bir veritabanıdır. Bu sistem dünyanın en geniş ve en aktif dağıtılmış veritabanını oluşturarak internetin devamlılığını sağlar. Aynı zamanda da, internetteki alan adlarının tutulduğu ve e­posta alma­gönderme sağlayıcılarına ait bilgilerin de saklandığı yerdir.

DNS Hiyerarşisi

DNS sisteminin en üstünde bulunan root sunucuları internet ortamında kritik bir rol üstlenmektedirler. Çünkü host isimleri­ip dönüşümü ilk olarak root sunucularında başlar. Root sunucuları Top­Level Domain(Üst Düzey Alan ) sunucularının adresini bilirler ve gelen istekleri gerekli TLD sunucularına yönlendirirler.

DNS veritabanı sistemi en tepede root sunucularının yer aldığı ağaç yapısındadır. Ağaç yapısındaki dallanma maksimum 127 basamaktır. Her nokta maksimum 63 karakterden oluşabilmektedir. DNS sisteminde root nokta (.) ile gösterilir. Veritabanı üzerindeki her bir altnokta “domain”; bu domainden kollara ayrılan her bir parça ise “subdomain” olarak adlandırılır. Bir adres en alttan root’a gelecek şekilde gösterilir. Aynı düğüm (parent node) altındaki düğümlerin (children node) farklı isimde olması gerekir. Böylelikle domain adları tek olması sağlanmış ve olası çakışmalar önlenmiş olur.

İsim çözümleme işleminde sorgulama sağdan sola doğru gerçekleştiğinden en üst düzeydeki yetkili kısım en sağdaki kısım olmaktadır. ceng.ktu.edu.tr adresinde bu kısım “.tr” dir. Daha sonra edu.tr à ktu.edu.tr alt alan adları gelmektedir. Buradaki sıralama genelden özele doğrudur. Sağdan sola gidildikçe alt alan adlarının barındırdıkları IP adresi sayıları azalır.

DNS Mimarisi

DNS sistemi isim sunucuları (name server) ve özümleyicilerden (resolver) oluşur. İsim sunucuları host isimlerine karşılık gelen IP adres bilgilerini tutarlar. Çözümleyiciler ise DNS istemcileridir(client), bilgisayarlara yüklü TCP/IP protokolünün bir bileşenidir ve DNS sunucu yada sunucularının adreslerini içerir.

DNS serverları herhangi bir domain/zone için yetkili olup olmamalarına göre ikiye ayrılır.

  • Authoritative DNS Name Server : Bu sunucular yetkilendirilmiş sunuculardır. Bir zone veya domain için yapılan tüm DNS sorgularından sorumludur. Birincil Sunucu (Master Server) ve İkincil Sunucu (Slave Server) olmak üzere iki farklı türü bulunmaktadır.
  • Non­Authoritative DNS Name Caching Server : Bir zone veya domain için yetkilendirilmemiş sunucular da bulunmaktadır. İlk sorgulamada gereken veriyi yetkilendirilmiş sunuculardan aldıktan sonra TTL süresince önebelleklerinde tutarlar. Böylelikle zamandan kazanç sağlamaklarlar.

DNS Sunucuları

DNS sunucuları, URL (Uniform Resource Locator) ya da FQDN(Fully Qualified Domain Name) olarak adlandırılan adreslerin IP’lere çözümlenmesini sağlarlar. Bu işlem, hatırlaması zor olan IP adreslerini kullanmak yerine, hatırlaması daha kolay olan host isimlerinin kullanımına izin verir.

DNS İsim Çözümlemesi

DNS sunucuları sorumlu olduğu ve de başka yollara ile öğrendiği bütün FQDN’leri ve IP adreslerinin listesini belleğinde saklar. İstemcilerin öğrenmek istediği IP ve FQDN’leri öğrenebilmesi için sorgusunda FQDN/IP, sorgu çeşidini (Kaynak Kaydı(Resource Record)) belirtmesi gerekir.

İstemci tarafından yapılan bir DNS sorgusunun işleyişi şu şekilde gerçekleşir:

  1. İstemci öncelikle kendi belleğinde kayıtlı adresleri tarar.
  2. İstemci tarafından cache’lenmiş kayıtlara bakar.
  3. İstemci kendisinde aradığı cevabı, sorguyu belleğinde kayıtlı DNS sunucularına gönderir.
  4. DNS sunucuları gelen sorgunun yetkili olduğu kısımda olup olmadığına bakar
  5. Değilse cevabın önbelleğinde olup olmadığını kontrol eder.
  6. Eğer DNS sunucusu sorguya cevap bulamazsa, belleğinde kayıtlı Root(Kök) sunucularına sorguyu yönlendirir.
  7. Kök sunucuları sorguyu ilgili TLD(Top Level Domain) sunucularına yönlendirir.
  8. TLD sunucuları sorguyu ilgili sunuculara yönlendirerek istemciye cevabın iletilmesi sağlanır.
DNS İSİM ÇÖZÜMLEMESİ
DNS İSİM ÇÖZÜMLEMESİ

Caching : Caching işlemi DNS sorgularını hızlandıran en önemli özelliklerden biridir. DNS sunucuları ve istemciler bir kere öğrendikleri bilgiyi belli bir TTL(Time­To­Live) değeri süresince belleklerinde tutarlar. Böylece yapılacak sonraki aynı sorgular için işlem süresi azalır. Caching ile Root sunucuların sürekli sorgulanması önlenir aynı zamanda da veri trafiğinden tasarruf edilmiş olur.

Çok fazla istek alan alanların (google.com, yahoo.com gibi) tutulduğu sunucularda aşırı trafik meydana gelir. Yük dağılımının yapılması ve yedekleme amacıyla bu alanlar birden fazla sunucuda tutulur. Yani aynı host ismine birden fazla IP adresi atanır.

Ters DNS Çözümlemesi : IP adresinden isim çözümlemesi yapılmasıdır. Ters sorgulama için “in­addr.arpa” adında özel bir domain bulunmaktadır. Örneğin, 160.75.99.72 adresine karşılık gelen bilgisayar ismini bulmak için DNS sunucuya “72.99.75.160.in­addr.arpa” kaydı sorulur.

DNS Kaynak Kayıtları (Resource Records)

DNS sunucularının asıl görevi olan isim­ip dönüşümleri Kaynak Kayıtları aracılığıyla yapılır. Kaynak kayıtları formatı RFC 1035 3.2.1. de belirtilmiştir. Kaynak kayıtları genel 1 olarak ;

“ALAN_ADI­­­­­TTL­­­­­SINIF­­­­­KAYNAK_KAYDI­­­­KAYNAĞA_AİT_VERİ” şeklindedir.

ALAN_ADI : Kaynak kaydı yapılacak adresi belirtir.

TTL (Time To Live): Diğer DNS sunucuları/istemcileri tarafından bilginin ne kadar süre ile önbellekte (cache) tutulacağını belirtir.

SINIF : Kaynak kaydın sınıfını belirten anımsatıcı bir değer içerir

0→Rezerve

1→İnternet (IN)

2→Atanmamış

3→Chaos (CH)

4→Hesiod (HS)

5­65534→Atanmamış

65535→Rezerve

KAYNAK_KAYDI (Resource Record) :

A Kaydı : Adres kaydıdır. 32 bitlik IPV4 adresini DNS domain ismine eşler.

AAA Kaydı : IPV6 için adres kaydıdır. 128 bitlik IPV6 adresini DNS domain ismine eşler.

CNAME (Canonical Name) : Alias yani takma isim yoluyla başka bir DNS sunucuda bulunan kaydın yolunu belirler yani başka bir DNS sunucuda bulunan kaydın farklı bir isimle da kayıt altına alınmasını sağlar. Ancak kullanıcılar aranılan hostun gerçekte nerede olduğunu göremezler .

MX (Mail Exchanger) : Sistemde bulunan mail serverları tanımlamak için kullanılır. Bu kayıt sayesinde mail server’ın bilgileri DNS tarafından bilinmektedir.

TXT (Text) : Belirli bir kaynak hakkında, nerde bulunduğu ve sahipliği gibi açıklayıcı bilgileri içeren bir kayıttır. Bir text dosyadan ibarettir.

NS (Name Server): Ağ üzerinde bulunan ve kullanım da olan DNS sunucuları tanımlar.

DNS Sorguları

Ağımızda bulunan istemciler ve DNS sunucular arasında isim çözebilmek için bir sorgu trafiği oluşur. DNS sorguları ağda istemci bir makineden DNS sunucusuna veya DNS sunucusundan başka bir DNS sunucusuna yapılabilir. Bu şekilde rekürsif sorgu ve iteratif sorgu olmak üzere iki çeşit sorgu tipi vardır.

Rekürsif Sorgulama (Recursive Query) : İstemci tarafından DNS sunucusuna yapılan sorgu rekürsif olarak adlandırılır. İstemcinin ağdaki bir kaynağa yada internetteki herhangi bir siteye bağlanmak için IP adresini DNS sunucusuna sorarken yaptığı sorgu tipidir. Bu sorguya DNS sunucusu olumlu yada olumsuz cevap vermek zorundadır. İstemci sorgusunu DNS sunucusuna rekürsif sorgu olarak yapar, DNS sunucusu istemcinin yaptığı sorguyu alır ve üzerindeki kayıtlara bakarak veya diğer DNS sunuculara sorarak cevabı iletir.

İteratif Sorgulama (Iterative Query) : DNS sunucuların kendi aralarında yaptıkları sorgulara denir. Ağda bulunan bir istemci DNS sunucusuna ulaşmak istediği IP adresini sorduğunda DNS sunucusu bu IP adresini biliyorsa istemciye cevap verir. Eğer DNS sunucusu istemcinin istediği isim çöüzmlemesini kendi veritabanına bakarak yanıtlayamıyorsa internette yada localde bulunan diğer DNS sunucundan sorgular. Bu işlemi istenilen IP adresini bulana kadar sürdürür. İteratif sorguyu alan DNS sunucusu kendi veritabanına ve önbelleğine bakar ve sorguyu yapan DNS sunucusuna IP adresi yada aradığı IP adresini bulabileceği DNS sunucusunun ip adresini bildirir. DNS sunucusunun diğer DNS sunucu yada sunucularla yaptığı sorgulama tipi iteratif sorgulama olarak adlandırılır.

iyi çalışmalar dilerim…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir