Mesaj Sayısı : 351 Kayıt tarihi : 02/04/10 Yaş : 33
Konu: Dns geniş anlatım Ptsi Nis. 05, 2010 8:09 pm
DNS
Daha önceki dokümanlarda açıklandığı şekilde bir IP ağı üzerinde çeşitli servislere ulaşmak için bu servislerin çalıştığı sistemlerin 4 sayıdan oluşan akılda kalması zor ve son kullanıcılar için hemen hiçbir şey ifade etmeyen adreslerinin bilinmesi gerekmektedir. Bu sorunun nasıl aşıldığı bu dokümanda ele alınacaktır.
1 DNS’in Tarihçesi
Yukarıda bahsedilen isimlendirme sorunu ilk olarak Internetin babası sayılan ArpaNet zamanında ortaya çıkmıştır. 1970’lerde ArpaNet günümüz ağları ile karşılaştırılamayacak kadar küçük durumdaydı ve yalnızca birkaç yüz ile ifade edilebilen sisteme hizmet veriyordu. Bu tarihlerde isimlendirme için tek noktada tutulan bir dosyanın bulunması ve diğer tüm sistemlerin bu dosyayı belli aralıklarla kendi taraflarında güncellemesi isimlendirme sorununu çözmüştü.
Adres-isim tanımlamalarını içeren HOSTS.TXT dosyası SRI tarafından SRI-NIC adında bir bilgisayar üzerinde tutulmaktaydı. Bu dosya her adrese bir isim karşılık gelecek şekilde düzenlenmişti. ArpaNet üzerindeki yeni isim tanımlamaları ve değişiklikleri SRI’ya gönderilen e-postalar aracılığı ile yapılıyor ve HOSTS.TXT’in kopyası ftp ile alınıyordu.
ArpaNet üzerinde TCP/IP kullanımına paralel olarak ortaya çıkan bağlantı patlaması, isim çözümü için bir çok sorunu da beraberinde getirdi. Öncelikle isim çakışmaları ortaya çıktı, sayı artmakta ve her bilgisayara özgün bir isim atanmasında problemler yaşanmaktaydı. Ayrıca yalnızca isim çözümlenmesi için oldukça yüksek miktarda bant genişliği harcanmakta ve buna rağmen kullanılan isim veritabanlarının uyumlu olması her zaman sağlanamamaktaydı.
Bu durumun ortaya çıkmasından sonra ArpaNet daha ölçeklenebilir bir isim çözümleme yapısı için araştırmalara başladı. Paul Mockapetris bu işle görevlendirildi. Mockapetris 1984 yılında Domain Name System (DNS)’i tanımlayan RFC 882 ve 883’ü yayınladı. Bunlar daha sonra halen geçerli olan RFC 1034 ve 1035 tarafından güncellendiler.
2 DNS’in Yapısı
ArpaNet döneminde ortaya çıkan güçlükler nedeniyle DNS tasarlanırken uçlardaki sistemlerin kendi bilgilerini kendilerinin güncelleyebileceği bir yapı üzerinde durulmuştur. Ortaya çıkan yapı ise en üstten başlayarak hiyerarşik bir şekilde uçlara doğru açılan dağıtık bir varitabanı mimarisidir. Uçlar birbirleri ile istemci sunucu yöntemiyle konuşurlar.
Farklı tablolar ile tek veritabanında tanımlanmış bir alan adı sistemini icenlenirse yapısının hiyerarşik olduğu görülür. Her alan adı bir başka alan adının altında tanımlanmıştır. En üst seviyede bulunan bir tablo en üst seviye alan adları olan ‘.com’, ‘net’ vb içerir ve bu alan adlarının detaylarını içeren tabloları işaret eder. Aynı şekilde bu tablolar da kendi altlarında bulunan alan adlarını içerir ve detaylarını gösteren tablolara işaret eder.
Açıklana tablo yapısı Şekil 1 üzerinde gösterilmiştir. Görüldüğü gibi istemci ‘[Linkleri görebilmek için üye olun veya giriş yapın.] adresini bu alan adı için en yetkili durumdaki alan adı sunucusunda sorgulamış ve bu adrese tanımlanmış IP adresi cevap olarak döndürülmüştür.
Benzer bir sorgulamayı Amerika kıtasında ‘ns.digex.net’ adlı alan adı sunucuyu kullanan bir istemcinin yaptığı durum incelenebilir.
‘ns.digex.net’ kendisine sorulan ‘[Linkleri görebilmek için üye olun veya giriş yapın.] için herhangi bir bilgiye sahip değildir. Bu yüzden kendi veritabanında tanımlı olan en üst seviye alan adı sunucularına (root-servers, daha sonra detaylı olarak açıklanacaktır) bu adresi sorar. Bu sunucu (a.root-servers.net) da ‘[Linkleri görebilmek için üye olun veya giriş yapın.] için kesin bilgiye sahip değildir. Ancak ‘.tr’ üst seviye alan adının ‘ns1.metu.edu.tr’ sunucusu tarafından kontrol edildiğini bilmektedir. Bu yüzden, ‘ns.digex.net’e sorguyu ‘ns1.metu.edu.tr’ üzerinde yapması bilgisini iletir. ‘ns.digex.net’ bu kez aynı adresi ‘ns1.metu.edu.tr’ üzerinde sorgulayacaktır. Ancak bu sunucu da ‘[Linkleri görebilmek için üye olun veya giriş yapın.] için kesin adresi bilemeyecek ve sorgunun ‘ulak.net.tr’ alan adı sunucusu olan ‘ns.ulak.net.tr’ adresine yönlendirilmesini bildirecektir. Son olarak ‘ns.digex.net’, ‘[Linkleri görebilmek için üye olun veya giriş yapın.] adresini ‘ns.ulak.ne.tr’ üzerinde sorgulayacak ve ‘ns.ulak.net.tr’ kendi veritabanında ‘[Linkleri görebilmek için üye olun veya giriş yapın.] için tanımlı olan 193.140.83.9 adresini döndürecektir. Bu bilgiye ulaşan ‘ns.digex.net’ de kendi istemcisine bu bilgiyi iletecektir.