OSI referans modeli; ağda uyulması gerekli kuralları sistematize edilmiş bir biçimde sunmak ve standartları gruplandırmak / işlemleri sınıflandırmak amacıyla oluşturulan bir referans modelidir.
Bilgisayarlar arası iletişimin başladığı günden itibaren farklı bilgisayar sistemlerinin birbirleri arasındaki iletişimin daima en büyük problemlerden birisi olmuş ve bu sorunun üstesinden gelebilmek için uzun yıllar boyunca çeşitli çalışmalar yapılmıştır. 1980' li yılların başında Uluslararası Standartlar Organizayonunun (International Standarts Organization-ISO) bilgisayar sistemlerinin birbirleri ile olan iletişimini ortak bir yapıya ulaştırmak yönünde yaptığı çabalar sonucunda 1984 yılında 'Açık Sistem Bağlantıları (Open Systems Interconnection-OSI)' referans modeli geliştirilmiştir. Bu model sayesinde değişik bilgisayar firmalarının ürettikleri bilgisayarlar arasındaki iletişim sorununu ortadan kaldırmak hedeflenmiştir.
OSI referans modelinde, iki bilgisayar sistemi arasında yapıalcak olan iletişim problemini çözmek için 7 katmanlı bir ağ sistemi önerilmiştir.
Katmanlardan her biri farklı işlevle sahiptir.
ISO modelindeki 7 katmanın gerekçeleri aşağıdaki şekilde özetlenebilir:
Bir başka deyişle; temel büyük bir problem 7 adet küçük probleme parçalanmış ve her bir problem için ayrı ayrı bir çözüm yaratılmaya çalışılmıştır. oluşturulan 7 katmanlı yapının en altında yer alan iki katman yazılım ve donanım, üstteki 5 katman ise genelde yazılım yolu ile çözülmüştür.
Açık Sistemler Arabağlaşım (Open System Intercorrection-ISO) referans modeli, bilgisayar veri haberleşmesi sürecinde yapılması gereken işleri katmanlar düzeyinde tanımlayan bir örnek modeldir. Bu modelde veri haberleşmesi için yapılması gereken tüm işlemler biribirinden bağımsız olarak parçalara ayrılmış ve her parçaya ait görev tanımlamaları yapılmıştır.
OSI modeli, bir bilgisayarda çalışan uygulama programının, iletişim ortamı üzerinden başka bir bilgisayarda çalışan diğer bir uygulama ile olan iletişiminin tüm adımlarını tanımlar. En üst katmanda görüntü ya da yazı şeklinde çıkan bilgi, alt katmanlara indikçe makine diline dönüşür ve sonuç olarak 0 ve 1 bilgilerinden ibaret elektrik sinyalleri halini alır.
- Tüm model farklı alt seviyelere ayrılabilmeli, gerektiğinde yeni bir seviye oluşturulabilmelidir.
- Her seviye çok iyi tanımlanmış bir fonksiyonu gerçekleştirmelidir.
- Her seviyenin fonksiyonu, uluslararası standartlaştırılmış protokollere göre seçilmelidir.
- Her seviyenin sınırını arabirimler arasındaki veri trafiği minimize edecek şekilde tanımlanmalıdır.
- Seviye sayısı, birbirine girmeyecek kadar az, özel fonksiyonları gerçekleştirecek kadar çok ve sistemin yapısını karmaşıklaştırmayacak kadar az olmalıdır.
Yukarıda sayılan gerçeklere uyularak, bilgisayar ağlarında ypaılan işlemlerin katmanlara bölünmesi sonucu oluşan 7 katmanlı ağ modleinin sağladığı faydalar, aşağıdaki şekilde sıralanabilir:
- Karmaşıklığı azaltarak, insanların belli katmanların işlevlerine yoğunlaşarak uzmanlaşmasına yardımcı olur.
- Farklı donanım ve yazılım ürünlerinin biribiriyle uyumlu çalışmasını sağlar.
- Modüler uzmanlaşmayı kolaylaştıraraki farklı uzmanlığı olan kişilerin işbirliği yapmasını veya görev paylaşımı ile ortaklaşa çalışmasını kolaylaştırır.
- Bir katmanda yhapılan değişikliklerin diğer katmanları etkilemesini önler.
- Katmanların işlevlerinin öğrenilmesi ve öğrtilmesini kolaylaştırır.
- Farklı katmanların farklı işlevleri olması problemin tesbitini ve çözümünü kolaylaştırır.
Her birinin veri iletişiminde yapılan işlemlerden bir veya bir kaçını temsil ettiği, en altta yer alan iki katmanın (1 ve 2. katmanlar ) donanım ve yazılım, üstte yer alan 5 katmanın (3-7 katmanlar) ise genelde yazılım ile ilgili olduğu 7 katman aşağıdaki isimlerle anılır ve Şekideki gibi yerleştirilebilir.
OSI mimarisinde, bir üstteki katmandan alınan verinin incelenmesi gibi bir kavram yoktur. Böylece katmanlar kendi kendine yeterli olmakta ve biri diğerinden bağımsız çalışabilmektedir.
Katmanlı mimari referans alınarak oluşturulan ve bir veya birçok ağ üzerinden gerçekleştirilen bir haberleşmede, verinin doğru olarak, zamanında ve tanınabilecek şekilde gönderilmesi hedeflenir. Hedeflenen işlemin gerçekleşmesi için yapılması gereken işler, iki farklı grupta ele alınabilir:
Birinci Kısım: İletişim ağını ilgilendirmektedir. Bir kullanıcının şebekeye gönderdiği veri, belirlenen hedefe, zamanıknda ve hatasız olarak iletilmelidir. Bunun için protokoş geliştirilmiştir ve 'ağ protokolleri' diye adlandırışan bu kavramlr ilerleyen bölümlerde detaylandırılacaktır.
İkinci Kısım: Verinin hedefe (alıcıya), doğru kullanımına uygun ve tanınabilir olarak iletilmesiyle ilgilidir. Yani, alıcıya ulaşan verinin hem bit dizilişi (syntax) kullanıma uygun olması hem de anlam olarak (semantic) tanınabilmesi gerekmektedir. Bu gruba giren işler / işlemler, yüksek seviyeli protokoller olarak isimlendirilen protokoller ile çözümlenir.
OSI referans modelinde bulunan katmanları incelerken, OSI referans modelinin bir ağ uygulaması olmadığı ve OSI referans modelinin sadece her katmanın görevini detayları ile tanımladığı unutulmamalıdır.
OSI modeli kullanılarak oluşturulan ağlarda gerçekleştirilen ağlarda firmaya bağlı olarak farklılıklar gösterilebilir.
1- Fiziksel Katman (Physical Layer) : Bilgilerin fiziksel olarak gönderilmesi ve alınmasından sorumlu katmandır. Fiziksel iletişimi başlatır, yönetir, sona erdirir. Fiziksel katman, elektriksel bağlantılar ve sinyallerden oluşur. Ağı oluşturma işleminde kullanılan tekrarlayıcılar (repeaters) ve hublar bu katmanda çalışırlar / tanımlıdırlar. Bu katmanda tanımlanan standartlar taşınan verinin içeriğiyle ilgilenmezler. Daha çok işaretin şekli, fiziksel katmanda kullanılacak konnektör türü, kablo türü gibi elektriksel ve mekanik özelliklerle ilgilenir. Modülasyon tekniği, iletişim ortamı, çalışma gerilimi, iletim frekansı vb. özellikler fiziksel katmanda belirlenir. Fiziksel katmanda yazılım ile ilgili hiçbir işlem yoktur. Fiziksel katman dışındaki diğer katmanlar arasındaki haberleşmede ise iletişim ve yapılacak işlemler yazılım ile sağlanır.
2- Veri Bağı Katmanı (Data Link Layer):
Veri bağlantı katmanı, birnoktadan diğerine hatasız veri aktarımı ve veri akışını kontrolden sorumludur. Diğer bir deyişle; ağ katmanından aldığı veri paketlerine hata kontrol bitlerini ekleyerek çerçeve (frame) halinde fiziksel katmana iletme işinden sorumludur. Bu katma, karakterleri bir dizi halinde birleştirip mesajlar haline getirir ve oluşan mesajı kontrol eder. Kontrol sırasında veride hata tespit ve düzeltme işlemlerini yapar. Mesajlarınbaşına ve sonuna belirleyici bayraklar yerleştirir. Çerçeve kurma, hata denetimi, akış denetimi, vb. veri bağı katman hizmetleri mevcuttur.
Kontrol edilen fiziksel katman üzerinden iletilen mesajların, alıcı tarafında düzgün ve doğru alınıp alınmadığı kontrolünü yapar. Mesaj alıcı tarafından doğru alınmadı ise, mesajın yeniden oluşturulması ve gönderilmesi işlemlerini gerçekleştirir. 'High-Level Data Link Control- HDLC' ve 'Advanced Data Cornmunications Control Producers' gibi protokoller veri bağı katmanı içerisinde tanımlanan işlemler için kullanılır.
Köprüler (bridges) ve anahtarlar (switches) ağı oluşturulan elemanları veri bağı katmanı işlemleri sayesinde bağlamak amacıyla kullanırlar.
3- Ağ Katmanı (Network Layer):
Ağ katmanı, bilgi paketlerinin ağ adreslerini kullanarak bu paketleri uygun ağlara yönlendirme işini gerçekleştiren işlemleri içerir. Diğer bir deyişle bağlantıyı sağlayan ve ulaşılmak istenen bilgisayara giden yolu bulan katmandır. Yönlendirici (Router) olarak isimlendirilen arabağlaşım elemanları bu katmanda tanımlıdır. Bilgi paketlerini bir uçtan diğer uca ağdaki çeşitkli düğümler üzerinden geçirilip yönlendirilecek alıcısına ulaşmasını sağlayan işlevlere sahiptir. Veri paketinin alıcısına giderken ap koşullarına, önceliklere ve diğer parametrelere göre hangi yolun uygun olacağı bu katmanda değerlendirilir. Ağ katmanı düzeyinde aktarılan bilgi bloklarına "paket" adı verilir. Bir hem üst katmandan gelen bilgi bloğunu, hemde ağ katmanı için mantıksal ağ adresleri, yönlendirme bilgisi ve akış kontrolü bilgilerini içerir. Ağ katmanında, ağlar araı yönlendirme, tıklanma kontrolü, mantıksal / fiziksel adres dönüşümü vb. bir çok işlem gerçekleştirilir.
4- Ulaşım Katmanı (Transport Layer) :
Uçtan uca bağlantı kuran iki birime ağ hizmetinin sağlandığı katmandır. Üstteki ilk üç katman ile alttaki üç katman arasındaki iletişimi sağlar ve daha aşağıdaki katmanların fonksiyonlarını, yukardaki katmanlardan işlemlerinden bağımsız hale getirir. Adından da anlaşılacağı gibi, bu katmanda mesajların hedeflenen iş istasyonuna ulaştırılması işlemi gerçekleşir. Verici tarafındaki ulaşım katmanında gönderilecek bilgiler hatta yolculuk edebilecek şekilde küçük parçalara ayrılır. Alıcı tarafındaki ulaşım katmanında ise alınan mesajlar tekrar birleştirilerek orjinal mesaj haline dönüştürülür.
Oturum katmanından aldığı mesajı, alttaki katmanlar tarafından kabul edilecek parçalara ayırma işlemi, 'dilimleme (Segment' leme)' olarak isimlendirilir. Yapılan işlemlerin oturum seviyesinden ve değişen donanım teknolojilerindeki etkilenmerden bağımsız olarak yapılması gerekir. Normal şartlar altında ulaşım katmanı, oturum seviyesinden talep edilen her bağlantı için bir ağ bağlantısı oluşturur. Bu katman aynı zamanda akış-kontrolü kullanarak karşı tarafa gönderilen verinin yerine ulaşıp ulaşmadığını kontrol eder.
5- Oturum Katmanı (Session Layer) :
Uç düğümler arasında gerekli oturumun kurulması, yönetilmesi ve sonlandırılması işlemlerini içerir. Uygulamalar arasındaki oturumu kurar, yönetir ve sona erdirir. Uygulama ve Sunum katmanlarına hata bildirmini sağlar. Oturum katmanın verdiği hizmetlerden biri, diyalog kontrolüdür. Oturumlar, veri akışının ya iki tarafa da aynı ana olmasına (full duplex), ya da tek yönde olmasına izin verirler. Bilgi akışının tek yöne doğru olması durumunda iletim sırasında kimde olduğuna oturum katmanında bulunan işlemler karar verir.
Oturum katmanında gerçekleştirilen işlemlerden (hizmetlerden) bir diğer, senkronizasyondur.
Farklı protokoller kullanan makinaların bağlantı kurmalarında ortaya çıkan uyumsuzluk problemlerini ortadan kaldırır.
6- Sunu Katmanı (Presentation Layer) :
Sunu katmanı, oturum katmanından gelen bilginin uygulama katmanına iletilmesinden sorumludur. Diğer bir deyişle, kullanıcı programları ile ağ arasındaki yüsek seviyeli iletişim arabirimidir. Bilgi üzerinde yapılabilecek her çeşit işlem bu katmanda gerçekleştirilir. Sunu katmanı bilginin sıkıştırılması, şifrelenmesi veya başka formata çevrilmesi işlemlerini içerir.
Sıkıştırma/açma, kodlama/kod çözme, EBCDIC-ASCII dönüşümü ve ters dönüşümü gibi işlevlerin yerine getirilmesini sağlar. Sunu katmanı bu gereksinimleri karşılamakta ve veriyi istenen tarzda ifade etmeyi mümkün kılmaktadır.
Sunu katmanı, kontrol kodlarının özel grafik ve karakter tablolarının bulunduğu yerdir. Sunu katmanı yazılımı, yazıcıların, çizicileri ve diğer aygıtları kontrol eder.
7- Uygulama Katmanı (Application Layer):
En üst katmanda bulunan uygulama katmanı; kullanıcıya hizmet veren, ağ işletim sistemi ve uygulama programlarının bulunduğu katmandır. Dosya paylaşımından, yazılacak iş birikimlerine, elektronik postadan veri tabanı yönetimine kadar olan bütün işlemler bu katmanda yapılır. Ağ yönetimi istatistikleri, arıza ve benzeri durumların izlenmesi işlemleri, sunu katmanı içerisinde değerlendirilen yazılımlar ile gerçekleştirilebilir.
Uygulama katmanı kullanıcıın çalıştıracağı ağ servislerini sağlar ve kullanıcıya en yakın olan katmandır. Kullanıcı tarafından çalıştırılan tüm uygulamalar bu katmanda tanımlıdırlar.