İnternet üzerinden veri iletişimi yapan her cihaz ve hizmetin bir IP adresi vardır. Bu IP adresleri IPv4 (32 bit) sistemine göre xxx.xxx.xxx.xxx (Ör: 192.168.111.222) IPv6 (128 bit) sistemine göre ise xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (Ör: 2001:0db8:85a3:0000:0000:8a2e:0370:7334) gibi olabilir. Alan Adı Sistemi sayesinde internet üzerindeki hizmetlere ulaşmak için bu uzun ve akılda kalması zor adresleri kullanmak yerine internet tarayıcınızın adres çubuğunu daha kullanışlı alan adlarını girmeniz yeterlidir.
1970'li yıllarda internet yalnızca ArpaNet'ten ibaretti ve yüzlerle ifade edilebilecek kadar az sayıda servis bulunuyordu. Bu yıllarda isimlendirme işlemi için tek bir noktada tutulan HOSTS.TXT dosyası kullanılıyordu. SRI firması tarafından SRI-NIC isimli bir bilgisayar üzerinde tutulan bu dosya her bir IP adresine karşılık olarak kullanılan ana bilgisayar isimlerini (hostname) içeriyordu ve girilen adreslerin sistemin anlayacağı IP adreslerine dönüştürülmesini sağlayan bir eşleştirme işlevi görüyordu. Dosyaya eklenecek yeni isimler için SRI'ya elektronik posta gönderiliyordu ve güncellenen HOSTS.TXT dosyası FTP sunucu üzerinden indirilebiliyordu. Ancak TCP/IP protokol takımının kullanılmaya başlaması ile bağlantı sayısında yaşanan artış, isimlendirme problemini de beraberinde getirdi. Artık bilgisayarlara özgün isimler atamak zorlaşmıştı ve isim çakışmaları yaşanıyordu. Bunun üzerine ArpaNet tarafından görevlendirilen Paul Mockapetris, 1984 yılında yayınladığı "RFC 882" ve "RFC 883" ile DNS'i tanıttı.
Alan Adı Sisteminin Yapısı
Alan Adı Sistemi ağaç şeklinde bir hiyerarşik yapıdadır. Katmanlardan oluşan bu yapının tepesinde Kök Alan Adı Sunucuları (Root Name Server) bulunur. Dünyada faaliyet gösteren 13 Kök Alan Adı Sunucusu bulunur ve bu sunucular Alan AdıSisteminin,AlanAdı-IPAdresidönüşümü işleminin ilk adımını oluştururlar. Bu dönüştürme işlemi sırasında Kök Alan Adı Sunucuları dönüştürülmek istenen Alan Adının, Üst Düzey Alan Adını (Top Level Domain Name, TLD) algılar ve uygun TLD Sunucusunun adresini verir. Alan Adı Sisteminin ikinci katmanında bulunan Üst Düzey Alan Adları; ".com", ".org", ".net" gibi Alan Adlarının en sonunda bulunan harflerdir. TLD'ler ülke isimleri ve kullanım alanlarına göre ayrılırlar. TLD'lerin pek çoğunun yönetimi Internet Corporation for Assigned Names and Numbers (ICANN) tarafından çeşitli kurum ve kuruluşlara dağıtılmıştır. Örneğin; ".tr" uzantısı Türkiye'nin Alan Adı Sistemi'ndeki ülke kodudur ve Ortadoğu Teknik Üniversitesi tarafından yönetilir. Üst Düzey Alan Adlarından sonraki katmanda ise Özgün Alan Adları bulunur. Her TLD için yalnızca bir kere alınabilen Özgün Alan Adları internet hizmetlerinin bulunduğu katmanlardır. Özgün Alan Adları İngiliz alfabesindeki harflerin, 0 ile 9 arasındaki rakamların ve "-" (tire) karakterinin kullanılması koşuluyla istenilen şekilde alınabilir. İnternet hizmetlerini sunan birer kimlik niteliğindeki Özgün Alan Adları ayrıca Alt Alan Adlarına (Subdomain) ayrılırlar. Alan Adlarının başında yazılan "www" aslında birer Alt Alan Adıdır.
Alan Adı Sisteminde katmanlar "." (nokta) ile ayrılır. Örneğin; www.programlar.com Alan adını şöyle açıklayabiliriz:
com - Üst Düzey Alan Adı
programlar - Özgün Alan Adı
www - Alt Alan Adı
Alan Adı Sisteminin Öğeleri
DNS, yani Alan Adı Sistemi, IP adresleri ile ana bilgisayar isimlerini eşleştirme mimarisi olarak ortaya çıkmasına rağmen artık IP adresi-ana bilgisayar ismi eşleştirmesi ile ilgili tüm adımları içeren bir kavram haline dönüştü. DNS, bu bağlamda dört temel öğeden meydana gelir:
O Ana bilgisayar adları ve IP adresleri arasındaki eşleştirme verilerini içeren DNS Veri Tabanı (DNS Database),
O DNS Veri Tabanlarında sorgular gerçekleştiren DNS Sunucusu (DNS Server),
O DNS Sunucusuna istekler gönderen DNS İstemcisi (DNS Client),
O Alan adları ve IP'ler arasında daha gelişmiş eşleştirme işlemleri için kullanılan Bölge Dosyaları (Zone Files).
DNS VeriTabanlarıeşleştirmebilgilerininsaklandığıbüyük veri tabanlarıdır. Farklı Üst Düzey AlanAdları (top level domain-TLD) farklı veri tabanlarında saklanır. Örneğin; ".com" uzantısı ile biten adreslerin bilgileri bir veri tabanında bulunurken ".gov" uzantılı adresler bir başka veri tabanındadır. Tarayıcınızın adres çubuğuna www.programlar.com gibi bir adres yazdığınızda uygun veri tabanını taranır ve bu alan adının karşılığı olan IP adresi bulunur. Bu işleme çözümleme (resolving) denir (Bu kavramı DNS Adres Çözümleme Mekanizması başlığında detaylandıracağız). Eşleştirme bilgilerinin saklandığı DNS Veri Tabanları, tek bir HOSTS.TXTdosyası ile isimlendirme işlemlerinin gerçekleştirildiği TCP/IP öncesi döneme göre büyük değişime uğramış ve oldukça büyük boyutlu hale gelmişlerdir.
DNS Sunucuları internete bağlı, DNS Veri Tabanlarına erişebilen ve bu veri tabanlarında sorgu işlemlerini gerçekleştirebilen sistemlerdir. DNS Sunucuları, istenilen bilgileregöre veri tabanlarında sorgulamalar gerçekleştirir ve sonuçları yayınlarlar. Yukarıdaki örnek üzerinden gidecek olursak, DNS Sunucusu tarayıcınıza girdiğiniz www.programlar.com alan adının IP adresini uygun DNS Veri Tabanlarında sorgular gerçekleştirerek bulur. Dünya çapında pek çok DNS Sunucusu ve DNS Veri tabanı bulunur. Böylece hem veri tabanları hem de sorgular ile ilgili işlemler kolaylıkla gerçekleştirilebilir. Eğer ".com" uzantılı adresler için yalnızca bir DNS Sunucusu ve bir DNS Veri Tabanı bulunsaydı; yoğun trafik nedeniyle bu sunucu kilitlenirdi ve internet kullanılamaz hale gelirdi.
Fiziksel anlamda iki tür DNS Sunucusu bulunur; Yetkili DNS Sunucuları (Authoritative DNS Servers) ve Önbellekli DNS Sunucuları (Caching DNS Servers). Yetkili sunucular; Alan Adınızın Bölge Dosyasını (Bölge Dosyalarına da değineceğiz) barındıran sunuculardır. Önbellekli sunucular ise Bölge Dosyalarının kopyalarını saklayan ve böylece Alan adı bilgilerine daha hızlı erişim sağlayan sistemlerdir. Bir kullanıcı belirli bir Alan Adının DNS kayıtlarına erişmek istediğinde Önbellekli Sunucuda sorgu gerçekleştirilir. Eğer bu sunucuda aranan Alan Adının IP adresi karşılığı mevcut ise çözümleme işlemi burada gerçekleştirilir; değil ise sunucu gerekli sunucular ile haberleşerek çözümleme işlemini gerçekleştirir.
DNS İstemcisi; girilen alan adlarını internette bulduğu uygun DNS Sunucularına sorgulatıp aldığı IP adresi cevaplarını kullanımınıza sunan öğedir. Yine aynı örnek ele alındığında tarayıcınıza www.programlar.com adresini girdiğinizde tarayıcınız bu adresi DNSİstemcinize iletir. İstemcinizinternetiaraştırır ve buadresi sorgulamasıiçin uygun DNS Sunucularını bulur. DNS Sunucusunun sorgulama işlemisonucunda verdiği cevabı alan DNS İstemcisi bu cevabı tarayıcınıza iletir.
DNS Veri tabanlarının ana bilgisayar adı-IP adresi eşleştirmelerini içerdiğini söylemiştik. Bu eşleştirmelerin aşağıdaki gibi göründüğünü düşünebilirsiniz.
programlar.com 22.214.171.124
komikler.com 126.96.36.199
google.com 188.8.131.52
Ancak Alan Adları yalnızca tek bir IP adresi ile eşleşmiş olmayabilir ve FTP ve e-posta gibi farklı sunucuların yanı sıra "herhangibirsey.programlar.com" gibi Alt Alan Adları (subdomain) içerebilirler. Bu durumda herAlan Adı için bu ek bilgileri de içeren bir yapılandırma seti gerekir. İşte bu toplu yapılandırma setlerine Bölge Dosyaları denir.
Bir Bölge Dosyası örneği:
$TTL 86400
$ORIGIN example.com.
@ 1D IN SOA ns1.example.com. hostmaster.example.com.(
2005010101 ; serial
3H ; refresh
15 ; retry
1w ; expire
3h ; minimum
)
IN NS ns1.example.com.
IN NS ns2.example.com.
MX 10 mail.example.com.
MX 20 mail.another.com.
A 184.108.40.206
www IN A 220.127.116.11
IN CNAME www.example.com
Bir Alan Adı için tutulan DNS kayıtları görüldüğü üzere yalnızca bire bir ana bilgisayar adı-IP adresi eşleştirmesinden içermeyebilir. Elektronik posta sunucusu ya da farklı Alt Alan Adları barındıran Alan Adlarının DNS kayıtları, DNS Veri tabanlarında bölge dosyaları olarak saklanırlar ve DNS Veri tabanları milyonlarca Bölge Dosyasından oluşabilir.
Ayrıca Bölge Dosyaları, Yaşam Süresi (time to live) denen kısaca TTL olarak adlandırılan bir değer içerirler. Bu değer Bölge Dosyalarının ne kadarsüreyleÖnbellekliSunucularda kalacağınıbelirtir. Busüre zarfında kullanıcı herhangi bir sorgu gerçekleştirdiğinde daha önce kaydedilmiş olan DNS kayıtlarını alır. TTL'in belirttiği sürenin sonunda ise Önbellekli Sunucu, internette Bölge Dosyası ile ilgili değişiklikleri tarar ve bulduğu güncelleştirmeleri kayıt altına alır. Böylece daha sonra gerçekleştirilecek sorgularda cevapları, yenilenmiş Bölge Dosyasından temin eder.
Adres Çözümleme Mekanizması
DNS, girilen alan adlarını çözümlerken aşağıdaki yolu takip eder:
1. Kök Alan Adı Sunucusu (Root Name Server)
2. Üst Düzey Alan Adı Sunucusu (Top Level Domain Name Server)
3. Özgün Alan Adı Sunucusu (Domain Name Server)
Alan adı çözümleme işlemi alan adında sağdan sola doğru gerçekleştirilir. Yani www.programlar.com adresi çözümlenirken öncelikle Kök Alan Adı Sunucusundan, Üst Düzey Alan Adı (.com, .org, .netgibi) çözümlemesi alınır. Girilen alan adlarının sonunda "." olduğu kabuledilir("www.programlar.com." gibi) ve bu Kök Alan Adını simgeler. Çözümleme sırasında İstemci DNS Sunucusu öncelikle Kök Alan Adı Sunucusuna girilen adresin Üst Düzey Alan Adı sunucusunun çözümlemesini ister. Bu çözümleme ile Üst Düzey Alan Adı sunucusunun adres bilgisine ulaşılır. www.programlar.com örneğinde bu sunucu ".com" Üst Düzey Alan Adı Sunucusudur. Daha sonra ise bu sunucudan Özgün Alan Adı çözümlemesi alınır. Örneğimizde Özgün Alan Adımız "programlar"dır. ".com" TLD Sunucusundan "programlar.com" Özgün Alan Adı sunucusunun adresi alınır. Bu ikinci çözümleme işleminden sonra ise "programlar.com" Özgün Alan Adı sunucusundan Alt Alan Adı adres çözümlemesi istenir. Kullanmakta olduğumuz örnekteki "www" Alt Alan Adının da çözümlenmesi ile www.programlar.com adresi tamamen çözümlenmiş olur. Böylece Kök Alan Adı Sunucusunda Üst Düzey Alan Adı sorgusu ile başlayan çözümleme işlemi Üst Düzey Alan Adı Sunucusundaki Özgün Alan Adı sorgusu ile devam eder ve Özgün Alan Adı Sunucusundaki Alt Alan Adı sorgusu ile sonlanır. Böylece www.programlar.com şeklinde girilen Alan Adının IP adresi karşılığını bulma yani çözümleme işlemi tamamlanır.
İnternet üzerindeki hizmetlere ulaşmayı oldukça kullanıcı dostu bir hale getiren DNS yani Alan Adı Sistemini genel hatları ile ortaya koyduk. Üzerine her ne kadar kara bulutlar dolaşsa da DNS, Ipv6 gibi yeni teknolojiler ile gelişimini sürdürüyor. Bakalım gelecekte bizi ne gibi yenilikler bekliyor.