Bilgisayar ağları konusundan bahsetmeye başlarken yazımızın temel konularını oluşturan kavramlardan önce bildiğimizden emin olmamız gereken bazı başka kavramlar vardır. 

İlk olarak bilgisayar ağlarının varolma amaçlarından bahsedebiliriz. Bilgisayarlarda tıpkı biz insanlarda olduğu gibi çeşitli paylaşımlar yapmak konusunda bazı yöntemleri izlerler.

Ağ kavramı en basit anlamda iki bilgisayar arasındaki bağdır desek sanırım yanılmış olmayız. Fakat bundan daha da çok fazlası olduğuna inanmamız için bilgisayarlar arasındaki bilgi akışının, dünya üzerinde büyüyen bir iletişim ağının varlığına bakmak bizim için yeterli olacaktır. 

İki bilgisayar arasında herhangi bir verinin paylaşılması için kurulabilecek yöntemler birbirinden farklıdır. En basiti ise iki bilgisayarı noktadan noktaya (point to point) olarak bağlamak kabul edilebilir. Bunun için kullanılabilecek materyalin ise bir kablo olduğunu kabul edebiliriz. 

Ancak bilgisayarlar arasındaki paylaşım günümüzde artık varolan sınırların çok daha dışarısına çıkmıştır. Verinin büyümesi, ağların genişlemesiyle birlikte bilgisayar ağları dünyasında da çeşitli gelişmeler yaşanmıştır. 

İnsanlarda iletişim kurabilir. Çeşitli duyu organları anlatmak istedikleri ya da iletmek istedikleri duygu, düşünce ve fikirleri karşı tarafa taşıyabilir. Ağ kavramını bu şekilde düşünmeye başlarsak protokol kavramını da daha iyi anlayabiliriz. Bir çok insanla konuşabiliriz ancak dilimiz aynı olmadığı sürece bizi anlaması imkansızdır. İletişim sağlansa bile aktarılmak istenen fikir ortak bir yolda olmadığı için değişime ve dönüşüme uğrayabilir. 

Bilgi değerlidir ve öyle kalmaya devam edecektir. Bilgi artık bir kağıtta yazılandan çok daha fazlası olarak bilgisayarımızın içerisinde veri olarak işlenir, değiştirilir ve gönderilir. Bilginin en doğru şekilde iletildiğinden emin olmak içinse bilgisayarlar arasında iletişimde bazı kuralların olduğundan ve her cihazın o kurala göre iletimi sağladığından emin olmamız gerekir. 

İşte protokol kavramı tam anlamıyla bunu sağlamaktadır. İki cihazı birbirine belirli yöntemlerle bağlamanın yeterli olmadığı durumlarda iletişimin başarılı bir şekilde kurulabilmesi ve cihazların aynı dili konuştuğundan emin olabilmek için protokoller aracılığıyla kurallar oluşturulur ve etkin iletişim sağlanmış olur. 

İki bilgisayar arasındaki dosya/veri aktarım sürecinde detaylandırılması gereken bir takım adımlar vardır. Bunları incelediğimiz zaman gerekliliklerinden emin olacağız. 

-Gönderici bilgisayar veriyi ileteceği yolu aktif hale getirmelidir. 

-Alıcı olan bilgisayarın veriyi almaya hazır olup olmadığını kontrol etmek ise yine gönderici bilgisayarın görevidir. Bilgi iki tarafta hazır olmadan yola çıkmamalıdır. 

-Gönderici bilgisayar, alıcı bilgisayarın veriyi almaya ve depolamaya hazır olduğunu öğrenmelidir. 

-Eğer gönderilecek verinin türü iki taraftan birine uymuyor ise gerekli dönüştürme işlemleri gerçekleştirilmelidir. 

Verinin güvenliği ve doğruluğu için iletim aşamasını detaylandırmak, süreci kontrol altında tutmak ağ kavramında elzem olan temellerden biridir. 

Fakat sanal dünyanın imkanları ve bilginin sürekli genişlemesiyle bu yukarıda bahsettiğimiz basit adımlar içinden çıkılmaz bir duruma gelebilir. Çünkü ağ yapısında verinin dışında bir çok öge bulunur. Bu ögelerde iletişimin genişlemesiyle daha çok kontrole ihtiyaç duyar. 

