Konular
Link Değişimi
Php
Mysql
Html
Javascript
Windows Vista
Program Anlatımı
Internet
Google
Windows 2003 Server
Komikler
Windows Xp
Isa Server
Network
Ofis Programları
Css
Photoshop
Donanım
Joomla
Youtube Video
Diğer Konular
Jquery

Linklerimiz
Eskişehirde Kiralık Daireler
Gulet Charters
Boat Rental Turkey
Otel Şikayet
2012 Erken Rezervasyon Otelleri
Sofabed Hotel
Antalya Tekne Kiralama
Kos Bodrum Ferry Boats
Yacht Broker in Turkey
Otel telefonları
Otel Video
Otel Dizin
Hotel Directory
Otel Resimleri
Otel Maps
Boutique Gulets

 
Network Dns nedir - domain naming system
bir ıp 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 ınternetin 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ı srı tarafından srı-nıc 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 srı'ya gönderilen e-postalar aracılığı ile yapılıyor ve hosts.txt'in kopyası ftp ile alınıyordu.

arpanet üzerinde tcp/ıp 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.

[only registered users can see links]
şekil 1

ilk tabloda en üst seviye alan adları tanımlanmış ve bu tabloda bulunan alt alan adlarının bilgileri ilgili tablolara işaret edilmiştir. bu tek bir veritabanında gösterilmiş bir yapılanmadır. bu yapıda tablolar farklı veritabanları üzerinde tutularak yönetim kolaylaştırılabilir. bu durumda oldukça dinamik ve etkin bir mekanizma kurulmuş olur.

dağıtık veritabanları arasında istemci-sunucu yöntemi ile bağlantı kurulur.

az önce belirtilen en üst seviye alan adları arasında 'com', 'net', 'gov' vb yanında ülkelerin ıso tarafından belirlenen sembolleri de tanımlanmıştır (tr, uk, fr, gr gibi).

yukarıdaki açıklamaların paralelinde oluşan hiyerarşik alan adı ağacı şekil 2'de gösterilmiştir.
[only registered users can see links]
şekil 2

alan adı dağılımı en üst seviyeden başlar ve alt dallara doğru bölünür. bir alan adının okunuşu en alttan başlayarak en üste doğru yapılır. ağacın en altında bulunan alan adı 'ankara.ulak.net.tr' şeklinde okunacaktır.

en üst seviye alan adlarının yönetimi ınternıc tarafından yapılmaktadır. ıso kodları ile tanımlanmış ülke adlarının yönetimi ülkelere göre değişiklik göstermektedir. türkiye'nin ıso kodu olan 'tr' üst seviye alan adının yönetimi orta doğu teknik üniversitesi (odtü) tarafından yapılmaktadır. dolayısıyla 'com', 'net', 'gov' gibi alan adlarına kayıt ınternıc tarafından; 'com.tr', 'net.tr' gibi alan adlarına kayıt odtü tarafından yapılmaktadır. alan adı kayıtlarıyla ilgili daha fazla bilgi için [only registered users can see links] ve [only registered users can see links] adresleri incelenebilir.

'ankara.ulak.net.tr' örneğinde, 'ankara.ulak.net.tr' alan adı ulaknet sunucuları üzerinde, 'ulak.net.tr' alan adı odtü sunucuları üzerinde, 'net.tr' alan adı yine odtü sunucuları üzerinde, 'tr' alan adı ise root server adı verilen en üst seviye alan adı sunucuları üzerinde tanımlanmış durumdadır. dikkat edilmesi gereken nokta alan adları alındıktan sonra bu alan adındaki isimlendirmenin lokalde yapıldığıdır. bu daha önce de değinilen yönetimin dağıtık olarak yapılabilmesini sağlar.

bu bilgiler ışığında 'xxx.ankara.ulak.net.tr' ya da 'yyy.ulak.net.tr' şeklindeki bir tanımlama ulaknet'in kontrolünde, benzer şekilde 'abc.com.tr' ya da 'xyz.net.tr' şeklindeki bir tanımlama ise odtü'nün kontrolündedir.

incelenen alan adı ağacı maksimum 127 basamaktan oluşabilir ki bu da pratikte ulaşılması imkansıza yakın bir değerdir.

3 dns çözümlemesi

