Isimler ve Adresler
Adresleme stratejileri
Ilk bilgisayar sistemleri, kullanicilarin sayisal adresleri anlamalari ve kullanmalari temelinde tasarlanmislardi (sistem tablolari, yazici ve teyp uniteleri gibi cihazlar vs.). Daha sonra ortaya cikan sistemlerde harici cihazlar (yazici vs.) ve dosyalar daha anlasilir sembolik isimler ile gosterilmeye basladi. Benzer bir degisiklikte ag baglantilarinda yasandi. Once bilgisayarlar arasi noktadan noktaya bagli ag teknolojisi ortaya cikti ve alt seviye donanim isimleri makinalari tanimlamada kullanildi. Ancak pek cok bilgisayarin birbiri ile baglantisi gundeme geldiginde ust seviye adresleme yapisina gereksinim dogdu. Kullanicilar pek cok makinadan olusan hesaplama ortamlarinda makinalari tanimlamak icin anlasilir sembolik isimlere sahip bir adresleme yapisini talep ettiler. Bilgisayar sayilarinin gunumuze gore cok az olmasi sebebi ile baslangicta sadece makinanin kullanim amacina yonelik bir adlandirma yontemi kullanildi (personel, arastirma, muhasebe, gelistirme vs.). Ancak makina sayisinin artmasi ile sembolik yeni isimlerin bulunmasi ve tum bu birbirine bagli sistemlerin adlarinin bir merkezden kontrolu zorlasmaya basladi.
Adresleme problemlerini en aza indirmek icin, merkezi olarak bilgisayar isimlerinin kontrolu ve kayidi yerine daha uygun bir sistem olarak siraduzensel (hiyerarsik) ve otoritenin dagitildigi merkeziyetci olmayan bir adresleme sistemi getirildi. Bu sistemde adresleme en genelden ozele dogru yapilmakta ve her adres seviyesinin kontrolu yetkisi de dagitilmaktadir. Bu yapiya 'Alan Isimlendirme Sistemi-Domain Name Sistem' veya kisaca DNS ismi verilmektedir. Hiyerarsik yapidaki Alan (Domain) isimleri kavramini biraz daha detayli inceleyelim.
Alan (Domain) ismi birbirinden bir nokta (.) ile ayrilan, siraduzensel seviyedeki alt isimler (subnames) dizisidir. Mesela ODTU Bilgisayar Merkezi Alan ismi olan cc.metu.edu.tr
dort seviye ile gosterilir ve her bir seviyeye de Domain adi verilir. Ornegimizde en alt seviye olan 'cc' (Computer Center) Bilgisayar Merkezini gostermektedir. Ucuncu seviye 'metu', ODTU'nun Domain ismidir. Bir ust seviye 'edu' (Education) ise bu domain'in bir egitim kurumuna ait oldugunu gosterir. En ust seviye 'tr' ise ISO (Internetional Standards Organization) tarafindan belirlenen Turkiyenin ulke kodudur. En ust seviyede kullanilan bazi domain isimleri asagida listelenmistir:
.edu :Eğitim kurumları
.com :Ticari kurumlar
.gov :Hükümet kuruluşları
.mil :Askeri kuruluşlar
.net :İnternet servisi veren kuruluşlar
.org :Vakıf, dernek gibi kuruluşlar.
Kisacasi isimler asagidaki domain ve alt domain siraduzensel yapiya gore verilir: Makine.altorganizasyon.organizasyon.domain
TCP/IP ve DNS
Bilindigi gibi TCP/IP aglarina bagli olan her bilgisayarin ag arayuzu 32-bitlik IP adresi ile tanimlanmaktadir. Ancak IP adreslerinin gundelik hayatta kullanimi ve hatirlanmasi pek pratik olmadigi icin domain isimlendirme sistemi kullanilir. Aslinda TCP/IP yazilimlarinin ag uzerindeki iletisimi saglamak icin isimlere ihtiyaci yoktur, isim yapisi ag kullanicilarinin hayatlarini kolaylastirmak icin ortaya cikarilan bir yontemdir. Kullanicinin tercihine gore IP numaralari veya isimler kullanilabilir. Mesela:
% telnet 144.122.199.20
% telnet knidos.cc.metu.edu.tr
komutlarinin her ikiside ayni islevselliktedir. Her ikisinde de ODTU'de bulunan bir bilgisayara uzaktan baglanmak icin gerekli komut girilmektedir. Her iki durumda da baglanti IP numarasi kullanilarak yapilir. Isim ile baglanti durumunda sistem once bilgisayar ismini (knidos.cc.metu.edu.tr) IP numarasina cevirir ve daha sonra bu numaraya baglantiyi saglar. Dikkat edilirse bu sistem sayesinde makinanin IP adres degisiklikleri kullaniciyi hic etkilememektedir. Isimler ve adresler arasindaki iliskiyi saglayan sistemleri ve programlari kurup calistirmak sistem sorumlularinin gorevidir. Isimlerin IP adreslerine cevrilmesi islemi aslinda cok basit bir islem de degildir. Zira lokal calisan bir bilgisayar aginda hic dikkat edilmeyen pek cok konu bilgisayar agini Internete bagladiginizda cok ciddi problemlere yol acabilir. Ag uzerinde yer alan bilgisayarlarinizin isminin IP adresine cevrilmesi artik dunyanin her yerinden sorunsuz olarak yapilmak zorundadir.
DNS in nasil calistigini ticari bir sirketin Internete baglandigini varsayarak bu ornek uzerinde aciklamaya calisalim. Bu hayali sirketimizin adi PLANET AS. olsun. Sirketimiz su anda Turkiye de calistigi icin tabiiki ust seviye domain adi .tr olacak. Alt seviyede ise sirket olmasindan dolayi .com domaini altinda bulunmaktadir. Bir alt domain ise sirketimizin adini gostermektedir, planet.com.tr. Buyuk bir sirket oldugumuz icin farkli birimlere sahibiz ve her birimimizde ayri bir domain altindadir. Arastirma gelistirme bolumu arge.planet.com.tr, satis bolumu sales.planet.com.tr, destek bolumu support.planet.com.tr gibi.
Birimlerimiz oldukca buyuk oldugu icin her birim kendi Domain Name Servisini kendisi kontrol etmektedir. Sirketimizin ayrica tum bu alt seviye domainleri taniyan bir "root name server" makinasi bulunmaktadir. Alt domainler sadece kendi domainleri ile ilgili bilgiyi ellerinde tutarlar ve bilemedikleri her turlu domain icin sorgulamayi "root name server" uzerinden yaparlar. Ayrica eger istenirse alt seviye domainler (.sales, .arge gibi) kendi iclerinde baska alt seviye domainler de (sub domain) yaratabilirler. Aslinda tum seviyelerdeki domainleri kontrol eden "name server" makinalari kendi sorumluluklari altindaki bilgisayarlarin isimlerini ve IP adreslerini tablolarda tutan birer Bilgi Bankasindan (Database) baska bir sey degildir.
Sirketimiz bu yapiyi kurduktan sonra dogal olarak Internet uzerindeki baska merkezlerle alfanumerik adresler kullanarak haberlesmek isteyecek ya da disardan kullanicilar sirketimizin sundugu bazi servislerimizi alabilmek icin bize ulasmak isteyeceklerdir. Bu noktada sirketimizin "root name server" makinasini ulke icindeki root name server makinasina tanitmamiz gerekmektedir. Su anda Turkiye icindeki .com dahil tum domainler icin bu gorevi knidos.cc.metu.edu.tr adresinde bulunan bir UNIX makina yapmaktadir. Bu "name server" uzerinde PLANET sirketinin root name server kaydi yapildiktan sonra artik dunyanin dort bir yanina alfanumerik isimler kullanarak ulasmak icin haziriz demektir. (Name server taniminin yapilmamasi IP adresleri kullanarak Internet uzerindeki adreslere ulasmamiza engel degildir. Name server bize sadece alfanumerik isimler kullanma imkanini verir.)
Simdi Amerikadaki bir kullanicinin sirketimizin satis bolumundeki unix1.sales.planet.com.tr isimli bilgisayara Internet uzerinden ulasmak istedigini varsayalim.
Sekilde de goruldugu gibi unix1.sales.planet.com.tr adresine ulasmak icin lokal server once ABD’de icm1.icp.net adresindeki name server’a sorguyu yolluyor. icm1.icp.net Turkiye ile ilgili butun kayitlarin knidos.cc.metu.edu.tr adresinden alinacagini bildigi icin sorgulamanin bu adresten yapilmasini istiyor. Ayni sorgu bu sefer knidos.cc.metu.edu.tr adresine yollandiginda sorgulanan adresin netmgr.planet.com.tr tarafindan bilindigi cevabi yollaniyor. Ve sonucta ulasilmak istenen adres (193.141.75.9) netmgr.planet.com.tr adresinden elde ediliyor.
Bu sorgulama sonucu Amerikadaki kullanicinin makinasi unix1.sales.planet.com.tr makinasinin IP adresini ogrenmis oldu ve bu adres ile yapmak istedigi iletisimi sagladi. Bu sorgulamanin sonucu ayrica istekte bulunan bilgisayarin cache bellegine yerlestirildi. Bu bilgi cache bellekte durdugu surece bir daha ayni adrese baglanmak isteyen bir kisi tekrar ayni sorgulamayi yapmaksizin o IP adresine dogrudan ulasabilecektir.