| Açıklama : | DNS, DOMAIN NAME SYSTEM (domain isim sistemi)
DNS nedir?
DNS,Domain Name System’in kısaltılmış şeklidir. Türkçe karşılığı ise Alan İsimlendirme Sistemi olarak bilinir.
DNS, 256 karaktere kadar büyüyebilen host isimlerini IP’ye çevirmek için kullanılan bir sistemdir. Host ismi,tümüyle tanımlanmış isim (full qualified name) olarak da bilinir ve hem bilgisayarın ismini hem de bilgisayarın bulunduğu Internet domainini gösterir. Örneğin murat.anadolu.com.tr ismi. Bu isimde “anadolu.com.tr” ifadesi internet domainini, “murat” ifadesi ise bu domaindeki tek bir makineyi belirtir. DNS , verilen bir makina adının IP adresini çözerek makinaların Internet üzerinde host isimleri ile haberleşmelerine olanak tanır.
DNS’in amacı nedir?
DNS, kolay anlaşılabilir ve kullanılabilir makine ve alan isimleri ile makine IP adresleri arasında çift taraflı dönüşümü sağlar. IP adreslerinin gündelik hayatta kullanımı ve hatırlanması pek pratik olmadığı için domain isimlendirme sistemi kullanılır.
Ana amacı, ağ uzerinden gelen alan adı veya IPnumarası ile ilgili sorgulamalara yanıt vermektir. Bu amaç için cok yaygın olarak "Berkeley Internet Name Domain (BIND)" yazılımı kullanılmaktadır. Siz bir siteye erişmek istediğinizde, DNS sayesinde hangi site nerde , hangi IP hangi bilğisayara ait olduğu belirlenir, ve istediğiniz yere erişirsiniz.
DNS tarihçesi
1984 yılına kadar DNS diye bir şey yoktu. O yıla kadar isim-IP çözümlemesi HOSTS adında bir metin dosyası ile yapılmaktaydı. Internetteki bilgisayarların isimleri ve IP adresleri bu dosyaya elle kaydediliyordu. Internetteki bilgisayarların herbirinde bu dosyanın bir kopyası bulunmaktaydı. Bir bilgisayar bir başka bilgisayara ulaşmak istediğinde bu dosyayı inceliyor,eğer dosyada o bilgisayarın kaydı bulunuyorsa IP adresini alıyor ve iletişime geçiyordu.
Bu sistemin iyi işleyebilmesi için HOSTS dosyası içeriğinin hep güncel kalması gerekiyordu. Bunu sağlamak için de dosyanın aslının saklandığı ABD’deki Stanford Universitesine belli aralıklarla bağlanarak kopyalama yapılıyordu.
Ama internetteki bilgisayarların sayısı arttıkça hem bu dosyanın büyüklüğü olağanüstü boyutlara ulaşmaya başladı,hemde internetteki bilgisayarların dosyayı kopyalamak için yaptığı bağlantı Standford’daki bilgisayarları kilitlemeye başladı.
Tek bir HOSTS dosyası kullanmanın başka bir kötülüğü de şuydu: bütün bilgisayarlar aynı düzeyde yer aldığı için bir bilgisayar isminin bütün internette bir eşinin daha bulunmamasını sağlamak gerekiyordu.
Bu sorunlar yüzünden internet yetkili organları 1984 yılında DNS’i ürettiler.DNS hem bilgisayar veri tabanını dağıtık bir yapıya sokuyor,hemde bilgisayarlar arasında hiyerarşik bir yapı kurulmasını sağlıyordu.
DNS’de dağıtık veri tabanı şöyle sağlanıyordu. Bilgisayarlar bulundukları yerlere,ait oldukları kurumlara göre sınıflandırılıyorlardı. Örneğin türkiyedeki bilgisayarların listesini(.tr domaini) türkiye’den sorumlu bir DNS sunucu makine tutuyordu.böylece internet ortamındaki bütün bilgisayarların bilgisinin tek bir yerde tutulması zorunluluğu kalmıyordu.
DNS’in yapısı
DNS sistemi isim sunucuları ve çözümleyicilerinden oluşur. İsim sunucuları olarak düzenlenen bilgisayarlar host isimlerine karşılık gelen IP adresi bilgilerini tutarlar. Çözümleyiciler ise DNS istemcilerdir. DNS istemcilerde, DNS sunucu yada sunucuların adresleri bulunur.
Bir DNS istemci bir bilgisayarın ismine karşılık IP adresini bulmak istediği zaman isim sunucuya başvurur. İsim sunucu, yani DNS sunucu da eğer kendi veritabanında öyle bir isim varsa, bu isme karşılık gelen IP adresini istemciye gönderir.
DNS veritabanına kayıtların elle,tek tek girilmesi gerekir.
Internet adresleri ilkönce ülkelere göre ayrılır. Adreslerin sonundaki tr, de , uk gibi ifadeler adresin bulunduğu ülkeyi gösterir. Örneğin tr Türkiyeyi, de Almanyayı, uk İngiltereyi gösterir. ABD adresleri için bir ülke takısı kullanılmaz çünkü DNS ve benzeri uygulamaları yaratan ülke ABD’dir.
Internet adresleri ülkelere ayrılıdıktan sonra com, edu, gov gibi daha alt bölümlere ayrılır. Bu ifadeler DNS’de üst düzey (top-level) domainlere karşılık gelir. Üst düzey doainler aşağıdaki gibidir:
Com :Ticari kuruluşları gösterir.
Edu :Eğitim kurumlarını gösterir.
Org :Ticari olmayan, hükümete de bağlı bulunmayan kurumları gösterir.
Net :Internet omurgası işlevini üstlenen ağları gösterir.
Gov :Hükümete bağlı kurumları gösterir.
Mil :Askeri kurumları gösterir.
Num :Telefon numaralarını bulabileceğiniz yerleri gösterir.
Arpa :Ters DNS sorgulaması yapılabilecek yerleri gösterir.
Alan isimleri, agaç yapısı denilen ve belli bir kurala göre dallanan bir yapıda kullanılmaktadır.
Amerika haricinde, internete baglı olan tüm ülkelerdeki adresler, o ülkenin ISO3166 ülkekodu ile bitmektedir. Türkiye'deki tüm alt alan adresleri, .tr ile bitmektedir. Örneğin;
marine.ulakbim.gov.tr adresinde;
tr Türkiye'yi,
gov alt alanın devlet kurumu olduğunu,
ulakbim bu devlet kurumunu,
marine bu kurumda bulunan bir makineyi göstermektedir.
Yetki Bölgesi (Zone of Authority)
Yetki bölgesi DNS sisteminde belli bir adres aralığıdır. Örneğin, yukarıda verdiğimiz örnekte murat.anadolu.com.tr , bir yetki bölgesini gösterir.
Her yetki bölgesinden sorumlu bir isim sunucusu, yani DNS sunucusu vardır. DNS sunucu yetkili olduğu bölgedeki bilgisayarların isimlerini IP adreslerini içerir. Aynı zamanda bu bölgeye dair sorgulamalara da yanıt verir.
DNS sunucunun yetki bölgesi en az bir tane domain içerir. Bu domain bölgenin kök domaini olarak adlandırılır. Yetki bölgesinde kök domainin altında bir veya birden fazla alt domain içerebilir. Bir DNS sunucu birden fazla bölgeyi yönetebilir.
DNS sunucu çeşitleri
Çalışmalarına göre DNS sunucular üçe ayrılır.
Birincil isim sunucu(Primary Name Server): Bölgesiyle ilgili bilgileri kendisinde bulunan bölgeden (zone file) elde eder. Bu dosyaya bilgiler elle tek tek girilir.
İkincil isim sunucu(secondary name server): Bölgesiyle ilgili bilgileri bağlı bulunduğu bir DNS server’dan alır. Yani bilgileri bu sunucuya elle girmek gerekmez.
Yalnızca-Kaşeleyen isim sunucu (caching-Only name server): Kendisinde bölge bilgilerinin tutulduğu bir dosya bulunmaz. Bağlı bulunduğu sunucuya sorarak topladığı bilgileri hem istemcilere ulaştırır, hemde kaşesine koyar
Birincil DNS Sunucu
Birincil DNS sunucu yetkili olduğu bölge ile ilgili bilgileri kendi üzerinde bulunan bölge dosyasından (zone file) alır demiştik. O bölgede bulunan bilgisayarlara da DNS sunucu adresi olarak Birincil DNS sunucunun adresi verilir. Böylece isim/IP çözümlemesi yapan istemci bilgisayarlar Birincil DNS sunucuya başvururlar, isme karşılık IP adresi bilgisini ondan alırlar.
İkincil DNS Sunucu
Eğer ağımızda çok sayıda bilgisayar varsa bütün bilgisayarların tek bir DNS sunucuya gitmeleri sonucunda isim/IP çözümleme performansımız düşecektir. Bu durumda ikinci bir DNS sunucu kurup bilgileri ona da tek tek elle gireriz ve bilgisayarların yarısında DNS sunucu olarak bu bilgisayarı gösteririz. Ama ağımızda çok bilgisayar olduğu için ikinci DNS sunucuya bilgileri girmek büyük bir yük getirecektir. Üstelik işlerimiz ilk girişle bitmeyecek. Bir de her iki DNS sunucusunun bilgilerinin güncel kalmasını sağlamamız gerekecektir. İkinci DNS sunucuda burda bize kolaylık sağlar.
İkincil DNS sunucunun bilgilerini bağlı bulunduğu DNS sunucusundan alması “bölge bilgisi aktarımı”(zone transfer) olarak adlandırılır.
İkincil DNS sunucu hem yük dağıtımı yapmamızı hem de bir arıza durumunda sistemin ayakta kalmasını (isim/IP çözümlemesi yapılabilmesi) sağlar.
Her bölgenin bilgisi ayrı dosyalarda saklanır. Bu yüzden birincil, ikincil gibi gibi ayrımlar bölge temelinde yapılır. Yani bir DNS sunucu bir bölge için birincil DNS sunucu iken, başka bir bölge için ikincil DNS sunucu olabilir.
Yalnızca-Kaşeleyen DNS sunucu
İkincil DNS sunucu tek bir lokasyonda, hızlı bir ağ üzerinden birbirine bağlanmış çok sayıda bilgisayarın bulunduğu kurumlar için oldukça iyi bir çözümdür. Fakat kurumda çok sayıda bilgisayar bulunuyorsa birincil ile ikincil DNS sunucular arasındaki bölge bilgileri aktarımı büyük bir trafik üretecektir. Bunun çözümü için yalnızca-kaşeleyen DNS sunucu kurulmalıdır.yalnızca-kaşeleyen sunucuya bilgiler elle girilmez. İkinci lokasyondaki bilgisayarlara DNS sunucu olarak kendi lokasyonlarındaki yalnızca-kaşeleyen sunucunun adersi verilir.yalnıca-kaşeleyen DNS sunucuda birinci lokasyondaki birincil ya da ikincil DNS sunucunun adresi vardır.
Bir bilgisayar isim/IP çözümlemesi yapacağı zaman bu yalnızca-kaşeleyen DNS sunucuya gider. Yalnızca-kaşeleyen DNS sunucuda bir bilgi yoktur bu yuzden yalnızca-kaşeleyen DNS sunucu iki lokasyon arasındaki hatta çıkar, bağlı bulunduğu DNS sunucuya gider, sorgulamasını yapar, aldığı yanıtı da soru soran kendi lokasyonundaki bilgisayara iletir ve elde ettiği bilgiyi bir DNS kaşesinde saklar. Eğer aynı bilgiye belli bir zaman diliminde ikinci bir bilgisayar daha erişmek isterse artık aradaki hatta çıkmadan elimizdeki bilgiyi kullanırız.
DNS dosyaları
DNS için gerekli olan dosya türleri şunlardır:
1-named.boot: Bu dosya, DNS çalışmaya başladığında program tarafından okunan ilk
dosyadır.
2-named.local: Bu dosya, "loopback" denilen ve makinenin kendisini gösteren adresin
çözümlenmesi icin kullanılan bir dosyadır.
3. named.ca: En üst seviyede bulunan ve "root server (.)" denilen makinelerin adreslerini içerir.
4. named.hosts: Bu dosya, DNS çalıştıran bir alt alanda bulunan makinelerin adreslerinin yazıldığı yani sorumlu olduğunuz alanınızda çalısan tüm bilgisayarların adreslerinin tutuldugu dosyadır.
5. named.reverse: Bu dosya, yukarıda açıkladığımız named.hosts dosyasının içerdiği IP adreslerini makinelerin isimlerine çevirmek için kullanılır ve yapı olarak named.local dosyasına benzer.
DNS'te kullanılan kaynak kodlar ve anlamları
Standart DNS kaynak kodlarının yazım formatı şu şekildedir:
; [isim] [ttl] [sınıf] [kod] [diger uygun tür - adres,açıklama vs.]
[isim/name] : Sorumlu olunan alt alan ismini belirtir.
[ttl] : (Time To Live). Saniye olarak bellekte (cache) tutulacak olan bilginin süresi.
[sinif/class] : Kaydın sınıfını belirler. Diğer sınıflar olmasına rağmen DNS'te genelde IN kullanılır.
[kod] : Kaynak kodunun ne oldugunu gösterir. A,NS,MX,vs...
A – Address : Belli bir makinenin internet adresini bildirmek ve makine ismini IP adresine eslemek icin kullanılır.
|