dns'in yapısı anlatılırken dağıtık bir veritabanı şeklinde oluşturulduğu ve uçların birbirbirleriyle istemci sunucu mantığı ile konuştuğunu söylenmişti. bu işlevi yerine getiren programlara alan adı sunucu adı verilir (name server). alan adı sunucularını alan adı ağacı üzerinde nokta ile gösterilirler.

her alan adı sunucu bir veya birkaç alan adı bilgisini tutar ve bu alan adları için en yetkili alan adı sunucudur. diğer alan adları için sorgularda bu alan adları için en yetkili alan adı sunucularını bulmaya çalışır.

alan adı sunucular yerine getirdikleri kritik işlev nedeniyle genellikle yedekli olarak çalıştırılırlar. bilgilerin tutulduğu ana veritabanı birincil alan adı sunucu olarak adlandırılır. ikincil sunucualr birincil alan adı sunucularının verilerini periyodik olarak kendi veritabanına kopyalarlar. birincil sunucuda herhangi bir problem yaşandığında sorgulama ikinci sunucular üzerinde yapılır.

dns çözümlemesi birkaç kademede incelenebilir. ulaknet alan adı sunucusunu kullanan bir istemcinin '[only registered users can see links]; adresini sorguladığı durumda sunucu kendi veritabanında tanımlı olan bu adresi istemciye döndürecektir. bu, ulaknet alan adı sunucusu 'ulak.net.tr' alan adı altında bulunan tanımlar için en yetkili sunucu olduğu için bu şekilde gerçekleşmiştir.

şekil 3'te bu sorgunun nasıl gerçekleştirildiği görülmektedir.
[only registered users can see links]
şekil 3

görüldüğü gibi istemci '[only registered users can see links]; adresini bu alan adı için en yetkili durumdaki alan adı sunucusunda sorgulamış ve bu adrese tanımlanmış ıp 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 '[only registered users can see links]; 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 '[only registered users can see links]; 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 '[only registered users can see links]; 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', '[only registered users can see links]; adresini 'ns.ulak.ne.tr' üzerinde sorgulayacak ve 'ns.ulak.net.tr' kendi veritabanında '[only registered users can see links]; 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.

bu sorgulama şekil 4'te gösterilmiştir.

[only registered users can see links]
şekil 4

bu analizde dikkati çekmesi gereken iki önemli nokta bulunmaktadır.

öncelikle '.tr' dan sorumlu gözüken 'ns1.metu.edu.tr'nin '.net.tr' için ayrı bir alan adı sunucuya yönlendirme yapmadığı, doğrudan 'ulak.net.tr' alan adı sunucusuna yönlendirme yaptığına dikkat edilmelidir. bu 'ns1.metu.edu.tr' hem '.tr' hem de '.net.tr' için alan adı sunucusu olduğu için bu şekilde gerçekleşmiştir. eğer '.tr' ve '.net.tr' farklı sunucular üzerinde tanımlı olsalardı 'ns.digex.net' ayrıca '.net.tr'den sorumlu sunucuyu da sorgulamak durumunda kalacaktı.

dikkat edilmesi gereken diğer nokta ise istemcinin alan adı sunucuya yalnızca bir sorgu iletmesi ve tüm iş sunucu tarafından yapıldıktan sonra yalnızca cevabı almasıdır. aynı durum 'ns.digex.net' diğer alan adı sunuculara ulaşırken ortaya çıkmamış ve her biri ayrı ayrı sorgulanmıştır. bunun sebebi 'ns.digex.net' sunucusunun tekrarlı (recursive), diğer alan adı sunucularının ise tekrarlı olmayan (iterative) bir şekilde sorgulanmış olmasıdır.

4 ıp'den isim çözümlemesi

bölüm 3'te isimden adres çözümlemesi incelenmiştir. şu ana kadar anlatılan yapı tüm sistemin isimden adres çözümü için tasarlandığı izlenimini vermektedir. ancak pratik ihtiyaçlar, ıp adresinden isim çözümünü de gerekli kılmaktadır.

böyle bir sorgunun şu ana kadar incelenen yapı üzerinde nasıl çalışabileceğine bakalım. isimlerin indesklenmesine göre oluşturulmuş hiyerarşik bir sistem görülmektedir. ancak ıp adreslerin bu yapı üzerinde herhangi bir hiyerarşik yapısı bulunmamaktadır. örneğin '[only registered users can see links]; adresi 193.140.83.9 ıp numarası ile adreslenmişken 'truva.ulakbim.gov.tr' adresi 193.140.83.13 ıp numarası ile adreslenmiş olabilir. bu da 193.140.83. ile başlayan ıp'lerin teorik olarak tüm alan adı uzayına yayılmış olabileceğini gösterir.

