AnasayfaspaceHaberlerspaceYazılarspaceForumspaceBilgilerspaceYazılımspaceLinklerspaceResimlerspaceSitemapspace

Merhaba Misafir, Forumlarımıza hoşgeldiniz.

Üye olmak için burayı tıklamanız yeterli. Kayıt işlemi ücretsiz olup, konulara cevap yazabilmeniz için gereklidir.
Hatırla
Parolanız
   
Forum
 Internet, WWW, Web, Network / WWW, WEB, Site kurulumu ve araçları
        DNS - Domain Name System Nedir?

DNS - Domain Name System Nedir?


16.09.2007 23:05

kEditor


Administrator
Aktif Üye

Mesaj sayısı 143
 27.02.2007, 00:08:44
DNS, Domain Name System’in kısaltılmış halidir. Türkçe anlamı ise "internet alan isimlendirme sistemi" olarak bilinir. DNS, 256 karaktere kadar olan host isimlerini IP’ye (internete bağlı her bilgisayar yada server sadece kendine ait bir numaraya sahiptir) çevirmek için kullanılır. Bir sitenin ismi, numarasından daha kolay akılda kalır. Bu adres protokol seviyesinin IPv4 ve IPv6 olmasına göre 32 bit ya da 128 bit uzunluğundadır. Alan Adı, 32 ya da 128 bit uzunluğundaki sayı yerine insanların anlayacağı, akılda tutacağı, kurumsal kimlik ve marka ile özdeşletirebileceği isimlerin kullanılmasını sağlar. Host ismi (host name), tümüyle tanımlanmış isim (full qualified name) olarak da bilinir. Hem bilgisayarın ismini, hem de bilgisayarın bulunduğu internet domainini gösterir. Kısaca 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ındaki bağlantıyı sağlar. IP adreslerinin gündelik hayatta kullanımı ve hatırlanması pek pratik olmadığı için, alan isimlendirme sistemi kullanılır. Esas amacı, ağ uzerinden gelen alan adı veya IP numarası 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. Bir siteye erişmek istediğinizde, DNS sayesinde hangi sitenin hangi serverde olduğu, hangi IP numarasının hangi bilğisayara ait olduğu belirlenir.

DNS'in tarihçesi

1984 yılına kadar DNS sistemi yoktu. O yıla kadar isim-IP çözümlemesi HOSTS adında bir metin dosyası ile yapılmaktaydı. İnternetteki bilgisayarların isimleri ve IP adresleri bu dosyaya kaydediliyordu. İnternetteki 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.TXT 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.TXT dosyası kullanmanın başka bir zararı 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 nedenlerle internet yetkili organları, 1984 yılında DNS’i geliştirdiler. DNS hem bilgisayar veri tabanını geniş bir yapıya kavuşturuyor, hem de bilgisayarlar arasında hiyerarşik bir yapı kurulmasını sağlıyordu.

DNS’de geniş veri tabanı şöyle sağlanıyordu: Bilgisayarlar, bulundukları yerlere, ait oldukları kurumlara göre sınıflandırılıyorlardı. Örneğin Türkiye'deki bilgisayarların listesini (tr alan adı), Türkiye’den sorumlu bir DNS sunucu makine tutuyordu. Böylece internet ortamındaki bütün bilgisayarların bilgisi, bir yerde tutulmamış oluyordu.

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 istemcileridir. DNS istemcilerinde ise, 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.

İnternet adresleri ilk önce ülkelere göre ayrılır. Adreslerin sonundaki tr, de, fr, uk gibi ifadeler, adresin bulunduğu ülkeyi gösterir. Örneğin "tr" Türkiye'yi, "de" Almanya'yı, "fr" Fransa'yı, "uk" İngiltere'yi gösterir. Sadece ABD adresleri için bir ülke takısı kullanılmaz. Çünkü DNS ve benzeri uygulamaları geliştiren ülke ABD’dir. Öte yandan, ABD'ye özel kuruluşlar için "us" uzantısı yaratılmıştır.

İnternet adresleri ülkelere göre ayrılıdıktan sonra .com, .org, .net, .info, .int, .edu, .tv, .biz, .aero, .travel, .jobs, .gov, .mil 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 domainler aşağıdaki gibidir:

