TCP/IP Notlarını indirebilirsiniz.
|OSI REFERANS MODELİ|
|Network iletişimini düzenleyen modeldir.Bir dosya transferi,bir dosya download veya bir uygulamayı çalıştırırken gereken protokol düzenini bir sıraya koyan ve kontrolunu saglayan kurallar butunudur.Ağ ile ilgili her türlü veri alışverişi bu kurallar çerçevesinde uygulanır.TCP/IP nin de içerisinde oldugu tüm protokoller OSI referans modelinin ortaya koydugu kurallar çerçevesinde çalışır.Ağ içerisinde bulunan router,ethernet,ag kabloları,programlar vs hepsi OSI modelinin bir katmanında işlem görür ve belirlenen kurallar çerçevesinde üst veya alt katmana aktarılarak veri akışının sürekliliği sağlanır.


OSI nedir ? :ISO (International Standards Organization) tarafından geliştirilen ve bilgisayarlar arası iletişimin nasıl olacağını tanımlayan kurallar bütünüdür.Herhangi bir networkaygıtı/protokolu gözetmeksizin ortak bir alanda anlaşmalarını saglamayı amaçlar.
|7- Uygulama Katmanı ( Application Layer) :Kullanıcının internette , local olarak kullandıgı veya gereksinim duydugu servisleri çalıştırılabildigi katman Uygulama (Application) katmanı olarak adlandırılır.Kullanıcıya en yakın olan katmandır. Diğer katmanlardan ayrılan yanı diğer katmanların hiçbirine servis sağlamamasıdır.Uygulama katmanı, bağlanılacak birimlerin uygunluğunu tespit eder ve kurar, iş birliği içinde olan uygulamaları senkronize eder, hataları düzeltir ve verinin doğruluğunu kontrol eder, programların ağı kullanabilmesi için araçlar sunar.Aynı zamanda istenen bağlantının olabilmesi için yeterli kaynak olup olmadığına da karar verir.


Örneğin 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 HTTP’dir. HTTP çalıştırılan bir program değil bir protokoldür. Yani bir kurallar dizesidir. Bu dizeyi gören çalışan bir Browser(Firefox mesela), aynı protokolü kullanan bir Web sunucuya erişir.
•FTP (File Transfer Protocol)
|6- Sunum Katmanı ( Presentation Layer ) :Bir sistemin uygulama katmanının gönderdiği bilginin diğer sistemin uygulama katmanı tarafından okunabilir olmasını sağlar. Sunuş katmanı sadece mevcut kullanıcı verilerinin sunumu ve biçimiyle değil, programların kullandığı veri yapılarıyla da bilgi toplar.En üst katmandan bir dosyanın ağ içerisinde başka bir bilgisayara gönderildiğini düşünelim.Uygulama katmanından gelen paketlerin öncelikle uygulama katmanı tarafından eklenen bilgileri okunur.Bunlar içerik hakkında bilgi verir.Bulundugumuz katmanda verinin içeriğiyle ilgilendiği için içeriğe bakar , ne tür bir veri oldugunu belirler ve daha sonra bunu alıcı bilgisayarın Sunum katmanının anlayacağı şekilde kodlayarak bir alt katmana gönderir.


Yani anlaşılır bir örnekle şu şekilde anlatabiliriz.Bildiğimiz üzere farklı işletim sistemleri farklı kodlamalar kullanır.Şöyleki Windows işletim sisteminde yazdığınız 1 rakamı Pardus işletim sistemindede aynı görünür.Fakat işletim sistemleri farklı olunca harflere veya rakamlara verilen kodlamalar farklılık gösterir.Bu katman bu farklılığı ortadan kaldırarak her bilgisayarda verinin aynı olmasını sağlar.Windowslu bilgisayarda veri ASCII 8bit (örnek olarak) olarak kodlanmakta fakat Pardus bilgisayarı Unicode 16 bit içerik olarak kodlamayı algılamaktadır.Bu farklılıklar Sunum katmanında düzenlenir ve karşılıklı kullanıcıların bilgiyi aynı görmeleri sağlanır.
Bu katmanın diğer bir görevide şifreleme ve özel dosya biçimlendirme işlemlerini de yapmasıdır.Ekranları ve dosyaları programcıların istediği şekilde biçimlendirebilir. Aynı zamanda kontrol kodları, özel grafikler ve karakter tabloları da bu katmanda bulunur ancak bunlar osi’ye genel bakışta fazla bir önem arz etmemektedir.
|5- Oturum Katmanı ( Session Layer ) :Oturum katmanı iletişimde bulunacak iki nokta arasındaki oturumun kurulması, yönetilmesi ve sonlandırılmasını , bir bilgisayar birden fazla bilgisayarla aynı anda iletişim içinde olduğunda, gerektiği anda doğru bilgisayarla konuşabilmesini sağlar yani basit olarak birden fazla bilgisayarın aynı anda sorun yaşamadan anlaşması sağlanır. Özellikle ağ ortamlarında bir bilgisayar aynı anda birden fazla bilgisayara bağlantı kurma gereği duyar ve bu katmanda tamamen bu isteğe yönelik hizmette bulunur.


