İçeriğe geç
academia.sh

Ders 01 / 18

OSI Modeli

Yedi katmanlı başvuru modelinin katman görevleri, hizmet–arayüz–protokol ayrımı ve bir arızanın doğru katmana yerleştirilmesi.

İçindekiler

İnternet Nasıl Çalışır kursunda bir adres satırına yazılan isteğin uçtan uca yolculuğu izlendi: ad çözümlendi, bağlantı kuruldu, istek gönderildi, yanıt çizildi. O anlatıda ağ tek parça bir hizmet gibi görünüyordu — isteği verirsiniz, yanıt gelir.

Bu kurs o tek parçayı açar. Açmanın yolu, işi katmanlara bölmektir. Bir bilgisayardaki uygulamanın verisini başka bir kıtadaki bilgisayara ulaştırmak; elektrik sinyali üretmek, komşu cihazı adreslemek, ağlar arası yol seçmek, kaybolan parçaları yeniden göndermek ve verinin anlamını korumak gibi birbirinden bağımsız sorunlar içerir. Bu dersin sorusu, bu sorunların hangi ölçüte göre ayrıldığıdır.

Katmanlamanın Nedeni

Katmanlı tasarım, Programlama Temelleri kursundaki yukarıdan aşağı ayrıştırmanın ağ alanındaki karşılığıdır: her katman, altındaki katmanın sunduğu hizmeti kullanır ve üstündeki katmana daha soyut bir hizmet sunar. Bir katmanın nasıl çalıştığı, onu kullanan katmanı ilgilendirmez.

Bu ayrımın somut kazancı, katmanların birbirinden bağımsız değiştirilebilmesidir. Bakır kablo yerine fiber kullanmak, üzerinde çalışan hiçbir uygulamayı etkilemez; bir uygulama protokolünü değiştirmek, altındaki yönlendirme mekanizmasına dokunmaz. Bir bilgisayar kablosuz bağlantıdan kablolu bağlantıya geçtiğinde açık duran oturumların çoğu, üst katmanlar bu değişikliği görmediği için etkilenmez.

Katmanlı bir mimaride üç kavram özenle ayrılır:

  • Hizmet (service): Bir katmanın üstündeki katmana ne sunduğu. “Sıralı ve kayıpsız bir bayt akışı” bir hizmet tanımıdır.
  • Arayüz (interface): Üstteki katmanın bu hizmete nasıl eriştiği. İşlev çağrıları, parametreler, veri aktarım biçimi.
  • Protokol (protocol): Aynı katmanın iki ayrı makinedeki örneklerinin birbiriyle nasıl konuştuğu. Hizmeti gerçekleştirmenin iç meselesidir ve üstteki katmana kapalıdır.

Hizmet aynı kaldığı sürece protokol değiştirilebilir. Katmanlı modelin dayanıklılığı bu sözden gelir.

Yedi Katman

OSI başvuru modeli (Open Systems Interconnection reference model), ağ işlevlerini yedi katmana ayırır. Aşağıdan yukarıya:

No Katman Sorumluluk Adresleme birimi
7 Uygulama (application) Uygulamaya özgü alışveriş kuralları Kaynak adı
6 Sunum (presentation) Veri gösterimi, kodlama, şifreleme
5 Oturum (session) Diyalog kurulumu, senkronizasyon, kurtarma
4 Taşıma (transport) Uçtan uca güvenilirlik ve çoğullama Bağlantı noktası
3 Ağ (network) Ağlar arası adresleme ve yol seçimi IP adresi
2 Veri bağlantısı (data link) Komşu düğümler arası çerçeve iletimi Donanım adresi
1 Fiziksel (physical) Bitlerin sinyale dönüşmesi

Katmanların sorumlulukları, tek bir ölçütle ayrılır: bir sorunun kapsamı.

