OSI modeli nedir ? meselesine girmeden önce biraz teknoloji tarihine kısaca göz atalım. (kahvenizi alın, biraz uzunca ve çok faydalı bir yolculuğa çıkıyoruz)
Ağ kavramı ilk ortaya çıktığında, bilgisayarlar sadece aynı üreticilerin ürettiği bilgisayarlarla iletişim kurardı. Örneğin, şirketler ya DECnet ya da IBM tarafından üretilmiş bilgisayarlar kullanırlardı. İki markanın bilgisayarlarını aynı ağ üzerinde kullanmak sorunlara yol açıyordu. 1970’lerin sonlarında, “Open Systems Interconnection (OSI)” OSI modeli “International Organization for Standardization (ISO)” tarafından yukarıda anlatmış olduğum büyük kullanım zorluklarını aşmak için oluşturuldu.
OSI modeli , satıcıların birlikte çalışabilir ağ cihazları ve yazılımları oluşturmalarına yardımcı olmak amacıyla, farklı satıcı ağlarının birbirleriyle barışçıl bir uyum içinde çalışabilmelerini sağlamayı amaçladı. Dünya barışı gibi… (Muhtemelen tam olarak asla gerçekleşmeyecek, ama yine de iyi bir hedef!)
İçerik Kılavuzu
Bu kadar tarih şimdilik yeterli. OSI modeline dönelim
OSI modeli , ağlar için birincil mimari modeldir. Verilerin ve ağ bilgilerinin bir bilgisayardaki bir uygulamadan ağ medyası aracılığıyla başka bir bilgisayardaki bir uygulamaya nasıl iletildiğini açıklar. OSI referans modeli bu yaklaşımı katmanlara böler. Bu arada, osi katmanları bazen network katmanları adıyla da anılır.
Şimdi, katmanlı bir yaklaşımın nasıl olduğu ve artı olarak, internet ağlarımızdaki sorunları da gidermemize yardımcı olmak için OSI modeli ni nasıl kullanabileceğimizi açıklamaya çalışacağım.
Katmanlı Yaklaşım
Cihazlar arası iletişimin nasıl gerçekleşmesi gerektiğine dair kavramsal bir plan olduğunu anlamamıza yarayan sisteme referans modeli denir. Etkili iletişim için gerekli tüm süreçleri ele alan ve bunları katman adı verilen mantıksal gruplara ayıran sistem, referans modelidir. Bir iletişim sistemi bu şekilde tasarlandığında, hiyerarşik veya katmanlı bir mimari olarak bilinir.
Bu, şu şekilde düşünülebilir : siz ve bazı arkadaşlarınız bir şirket kurmak istiyorsunuz. Önem sırası olarak en önce bir iş planı yaparak ve bu plan çerçevesinde iş paylaşımına karar vermelisiniz. Özel operasyonlarınızın birbirleriyle olan ilişkilerini dikkatlice değerlendirerek, yapılmasını istediğiniz sırayı belirlemek için harekete geçeceksiniz. Daha sonra her şeyi departmanlara (örneğin, satış, envanter ve nakliye) şeklinde organize edeceksiniz. Her bir departmanın kendine özgü sorumlulukları yerine getirmesi ve kendi personelini kendi özel alanlarına odaklanacak kadar meşgul tutmasını sağlamanız gerekecektir.
Bu senaryoda bölümler, iletişim sistemindeki “katmanlar” için bir metafordur. İşlerin sorunsuz bir şekilde yürütülebilmesi için, her bölümün personeli, işlerini iyi yapmalı ve diğerlerinin yaptığı işlere güvenebilmelidir. Planlama oturumları sırasında, daha sonraki tartışmalara rehberlik etmek ve çalışma standartlarını netleştirmek için tüm süreci kaydederken, kendi referans modelinizi oluşturarak notlar alırsınız.
Modeller neden önemlidir?
İşiniz bir kez başladıktan sonra, her biri kendi içinde planın bir parçası olan departmanlarınız, farklı görevlerini yerine getirmek için pratik yöntemler geliştireceklerdir. Bu pratik yöntemler veya protokoller daha sonra standart işletim prosedürleri el kitabında derlenecek ve yakından takip edilecektir. Çünkü her prosedür farklı sebeplerden dolayı çeşitli önem ve uygulama derecelerini sınırlandıracaktır. Eğer bir ortaklık kurarsanız ya da başka bir şirket edinirseniz, bunlar hayati bir hal alacaktır. Çünkü o zaman yeni şirketin iş modelinin sizinle uyumlu olması çok önemli olacaktır !
Modeller, yazılım geliştiriciler için de gerçekten önemlidir. Bilgisayar iletişim süreçlerini anlamak için sıklıkla bir referans modeli kullanırlar, böylece belirli bir katman üzerinde hangi fonksiyonların yerine getirilmesi gerektiğini belirleyebilirler. Bu, eğer birisi belirli bir katman için bir protokol oluşturuyorsa, yalnızca hedef katmanlarının işlevleriyle ilgilenmeleri gerekir. Başka bir katmanın protokolleriyle eşleşen ve özellikle dağıtılmak üzere tasarlanmış yazılımlar, ek işlevleri yerine getirir. Bu fikir için teknik terim bağlayıcıdır. Birbirleriyle ilgili olan iletişim süreçleri belirli bir katmana bağlanır veya birlikte gruplanır.
Referans Modellerin Avantajları
OSI modeli hiyerarşiktir ve herhangi bir katmanlı modele uygulanabilecek birçok avantajı vardır. Ancak dediğim gibi, OSI modeli ‘nin temel amacı, farklı satıcı ağlarının birlikte çalışmasına izin vermektir.
Burada, OSI modeli katmanlarını kullanarak, ağ iletişim sürecini daha küçük ve daha basit kısımlara bölerek bileşen geliştirmeyi, tasarlamayı ve sorun gidermeyi kolaylaştırılmak için avantajları listelemeye çalıştım:
- Ağ bileşenlerinin standardizasyonu yoluyla birden fazla satıcının geliştirilmesine olanak tanır.
- Modelin her katmanında hangi fonksiyonların meydana geldiğini açıkça tanımlayarak endüstri standardizasyonunu teşvik eder.
- Çeşitli ağ donanımı ve yazılımı iletişimini sağlar.
- Gelişimi hızlandırmak için bir katmandaki değişikliklerin diğer katmanları etkilemesini önler.
OSI Referans Modeli
OSI modeli ‘nin bize sunduğu en iyi hediyelerden biri, Unix bilgisayarlar, Windows, Mac’ler, akıllı telefonlar vb. gibi farklı işletim sistemleri çalıştıran farklı bilgisayarlar arasında veri aktarımının yolunu açmasıdır.
Ve unutmayın, OSI modeli fiziksel değil mantıksal bir modeldir.
Temel olarak, geliştiricilerin bir ağ üzerinde çalışacak uygulamalar oluşturmak ve uygulamak için kullanabilecekleri bir kurallar kümesidir. Aynı zamanda ağ standartları, cihazları ve internet çalışma programları oluşturmak ve uygulamak için bir çerçeve sağlar.
OSI’nin iki gruba ayrılmış yedi farklı katmanı vardır. En üstteki üç katman, son istasyonlardaki uygulamaların birbirleriyle ve kullanıcılarla nasıl iletişim kuracağını tanımlar. Alttaki dört katman, verilerin uçtan uca nasıl iletileceğini tanımlar.
Uygulama | Kullanıcı ara yüzü sağlar |
Sunum | Veri sunar Şifreleme gibi işlemleri ele alır |
Oturum | Farklı uygulamaların verileri ayırır |
Yukarıdaki tabloya bakıldığında, kullanıcıların Uygulama katmanındaki bilgisayarla etkileşime girdiğini ve ayrıca üst katmanların ana bilgisayarlar arasında iletişim kuran uygulamalardan sorumlu olduğunu anlamamız gerekir. Üst katmanların hiçbiri ağ veya ağ adresleriyle ilgili hiçbir şey bilmiyor çünkü bu işlem “dört alt katmanın” sorumluluğundadır.
Dört alt katmanı ve işlevlerini gösteren aşağıdaki tablo, verilerin kablo, fiber optik, switchler ve routerlar gibi fiziksel ortamlardan nasıl aktarıldığını tanımlayan bu dört alt katman olduğunu görebilirsiniz. Bu alt katmanlar ayrıca, bir veri akışını ileten bir ana bilgisayardan bir hedef ana bilgisayarın uygulamasına nasıl yeniden oluşturacağını da belirler.
Transport | Güvenilir ya da güvenilmeyen teslimatı sağlar Hata düzeltmeyi sağlar |
Ağ | Sanal adreslemeyi ve routerların hangi yolu seçeceğini belirtir |
Data Link | Paketleri byte’a, byte’ları frame ekler Mac Address Hataları görür fakat düzeltmez |
Fiziksel | Bitlerin cihazlar arasında hareketi Voltaj, kablo hızı vb. özelliklerinin belirlendiği yer |
Aşağıdaki ağ aygıtları OSI modelinin yedi katında da çalışır:
- Ağ yönetim istasyonları (NMS)
- Web ve uygulama sunucuları
- Ağ geçitleri (varsayılan ağ geçitleri değil)
- Sunucular
- Ağ ana bilgisayarları
Yedi katmanlı modeli üç farklı işleve ayırdım: üst katmanlar, orta katmanlar ve alt katmanlar. Üst katmanlar; kullanıcı arayüzü ve uygulama ile iletişim kurar, orta katmanlar; uzak bir ağa güvenilir iletişim ve yönlendirme yapar ve alt katmanlar; yerel ağla iletişim kurar.
Bu elinizdeyken, artık her katmanın işlevini ayrıntılı olarak keşfetmeye hazırsınız!
Uygulama Katmanı ( Application Layer )
OSI modeli Uygulama katmanı, kullanıcıların aslında bilgisayarla iletişim kurduğu noktayı işaretler ve yalnızca ağa erişimin gerekli olacağı açık olduğunda devreye girer. Internet Explorer (IE) örneğini alın, yerel bir HTML belgesini görüntülemek için IE kullanabilirsiniz. Ancak, IE ve diğer tarayıcılar Uygulama katmanına erişmeye çalışarak bu tür istekler üzerinde hareket ettiğinden, alınması gereken uzak bir HTML belgesini görüntüleme gibi şeyler yapmaya çalışırsanız işler çirkinleşir. Temel olarak, Uygulama katmanı, uygulamanın protokol yığını boyunca bilgi göndermesi için yollar sağlayarak, asıl uygulama programı ile bir sonraki katman arasındaki arayüz olarak çalışmaktadır. Bu aslında katman yapısının bir parçası değildir, çünkü tarayıcılar Uygulama katmanında yaşamazlar, ancak uzak kaynaklara erişmeleri istendiğinde ilgili protokollerin yanı sıra bununla da iletişim kurarlar.
İletişim ortağının uygunluğunun belirlenmesi ve onaylanması ve belirtilen iletişim türünün gerçekleşmesine izin vermek için gerekli kaynakların doğrulanması da Uygulama katmanında gerçekleşir. Bu önemlidir; çünkü bilgisayar uygulamalarında bazen masaüstü kaynaklarından daha fazlasına ihtiyaç duyulur. İstenen bir işlevi yerine getirmek için çeşitli ağ uygulamalarının iletişim bileşenlerinin bir araya gelmesini düşünmemiz gerek.
İşte bu tür olaylara birkaç iyi örnek:
- Dosya transferleri
- E-posta
- Uzaktan erişimi etkinleştirme
- Ağ yönetimi faaliyetleri
- İstemci / sunucu işlemleri
Birçok ağ uygulaması, kurumsal ağlar üzerinden iletişim için hizmetler sağlar. Ancak mevcut ve gelecekteki internet çalışmaları için, mevcut fiziksel ağın sınırlarının ötesine ulaşma ihtiyacı hızla artmaktadır.
Sunum Katmanı ( Presentation Layer )
Sunum katmanı, amacını isminden alır: Veriyi, Uygulama katmanına sunar ve veri çevirisi ile kod biçimlendirmesinden sorumludur. Kodlama ve dönüştürme hizmetleri sağlayan OSI modeli tercümanı olarak düşünülebilir. Başarılı bir veri aktarımı sağlamanın çok etkili bir yolu, aktarımdan önce verileri standart bir formata dönüştürmektir. Bilgisayarlar, genel olarak formatlanmış bu verileri almak üzere yapılandırılmış ve daha sonra okumak için kendi ana durumuna yeniden biçimlendirmiştir. Bu tür bir çeviri hizmeti örneği, eski Extended Binary Coded Decimal Interchange Code (EBCDIC) verilerini American Standard Code for Information Interchange ASCII‘ye çevirirken ortaya çıkar. Dolayısıyla, çeviri hizmetleri sağlayarak, Sunum katmanının bir sistemin Uygulama katmanından aktarılan verinin başka birinin Uygulama katmanından okunmasını sağladığını unutmayın.
Bunu akılda tutarak; OSI’nin standart verilerin nasıl biçimlendirilmesi gerektiğini tanımlayan protokolleri içerdiği, dolayısıyla veri sıkıştırma, açma, şifreleme ve şifre çözme gibi temel işlevlerin de bu katmanla ilişkilendirildiği anlaşılmaktadır. Bazı Sunum katmanı standartları multimedya işlemlerinde de rol oynar.
Oturum Katmanı ( Session Layer )
Oturum katmanı, Sunum katmanı varlıkları arasında oturumları ayarlamak, yönetmek ve kaldırmaktan ve kullanıcı verilerini ayrı tutmaktan sorumludur. Cihazlar arasındaki iletişim kontrolü de bu katmanda gerçekleşir.
Transport Katmanı ( Transport Layer )
Transport katmanı, verileri tek bir veri akışına böler ve yeniden birleştirir. Bu katmandaki servisler, üst katman uygulamalarından alınan tüm çeşitli verileri alır, ardından aynı, özlü veri akışında birleştirir. Bu protokoller uçtan uca veri taşıma hizmetleri sunar ve gönderen ev sahibi ile hedef ev sahibi arasında bir ağ üzerinde mantıksal bir bağlantı kurabilir.
TCP ve UDP adı verilen tanınmış protokoller bu katmanın ayrılmaz bir parçasıdır, ancak daha önce aşina olmadığınız için endişelenmenize gerek yoktur, çünkü bu yazının kapsamı içerisinde değiller. Her ikisi de Transport katmanında çalışır, TCP güvenilir bir hizmet olarak bilinir ancak UDP değildir. Bu ayrım, uygulama geliştiricilere daha fazla seçenek sunar çünkü bu katman için ürünler tasarlarken iki protokol arasında bir seçeneğe sahiptir.
Ağ Katmanı ya da Network Katmanı ( Network Layer )
Ağ katmanı, aygıt adreslemeyi yönetir, aygıtların ağdaki konumunu izler ve verileri taşımanın en iyi yolunu belirler. Bu, yerel olarak bağlı olmayan cihazlar arasında trafik iletmenin Ağ katmanına bağlı olduğu anlamına gelir. Ağ katmanı cihazları olan router’lar bu katmanda belirtilir ve bir ağ çalışması içinde yönlendirme hizmetleri sağlar.
Katmanlardan biri de ‘network katmanıdır.’ Network katmanları, veri paketlerinin yönlendirilmesi ve hedef cihaza ulaştırılmasıyla ilgilenir. Bu katman, verilerin kaynak ve hedef arasında güvenli ve hızlı bir şekilde iletilmesini sağlar. Dolayısıyla, ağ mühendisleri ve sistem yöneticileri için network katmanının önemi büyüktür. OSI Modeli ve bu modelin içindeki network katmanı, bilgisayar ağlarına dair temel bir anlayış sunar ve ağ teknolojilerinin geliştirilmesine katkı sağlar.
Data Link Katmanı
Data Link Katmanı, verilerin fiziksel iletimini sağlar ve hata bildirimini, ağ topolojisini ve akış kontrolünü işler. Bu, Data Link Katmanının, mesajların donanım adreslerini kullanarak bir LAN üzerindeki uygun aygıta iletilmesini sağlayacak ve Fiziksel katmanın iletmesi için iletileri Ağ katmanından bitlere çevireceği anlamına gelir.
Data Link katmanında iki alt katman vardır:
Medya Erişim Kontrolü (MAC)
Paketlerin medyaya nasıl yerleştirileceğini tanımlar. Medya erişimine yönelik tartışma, herkesin aynı bant genişliğini paylaştığı “ilk gelen / ilk sunulan” erişimdir, bu nedenle adı bu şekildedir. Fiziksel adresleme burada mantıklı topolojilerin yanı sıra tanımlanmaktadır. Mantıklı bir topoloji nedir? Fiziksel bir topolojideki sinyal yolu. Bu alt katmanda çizgi disiplini, hata bildirimi (düzeltme değil), sipariş edilen çerçeve teslimatı ve isteğe bağlı akış kontrolü de kullanılabilir.
Logical Link Control (LLC)
Ağ katmanı protokollerini tanımlamaktan ve sonra bunları enkapsüle etmekten sorumludur. Bir LLC üstbilgisi, Data Link katmanına bir kare alındıktan sonra bir paketle ne yapılacağını söyler. Bu şekilde çalışır: bir ana bilgisayar bir frame alır ve paketin nereye gönderildiğini bulmak için LLC başlığına bakar (örneğin, Ağ katmanındaki IP protokolü). LLC ayrıca akış kontrolü ve kontrol bitlerinin dizilimi sağlayabilir. Bölümün başlangıcından bahsettiğim Switch’ler ve Bridge’ler hem Data Link katmanında çalışır hem de donanımı MAC adreslerini kullanarak filtreler.
Fiziksel Katmanı ( Physical Layer )
Fiziksel katman, OSI referans modelinin en düşük katmanıdır. Bir bilgisayardan diğerine bit göndermekten sorumludur. Bu katman bitlerin anlamı ile ilgilenmez ve ağa fiziksel bağlantı kurulumu ve sinyallerin iletimi ve alımı ile ilgilenir.
Bu katman ağın fiziksel bağlantılarının çoğunda (kablosuz iletim, kablolama, kablolama standartları ve türleri, konektörler ve türleri, ağ arabirim kartları ve daha fazlası) ağ gereksinimlerine göre belirler. Bununla birlikte, fiziksel katman gerçek fiziksel ortamla (bakır, lif gibi) ilgilenmez.
Özet
Bunun bitmeyecek bir yazı gibi göründüğünü biliyorum, ama bitti – ve sen başardın!
Artık, bir ton önemli temel bilgi ile donanmış durumdasın; ve üzerine inşa etmeye hazırsın!
Bu yazımızda;
OSI modelinin ne olduğundan, uygulama geliştiricilerin herhangi bir sistem veya ağ üzerinde çalışabilecek uygulamaları tasarlamalarına yardımcı olmak için kullanılan yedi katmanlı modelden bahsettim. Her katmanın kendine özgü işlevi vardır ve aslında sağlam, etkili iletişimin gerçekleşmesini sağlamak için model içindeki sorumlulukları seçer.
Eğer iyi bir yazılımcı ya da ağ yöneticisi olmak istiyorsanız ilk bilmeniz gereken şey OSI modelidir!
Ve eğer yazımız size bir fayda sağladıysa lütfen yorum yapmayı ve ilgili kişilerle paylaşmayı unutmayın. 🙂