Şöyle bir örnekle daha net anlatmaya çalışayım.Bir ağımız ve 4 bilgisayarımız var (A,B,C,D daha fazlada olabilir önemli değil). A bilgisayarı B üzerindeki yazıcıya yazdırırken, C bilgisayarı B üzerindeki diske erişiyor ve B bilgisayarıda D bilgisayarı üzerinde SQL verilerini düzenliyor , B hem A ile hem D ile hem de C ile olan iletişimini aynı anda korumak zorundadır.
İşte bu farklı bağlantı yapılarının aynı anda çalıştırılması ve hiçbirinin hasar görmemesi Oturum katmanındaki protokoller sayesinde düzenlenir.Görüldüğü gibi 3 farklı ağ içi bağlantı (C–> B , A–>B , B–>D ) Sunum katmanı protokolleri sayesinde düzenlenerek belirli kurallar doğrultusunda işletilir.
Gel gelelim bu ağda çalışan protokollere.Oturum katmanına örnek olarak :
NFS (Network File System),
SQL (Structured Query Language),
RPC (Revate Procedure Call),
ASP (AppleTalk Session Protocol) ,
DNA SCP (Digital Network Arcitecture Session Control Protocol) ve X Window
|4- Taşıma Katmanı ( Transport Layer ) :Taşıma katmanı önceki yazımda anlattığım gibi Alt katman (Transport Set) ile Üst katman (Application Set) diye belirttiğimiz katmanlar arasında geçiş görevi başta olmak üzere.


• Düğümler(*) arasında mantıksal bir bağlantının kurulması,
• Dendilerine iletilen verinin içerik olarak doğruluğunun kontrol edilmesi ,
• Eğer içerikte bir hata/bozulma saptanırsa düzeltmek için çalışılır
• Uygulama katmanı doğrultusunda kendilerine ulaşan veriler ağ içerisinde iletilecek boyutlara (Segmentlere) bölünür veya alt katmandan aldığı segmentlerin birleştirilmesi ve üst katmana iletilmesi (Kendisinden önceki ve sonraki katmanlar arasında verinin düzgün bir şekilde iletildiğine emin olmak için katmanlar arası eklenen başlık bilgilerinden yararlanır)
• Akış kontrolü (**) kullanarak karşı tarafa gönderilen verinin yerine ulaşıp ulaşmadığının kontrol edilmesi,
Ayrıca karşı tarafa gönderilen segment’lerin karşı tarafta gönderilen sırayla birleştirilmesi işinden de soruludur.
*Bilgisayar ağlarındaki her araca düğüm( node ) denilir.Bu araçlar sunucu , PC , sunucu , modem , router , cdrom vs olabilir.
**Akış kontrolü hata kontrolünün sağlanması ve cihazlar arasındaki veri kurtarma işlevini yapar. Akış kontrolü demek taşıma katmanının verilerin birden çok uygulamadan gelip gelmediğini kontrol etmesi ve eğer birden çok uygulamadan geliyorsa bu verileri fiziksel katman için tekbir akış haline getirmesi anlamına gelir
|3- Network Katmanı ( Network Layer ) :Ağ katmanı veri paketine farklı bir ağa gönderilmesi gerektiğinde yönlendiricilerin kullanacağı bilginin eklendiği katmandır.Yani routerlara gelen verilerin router tarafından okunup yönlendirilme işlemi yaparken okuduğu bilgiler bu katmanda eklenir. Bu katmandaki yönlendirme işlemleri ise yönlendirme protokolleri kullanılarak gerçekleştirilir. Yönlendirme protokollerine örnek olarak RIP,IGRP,OSPF ve EIGRP verilebilir. Burada dikkat edilmesi gereken önemli bir nokta da yönlendirme protokolleri ile yönlendirilebilir protokollerin farklı şeyler olduğudur. Bu katmanda kullanılan yönlendirme protokollerinin görevi ,yönlendirilecek paketin hedef’e ulaşabilmesi için geçmesi gereken yolun hangisinin en uygun olduğunu belirlemektir. Yönlendirme işlemi yukarıda bahsettiğim yönlendirme protokollerini kullanarak dinamik bir şekilde yapılabileceği gibi ,yönlendiricilerin(routerların) üzerinde bulunan yönlendirme tablolarına statik olarak kayıt girilerek de paketlerin yönlendirilmesi gerçekleştirilebilir.


