Çarşamba, Kasım 09, 2005

Eski yazilar...DNS nasil calisir?

Fi tarihinde ODTU-MD'nin bultenine yazdigim bir iki yazi lazim oldu, bakindim hala duruyorlar. Kolayca ulasilabilmesi icin asagiya kopyaliyorum:
http://www.odtumd.org.tr/calismagr/yayin/bulten/104/mezun_net.htm
Ocak 2002'deki bu yazida DNS'in nasil calistigini yazmisim basit bir dille.


MERHABA 2002

Yeni bir yıla girdik, umarım bitirdiğimizde gülümseyerek hatırlayacağımız bir yıl olur. Bu ay size bir site tanıtıp sonra biraz teknik ama elimden geldiğince anlaşılır bir dille internetin işleyişine yönelik bilgiler vermeyi amaçlıyorum.

WHATIS

Pek çok yerde anlamını bilmediğiniz teknik terimlerle karşılaşabilirsiniz. Whatis?com sitesi ( http://www.whatis.com ) tam da bu ihtiyaca cevap vermek için hazırlanmış! Merak ettiğiniz tüm bilgisayar terimlerinin açıklamalarını buradan öğrenebilirsiniz...

DNS ?

Burada yazacaklarım aslında oldukça karışık bir konunun, DNS’in kolay anlaşılabilir bir özeti olacak!

Bir siteye erişmek istediğinizde tarayıcınıza adresi yazıyorsunuz ve sayfa karşınıza geliyor. Internet’e bağlı her bilgisayarın, diğer hiçbir bilgisayarda kullanılmayan 32 bitlik bir IP numarası olması gerektiğini biliyoruz (Proxy, Network Address Translation teknolojilerini bilenler, şimdilik unutsun). Bilgisayarlar bu IP numaraları aracılığıyla biribirlerine ulaşıyorlar.

Bir örnekle açıklayalım. Microsoft’un web sitesini tuttuğu bilgisayarın IP adresi 207.46.230.218; o halde eğer biz Microsoft’un web sitesine gitmek isteseydik browserımızın adres kısmına http://207.46.230.218 yazmamız gerekirdi. Oysa http://www.microsoft.com hatırlaması çok daha kolay bir adres. İşte www.microsoft.com adresinin 207.46.230.218 e dönüştürülmesi işini yapan programa Domain Name System (DNS) deniliyor. Adresi ya da başka bir deyimle alan adını (Domain Name) IP adresine dönüştürme işine ise ‘Alan adı çözümlemesi’ (DNS Name Resolution) deniliyor.

DNS programının çalıştığı sunucu bilgisayara DNS Server ya da Name Server adı veriliyor. Şimdi bu isim çözümleme işinin nasıl yapıldığına bakalım.

Yukarıdaki şekilde görüldüğü gibi biz web sitesinin adresini yazdığımızda, bilgisyayarımız önce bu adresi kendisinde tanımlı olan DNS sunucuya (Local Name Server) soruyor (1).

Eğer sunucu bu adrese cevap vermeye yetkili değilse, kendisinde kayıtlı olan, en üst seviyedeki alan adlarının (Top Level Domain Names) tanımlı olduğu Kök sunuculardan (Root Name Server) birine adresi soruyor (2).

Kök sunucu adrese bakıyor, www.microsoft.com adresine cevap vermeye kendisi yetkili değil ama .com adreslerine cevap verebilecek sunucuyu biliyor ve sizin DNS sunucunuza bu adresi bildiriyor.

Sunucunuz .com alan adlarını tanımlı olduğu sunucuya aynı soruyu soruyor (3). Cevabi o da bilmiyor ama microsoft.com’un adresini biliyor!

Sunucunuz, bu kez Microsoft’un DNS sunucusuna aynı soruyu soruyor (4). Microsoft’un sunucusu, microsoft hakkında sorulan sorulara cevap vermeye yetkili olduğu için, sunucu üzerindeki tabloya bakıyor ve www adresinin Ipsini sizin sunucunuza veriyor! Burada küçük bir not; eğer cevap vermeye yetkili ise DNS tablosunda alan adının (microsoft.com) karşısında bir NS (Name Server) kaydı bulunur.

Sunucunuz, IP adresini, isteyen programa veriyor ve görevini tamamlamıyor (5). IP adresini öğrenen browser bu adresi kullanarak www.microsoft.com sitesine ulaşıp siteyi size görüntülüyor.

ÖRNEK...

Diyelimki ABC adında bir şirketiniz var. Türkiye’de alan adlarını ODTÜ’den satın aldığınız için, ODTÜ’ye başvurdunuz ve abc.com.tr alan adını iki yıllığına satın aldınız. Aynı zamanda bir DNS sunucusu kurdunuz ve bu sunucu için internet hizmeti satın aldığınız şirket size 195.195.195.195 IP’sini verdi. ODTÜ’ye DNS sunucunuzun bu adresini de bildirdiniz...

Artık, örneğin www.abc.com.tr adresine ulaşmak isteyen biri, yukarıdaki grafikteki gibi 2. adımdan sonra .tr kayıtlarının tutulduğu ODTÜ’deki sunucunun adını öğrenecek, 3.ve 4. adımda ODTÜ’den sizin DNS sunucunuz IP sini öğrenecek ve 5. adımda da sizin sunucunuzdan WWW adresine karşılık gelen IP adresini bulup sitenizi ziyaret edebilecek.

Hatırlanması gereken nokta, alan adlarını IP adresine dönüştüren mekanizmanın DNS olduğudur. Tekrar edelim burada alan adı=abc.com.tr dir. www ise ilgili servisi (burada web servisi) veren bilgisayarın ismidir ve internet dünyasında genel adıyla HOST diye tanımlanır.

Mesela Dial-up internete bağlanıyorsanız, servis sağlayıcınız bağlantı anında size geçiçi bir IP ve kendi DNS sunucusunun IP sini verir. Eğer servis sağlayıcınızın DNS sunucusunda bir problem varsa, alan çözümlemesi yapamayacağınız için IP adresini bilmediğiniz hiç bir siteye ulaşamazsınız.

E-POSTA’NIN YOLCULUĞU

Buraya kadar DNS’in nasıl çalıştığını ve alan adını nasıl çözümlediğini anlattık. Web sitelerine ulaşmamıza yardımcı olan DNS e-postalarımızın yerine ulaşmasında da rol alır.

Şimdi bana bir e-posta göndermek istediğinizi varsayalım. Siz e-postanızı yazıp ‘gönder’ tuşuna bastıktan sonra neler oluyor ? Öncelikle, e-posta sunucunuz, sizden bu e-postayı alıp @ işaretinden sonraki kısmına bakıyor. Benim e-posta adresim adilhn@yuksel.net; o halde e-posta sunucunuz @yuksel.net bölümüne bakacak. Sonra bu adrese ulaşmak için DNS’tan yardım isteyecek. DNS yuksel.net adının kime (yani hangi IP adresine) ait olduğunu bulmak için yukarıdaki işlemleri takip edip 195.155.150.2 no.’lu IP’nin yuksel.net’e ait olduğunu bulacak.

195.155.150.2 adresindeki DNS e-postayı aldığında bunu ilgili e-posta sunucusuna göndermesi gerektiğini bilir. Bu adresi bulmak için kendi tablosuna bakar ve MX (Mail Exchange) kaydının karşısındaki IP numarsını bulup, e-postayı ilgili bilgisayara gönderir.

DNS TABLOSU

Bundan sonraki iş, yuksel.net’in posta sunucusuna aittir. O da kendi tanımlarına bakar ve yuksel.net adresine gönderilen e-postaları kabul etmeye ayarlı olduğu için e-postayı alır. Sonra @ işaretinden önceki kısma bakar ve ilgili posta kutusuna paketi teslim eder. Daha sonra ben e-posta okuyucu programim ile (örneğin MS Outlook) e-posta sunucusuna bağlandığımda, paket (e-posta) elime ulaşmış olur ve yolculuk tamamlanır.

DNS kayıtları yukarıdaki gibi text dosyasında tutulur. Burada;

MX (Mail eXchange) kaydı E-posta sunucusunun adını,

NS (Name Server), yuksel.net adresi için DNS sunucusunun adını

A (host) ise çeşitli bilgisayarların (www, adilpc gibi) IP adreslerini gösterir.

Dolayisiyla, DNS’ten adilpc.yuksel.net adresi sorgulandiginda 195.155.150.50, www.yuksel.net adresi sorgulandığında 195.155.150.2 cevabı alınacaktır.

E-POSTA AYARLARI (POP3, SMTP)

Burada size e-mail configürasyonu Outlook’ta şöyle yapılır, Netscape’de böyle yapılır diye ezberletmek yerine, mantığını anlatacağım. Böylece her e-mail programını anlayarak ayarlayabileceksiniz.

Öncelikle tanımlardan başlayalım. POP3, SMTP ve IMAP birer protokoldürler. Yani Sunucu (Server) ile İstemci (client) programlarının biribirleri ile anlaşabilmeleri için kullandıkları KURALLAR!

Bir postane düşünün (ODTÜ’den alışık olduğumuz bir dille söyleyecek olursam ‘assume that’ ;-) İçinde adınıza özel iki tane posta kutusu bulunsun, biri gelen, diğeri gidenler için.

Mektuplarınızı almak istediğinizde, yardımcınızı çağırıp (1) ona “git şu postaneden (2), şu isimdeki gelen posta kutusunu(3) şu anahtarla(4) aç ve mektup varsa bana getir” diyorsunuz. İşte POP3 (Post Office Protokol, versiyon 3) aynen böyle çalışıyor!

  1. Yardımcınız, e-postalarınıza ulaşmak için kullandığınız program. Örneğin, Outlook, Netscape Messenger vs.
  2. Postane, sizin POP3 sunucunuz. Postane adresi: IP numarası (195.155.150.2 gibi) ya da kolay hatırlanır ismi (merkez.yuksel.net gibi)
  3. Kullanıcı adınız, genelde e-posta adresindeki @ işaretinden önceki bölüm
  4. Şifreniz!

Böylece, POP3 kullandığınızda e-postalarınızı kendi bilgisayarınıza indirmiş oluyorsunuz; artık sunucuda değiller.

Peki SMTP nasıl çalışıyor? Bazen SMTP (Simple Mail Transfer Protokol) sizin kim olduğunuza bakmaz (Authentication gerektirmez). Bu şuna benzer. Yardımcınızı çağırıp (1), mektubu yazdırıyorsunuz. Sonra O, mektubunuzu postaneye götürüp giden (2) kutusuna bırakıyor ve mektubunuz gönderiliyor.

  1. yukarıdaki ile aynı durum
  2. SMTP sunucunuz adresi, bu POP3 ile aynı olabilir ya da olmayabilir

Bazense, Postanedekiler giden kutusu için de size bir anahtar verir. O zaman giden kutusunu önce bu anahtarla açmanız gerekir!

Bunu e-posta programınızdaki ilgili AUTHENTICATION kutucuğunu işaretleyerek yaparsınız:

Genelde daha az kullanılan bir protokol de IMAP’dir (Internet Mail Access Protocol). Bu neye benzer ? Yardımcınızın eline bir kamera verip postaneye gönderdiniz. Gelen posta kutusunu açtı ve kamera aracılığıyla mektupların isimlerini size gösteriyor. Yardımcınız, merak ettiklerinizi açıyor ve içinde yazanları okuyabiliyorsunuz. Sonra yardımcınız mektupları tekrar gelen kutusuna bırakıp, geri dönüyor. Bu durumda ne oldu ? Mektuplar hala Postanede, ama siz merak ettiklerinize bakabildiniz ;-)

Tekrar, iyi yıllar!

Adil Hindistan, CE-93
adilhn@yuksel.net

Hiç yorum yok: