|
7 Katmanlı OSI Modeli
Bilgisayar ağlarının ilk günlerinde farklı firmalar kendilerine özel
teknolojilerle ağ sistemleri geliştiriyorlar ve satıyorlardı. Kendi
başlarına düzgün çalışan bu ağlar ortak çalışma yeteneğine sahip değildi.
Herbirinin kendine özel yazılım ve donanımları vardı. Farklı isimlendirme
sistemleri ve sürücüler kullanan bu ağları birbirleriyle iletişime
geçirmek imkansızdı.
Ağ sistemlerinin bu özel yapısı diğer donanım ve yazılım üreticilerinin
bu ağlar için ürün geliştirmesini de imkansız hale getiriyordu.
Bir ağ sistemi satın aldığınızda kablosundan ağ kartına kadar, hub,
sürücüler ve ağ işletim sistemi dahil herşeyi üretici firmadan paket
olarak çok yüksek bir fiyata almak zorundaydınız. Ayrıca ilerleyen
dönemde de bu tek firmaya bağımlı duruma geliyordunuz.
Ağ sistemlerine olan talebin artması ile ağ sistemlerinin işlevlerini
tanımlayan ortak bir model oluşturulması gerektiği anlaşıldı.
Bunu gerekli kılan bir diğer unsur ise ağ sistemlerini açıklamakta kullanılan
terimlerin üreticiden üreticiye değişiklik göstermesi, ağ üzerinde işlem
gören yazılım ve donanım bileşenlerinin ne görev üstlendiklerinin standart
halinde olmamasıydı.
1984 yılında International Organization of Standardization (ISO) isimli
kurum Open System Interconnection modelini (ISO) ortaya koydu.
|
|
|
 |
İPUCU |
|
International Organization
of Standardization=IOS olması gerekmez mi?
ISO kurumun isminin kısatması değil, latincede eşit manasına
gelen "isos" kelimesinden türetilmiş bir sözcüktür. |
|
|
|
|
 |
NOT |
|
OSI Modeli değişmez
bir kanun değildir. İsteyen kendi başına bir ağ sistemi tasarlayabilir
ve belki de çalışır hale getirir. Ancak OSI modeli referans
alınmadıysa diğer ağlarla iletişimi zor olacak değişik üreticiler
bu ağ sistemi için donanım ve yazılım üretemeyecekler demektir.
|
|
Protokoller ve kavram karmaşası
Protokol kelimesi günlük yaşamda karşımıza bir yabancı devlet başkanı
ülkemizi ziyarete geldiğinde, karşılama töreni ve sonrasında takip edilen
kurallar bütünü olarak çıkar.
Bu manasıyla protokol nasıl bir devlet başkanının diğerinin konuşmasını
kesmesini, yada yanlış yerde yanlış harekette bulunmasını önlüyorsa, bilgisayar
ağlarında da benzer bir işlevi ifade eder.
Bilgisayar ağları söz konusu olduğunda, protokol kelimesi iki aygıt veya
yazılımın önceden belirlenmiş kurallar çerçevesinde nasıl haberleşmeleri
gerektiğini tanımlar.
Basit bir FTP programı ile dosya gönderirken bile arka planda bir çok
protokol görev yapar. File Transfer Protocol(FTP) iki bilgisayar üzerinde
çalışan iki yazılımın nasıl veri değişimi yapacağını belirler. Transmit
Control Protocol(TCP) gönderen sistem üzerinde yollanacak veriyi parçalara
bölünmesini ve alıcı sistem üzerinde ise tekrar birleştirilmesini sağlar.
Internet Protocol(IP) ise verinin değişik yönlendiriciler üzerinde doğru
yolu izleyerek karşı tarafa ulaşmasını sağlar. Ağ kartı ve kablo protokolleri
ise verinin nasıl eletrik sinyalleri halinde iletileceğini tanımlar.
7 Katman
Ağlar ile ilgili bir çok dökümanda OSI modeline atıf yapıldığını görürsünüz.
OSI modeli sayesinde bir cihazın veya protokolün ağ içinde ne görev üstlendiği
daha rahat anlatılabilir.
OSI modeli verinin bir bilgisayar üzerinde bir program'dan, ağ ortamından
geçerek diğer bir bilgisayar üzerindeki diğer bir programa nasıl ulaşacağını
tanımlar. Model bu süreci 7 katman halinde inceler:
|
Layer
7 - Application |
7.
Katman - Uygulama |
|
Layer
6 - Presentation |
6. Katman - Sunum |
|
Layer
5 - Session |
5. Katman - Oturum |
|
Layer
4 - Transport |
4. Katman - Taşıma |
|
Layer
3 - Network |
3. Katman - Ağ |
|
Layer
2 - Data Link |
2. Katman - Veri Bağlantısı |
|
Layer
1 - Physical |
1. Katman - Fiziksel |
 |