[LIST]
  • Com :Ticari kuruluşlar, amaçlar için kullanılır. Ancak genelde yeni açılan her site bu uzantıyı kullanır.
  • Org :Ticari olmayan, hükümete de bağlı bulunmayan kurumları gösterir.
  • Net :Internet omurgası işlevini üstlenen ağları gösterir.
  • Info : Bilgi vermeyi hedefleyen kullanımlar için düşünülmüştür.
  • Edu :Eğitim kurumlarını 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.
  • [/LIST]

    Alan isimleri, agaç yapısı (tree) denilen ve belli bir kurala göre dağılan bir yapıda kullanılmaktadır. ABD hariç, internete baglı olan tüm ülkelerdeki adresler, o ülkenin ISO3166 ülke kodu ile bitmektedir.

    Yetki Bölgesi (Zone of Authority) Nedir?

    Yetki bölgesi, DNS sisteminde belli bir adres aralığıdır. Her yetki bölgesinden sorumlu bir isim sunucusu, yani DNS sunucusu vardır. DNS sunucusu, yetkili olduğu bölgedeki bilgisayarların isimlerini ve IP adreslerini içerir. Aynı zamanda bu bölgeye dair sorgulamalara da yanıt verir. DNS sunucunun yetki bölgesi en az bir tane alan adı içerir. Bu alan adı bölgenin kök alan adı olarak adlandırılır. Yetki bölgesinde kök alan adının altında bir veya birden fazla alt alan adı içerebilir. Bir DNS sunucu birden fazla bölgeyi yönetebilir.

    DNS Server (Sunucu) çeşitleri

    DNS sunucular, çalışmalarına göre üçe ayrılırlar:

    [LIST=1]
  • Birincil isim sunucu : Bölgesiyle ilgili bilgileri kendisinde bulunan bölgeden (zone file) elde eder. Bu dosyaya bilgiler elle tek tek girilir.
  • İkincil isim sunucu: 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: 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.[/LIST]

  • Birincil DNS Sunucu (Primary Name Server) Nedir?

    Birincil DNS sunucu yetkili olduğu bölge ile ilgili bilgileri kendi üzerinde bulunan bölge dosyasından (zone file) alır. O bölgede bulunan bilgisayarlara da DNS sunucu adresi olarak Birincil DNS sunucunun adresi verilir. Böylece Alan adı - IP çözümlemesi yapan istemci bilgisayarlar, Birincil DNS sunucuya başvururlar, isme karşılık IP adresi bilgisini ondan alırlar.

    İkincil DNS Sunucu (secondary name server) Nedir?

    Eğer ağımızda çok sayıda bilgisayar varsa, bütün bilgisayarların tek bir DNS sunucuya gitmeleri sonucunda alan adı - 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ş 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ı (alan adı - 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 (caching-Only name server) Nedir?

    İ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ızca-kaşeleyen DNS sunucuda birinci lokasyondaki birincil ya da ikincil DNS sunucunun adresi vardır.

    Bir bilgisayar alan adı - 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 devreye girer ve bağlı bulunduğu DNS sunucuya gider, sorgulamasını yapar, aldığı yanıtı da soru soran kendi lokasyonundaki bilgisayara iletir. 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 için gerekli dosyalar nelerdir?

    DNS için gerekli olan dosya türleri şunlardır:

    [LIST]
  • named.boot: Bu dosya, DNS çalışmaya başladığında program tarafından okunan ilk dosyadır.
  • named.local: Bu dosya, \"loopback\" denilen ve makinenin kendisini gösteren adresin çözümlenmesi icin kullanılan bir dosyadır.
  • named.ca: En üst seviyede bulunan ve \"root server (.)" denilen makinelerin adreslerini içerir.
  • 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.
  • 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.
  • [/LIST]

    DNS'te kullanılan kaynak kodlar ve Türkçe 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.
    CNAME - Canonical Name : Esas makine ismine ek olarak başka bir isim daha tanımlamak için kullanılır.
    HINFO - Host Information : Bilgisayarın donanım ve işletim sistemi bilgilerini yazmak için kullanılır
    MX - Mail Exchanger : Belli bir alan adına gelen e-postaların hangi makineye dağıtılacağını gösterir
    NS - Name Server: Internet üzerindeki belli bir alandan sorumlu olan bilgisayarın adresini belirtir
    PTR – Pointer : Bilgisayar IP adresini bilgisayar ismine eşlemek için kullanılır.
    SOA - Start of Authority : SOA tanımı, internet üzerindeki bir alanın başlangıcını ve bu alandan sorumlu olunduğunu belirlemek için kullanılır.
    TXT - Text Data : Açıklayıcı bilgi vermek amacıyla kullanılır
    WKS - Well Known Services : Bilgisayar tarafindan sunulan servisler hakkında bilgi verme amacıyla kullanılır
    DNS dosyaları içinde kullanılan anahtar sözcükler
    Directory: Belirtilen dosyaların bulunacağı dizin burada verilir.
    Cache: Cache dosyasını belirtir.
    Primary: Ana sunucunun (Primary Name Server) adı burada verilir. Alana ait temel bilgiler burada bulunur ve program ilk olarak aramaya bu sunucudan başlar.
    Forwarders: Ana sunucuda makine bulunamazsa burada belirtilen sunucuda aramaya başlanır
    Serial: Burada seri numarası bulunur ve bu numaranın dosyada yapılan her değişiklikten sonra bir artırılması gerekir.
    Refresh: Burada, ayarlama yapılan dosyaların ne kadar sürede bir kendini yenilediği belirtilir.
    Retry: Burada ne kadar sürede bir aramanın yeniden deneneceği belirtilir.
    Expire: Ne kadar süre sonra aramanın sonlandırılacağı belirtilir.
    Ttl (Time-To-Live): Belirtilen süre kadar cache tutulabileceğini belirtir. Burada süre verilmemişse SOA\'daki değer kullanılır.
    Name : Makine adı belirtilir.
    Data : IP numarası belirtilir.
    Bir name server’ın görevi
    *İsim/IP çözümlemesi yapmak
    *Yaptığı sorgulamaların sonuçlarını belli bir süre saklamak
    *Kendi domaini için isim/IP bilgilerini sunmak

    DNS sorgulaması nasıl yapılır?

    Bilgisayar herhangi bir adres sorgusu yapmak istediğinde bu sorgusunu Lokal DNS’e gönderir. Lokal DNS ise bu adresi bularak isteğe cevap verir. Eğer Lokal DNS üzerinde bu bilgi yoksa, bilgisayar sorgusunu Lokal DNS’e gönderir. Lokal DNS bu isteği alır. Kendi verilerinde bu isteğin karşılığı bulunmadığı için kendisinin bir üst seviyesindeki yetkili root DNS makinasına bu isteği iletir. Root DNS aranılan adresten sorumlu olan sunucunun adresini, yani uzaktaki DNS’in adresini Lokal DNS’e iletir. Lokal DNS aldığı bu adrese istenen sorguyu gönderir. Uzaktaki DNS istenen veriyi Lokal DNS’e gönderir. Lokal DNS ise aldığı veriyi sorgulama işleminin yapan ilk bilgisayara verir. Aynı isteklerin bir yerde toplanması (cache) sorgulama işleminin hızını arttırır. Lokal sunucu aynı adrese bağlanmak isteyen başka bir bilgisayar için ilk adımları atlayarak işlemi daha hızlı gerçekleştirir.

    Ters DNS Sorgulaması (Reversed DNS) Nedir?

    DNS sunucusu herzaman isim/IP çözümlemesi yapmaz. Eğer uygun bir şekilde kurulursaIP/isim çözümlemesi de yapabilir. Yani bir DNS sunucuya IP adresi verip, karşılığında isim de alabiliriz. Buna ters sorgulama (inverse query) denilir. Ters sorgulamayı kolaylaştırmak için in-addr.arpa adında özel bir domain yaratılır. Bu domainde de isim/IP eşlemeleri bulunur ama IP adresleri soldan sağa doğru, isimler ise sağdan sola doğru özelleştikleri için bu domaindeki adreslerin oktetleri tersten yazılır.
    In-addr.arpa domaini yaratıldıktan sonra işaretçi kayıtları (pointer records) denilen kayıtlar bu domaine eklenir. Örneğin, 72.14.221.104 adresine karşılık gelen bilgisayar ismini (google) bulmak için DNS sunucuya in-addr.arpa kayıtı sorulur.

    DNS Nasıl Kurulur? (Windows Serverler için)

    keditor.com gibi bir domain ismine sahip bir işletmenin DNS sunucusunu oluşturmak için izleyeceğimiz basamaklar şunlardır: Öncelikle bu domain için C sınıfı adreslerin kullanıldığını varsayalım. C sınıfı adresimiz 123.456.789.0 olsun. Yani bu domaindeki adresler 123.456.789.1 ile 123.456.789.254 arasında yer alacaktır.

    DNS hizmetini yüklemeden önce TCP/IP özelliklerinden DNS sayfasına gidip domain ismini girmemizde yarar vardır. Windows Serverler de DNS hizmeti, diğer ağ hizmetleri gibi Denetim Masasındaki Ağ uygulamasından yüklenir, ve sistem yeniden başlatılır. Linux'larda ise BIND ayarları her sistee göre farklı biçimde kurulur ve çalışıtırlır.

    Windows'ta DNS Sistemi açılınca, Yönetimsel Araçlar menüsüne DNS yöneticisi şeklinde bir seçenek eklenir, DNS hizmeti buradan düzenlenir.

    DNS yöneticisi bölümüne girip, DNS menüsünden New Server (Yeni Sunucu) seçeneğinden DNS sunucu ekleriz. Sonra bu sunucu altına yetkili olduğumuz bir zone (bölge) yaratırız. Bunun için eklediğimiz sunucu üzerinde iken, DNS menüsünden New Zone (Yeni Bölge) şıkkını tıklarız. Sunucumuzu birincil yada ikincil olarak tanımlarız. Yeni bir kurulum yaptığımız için birincil’i seçmek gereklidir. Karşımıza, Zone Name (Bölge İsmi) ve Zone File (Bölge Dosyası) isminin sorulduğu bir kutu gelir. Zone name kısmına keditor.com yazıp TAB tuşuna bastığımız takdirde bilgisayar otomatik olarak zone file bölümünü keditor.com dns olarak yazar. Bu bilgileri girdikten sonra işlemi tamamlamak için finish (bitir) tuşuna basarız.

    Yeni oluşturduğumuz bölgede kendiliğinden yaratılmış kayıtlar vardır. Bu kayıtların isimleri, kayıt tipleri ve bilgileri yazılıdır. Kayıt tipi bölümünde NS,MX, SOA, ve A gibi ifadeler görürüz. Bu ifadeleri açıklamak gerekirse:

    [LIST]
  • NS, bu satırdaki kayıtın isim çözümleyici (name server) bilgisayara ait olduğunu gösterir.
  • SOA, ise yetki bölgesi başlangıcı(start of authority) anlamına gelir ve DNS kuruluşu ile ilgili bilgiler içerir. Örneğin, kayıt sonunda eğer “administrator” ifadesi varsa bu ifade bölgeden sorumlu kişinin adını içerdiğini gösterir.
  • MX kaydı, mail server yada mail yönlendirmeleri için kullanılır.
  • A kayıtı ise isim çözümleyici bilgisayarın, yani DNS sunucu bilgisayarın IP adresini verir.
  • [/LIST]

    Ters sorgulama yapacaksak, bu aşamada ters sorgulama bölgesini (reserve look-up zone) de yaratmalıyız. Bunun için DNS New Zone şıkkını tıklarız. Yaratacağımız bölge, yine birincil olmalıdır. Bölgenin isminin ilk kısmı bir IP adresine karşılık geliyor. İkinci kısım olan in-addr.arpa ise her ters sorgulama bölgesinin isminde bulunması gereken bir ifadedir. Girdiğimiz adres C sınıfı bir adres olduğu için de üç oktet olur. Böylece sonuncu oktet ne olursa olsun bize kendi IP'miz ile başlayan bir adres sorulduğunda bu adrese karşılık gelen alan adına yönlendireceğiz.
    Kullanıcı çevrimdışı Yazıcıya Gönder
     

    Sayfayı yazdır  |  Önceki Konu  |  Sonraki Konu
    Hızlı Menü
     




    Forum istatistikleri
    Konular:202, İletiler:250, Kullanıcılar:224
    Aramıza en son katılan üyemiz, rahmanbaba1967
    Doğum Günü Olanlar
    mert (13)