Fiziksel katman yalnızca bir bitin nasıl aktarılacağıyla ilgilenir. Gerilim düzeyleri, ışık darbeleri, radyo taşıyıcıları, konektör biçimleri ve zamanlama bu katmanın konusudur. Bu katmanda “adres” yoktur; ortama konan sinyalin ne anlama geldiği bilinmez.

Veri bağlantısı katmanı, aynı fiziksel ortamı paylaşan cihazlar arasında iletim yapar. Bit dizisine başlangıç ve bitiş sınırı koyar, hedef cihazı donanım adresiyle belirtir, hata sezmek için bir denetim alanı ekler ve ortamı birden çok cihaz paylaşıyorsa erişimi düzenler. Kapsamı tek bir bağlantıdır; bir sonraki cihazın ötesini görmez.

Ağ katmanı, birbirine komşu olmayan ağlar arasında iletim yapar. İki yeni görev üstlenir: her uca ağdan bağımsız bir adres vermek ve bu adrese giden yolu seçmek. Yönlendiriciler bu katmanda çalışır. Uçtan uca teslim güvencesi vermez; yalnızca “elimden geleni yaparım” düzeyinde bir hizmettir.

Taşıma katmanı, iki uç arasındaki iletişimi uygulamaların kullanabileceği hâle getirir. Aynı makinede çalışan birden çok uygulamayı bağlantı noktası numarasıyla ayırır ve — protokole göre — kayıp, sıra bozulması ve yineleme sorunlarını üstlenir. Ağ katmanı paketleri kaybedebilir; taşıma katmanı bunu üst katmandan gizleyebilir.

Oturum katmanı, iki uç arasındaki diyaloğu yapılandırır: hangi tarafın ne zaman konuşacağı, kesintiden sonra hangi noktadan devam edileceği. Sunum katmanı, verinin gösterimini düzenler: karakter kodlaması, bayt sırası, sıkıştırma ve şifreleme. Bu iki katmanın işlevleri uygulamada çoğunlukla uygulama katmanının veya kütüphanelerin içinde yer alır.

Uygulama katmanı, kullanıcı programının doğrudan kullandığı protokolleri barındırır. Bir kaynağın nasıl isteneceği, bir postanın hangi biçimde iletileceği bu katmanın konusudur.

Kurs Boyunca İzlenecek Ağ

Bu kursun tüm hesapları tek bir örnek üzerinden yürütülecektir: bir araştırma kurumunun tek yerleşkeli ağı.

  • Kurum, sağlayıcısından tek bir genel adres almıştır: 203.0.113.10.
  • İç ağda özel bir blok kullanılır: 192.168.10.0/24.
  • Bloğun bölümlere ayrılması, bu konudan sonraki derslerde adım adım tasarlanacaktır.
  • İzlenecek istemci, yönetim bölümündeki 192.168.10.196 adresli makinedir; donanım adresi 00:00:5e:00:53:01.
  • Bu makinenin geçidi (default gateway) 192.168.10.193 adresli kurum yönlendiricisidir.
  • İstemcinin dış dünyadaki hedefi, 198.51.100.20 adresli bir sunucudur.

Örnekteki 203.0.113.0/24, 198.51.100.0/24 ve 192.0.2.0/24 blokları belgeleme için ayrılmıştır; gerçek ağlarda görünmezler. Donanım adresleri de belgeleme amacıyla ayrılmış 00:00:5e:00:53:xx aralığından seçilmiştir. Bu seçim bilinçlidir: bir örnek adres, gerçek bir sistemi işaret ediyorsa örnek olmaktan çıkar.

İstemci, 198.51.100.20 üzerindeki bir kaynağı istediğinde her katman kendi işini yapar: uygulama katmanı isteği biçimlendirir, taşıma katmanı bunu bir bağlantıya oturtur, ağ katmanı hedef adrese göre yolu seçer, veri bağlantısı katmanı çerçeveyi geçide ulaştırır, fiziksel katman bitleri kabloya koyar. Bu adımların her biri sonraki derslerde tek tek açılacaktır.

Bir Arızayı Katmana Yerleştirmek