|
Uygulama katmanı veriyi sunum katmanına sunum ise oturum katmanına aktarırır.
Bu şekilde veri fiziksel katmana kadar ulaşır.
Veri alımında ise bu işlem tam tersi şekilde gerçekleşir.
|
|
|
 |
Dikkat |
|
Bilgisayar ağları
ile ilgili dökümanlarda örneğin "Network Layer"
ve "Layer 3" birbirinin yerine kullanılabilir. Bu
sebeple tüm katmanları sırasıyla ve isimleriyle hatırlamakta
fayda var.
|
|
OSI Modelinde her katman çözülmesi gereken problemleri tanımlar. Bu katmanda
çalışan aygıt ve protokoller ise bu problemlere çözüm getirir.
7 katmanlı OSI modeli 2 bölümde incelenebilir: Application Set ve Transport
Set. Application Set(uygulama seti) uygulamalar yani programlarla ilgili
konuları içerir. Genellikle sadece yazılımsaldır. Modelin en üstündeki
uygulama katmanı kullanıcıya en yakın katmandır.
Transport Set(veri aktarım seti) veri iletişimi ile ilgili meseleleri
tanımlar. Fiziksel ve veri aktarım katmanları hem yazılımsal hemde donanım
olarak görevini yerine getirebilir. Fiziksel katman(en alt katman) fiziksel
ağ ortamına(ağ kablosuna mesela) en yakın katmandır. Ve esas olarak bilgiyi
kablodan aktarmakla görevlidir.
1. Katman : Fiziksel Katman (Physical Layer)
1. katman veya fiziksel katman verinin kablo üzerinde alacağı fiziksel
yapıyı tanımlar. Diğer katmanlar 1 ve sıfır değerleriyle çalışırken, 1.
katman 1 ve sıfırların nasıl elektrik, ışık veya radyo sinyallerine çevrileceğini
ve aktarılacağını tanımlar. Gönderen tarafta 1. katman bir ve sıfırları
elektrik sinyallerine çevirip kabloya yerleştirirken, alıcı tarafta 1.
katman kablodan okuduğu bu sinyalleri tekrar bir ve sıfır haline getirir.
Fiziksel katman veri bitlerinin karşı tarafa, kullanılan medya(kablo,
fiber optik, radyo sinyalleri) üzerinden nasıl gönderileceğini tanımlar.
İki tarafta aynı kurallar üzerinde anlaşmamışsa veri iletimi mümkün değildir.
Örneğin bir taraf sayısal 1 manasına gelen elektrik sinyalini +5 volt
ve 2 milisaniye süren bir elektrik sinyali olarak yolluyor, ama alıcı
+7 volt ve 5 milisaniyelik bir sinyali kabloda gördüğünde bunu 1 olarak
anlıyorsa veri iletimi gerçekleşmez.
Fiziksel katman bu tip çözülmesi gereken problemleri tanımlamıştır. Üreticiler(örneğin
ağ kartı üreticileri) bu problemleri göz önüne alarak aynı değerleri kullanan
ağ kartları üretirler. Böylece farklı üreticilerin ağ kartları birbirleriyle
sorunsuz çalışır.
Katman 2: Veri Bağlantısı Katmanı (Data Link Layer)
Veri bağlantısı katmanı fiziksel katmana erişmek ve kullanmak ile ilgili
kuralları belirler. Veri bağlantısı katmanının büyük bir bölümü ağ kartı
içinde gerçekleşir. Veri bağlantısı katmanı ağ üzerindeki diğer bilgisayarları
tanımlama, kablonun o anda kimin tarfından kullanıldığının tespiti ve
fiziksel katmandan gelen verinin hatalara karşı kontrolü görevini yerine
getirir.
Veri bağlantısı katmanı iki alt bölüme ayrılır: Media Access Control(MAC)
ve Logical Link Control(LLC).
MAC alt katmanı veriyi hata kontrol kodu(CRC), alıcı ve gönderenin
MAC adresleri ile beraber paketler ve fiziksel katmana aktarır. Alıcı
tarafta da bu işlemleri tersine yapıp veriyi veri bağlantısı içindeki
ikinci alt katman olan LLC'ye aktarmak görevi yine MAC alt katmanına aittir.
LLC alt katmanı bir üst katman olan ağ katmanı(3. katman) için geçiş
görevi görür. Protokole özel mantıksal portlar oluşturur (Service Access
Points, SAPs). Böylece kaynak makinada ve hedef makinada aynı protokoller
iletişime geçebilir(örneğin TCP/IP<-->TCP/IP). LLC ayrıca veri paketlerinden
bozuk gidenlerin(veya karşı taraf için alınanların) tekrar gönderilmesinden
sorumludur. Flow Control yani alıcının işleyebileğinden fazla veri paketi
gönderilerek boğulmasının engellenmesi de LLC'nin görevidir.
Katman 3: Ağ Katmanı(Network Layer)
Ağ katmanı veri paketine farklı bir ağa gönderilmesi gerektiğinde yönlendiricilerin
kullanacağı bilginin eklendiği katmandır. Örneğin IP protokolü bu katmanda
görev yapar.
Katman 4: Taşıma Katmanı (Transport Layer)
Taşıma katmanı üst katmanlardan gelen veriyi ağ paketi boyutunda parçalara
böler. NetBEUI, TCP ve SPX gibi protokoller bu katmanda çalışır. Bu protokoller
hata kontrolü gibi görevleride yerine getirir.
Taşıma katmanı alt katmanlar (Transport Set) ve üst katmanlar (Application
Set) arasında geçit görevini görür. Alt katmanlar verinin ne olduğuna
bakmandan karşı tarafa yollama işini yaparken üst katmanlarda kullanılan
donanım ile ilgilenmeden verinin kendisi ile uğraşabilirler.
Katman 5: Oturum Katmanı(Session Layer)
Oturum katmanı bir bilgisayar birden fazla bilgisayarla aynı anda iletişim
içinde olduğunda, gerektiğinde doğru bilgisayarla konuşabilmesini sağlar.
Örneğin A bilgisayarı B üzerideki yazıcıya yazdırıken, C bilgisayarı B
üzerindeki diske erişiyorsa, B hem A ile olan, hem de C ile olan iletişimini
aynı anda sürdürmek zorundadır.
Bu katmanda çalışan NetBIOS ve Sockets gibi protokoller farklı bilgisayarlarla
aynı anda olan bağlantıları yönetme imkanı sağlarlar.
Katman 6: Sunum Katmanı(Presentation Layer)
Sunum katmanının en önemli görevi yollanan verinin karşı bilgisayar tarafından
anlaşılabilir halde olmasını sağlamaktır. Böylece faklı programların birbilerinin
verisini kullanabilmesi mümkün olur.
Dos ve Windows 9x metin tipli veriyi 8 bit ASCII olarak kaydederken (örneğin
A harfini 01000001 olarak), NT tabanlı işletim sistemleri 16 bit Unicode'u
kullanır (A harfi için 0000000001000001). Ancak kullanıcı tabii
ki sadece A harfiyle ilgilenir. Sunum katmanı bu gibi farklılıkları ortadan
kaldırır.
Sunum katmanı günümüzde çoğunlukla ağ ile ilgili değil, programlarla
ilgili hale gelmiştir. Örneğin eğer siz iki tarafta da gif formatını açabilen
bir resim gösterici kullanıyorsanız, bir makinanın diğeri üzerindeki bir
GIF dosyayı açması esnasında sunum katmanına bir iş düşmez, daha doğrusu
sunum katmanı olarak kastedilen şey, aynı dosyayı okuyabilen programları
kullanmaktır.
Katman 7: Uygulama Katmanı(Application Layer)
Uygulama katmanı programların ağı kullanabilmesi için araçlar sunar.
Microsoft API'leri uygulama katmanında çalışır. Bu API'leri kullanarak
program yazan bir programcı, örneğin bir ağ sürücüsüne erişmek gerektiğinde
API içindeki hazır aracı alıp kendi programında kullanır. Alt katmanlarda
gerçekleşen onlarca farklı işlemin hiçbirisiyle uğraşmak zorunda kalmaz.
Uygulama katmanı için bir diğer örnek HHTP'dir. HTTP çalıştırılan bir
program değil bir protokoldür. Yani bir kurallar dizesidir. Bu dizeye
gören çalışan bir Browser(IE mesela), aynı protokolü kullanan bir Web
sunucuya erişir.
Son söz
OSI kavramsal bir modeldir. Yani hiç biryerde OSI programı veya OSI donanımı
diye bir şey göremezsiniz. Ancak yazılım ve donanım üreticileri bu modelin
tanımladığı kurallar çerçevesinde üretim yaparlar ve ürünleri birbiri
ile uyumlu olur.
OSI Modeli aygıtların işlevlerini anlamak ve açıklamakta kullanılır.
Örneğin HUB dediğimiz cihazlar gelen veriyi sadece bir takım elektrik
sinyalleri olarak gören ve bu sinyalleri çoklayıp, diğer portlarına gönderen
bir cihazdır. Bu da HUB'ların fiziksel(1. katman) katmanda çalışan cihazlar
olduğunu gösterir.
Oysa switch denen cihazlar 2. katmanda çalışırlar. Çünkü 2. katmanda
tanımlı MAC adreslerini algılayabilirler ve bir porttan gelen veri paketini(yine
elektrik sinyalleri halinde) sadece gerekli olan porta(o porttaki makinanın
MAC adresini bildiği için) yollayabilirler.
Yönlendiriciler(router) için ise bazen "3. katman switch'ler"
tabirini görebilirsiniz. Çünkü bu cihazlar biraz daha ileri gidip,
3. katmanda veri paketine eklenmiş IP adresi gibi değerleri de okuyabilir
ve ona göre veri paketini yönlendirebilir.
OSI Modelinde en üst katmandan yola çıkan ham veri (örneğin A harfi,
bir resim, bir ses dosyası vb.), her katmanda o katmanla ilgili bazı ek
bilgiler eklenerek bir alt katmana aktarılır.
Alıcı bilgisayarda ise, alttan üste doğru her katman karşı taraftaki
eş katmanın bilgisini kullanır, gerekeni yapar, bu bilgiyi temizleyip
paketi bir üst katmana geçirir.
Modele göre her bir katman genellikle üç katmanla ilişki içindedir. Bu
üç katman; alt ve üst katmanlar ve karşı taraftaki eş katmandır. Örneğin
Transport katmanındaki TCP protokolü, doğal olarak bir üst katmandan aldığı
veriyi bir alt katmana iletir(veri gönderimi) veya alttan geleni üste
iletir(veri alımı). Ancak gelen veri paketleri eksik ise, tekrar gönderilmesi
gereken veri paketini karşı taraftaki eş katmana bildirme görevini de
yürütür.
|