görüldüğü gibi mevcut yapıda bir ıp adresinin isim karşılığını bulmak için veritabanının tümünün taranması gerekmektedir. bu ise indeksi olmayan dağınık durumdaki milyonlarca kaydın taranması anlamına gelir ki imkansıza yakın bir uğraştır. bu sorunun çözülebilmesi için ıp adreslerine için de hiyerarşik bir yapının kurulması gerektiği görülmektedir.

bu yapıya geçmeden önce ıp adreslemenin özelliklerinin hatırlanması yararlı olacaktır. ıp adresleri ilk oktetten son oktete (soldan sağa doğru) en genelden en özele doğru sıralanırlar. örneğin '193.140' hem '193.140.83.13'ü hem de '193.140.83.9'u içine alır.

alan adları ise buna ters olarak sağdan sola doğru en genelden en özele doğru sıralanırlar. örneğin '.tr' hem ulak.net.tr'yi hem de 'metu.edu.tr'yi içine alır.

iki gösterim de genelden özele sıralanabildiğine göre mevcut hiyerarşik yapılandırmaya ıp numaraları için bir üst seviye alan adı eklenmesi mümkündür. bu alan adı 'in-addr.arpa' şeklinde ifade edilir. bu üst seviye alan adı 1'dan 255'e kadar çeşitli alt alanlara bölünür. bu bölümlemeye 4 okteti tamamlayacak şekilde devam edilebilir. bu durumda ortaya çıkan yapı şekil 5'te gösterilmiştir.
[only registered users can see links]

şekil 5

üst seviye alan adları arasına 'arpa' adında bir alan adı eklenmiştir. bu alan adının altında 'in.addr' şeklinde bir alan daha tanımlanmıştır. bu alan adının altında ıp numarasının ilk okteti alan adı olarak eklenmiş, bunu sırayla ıp numarasının ikinci,üçüncü ve dördüncü oktetleri izlemiştir.

görüldüğü gibi artık 193.140.83.13 ve 193.140.83.9 ıp numaralarının isim karşılıklarını bulmak son derce kolaylaşmıştır. incelene isim sorgusuna benzer bir şekilde ıp-isim sorguları da bu yapının yardımyıla yapılabilmektedir. ancak dikkat edilmesi gereken önemli birkaç nokta bulunmaktadır.

normal alan adı isimlendirme sisteminde isimler ağacın en altından en üstüne doğru okunulur. bu durumda ıp numaraları bilinenin aksine özelden genele doğru okunacaklardır. örneğin 193.140.83.13 ıp numarasının dns ağacı üzerinde okunuşu 13.83.140.193.in-addr.arpa şeklinde olacaktır.

dikkat edilmesi gereken diğer bir nokta ise isimden ıp'ye yapılan tanımlama ile ıp'den isime yapılan tanımlama arasında herhangi bir bağlantı bulunmayışıdır. örneğin '[only registered users can see links]; adresi dns üzerinde 193.140.83.9 olarak tanımlıyken, '193.140.83.9' ıp adresinin ismi 'efe.ulakbim.gov.tr' şeklinde tanımlı olabilir.

5 dns cache

dns çözümlemesinde anlatıldığı şekilde isim çözümleme işlemi ardışıl olarak alan adı sunucularının sorgulanmasını gerektirir. bu işlem oldukça vakit alıcı bir işlem olabilir ve karşılıklı olarak sistemler üzerinde yük oluşturduğu gibi hatlar üzerinde yüksek miktarda bant genişliği harcayabilir.

bunun engellenmesi ve sorgunun mümkün olan en kısa sürede sonuçlandırılabilmesi için alan adı sunuculara cache özelliği eklenmiştir. bu sayede bir alan adı sunucu daha önce sorguladığı alan adlarını kendi belleğinde tutarak yeni sorgularda diğer alan adı sunucularını sorgulamadan doğrudan cevap verebilir. bu yukarıda anlatılan olumsuzlukları belli bir derecede önleyecektir. ancak burada önemli bir nokta gözden kaçırılmamalıdır.

