Internet Nasıl Çalışır? · e-bergi
Alan Adı Sunucusu (Domain Name Server-DNS): IP adresleri, İnternet'teki verilerin nereye ulaşması gerektiğini anlatmak için yeterlidir. Ancak, ne yazık ki sayılar, kelimeler kadar kolay akılda tutulamazlar. Bu nedenle kelimelerle ifade edilen alan adları (domain name) kullanılmaktadır. Alan adı sunucusu denen bilgisayarlar, alan adlarını IP adreslerine "tercüme" ederler. Bu sayede "144.122.1.1" adresini aklımızda tutmaktansa "www.odtu.edu.tr" adresini aklımızda tutmamız ilgili siteye erişmemiz için yeterli olur.
Bir web sayfasını ziyaret etmek istediğimizde, bunun bilgisayarımıza nasıl transfer edildiğini ele alalım. Yapmamız gereken ilk şey, web sitesinin adresini, İnternet tarayıcıya (Firefox, Internet Explorer vb) girmektir: "http://www.odtu.edu.tr". Sayfanın açılabilmesi için hangi adreste bulunduğunu öğrenmemiz gerekir. "odtu.edu.tr" alan adına karşılık gelen IP adresi, alan adı sunucusundan öğrenilir.
Bundan sonra İnternet tarayıcımızın web sunucusuna gönderilecek "Bana ana sayfanı gönder" mesajını, web sunucu programının (Apache vb) anlayabileceği bir dile çevirmek gerekir. Web sunucu programları ile İnternet tarayıcılarının anlaşabilmeleri için kullandıkları ortak dil, HTTP'dir. HTTP (Hyper Text Transfer Protocol), uygulama katmanındaki bir iletişim protokolüdür. Bu protokolde, "Bana ana sayfanı göster" cümlesi "GET /index.php" benzeri bir şekilde tercüme edilebilir.
Şimdi mesajı göndereceğimiz bilgisayarın adresini ve göndereceğimiz mesajı hazırladığımıza göre, geriye sadece bu mesajı yollamak kaldı. Ancak bu mesaj yollama işleminde, mesajın doğru bilgisayardaki doğru programa iletildiğinden, mesajın yolda bozunmadığından ve yerine kesin olarak ulaştığından emin olmamız gerekir. Bu ve buna benzer problemleri çözmek için belli bir düzen gerekidir. Bu düzen, farklı katmanlardaki iletişim protokolleri ile sağlanır. Şimdi bu protokoleri ve bulundukları katmanları açıklayalım.
İnternet üzerinde veri iletimi, iç içe geçmiş pek çok protokol katmanı ile sağlanır. Her katman, veri iletişimi ile ilgili bir takım problemleri çözmeyi sağlar ve bir üst katman için veriyi organize eder. Temel olarak İnternet protokol takımında dört katman bulunur.
Bu katman, ağ üzerinden veri iletişimi yapan programların, işlevlerini gerçekleştirmek için kullandıkları protokolleri içerir ve uygulamaya göre çeşitlilik gösterir. Bir uygulamanın gönderdiği ve aldığı ham veri, en üst katman olan uygulama katmanında yer alır. HTTP, HTTPS, FTP, DNS, POP3, IMAP ve SMTP bu katmanda yer alan protokollere örnektir ve her biri farklı uygulamalar tarafından farklı amaçlar için kullanılır.
Taşıma katmanı, donanım altyapısıyla ve verinin hangi bilgisayara gönderileceğiyle ilgilenmeksizin, iki bilgisayar arasındaki veri akışını sağlayan katmandır. Akış ve bütünlük kontrolü gibi denetlemeler bu katmanda yapılır ve verinin hatasız olması sağlanır. Bu katmandaki protokoller, kendi içinde gerekli işlemleri yaptıktan sonra port numarası denen sayılardan verinin hangi programa ait olduğunu öğrenir ve ham veriyi ilgili uygulamaya iletir. Bu katmandaki protokoller bağantı temelli protokoller ve bağlantısız protokoller olmak üzere ikiye ayrılır. Bağlantı temelli protokollerden en önemlisi TCP, bağlantısız protokollerden en önemlisi de UDP'dir.
TCP-Transmission Control Protocol (Aktarım Denetim Protokolü): TCP, bağlantı temelli bir protokoldür. Veri transferi gerçekleşmeden önce iki bilgisayar arasında sanal bir bağlantı kurulmasını gerektirir. Temel işlevleri, verinin doğru sırada iletilmesini, hatalı ya da yerine ulaşmayan verilerin tekrar gönderilmesini, aynı verinin birden fazla gönderilmesi durumunda ayıklanmasını sağlamaktır. Kısaca verinin yerine doğru biçimde ulaştığını garanti eder.
UDP-User Datagram Protocol (Kullanıcı Veri Paketi Protokolü): UDP protokolünde iki bilgisayar arasında kalıcı bir bağlantı kurulmasına gerek yoktur. UDP, yalnızca alınan verinin hatasızlığını denetler. Ancak gönderilen verinin yerine ulaşıp ulaşmadığını ve paketlerin doğru sırada gittiğini garanti edemez. Bu protokolü kullanan uygulamalar, verinin yerine ulaşıp ulaşmadığını kendileri denetlemek zorundadır. Bunu uygulama protokolünde yapabilirler. UDP, genellikle anında ses ve görüntü iletimi gibi verinin zamanında yerine ulaşmasının önemli olduğu uygulamalarda ya da alan adı sorgusu gibi küçük verilerin transfer edildiği ve kalıcı bir bağlantı kurulmasının "masraflı" olduğu uygulamalarda kullanılır.
3.Ağ katmanı (IP-Internet Protocol)
Bu katmanda kullanılan en temel protokol, IP'dir (Internet Protocol). Günümüzde yaygın olarak bu protokolün dördüncü sürümü (IPv4) kullanılmakta olup, altıncı sürümü olan IPv6 yavaş yavaş bunun yerini alacaktır. Internet Protocol, IP adresi denen sayılar kullanarak gönderilen verinin hangi adresten hangi adrese iletildiğini kontrol eder ve verinin doğru yere gitmesini sağlar. Donanım altyapısından bağımsızdır.
Fiziksel bir bağlantı üzerinden iletilen veri paketleri, bu katmandaki protokoller tarafından denetlenir. Bu protokoller, ağ kartlarının sürücü yazılımları ve çipler tarafından yürütülür. IP paketlerinin telefon kablosu, fiberoptik kablolar, uydu bağlantıları ve kablosuz ağlar gibi donanımlar üzerinden gönderilip alınması bu katman aracılığıyla sağlanır. Çevirmeli ağ bağlantıları (dial-up modemler aracılığıyla), PPP protokolü ile, ADSL ve kablo modem bağlantıları PPPoE protokolü ile yürütülür. Ethernet, Frame Relay, ATM gibi donanımsal protokoller bu katmanda yer alır.
Bir bilgisayardan diğerine iletilecek veri, protokol katmanlarından aşağı doğru inerken, sırayla ilgili protokoller tarafından paketlenir. Her protokol, bir üstteki protokolden gelen veriye bir başlık ekler. Daha ender olarak, bazı protokoller verinin sonuna bir dipnot da ekleyebilir. Buna göre veri, aşağıdaki şekle benzer bir biçimde paketlenmiş olur.
Bir web sayfasını açmaya çalıştığımızda gerçekleşen veri transferini örnek alalım. Web tarayıcı tarafından gösterilen HTML formatındaki sayfa içeriği, öncelikle HTTP tarafından paketlenir. Bu protokol, sayfayı gönderen sunucu ve gönderilen sayfa ile ilgili temel bilgilerin ve tarayıcıdan talep edilen işlevlerin yer aldığı bir başlık bilgisi ekler. Daha sonra bu paket, TCP'ye aktarılır. TCP, bu paketin başına port numarası, önceki ve sonraki paketlerin numarası, veri bütünlüğünü denetleyen bir kontrol kodu (checksum) gibi bilgiler ekler. TCP'nin paketlediği veri daha sonra da Internet Protocol(IP) tarafından bir başlık bilgisi eklenerek bir kez daha paketlenir. IP'nin eklediği başlıkta gönderen ve alanın IP adresleri, kontrol numarası, paket büyüklüğü ve kontrol kodu gibi bilgiler yer alır. Yeni oluşan paket son kez de donanım katmanındaki bir protokol tarafından (örn. ethernet) paketlenir ve aktarıma hazır hale gelir.