Bir diğer kavramımız olan katman kavramı ise tam bu aşamada ağ yapılarına dahil olmaktadır. Karmaşık ağ yapısını basitleştirmek ve somutlaştırmak için somutlama düzeyleri diyebileceğimiz katman yapısından faydalanırız. 

Her bir katman kendine gelen ve kendine ait olan veri parçalarına bir başlık (header) ekler. Bu başlıklar katmanın bir üst katmana sunacağı hizmetler için ek bilgiler içerir. Yani header yapısını bir tür imza ve emirler bütünü olarak düşünebiliriz. 

Ağ yapısındaki her aşama somutlaştırılarak bir katman yapısına dönüştürüldü ise aralarında bir görev dağılımı olmasıda gerekir. Her katmanın bir veya birden çoğunu yerine getirmekle yükümlü olduğu görevleri temel olarak şu şekilde sıralayabiliriz;

-Akış denetimi : Bu görev sayesinde iki cihazın veri aktarımındaki fiziksel detaylar ayarlanır. 

-Veriyi gerektiğinde parçalara ayırma ve yeniden birleştirme : Bazen verinin tümüne değil, farklı parçalarına ihtiyaç duyabiliriz. Bu durumda gerekli işlemler katmanlar aracılığı ile gerçekleştirilmiş olur. 

-Çoklama: Üst katman oturumlarının tek bir alt katman bağlantısını paylaşabilmesini sağlar. 

-Hata denetimi : Verinin tam bir şekilde iletildiğinden emin olmak için hata denetiminin sağlanması yine somutlama düzeyleri tarafından sağlanır. 

-Bağlantı kurulması : İletişimin başlatılmasıda katmanların bir görevidir.

Sanal dünyanın sınırsız imkanlara sahip olması sayesinde iletişim gerekli kurallara uyulduğunda bile tam olarak sağlanmamış olabilir. Kurallar durumları yeteri kadar kontrol altında tutabilir ancak sanal alemde akan bir bilgi için bu yetersizdir. 

Aynı dili konuşsak ve bunun için bir kuralımız olsa bile dünyanın geri kalanına baktığımızda çok daha farklı kuralların olduğunu ve nihayetinde yine sağlıklı bir iletişim kuramadığımızı görürüz. Kuralların herkes için olmasını sağlamak adına standartlaştırılması gerekmektedir. 

İşte başlıktaki birinci kavramımız olan OSI ifadesini bu noktadan sonra açıklamaya başlayabiliriz. 

Protokollerin standartlaştırılmasındaki amaç şu ana kadar yaptıklarımızdan pekte farklı olmamak üzere yine etkin ve doğru iletişimi sağlamak içindir. 

Uluslararası protokol standartlarının ilk adımı Uluslararası Standartlar Kurumu (ISO) tarafından önerilmiş ve uygulamaya konulmuştur. 

Bu kabul edilen standart ise Açık Sistemler Bağlantı Başvuru Modeli yani OSI olarak adlandırılır. 

OSI modeli 7 katmandan oluşur. Bu 7 katmanın oluşması ve standartlaşmasında bazı kurallar takip edilmiştir. 

  • Bir katman diğer katmana gönderdiği bilgiyi en aza indirmelidir. 
  • Ancak farklı bir soyutlama söz konusuysa katmanlar oluşturulur. 
  • Her katmanın kesin tanımlanmış görevleri olmalıdır.

 

 

 

Yukarıda OSI'nin 7 katmanını görüyoruz. Bu katmanların her birinin görevleri hakkında ipuçları aslında üzerlerinde bulunmakta. Şimdi bunları daha detaylı bir şekilde incelemeye başlayalım. 

FİZİKSEL KATMAN (1) : Verinin 0-1 olarak aktarılmasından sorumludur. Veri henüz bit durumundadır. 

VERİ BAĞLANTI KATMANI (2) : Bilginin fiziksel bağlantı üzerinden güvenle aktarılmasını sağlamak için eş zamanlama, hata ve akış denetimlerini sağlar. 