Şöyleki ağ içi veri akışı için routerda belirlenen tablolar vardır.Bu tablolar sabit veya değişken olabilir( Dinamik veya Statik ).Ağ içi trafiğin çok yoğun olduğu yerlerde dinamik bir yapı kullanılarak verinin “en kısa zamanda” hedefine ulaşması sağlanır.Normal ağ koşullarında bu tablolar sabittir ve veri paketlerinin gideceği yollar önceden belirlenmiştir.
Ağ içerisindeki veri trafiği yine bu katman tarafından düzenlenir ve olası veri çakışmalarına karşı önlem alınır.
Routerlı modemlerdeki “Yönlendirme Tablosu” (routing table) bu ayarlamaların yapıldığı kısımdır. Modeminizden göz atabilirsiniz.
Route Table
Destination Netmask Gateway Interface
127.0.0.1 255.0.0.0 127.0.0.1 lo0
18.104.22.168 255.255.255.255 22.214.171.124 ppp1
|2- Veri Hattı Katmanı ( Data Link ) :Network katmanından aldığı veri paketlerine hata kontrol bitlerini ekleyerek çerçeve (frame) halinde fiziksel katmana iletme işinden sorumludur. Ayrıca iletilen çerçevenin doğru mu yoksa yanlış mı iletildiğini kontrol eder ,eğer çerçeve hatalı iletilmişse çerçevenin yeniden gönderilmesini sağlamak da bu katmanın sorumluluğundadır. Bu katmanda ,iletilen çerçevenin hatalı olup olmadığını anlamak için CRC ( Cyclic Redundancy Check) yöntemi kullanılır. Switch’ler ve Bridge’ler bu katmanda tanımlıdırlar. Kendi içerisinde 2 bölüme ayrılır.MAC ve LLC.


MAC Fiziksel katmana aktaracağı veriye kendisine ve alıcıya ait MAC numarasını ekler ve karşı tarafa “veriyi gönderen benim” şeklinde mesaj verir.Alıcıdan gelen bilgiler doğrultusunda veri gönderme işini düzenleyerek devam ettirir.
LLC ise alıcıya ulaşan bozuk veya hatalı verilerin tekrar gönderilmesinden sorumludur.Üst katmanı olan Network katmanıyla iletişim halindedir ve TCP/IP protokolleri vasıtasıyla bağlantı sürekli sürdürülür.Alıcı bilgisayara gönderilen verilerin gönderilme sıklığıda LLC sorumluluğundadır.Çok fazla gönderip alıcıyı cevapsız bırakmak veya veriler arası sürenin uzun tutulması gibi olumsuzlukların önüne geçer(Burası çok önemli ve buradan soru gelme ihtimalide her zaman yüksektir:) ).Bilinen Frame Relay,PPP gibi ağ düzenekleri vardır.
Routerlı modemlerde bulunan “Bridge Filtering” bu ayarlamalar içindir.Ağ bağlantılarında seçtiğimiz PPPoE LLC,1483 Bridged IP LLC gibi protokoller bu düzenin sağlanması için yapılmaktadır.Modeminizden göz atabilirsiniz.
|1- Fiziksel Katman ( Physical Layer ) :Bu katmana kadar işlemler ile gelen veri Fiziksel katmandan kablolar yardımıyla iletilir.Veri içerik olarak bir ve sıfırdan oluşmaktadır,bu noktadan sonra bu bir ve sıfırlar elektrik sinyallerine dönüştürülerek kablolara aktarılır ve alıcı bilgisayara gönderilir.Alıcı bilgisayarda aldığı elektrik sinyallerini ters işlemle bir ve sıfırlar haline getirerek yorumlayacaktır.Burada önemli olan kısım alıcı ve göndericinin kullandığı voltaj ve referans sinyal milisaniyelerin aynı olmasıdır.Aksi durumda gönderilen veriler anlamsız olarak algılanacak ve iletişim sağlanamayacaktır.Fakat günümüzde kullandığımız Ethernetler bu farklılığı ortadan kaldırarak tek bir değer kullanıp sorun yaşanmasının önüne geçmişlerdir.


Ayrıca Hub’lar fiziksel katmanda 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 elektiriksel ve mekanik özelliklerle ilgilenir. Örneğin V.24 ,V.35, RJ45 ,RS-422A standartları fiziksel katmanda tanımlıdırlar.
OSI (Open System Interconnection) başvuru modeli
|Katman||Protokol|
|7||Application(Uygulama)||Dosya sunucusu|
|6||Presentation(Sunu)||Şifreleme, Şifre Çözme,sıkıştırma|
|5||Session(Oturum)||Taşıyıcılar, NETBIOS|
|4||Transport(Taşıma)||TCP, SPP|
|3||Network||IP, Router|
|2||Data Link (Veri Bağlantı)||Ethernet, Token Ring köprüleri|
|1||Physical(Fiziksel)||Kablolama|