| DNS Nedir ? Nasıl Çalışır? |
|
DNS, konaklari bir alan siradüzeni içinde tutar. Bir alan bir siteler kümesidir. Bu siteler birbiriyle iliskilidir; çünkü beraber bir ag olustururlar (örn., yerleskedeki tüm makineler, BITNET?teki tüm konaklar), çünkü hepsi bir organizasyona baglidir (örn., Amerikan hükümeti), veya hepsi cografi olarak birbirine yakindirlar. Örnegin, üniversiteler genellikle edu alani altinda gruplanir, her üniversite ayri bir alt alan kullanir. Alt alan tüm konaklari içerir. Groucho Marx Üniversitesi groucho.edu alanina sahiptir, matematik bölümünün yerel agina ise maths.groucho.edu atanmistir. Bölüm agindaki konak isimlerine bu alan adi eklenecektir, bu nedenden dolayi erdos isimli konak erdos.maths.groucho.edu olarak tanimlanacaktir. Bu tam ayrintili alan adi (fully qualified alan name (FQDN)) olarak anilir ve konagin dünya çapindaki ayirdedici adidir. Şekil 6.1 de kullanilan alan isimleri uzayinin bir kismi görünmektedir. Bu agacin kökünde bir nokta ile belirtilen kök alandir (root alan) ve tüm diger alanlari kapsar. Bir konak adinin, yerel alan olmadigini ve tam ayrintili alan adi oldugunu belirtmek için bazen isme bir nokta eklenir. Bu nokta, ismin son kisminin kök alan oldugunu belirtir. Şekil 6.1. Alan isimleri uzayinin bir kismi ![]() Isim siradüzenindeki yerine bagli olarak, bir alan üst-seviye, ikinci-seviye veya üçüncü seviye-olarak isimlendirilebilir. Daha fazla seviye bulunmaktadir fakat bunlar ender kullanilir. Asagidaki liste siklikla karsilasabileceginiz birçok üst-seviye alan ismi ile ilgili ayrintilari içermektedir: alan Description edu ((Genellikle ABD?de) Üniversite ve egitim kurumlari. com Ticari organizasyonlar ve firmalar. org Ticari olmayan organizasyonlar. Özel UUCP aglari genellikle bu alandadir. net Ag geçitleri ve agdaki diger yönetsel konaklar. mil Amerikan askeri kurumlari. gov Amerikan devlet kurumlari. uucp Daha önce kullanilan ve bir alana ait olmayan UUCP isimleri bu alan içine alinmistir. Eskiden ilk dört alan ABD için kullaniliyordu fakat son degisikliklerle bunlar küresel Üst-Seviye Alanlar (global Top Level Domains (gTLD)) olarak atanmistir ve artik küresel kabul edilmektedirler. gTLD?lerin kapsamlarini arttirmak için müzakereler baslamistir ve bu gelecekte bize daha çok seçenek sunulacaktir. ABD disindaki her ülke genellikle, ISO-3166?da tanimlanan iki harfli ülke kodundan alinan üst-seviye alanini kullanmaktadir. Örnegin, Finlandiya fi alanini; Fransa fr alanini; Almanya de alanini; ve Türkiye?de tr alanini kullanmaktadir. Her ülkenin NIC kurulusu, bu üst-seviye alanin altindaki konak adlarini istedigi sekilde düzenlemekte özgürdür. Avusturalya uluslararasi üst-seviye alanlara benzeyen ikinci-seviye alanlara sahiptir, bunlar com.au ve edu.au?dur. Almanya gibi ülkeler ise bu ek seviyeyi kullanmak yerine dogrudan bir kurumu belirten daha uzun isimler kullanirlar. Benzerlerine siklikla rastlayabileceginiz ftp.informatik.uni-erlangen.de adresi buna örnek verilebilir. Bir konagin, bu ulusal alanlardan birinin altinda olmasi, o konagin o ülkede bulundugu anlamina gelmez; bir konagin bir ulusal alan altinda olmasi, o konagin o ülkenin NIC kurulusu ile kayit ettirildigi manasina gelir. Bir Isveçli üretici Avusturalya?da bir subeye sahip olabilir ve tüm konaklari se üst-seviye alani altinda kayit ettirebilir. Isimlerin biricik olmasi ve çakismalarin önlenmesi alan adlarinin bir siradüzen içinde tutulmasiyla gerçeklestirilebilir; DNS kullanildiginda, bir konak adinin sadece kendi alani içinde biricik olmasi tüm dünyadaki konaklardan farkli bir isme sahip olmasi için yeterlidir. Ayrica, tam ayrintili adlar daha kolay hatirlanirlar. Bu faydalarindan dolayi büyük alanlari bir çok alt alana bölmek için birçok sebebimiz vardir. DNS sizin için bundan daha fazlasini yapar. Bir alt alan üzerinden, yöneticilerini yetkilendirebilirsiniz. Örnegin, Groucho Computing Center?in sorumlulari her bölüm için ayri bir alt alan tanimlayabilirler; math ve physics alt alanlarini daha önce görmüstük. Fizik bölümündeki ag çok büyürse ve disaridan yönetilmesi zor hale gelirse (ne de olsa, fizikçiler idaresi edilmesi zor, bir insan grubudur), physics.groucho.edu alaninin denetimini bu agin yöneticilerine devredebilirler. Bu sistem yöneticileri istedikleri konak adini kullanmakta ve IP adreslerini istedikleri yöntemle atamakta özgürdürler. Buraya kadar, isimuzayi bölgelere (zones) ayrildi ve her bölgenin kökü bir alandir. Bölge ve alan arasindaki ince farka dikkat edin: groucho.edu alani Groucho Marx Üniversitesindeki tüm konaklari kapsarken, groucho.edu bölgesi sadece Bilgi Islem Merkezi tarafindan dogrudan yönetilen konaklari içerir; örnegin, Matematik bölümündeki konaklar. Fizik bölümündeki konaklar physics.groucho.edu isimli farkli bir bölgeye aittir. Şekil 6.1 de, bir bölgenin baslangici, alan adinin sagindaki küçük bir çemberle isaretlenmistir. 6.2.1. DNS ile Isim Aramalari Ilk bakista, tüm bu alan ve bölge kavramlari isim çözümleme isinin korkunç derecede karmasik görünmesine neden olabilir. Eger bir merkezi otorite hangi konaklara hangi isimlerin atanacagini denetlemezse, siradan bir uygulama nasil bilebilir? Şimdi DNS?in dahi yüzünü görecegiz. Eger erdos?un IP adresini ögrenmek isterseniz DNS size "Gidin ve bunu erdos?un sorumlularina sorun ve onlar size söyleyecektir." diyecektir. Gerçekte, DNS dev bir dagitik veritabanidir. DNS, isim sunucularindan olusur. Isim sunuculari bir alan veya bir grup alani hakkinda bilgi saglarlar. Her bölge için en az iki veya biraz daha fazla bulunur ve bunlar bu bölgedeki konaklar hakkindaki tüm bilgiyi saklarlar. erdos?un IP adresini ögrenmek için tek yapmaniz gereken groucho.edu bölgesinin isim sunucusuyla irtibata geçmektir, bu sunucu istediginiz veriyi size verecektir. Söylemesi kolay diye düsünebilirsiniz. Peki ben Groucho Marx Üniversitesindeki isim sunucuya nasil erisecegim? Bilgisayarinizin adres çözücü özellige sahip olmadigini düsünürsek, DNS bunu sizin için saglar. Uygulamaniz erdos hakkinda bilgi almak isterse, bir yerel isim sunucusuyla irtibata geçer ve bu sunucu özyinelemeli bir sorgulama baslatir. Yerel sunucu önce kök alana ait isim sunucuya erdos.maths.groucho.edu adresini sorar. Kök isim sunucu bu isimde bir konagin kendi bölgesinde bulunmadigini fakat edu alani altindaki bir bölgeye ait oldugunu belirler. Bu nedenle, size bir edu bölgesi isim sunucusuyla irtibat kurmaniz gerektigini söyler. Ayrica size tüm edu isim sunucularinin listesini adresleriyle birlikte gönderir. Sizin yerel isim sunucunuz daha sonra bu listedeki isim sunuculardan birini, örnegin, a.isi.edu isimli sunucuyu sorgular. Kök isim sunucunun yaptigi gibi a.isi.edu isim sunucusu, groucho.edu?dan sorumlu olan kisilerin kendi bölgelerine sahip oldugunu bilir ve sizi onlarin sunucusuna yönlendirir. Daha sonra yerel isim sunucu erdos için yaptigi sorguyu bunlardan birine yönlendirir. Bu sunuculardan biri eninde sonunda sorulan ismin kendi bölgesine ait oldugunu anlayacak ve size IP adresini döndürecektir. Tüm bu islemler siradan bir IP adresini ögrenmek için bile çok fazla ag yogunlugu olusuyor gibi görünebilir fakat HOSTS.TXT dosyasini kullanmaya devam etmemiz durumunda olusacak veri iletimi yogunlugunun yaninda küçük kalir. Ayrica bu isleyis tarzi gelisime ve degisime açiktir. Ileriki sorgular için cevap süresini kisaltmak amaciyla, isim sunucu elde ettigi bilgiyi yerel önbelleginde saklar. Bu sayede, yerel aginizdaki birisi groucho.edu alanindaki bir konagin adresini ögrenmek isterse, sizin isim sunucunuz dogrudan groucho.edu isim sunucusuyla irtibat kuracaktir.[] Tabii ki, isim sunucu bu bilgileri önbelleginde sonsuza dek saklamayacaktir ve bir süre sonra silecektir. Bu saklama süresi yasam süresi (time to live veya TTL) olarak anilir. DNS veritabanindaki her bir veri, bölgeden sorumlu yöneticilerin atadigi birer TTL degerine sahiptir. 6.2.2. Isim Sunucusu Türleri Bir bölgedeki konaklarin tüm bilgilerini saklayan isim sunucular bu bölge için yetkili (authoritative) olarak adlandirilir ve bazen de ana isim sunuculari (master name servers) olarak adlandirilir. Bu bölge içindeki herhangi bir konak için yapilan bir sorgu bu ana isim sunucularindan birine ulasacaktir. Ana isim sunuculari eszamanli çalismak zorundadir. Bu nedenle, bölge ag yöneticisi bu sunuculardan birini birincil (primary) sunucu digerlerini ikincil (secondary) sunucu yapmalidir, birincil sunucu bölge bilgisini veri dosyalarindan okur, ikincil sunucular bölge verisini belli araliklarla birincil sunucudan alirlar. Birden fazla isim sunucuya sahip olmak hem is yükünü dagitir hem de yedeklemeyi saglar. Bir isim sunucu çökerse veya ag baglantisi kesilirse, tüm sorgular diger sunucular tarafindan ele alinir. Tabii ki bu isleyis tarzi sizi, sunucularin tüm DNS istemlerine yanlis cevap üretmesi gibi sorunlardan korumaz. Bu gibi sorunlar sunucu yazilimindaki yazilim böceklerinden kaynaklaniyor olabilir. Ayrica hiçbir alan için yetkili olmayan bir isim sunucu da çalistirabilirsiniz.[] Böyle bir sunucuya sahip olmak kullanislidir çünkü isim sunucu, yerel agda çalisan uygulamalar için DNS sorgularini ele alabilir ve bilgi saklayabilir. Bu nedenle, sadece önbellekleyen (caching-only) sunucu olarak adlandirilir. 6.2.3. DNS Veritabani DNS?in sadece konaklarin IP adresleriyle ilgilenmedigini ayni zamanda isim sunucular arasinda bilgi degisimine de olanak sagladigini gördük. DNS veritabanlari birçok farkli türde girise sahip olabilir. DNS veritabanindaki tek bir parça bilgi özkaynak kaydi (resource record (RR)) olarak adlandirilir. Her bir kaydin, ne çesit bir veri içerdigini belirten bir kayit türü (type) ve uygulanabildigi ag türünü belirten bir ag sinifi (class) vardir. Sinif bilgisine sahip olmasi farkli adresleme yöntemlerini destekleyebilmesi için gereklidir. Bu yöntemlere IP adreslerini (IN sinifi), Hesiod adreslerini (MIT Kerberos sisteminde kullanilir) ve diger birkaçini örnek verebiliriz. Ilk inceleyecegimiz kaynak kaydi türü A kaydidir. A kaydi tam ayrintili bir alan adini bir IP adresiyle eslestirir. Bir konak adi birden fazla isimle taniniyor olabilir. Örnegin, hem FTP hem de WWW hizmeti veren bir sunucunuz olabilir. Bu durumda iki isme sahip olur: ftp.machine.org ve www.machine.org. Bu isimlerden bir tanesi resmi (official) veya evrensel (canonical) konak adi olarak tanimlanmalidir. Diger adlar resmi konak adini temsil eden takma adlardir (aliases). Aralarindaki fark evrensel konak adi bir A kaydina sahipken digerler adlar, evrensel konak adini isaret eden CNAME türü kayitlara sahiptirler. Tüm kayit türlerini burada incelemeyecegiz fakat size kisa bir örnek sunacagiz. Örnek 6.4 alan veritabaninin bir kismini göstermektedir, bu veritabani physics.groucho.edu bölgesinin isim sunucularina yüklenmistir. Örnek 6.4. Fizik Bölümüne ait named.hosts dosyasinin bir Parçasi ; yetkili sunucu olarak physics.groucho.edu @ IN SOA niels.physics.groucho.edu. janet.niels.physics.groucho.edu. { 1999090200 ; serial no 360000 ; refresh 3600 ; retry 3600000 ; expire 3600 ; default ttl } ; ; Isim Sunucular IN NS niels IN NS gauss.maths.groucho.edu. gauss.maths.groucho.edu. IN A 149.76.4.23 ; ; Teorik Fizik (alt ag 12) niels IN A 149.76.12.1 IN A 149.76.1.12 name server IN CNAME niels otto IN A 149.76.12.2 quark IN A 149.76.12.4 down IN A 149.76.12.5 strange IN A 149.76.12.6 ... ; Hizlandirici Lab. (subnet 14) boson IN A 149.76.14.1 muon IN A 149.76.14.7 bogon IN A 149.76.14.12 ... A ve CNAME kayitlarindan farkli olarak, dosyanin en üstünde, birden fazla satir tutan özel bir kayit görebilirsiniz. Bu SOA (Start of Authority)k aynak kaydidir ve sunucunun yetkili oldugu bölge hakkinda genel bilgileri içeren Yetki Baslangicini isaret eder. SOA kaydi tüm kayitlar için öntanimli yasam süresi gibi bilgileri içerir. Örnek dosyada nokta ile bitmeyen tüm isimlerin physics.groucho.edu alani ile iliskili olduguna dikkat edin. SOA kaydinda kullanilan özel isim (@), kendi alan adini belirtir. groucho.edu alanina ait olan isim sunucularin physics bölgesi hakkinda bilgiye sahip olmasi gerektigini daha önce görmüstük. Bu sayede sorgulari onlarin isim sunucularina yönlendirebilirler. Bu bir çift kayit kullanilarak gerçeklestirilir: sunucunun tam ayrintili alan adini (FDQN) veren NS kaydi ve bu isimle bir IP adresini eslestiren bir A kaydi. Bu kayitlar isimuzayini birarada tuttuklari için çogu zaman birlestirici kayitlar (glue records) olarak anilirlar. Bu kayitlar üst bölgenin, alt bölgedeki konaklar hakkinda içlerinde bilgi sakladigi yegane kayitlardir. physics.groucho.edu?ya isaret eden birlestirici kayitlar Örnek 6.5.?de gösterilmistir. Örnek 6.5. GMU için kullanilan named.hosts dosyasinin bir kismi ; groucho.edu bölgesi için bölge verisi. @ IN SOA vax12.gcc.groucho.edu. joe.vax12.gcc.groucho.edu. { 1999070100 ; serial no 360000 ; refresh 3600 ; retry 3600000 ; expire 3600 ; default ttl } .... ; ; physics.groucho.edu bölgesi için birlestirici kayitlar physics IN NS niels.physics.groucho.edu. IN NS gauss.maths.groucho.edu. niels.physics IN A 149.76.12.1 gauss.maths IN A 149.76.4.23 ... 6.2.4. Tersinir Aramalar DNS en çok bir konaga ait IP adresini bulmak için kullanilir fakat bazen bir adresin karsilik geldigi evrensel konak adini bulmak isteyeceksiniz. Adresten yola çikarak konak adini bulmak tersinir eslestirme (reverse mapping) olarak anilir ve bir istemcinin kimligini dogrulamak amaciyla birçok ag hizmeti tarafindan kullanilir. Sadece hosts dosyasi kullanildigi zaman, tersinir arama islemi basitçe dosya içerisinde IP adresine karsilik gelen bir konagi aramayi içerir. DNS kullanildiginda isimuzayi üzerinde büyük bir arama yapilmaz. Bunun yerine özel bir alan olan, in-addr.arpa alani kullanilir. Bu alan tüm konaklarin IP adreslerini tersinir noktali dörtlü (reversed dotted quad) gösteriminde içerir. Örnegin, 149.76.12.4 IP adresi 4.12.76.149.in-addr.arpa ismine karsilik gelir. Bu isimleri evrensel konak adlariyla iliskilendiren kaynak kaydi türü PTR?dir. Bir yetkilendirilmis bölge olusturmak genellikle bu bölgenin yöneticilerinin isimlere adres atama konusunda tam bir özgürlüge sahip oldugu manasina gelir. Bu yöneticiler genellikle bir veya daha fazla IP agi veya altagina sahip olduklarindan DNS bölgeleri ve IP aglari arasinda birden-çoga eslesme vardir. Örnegin, Fizik bölümü 149.76.8.0, 149.76.12.0 ve 149.76.14.0 altaglarini içerir. Bu nedenle in-addr.arpa alanindaki yeni bölgeler physics bölgesi ile birlikte olusturulmali, ve bölümdeki(8.76.149.in-addr.arpa, 12.76.149.in-addr.arpa ve 14.76.149.in-addr.arpa) ag yöneticilerine bildirilmelidir. Aksi takdirde, Hizlandirici Laboratuvarina yeni bir konak eklendiginde üst alan ile irtibata geçip yeni adresin onlarin in-addr.arpa bölge dosyasina eklenmesini saglamak gerekir. Altag 12 için bölge veritabani Örnek 6.6?da gösterilmistir. Üst bölgenin veritabanindaki birlestirici kayitlari iseÖrnek 6.7?de gösterilmistir. Örnek 6.6. Altag 12 için kullanilan named.rev Dosyasinin bir kismi ; 12.76.149.in-addr.arpa alani. @ IN SOA niels.physics.groucho.edu. janet.niels.physics.groucho.edu. { 1999090200 360000 3600 3600000 3600 } 2 IN PTR otto.physics.groucho.edu. 4 IN PTR quark.physics.groucho.edu. 5 IN PTR down.physics.groucho.edu. 6 IN PTR strange.physics.groucho.edu. Örnek 6.7. 149.76 agi için kullanilan named.rev Dosyasinin bir Kismi ; 76.149.in-addr.arpa alani. @ IN SOA vax12.gcc.groucho.edu. joe.vax12.gcc.groucho.edu. { 1999070100 360000 3600 3600000 3600 } ... ; altag 4: Matematik Bölümü. 1.4 IN PTR sophus.maths.groucho.edu. 17.4 IN PTR erdos.maths.groucho.edu. 23.4 IN PTR gauss.maths.groucho.edu. ... ; altag 12: Fizik Bölümü, ayri bölge 12 IN NS niels.physics.groucho.edu. IN NS gauss.maths.groucho.edu. niels.physics.groucho.edu. IN A 149.76.12.1 gauss.maths.groucho.edu. IN A 149.76.4.23 ... in-addr.arpa sistem bölgeleri sadece IP aglarinin ana kümeleri olarak olusturulabilir. Daha ciddi bir kisitlama ise bu aglarin ag maskelerinin sekizin katlari olmasi gerekliligidir. . Groucho Marx Üniversitesindeki tüm altaglarin ag maskeleri 255.255.255.0?dir. Bu nedenle her altag için bir in-addr.arpa bölgesi olusturulabilir. Fakat ag maskesi 255.255.255.128 olsaydi, 149.76.12.128 altagi için bölge olusturmak imkansiz olacakti, çünkü DNS?e 12.76.149.in-addr.arpa alaninin iki yetki bölgesine ayrildigini söylemenin bir yolu yoktur. Bu iki bölgede 1?den 127?ye ve 128?den 255?e konak adlari bulunmaktadir. Kaynak :www.belgeler.org |