sorgulanan alan adında son sorgulamadan sonra değişiklik yapılmış olabilir. bu durumda bellekte tutulan bilgi güncelliğini yitirmiştir ve istemciye hatalı bilgi geri döndürülecektir.

bu ancak belli bir noktaya kadar kabul edilebilir bir durumdur. alan adı tanımları normalde çok sık değiştirilen tanımlamalar değillerdir. nadiren değitirildiklerinde de değişikliğin aktive olması için bir gün gibi bir süre çoğu zaman yeterlidir. şu halde bellekte tutulan bilgilerin bir süre sonra güncelliğini yitirdiği kabul edilmelidir. bunu belirleyen değere daha önceki konularda da değinildiği gibi ttl (time to live, yaşam süresi) denilmektedir ve her alan adının tanımlanmasında bu alan adı için geçerli ttl değeri belirtilir. bu alan adından sorgulanan bilgiler bellekte ttl süresince tutulduktan sonra güncelliğini yitirdiği kabul edilir.
Böyyük Patron Tarafından 22-08-2007 Tarihinde Gönderilmiştir.   Bu Konuyu Yazdır
Kaynak : 

 

En Son Eklenenler
İnternet
card recovery
php
ip adresi kontrolü ip validate
php
url adresi kontrolü validate url
php
php mail adresi kontrolü filter_var
php
dosya include error hatasını engellemek
jquery
internet explorer position fixed sorununu jquery ile çözmek
jquery
input alanlara girilen sayıların toplanarak gösterilmesi
MYSQL
aynı satırdaki (row) field değerlerin içinde en büyüğünü (max) bulmak
MYSQL
aynı satırdaki (row) field değerlerin içinde en küçüğünü (min) bulmak
jquery
select kutusunda seçilen option daki attribute özelliğindeki değeri almak
jquery
jquery dizide max ve min işlemeleri array max min
MYSQL
mysql de türkçe kayıtlı alanlarda arama yapmak
php
str_shuffle()
php
sql_regcase()
php
mysql_affected_rows()
php
php Chop
php
php pathinfo
MYSQL
Mysql de trigger
php
eposta adresine ait mx kaydının olup olmadığını kontrol etmek
php
Türkçe karakter destekli array sort
Javascript
Diziler ve Türkçe Karakterleri Sıralama
php
php curl türkçe karakter sorunu çözülmüştür
jquery
jquery mouse sağ tuşu kilitlemek
jquery
jquery tagların value değerini öğrenmek
jquery
jquery multiple selector çoklu element seçimi
jquery
jquery zebra tablolar yapmak iki renkli tablo yapımı
jquery
jquery sayfayı refresh etmek sayfayı yenilemek
jquery
jquery resim yüklenemiyorsa farklı resim göstermek
php
tckimlik sorgulama
php
php ile javascript ve style (css) dosyalarını browsere sıkıştırarak göndermek
php
curl ile twitpic.com sitesine resim upload etmek
php
stringde aradağımız stringin posizyonunu bulmak tripos()
php
stringdeki karakekterlerden rastgele yeni karakter türetmek str_shuffle()
php
addcslashes()
php
sabitleri yoketmek defined()
php
php kodlarını renkli göstermenin basit yolu show_source()
php
glob ile dosya listelemek
php
iki ayrı dizide değeri aynı olanlardan yeni bir dizi yapmak array_intersect()
php
dizi key ile değerini yer değiştirmek array_flip()
php
dizilere filtre uygulamak array filter
İletişim : bpatron@codekodu.com
774560Kişi Tarafından Sitemiz Ziyaret Edilmiştir. 11 Kişi Online
Bugün 23 Saat 09 Dakikada Sitemizi Tekil 711 Kişi Ziyaret Etmiştir.
Dün Sitemizi Tekil 723 Kişi Ziyaret Etmiştir.
Sitemizi En Çok Tekil 12-12-2011 Tarihinde 857 Kişi Ziyaret Etmiştir.
Sitemizdeki bilgilerin büyük çoğunluğu alıntıdır.İlgili yazının yazarının veya kaynak sahibinin istemesi halinde ilgili yazı sitemizden kaldırılacaktır.
Sitemizin İmalatı Böyyükpatron Tarafından Yapılmıştır.