AĞ KATMANI (3) : Paketlerin ağ üzerinde yönlendirilmesini ve ulaşmasını sağlar. Alt ağlar arasındaki bağlantıya dair işlemler bu adımda gerçekleşir. 

TAŞIMA KATMANI (4) : Bir üst katmanı olan Oturum katmanından aldığı veriyi küçük birimlere bölerek ağ katmanına iletmekten sorumludur. Uçtan uca bağlantının kurulmasını sağlar. Verinin akışında büyük öneme sahiptir. 

OTURUM KATMANI (5) : Bizim kullandığımız uygulamalar arasında oturum açma, sürdürme ve kapatma gibi görevleri yerine getirir. Böylelikle uygulamalar arasında iletişimi ve erişimi sağlamış olur. 

SUNUM KATMANI (6) : Verimizi sunuma hazırlar. Yani uygulamaya ulaşmadan önce verinin geçmesi gereken veri sıkıştırma, kod çözümü, şifreleme gibi işlemleri gerçekleştirir. 

UYGULAMA KATMANI (7) : Bizim deneyimlediğimiz katmandır. Kullanıcıların elektronik posta gibi programlar aracılığı ile OSI sistemine girdikleri noktadır. 

Bu katman ve aşamaları belirtilen standartlarda takip edebildiğimizde sağlıklı bir ağın içerisinde olduğumuzdan emin olabiliriz. 

OSI'yi anladık. Peki TCP/IP tam olarak nedir? Başka bir standart olabilir mi? 

Aslında tam olarak öyle. Ağ dünyasında her ne kadar standartlaştırılmalar yapılsa bile bazen bir standart yeterli olmayabilir. 

OSI modelinin yaygın olmasına karşılık internet tarihinin teknik açıdan standartı TCP/IP başvuru modelidir. 

TCP/IP, OSI'den çok daha önce oluşturulmuştur. ARPANET projesi çerçevesinde ABD Savunma Bakanlığı tarafından oluşturulmuştur. 

Yapı olarak OSI modeli gibi katmanlı yapıdadır. Ancak daha basit bir şekilde 4 katmandan oluşur. 

 

 

TCP/IP katmanları her ne kadar az olsa da OSI'deki görevlerin tümünün karşılamaktadır. Sadece bir katmanın birden çok görevi vardır. 

UYGULAMA KATMANI (4) : OSI modelinin üstteki üç katmanına karşılık gelir. Uygulama ile ilişkili olan tüm katmanlar bir arada toplanmıştır. 

TAŞIMA KATMANI (3) : OSI modelindeki gibi akışın kalitesi, kontrolü ve hata durumlarıyla ilgilenir. Bu katmanda kullanılmak üzere tanılanmaış TCP ve UDP adında iki adet protokol vardır. 

İNTERNET KATMANI (2) : Paketlerin oluşturulması, yönlendirilmesi ve eğer bir tıkanıklık oluşursa giderilmesi üzerine çalışır. 

AĞ ERİŞİM KATMANI (1) : Bu katmanda ise bilgisayar ile ağlar arasında bir IP paketlerinin gönderilmesini sağlayacak bir bağlantının kurulmasıdır. 

 

 

Öğrendiğimiz her iki modele de ortak bir pencereden bakacak olursak görevlerin benzer şekilde tanımlanmış olduğunu görebiliriz.  

TCP/IP her ne kadar OSI modeline benzese de daha basit olduğu kesindir. Bu nedenle gerçek hayatta daha kolay bir şekilde uygulamaya konulabilir. 

Ortak olan katmanlarla birlikte TCP/IP modelinde bazı katmanlar birleştirilmiş bir halde daha çok göreve sahiptir. 

TCP/IP'de önce protokoller oluşturulmuş ardından model kurulmuştur. OSI'de ise protokoller daha gizlidir. 

OSI modeli daha çok katmana sahip olduğu için kurallar daha kesin bir şekilde ayrılmıştır. Bu şekilde daha güvenlidir diyebiliriz. 

İlerleyen yazılarımızda protokollerden konuşmaya devam edeceğiz! Bizi takip etmeye devam et!