Katmanlı modelin gündelik değeri, tanı sırasını belirlemesidir. Bir sorunun hangi katmanda olduğu bilinmiyorsa, aşağıdan yukarıya doğru daraltma yapılır: alt katman çalışmıyorsa üstündeki katmanların hepsi çalışmaz.

Belirti Sorumlu katman Gerekçe
Arayüz bağlantı ışığı yanmıyor Fiziksel Sinyal taşınmıyor
Komşu cihazın donanım adresi çözümlenmiyor Veri bağlantısı Yerel ağda adres eşleme başarısız
Yerel ağ çalışıyor, dış adrese ulaşılmıyor Yol seçimi veya geçit tanımı hatalı
Adrese ulaşılıyor, bağlantı noktası yanıtsız Taşıma Hedefte dinleyen süreç veya filtreleme sorunu
Bağlantı kuruluyor, yanıt anlamsız Sunum / uygulama Kodlama veya protokol uyuşmazlığı

Sıra tersine çevrildiğinde çok emek boşa gider: uygulama yapılandırmasında saatler harcandıktan sonra kablonun takılı olmadığı görülebilir. Katmanlı tanı yöntemi, bu israfı önlemek için sistemli bir daraltma önerir.

Modelin Sınırları

OSI bir başvuru modelidir; bir gerçekleştirim değildir. İnternet’te çalışan protokol yığını bu modele göre tasarlanmamıştır ve ona tam olarak oturmaz. Modelin bilinen sınırları açıkça söylenmelidir:

  • Oturum ve sunum katmanları, ayrı katmanlar olarak çoğu yığında bulunmaz; işlevleri uygulama katmanına veya kütüphanelere dağılmıştır.
  • Bazı protokoller birden çok katmanı birden ilgilendirir. Güvenli taşıma protokolleri taşıma ile uygulama arasında konumlanır; adres eşleme protokolleri ağ ve veri bağlantısı katmanlarını birlikte kullanır.
  • Tünelleme kullanıldığında katman sırası tekrarlanır: bir ağ katmanı paketi, başka bir ağ katmanı paketinin yükü hâline gelebilir.

Bu sınırlara karşın model iki nedenle yaşamaya devam eder. Birincisi ortak sözlük sunar: “üçüncü katman sorunu” ifadesi, ortak bir anlam taşır. İkincisi tanı sırası verir: sorunun kapsamını daraltmanın sistemli bir yolunu tanımlar.

Özet

  • Katmanlı tasarım, ağ işini kapsamına göre ayırır; her katman altındakinin hizmetini kullanır, üstündekine daha soyut bir hizmet sunar.
  • Hizmet (ne sunulduğu), arayüz (nasıl erişildiği) ve protokol (eşler arasında nasıl konuşulduğu) ayrı kavramlardır; hizmet sabit kalarak protokol değiştirilebilir.
  • OSI modeli yedi katman tanımlar: fiziksel, veri bağlantısı, ağ, taşıma, oturum, sunum, uygulama.
  • Katmanlar arasındaki temel ayrım kapsamdır: bir bit, bir bağlantı, ağlar arası yol, uçtan uca oturum.
  • Tanıda aşağıdan yukarıya daraltma yapılır; alt katman çalışmıyorsa üst katmanların hepsi çalışmaz.
  • OSI bir başvuru modelidir; gerçekleştirilen yığınlar ona tam oturmaz, ancak ortak sözlük ve tanı sırası sağlar.

Sonraki Adım

Yedi katmanlı model bir tasarım sözlüğü verir; ancak İnternet’te çalışan yığın bu modele göre kurulmamıştır. Sonraki ders, gerçekten gerçekleştirilen dört katmanlı TCP/IP modelini ele alacak, iki modelin katmanlarını eşleyecek ve TCP/IP’nin merkezindeki tek ortak katmanın neden bu kadar belirleyici olduğunu gösterecek.

İlerlemeni kaydetmek ve not almak için Giriş yap

Notlarım

Not almak için giriş yapmalısın.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat