Data Vinci 30 : OSI Modeli

Günümüzde bilgiye ulaşmak kolay, bilgiye ulaşmak kadar, bilgiyi oluşturmak da kolay. O yüzden bir konu araştırılırken önümüzde yüzlerce doküman ve farklı formatlarda sunuş çıkmakta. Ben de Data Vinci serisinde yüzeysel bilgiler verdiğim onlarca teknolojiye değindim. Bir nevi bu seri “Jack of all trades, master of none” modunda takıldı. Fakat hiçbir zaman tüm bu teknolojilerde uzman olduğumu iddia etmiyorum. Etsem de inandırıcı olmaz zaten. Sadece kendi araştırmalarımı yazarak hem bir takım teknolojiler hakkında genel fikir edinilebilecek yazılar, hem de blog yazma işlemi sırasında kendi bilgilerimi de tazelemek amacındayım.

Genel olarak yazılım disiplinleri ve teknolojilerine değindim bugüne kadar. Bu yazıda ise dolaylı olarak yazılımların çalışmasını etkileyen, bilgisayarların haberleşme altyapısını izah eden model olan OSI modeline değineceğim. OSI modeli 7 katmandan oluşmaktadır. Tüm bu katmanlar verinin iletilmesi için bir üst katmana hizmet eder. Tüm bu katmanlarda farklı protokoller ve cihazlar yer alır. Bu katmanları en alt katmandan başlayarak açıklamaya çalışayım.

Katman 1 : Fiziksel Katman(Physical Layer)

Fiziksel katmanda verinin iletimi bit seviyesindedir. Kablolar, hub, repeater gibi cihazlar bu katmanda verinin iletiminde görev alır. Fiziksel katman, veri bitlerini bir üst katmana nasıl aktarılacağının tanımlarını içerir. Henüz ortada IP,Mac Adresi yok.

Katman 2: Veri Bağlantı Katmanı (Data Link Layer)

Bu katmanda fiziksel katmandan aktarılan veri bitleri, frame ismi verilen bit paketleri haline dönüşür, ayrıca fiziksel katmandan veri aktarımı sırasında oluşabilecek kayıplar için kontrol yapılır.(Error Check). Ethernet, ATM, switch, bridge gibi cihazlar bu katmanda kullanılır. MAC ve LLC gibi fiziksel adresleme şemaları bu katmanda yönetilir. Bu katmanda bilgisayarlar için bir MAC adresi tanımı olmasına rağmen hâlâ IP’den bahsetmek mümkün değil. Veri bağlantı katmanı, flow kontrol denen, alıcı bilgisayarın kapasitesinin üstünde veri gönderiminin kontrol edilmesi görevini de yapar.

Katman 3: Ağ Katmanı (Network Layer)

Routing(Yönlendirme) mekanizmalarının tanımlandığı katman, IP protokolü bu katmanda devreye girer, veriler yine paketler halinde, adresleme tablolarında yer alan optimum yollardan iletilir.ARP denilen mantıksal adresler ile fiziksel adreslerin haritalandığı protokol de bu katmanda görev alır.

Katman 4 : Taşıma Katmanı ( Transport Layer)

TCP, UDP gibi protokollerin tanımlandığı katmandır. Yine ismi aşina gelen QoS servisi de bu katmanda görev alır. Bu katmanda iletilen verinin hata kontrolleri, ve zamanında ulaşıp ulaşmadığı gibi kontroller yapılır.

Katman 5 : Oturum katmanı ( Session Layer)

Oturum katmanı, iki bilgisayar arasındaki bağlantının yapılması, kullanılması işlemlerinin yapıldığı katmandır. Birebir bağlantı olabileceği gibi, bir kaynağın birden fazla kaynakla olan iletişimi de yönetilir. NetBIOS, Sockets gibi kavramlar bu katmanda kullanılır.

Katman 6: Sunum Katmanı ( Presentation Layer)

Sunum katmanında verinin gönderildiği bilgisayar tarafından anlayabileceği gerekli formata dönüştürülmesi işlemi yapılır. (Format conversions) Yine verinin şifrelenmesi, şifreli verinin çözülmesi gibi işlemler de sunum katmanında vuku bulur. GIF, JPEG, TIFF gibi formatlar, yine ASCII bu katmanda yerini almaktadır.

Katman 7 : Uygulama Katmanı (Application Layer)

Uygulama katmanı bilgisayar uygulamaları ile ağlar arasındaki iletişimi sağlar. OSI Modelinin en üst katmanında olduğu için diğer katmanlara sunduğu bir servisi yoktur. Uygulamaların ağ üzerinde çalışabilmesini sağlamaktadır. FTP,HTTP,DNS gibi aşina olduğumuz protokoller bu katmanda yer almaktadır. Yani günlük hayatta en çok kullandığımız katmanda bir bakıma uygulama katmanıdır.

Sonuç ve öneriler:

Bu yazıda değinmiş olduğum OSI modeli, bilgisayar ağları ve network ile ilgili derslerde sıklıkla karşımıza çıkan, ve her birinin çok detayının olduğu konulardır. Tüm bu katmanlardaki protokolleri ve çalışan algoritmaları bilmek bir yazılım geliştirici için mümkün görünmese de, en azından giriş seviyesinde bir farkındalık gerekmektedir. Günlük işlerimizde bize sunulan araçların sağladığı imkânlar ile çok da altyapısal işlere bulaşmadan kodlamalar yapıyoruz, fakat arka planda bir çok süreç yaşamakta. İşletim sistemlerinin çalışma yapıları gibi network protokolleri de bilinmesi gereken teknik detaylardan diye düşünüyorum. Benim uzmanlık alanım olmadığından sınırlı bilgimle yazı boyunca yaptığım araştırmaları derleyerek, büyük bir ihtimalle 2017 yılının son Data Vinci yazısını yazmış oldum. Eksik gördüğünüz yerleri belirtirseniz sevinirim.

Muhtemelen senenin son Data Vinci yazısına son verirken, önümüzdeki yılın hedeflerinize doğru hızla gittiğiniz güzel bir yıl olmasını temenni ederim. Yıl değerlendirme(son zamanlarda moda) yazısında 2018 için hedeflerimden bahsedeceğim. Herkese iyi günler dilerim.

 

Leave a Reply

Your email address will not be published. Required fields are marked *