Domain Name System (DNS)
Domain Name System yani DNS, açık (WAN) ya da kapalı ağlara (LAN) dağıtılmış ve bir veritabanı üzerine kurulmuş hiyerarşik bir isimlendirme sistemidir.
En önemli özelliği ise insanlar tarafından okunabilir ve akılda kalıcı alan adlarını (örn: R10.net), bağlanılan ağ cihazının IP (Internet Protocol) adresine çevirerek dünya ilgili cihazın bulunmasını ve bağlanmasını sağlar.
DNS, bir alan adının global veritabanındaki IP adresine çevrilmesinden sorumlu bir sistemdir.
İnternetin ilk zamanlarında kısıtlı IP adresleri olduğundan insanların ilgili IP adreslerini akıllarında tutmaları kolaydı. Ancak belli bir süre sonra bu IP adreslerini akılda tutmak zor bir hal aldı. Ağ içerisindeki sunucu ve istemci sayısı çoğaldıkça, IP adreslerini akılda tutarak işlem yapmak giderek zorlaştı. Hali hazırda IP adresini bildiğiniz bir siteye direk IP adresi ile ulaşmak mümkün olsa dahi DNS günümüzde büyük önem taşır.
DNS’in ortaya çıkışı
İnternetin ilk zamanlarında bu alan adı ve IP adreslerini birbirine bağlamak amacıyla, Stanfordlu Elizabeth Feinler, internete bağlı her bilgisayar için “hosts.txt” adıyla IP ve alan adı eşleşmelerinin olduğu bir dosya tanımladı. Bu durum internetin günden güne büyümesi ile yetersiz gelmeye başlayınca 1983 yılında Paul Mockapetris isimli USC (University of Southern California) araştırma görevlisi, bu işin çözümü için görevlendirdi. Çözümü ise günümüzde kullandığımız DNS adlı bir çözümdü.
Günümüzde DNS standartları Internet Engineering Task Force (IETF) tarafından belirlenmektedir.
DNS sunucuları nasıl çalışır?
DNS dizinleri dünya çapında dağıtılır ve DNS sunucuları (DNS servers) olarak isimlendirilen ve birbiriyle haberleşen özel sunucularda depolanır.
DNS sunucuları, bir alan adını bir veya birden fazla IP adresi ile eşleştiren bilgileri depolar ve istemcilere sunar.
İstemci bir alan adresine gitmeyi denediğinde, kişiye optimum uzaklıkta bulunan DNS sunucusu ilgili isteği IP adresine yönlendirir ve istemci alan adı ile ilgili cihaza erişmiş olur. DNS önbellekleme işlemi ile bu süreç daha optimize hale getirilebilir ve performans arttırılabilir.