Ağ temellerine kaldığımız yerden hızla devam ediyoruz. Önceki yazımızda network aygıtlarını konu almıştık. Bu yazımızda ise ” Ağ Protokolü ” kavramını irdeleyeceğiz.
Ağlar oluşturmamızdaki temel sebep hızlı biçimde iletişim kurup verileri taşımaktı. Bizler günlük hayatta yanımızdaki kişiler ile konuşup bilgi alışverişi yapmak için ortak dile ihtiyaç duyarız. Aksi halde iki taraf birbiri ile sağlıklı iletişim kuramayacaktır. Çünkü iki tarafta birbirini anlamamaktadır. İlk local ağlar birbiri ile kablolar ile bağlanıp WAN ( Wide Area Network ) ortaya çıkarmışlardır. Bu iki local ağın birbiri ile sağlıklı iletişimi için ortak bir network diline ihtiyaç duyarlar. Bunu taraflar kendi aralarında belirler ve sonuç olarak protokol denilen kavram ortaya çıkar.
Dünyadaki en büyük ağ ise ” Internet ” olduğu kanısına varırsak bu global ağda düzgün iletilim için ortak bir protokole ihtiyaç duyuldu. Kısacası bir standarda ihtiyaç duyulur hale geldi. Bu ise günümüzde ” OSI referans modeli ” olarak geçmektedir.
OSI REFERANS MODELİNDE KATMANLAR
İletişim kolay anlaşılması için katmanlara ayrılmıştır ve her katmanda kapsülleme ve kapsülü açma durumu sözkonusudur. Bunu matruşka gibi düşünebilirsiniz.
Layer 1 – Fiziksel Katman
En ilkel fakat bütün bilgilerin içeride olduğu katman oldugunu söyleyebiliriz. Tek görevi düşen veriyi temiz şekilde taşımaktır.Veriler radyo sinyalleri veya kablolar ile taşınır. Buna örnek olarak coaxial, ethernet, fiber kablolar örnek verilebilir. Wifi ise kablosuz ve radyo sinyallerini kullanarak veriyi taşır. Repeater veya hub cihazları doğrudan taşıma amacı taşımasa bile sinyali olduğu gibi taşıdıkları için bu katmana dahildir. Bu katman bitlerden ibarettir.
Layer 2 – Data Link ( Ara Birim Kartları Katmanı )
Fiziksel katmandan düşen verilerin ilk ulaştığı katman olma özelliği taşır. Sistemin algılayabileceği bir hale sokar. Bu aygıtlara NIC ( Network Interface Cart ) adı verilir. Kablolu veya kablosuz sinyal alabilirler. Cihazınıza dahili gelen bu aygıtları isterseniz kendiniz de satın alabilirsiniz. Bir önceki yazımızda bu cihazları anlatmıştık.
Aynı zamanda bu aygıtlar fabrikadan gömülü gelen ” MAC adresi ” ile ağlara dahil olurlar. Bu önemli detay aslında bize gösteriyor ki her türlü network bağlantısı MAC adresine ihtiyaç duyar.
Switch aygıtları bu katmanda çalışırlar. Kendi içindeki MAC-port tablolarıyla kendi üzerindeki gerçek portları ve bu porta baglanan MAC adresini eşleyerek ilgili tabloya not düşer. Sonrasında bu tabloyu kullanarak gerekli paketi local ağda gereken yere hub aygıtının aksine tüm networkü trafiğe boğmadan iletir.
Routerların ise bir önceki yazımızda dediğimiz gib ahtapot gibi birçok bacağı vardır. Bu bacakların her birinde IP adresi ve MAC adresi mevcuttur.
Bizler istediğimiz cihazın MAC adresini doğrudan bilemeyeceğimiz için bir sonraki katmana ihtiyaç duyarız.
Layer 3 – Network Katmanı
IP özelliği bu katman ile gelmektedir. Günlük hayatta bizler IP yerine verilen .com, .com.tr, .net gibi uzantıları olan ” Domain ” adında alan isimleri ile tutulur. Bu tutulan yapıya ” DNS ( Domain Name Server ) ” adı verilmiştir. IP adresleri ve domain bilgileri defter gibi tutulur. Eğer bizler ahmetdincer.me websitesine giriş yapmak ister isek öncelikle DNS sunucularına bağlanıp bu domainin IP adresini çözümleriz. Bunu cihazımız arkaplanda yaptığı için bizler bunu fark etmeyiz. Yani biz websiteye bağlanabilmek içim iki adet sunucuya ihityaç duymuş olduk.
Bizler cihazımızdan veriyi ilgili sayfaya gönderirken veya talep ederken DNS sayesinde kolay akılda tutabildiğimiz için IP adresini doğrudan belirleyebiliyoruz. Fakat MAC adresini belirleyemeyiz. Bunun için de cihazımız bulduğu ilk routerın mac adresini baz alır. Bu routera giden veri burada yönlendirilir. Eğer hedef routera bağlı alt bacakta ise o bacağa yönlendirilir ve veri transferi sağlanır. Böyle değil ise bir sonraki ilgili routerın mac adresi belirlenip ona transfer edilir ve en sonunda en ilgili routerın alt bacağından sonuç olarak hedefine ulaşır.
Paketlerimizi yalnızca IP adresi ile gönderemeyiz. Local ağda MAC adresi tek başına yeterken internet ağı içinde IP ve MAC adresi gerekmektedir.
Layer 4 – Transport Katmanı
Port adresi ve taşıma yönetmlerinden TCP veya UDP bu katmanda belirlenmektedir.
Neredeyse her uygulamanın standartlaşmış sanal portu vardır ve isteklere o porttan cevap verir. Bu portlar sayesinde karışıklık olmadan veriyi alabiliriz. Fakat talep eden client tarafı her talebini ( örneğin bir websitesindeki 9 farklı sayfa ) farklı porttan yapar. Örneğin ahmetdincer.me websitesindeki İletişim sayfası için kendi IP numarasının 1212 numaralı portunu kaynak olarak belirleyip, Networking sayfasını 2323 numaralı portunu da bu sayfa için farklı port olarak belirleyebilir. Bu sayede her sayfa farklı porttan alındığı için karışıklık olmayacaktır. Kaynak portu genelde rastgele belirlenirken, hedef ise standartlaşmıştır.
Taşıma yöntemi aslında paketin gönderimindeki hız ve doğrulanabilirlik kavramları için alternatiflerin üretildiği bir konudur. TCP ve UDP olarak iki ayrı taşıma yöntemi mevcuttur.
TCP ( Transmission Control Protocol )
Bağlantı bazlı bir taşıma yöntemidir. Bu sebeple ” Connection Oriented ( Bağlantı Odaklı ) ” olduğunu söyleyebiliriz.
Yukarıda TCP yöntemindeki ” three way handshake ” modelini görmektesiniz. Buradaki ilk SYN gönderiminin amacı sunucunun varlığı ve müsaitlik durumunu öğrenmektir. Sonrasında ise SYN + ACK gönderiminin amacı ise sunucunun varlığı ve müsaitlik durumunu cliente bildirmesidir. Olumlu sonuç ile ACK gönderilir ve talep yerini bulur. Bu sayede iletişim başlangıçta doğrulanarak sağlanmış olur.
Bu yöntemle veri bütünlüğü garanti altına alınır. E-posta ve dosya indirme işlemlerinde verinin bütünlüğü önemli olduğu için TCP yöntemi kullanılır
UDP ( User Datagram Protocol )
Hız tabanlı bir metottur. Fakat veri bütünlüğü garantisi veremez. Çünkü verinin kaynağının anlık durumunu bilmez ve sadece veriyi transfer eder. Bu doğrulama aşaması olmadığı için hızlıdır.
Günlük hayattaki sesli ve görüntülü konuşmalarda, online oyunlarda UDP metodu kullanılır.
Layer 5-6-7
Bu katmanlarda ise aslında işleme mevcuttur. Veriler burada işlenip üretilir. Data buradadır.
Encapsulation – Decapsulation
Burası ise verinin matruçka gibi büyüyüp küçüldüğü katmandır.
Burada bu kapsülleme her adımın sonunda belirtilmiştir. Aşağıya doğru encapsulation iken yukarı doğru ise decapsulation adını alır. Yukarı doğru matruçka küçük haline gelirken, Aşağı doğru matruçkamız büyümüştür.