OSI Katmanlar?na Genel Bir Bak??
Arkadaşlar merhabalar bu yazımda sizlere OSI modelinden bahsedeceğim.
Open Systems Interconnection model kısaca OSI model bütün network mimarisinin temelidir.
Peki ilk olarak neden böyle bir modele ihtiyaç duyulmuştur ?
Nasıl ki tüm Dünya'da ortak konuşma dili İngilizce ise Network haberleşmesinin ingilizcesi osi'dir. Bunu şöyle düşünebiliriz; herhangi bir web sitesini tarayıcı yada cihaz bağımsız olarak görüntüleyebiliyorsunuz. Peki bunu nasıl yapıyorsunuz ?
Aynı şekilde okadar farklı marka model network kartı üreticisi ve sistem olmasına rağmen hala iletişim kurabiliyoruz. Peki bunu nasıl yapıyoruz ?
Aynı dili konuşarak !!!
OSI modeli 7 katmandan oluşur
Bu katmanlar aşağıdan yukarı doğru;
Layer 1 : Physical (Fiziksel)
Layer 2 : Data Link (Veri Bağlantı)
Layer 3 : Network (Ağ)
Layer 4 : Transport (Taşıma)
Layer 5 : Session (Oturum)
Layer 6 : Presentation (Sunum)
Layer 7 : Application (Uygulama)
Şeklinde isimlendirilir.
Bu katmanların ilk 4 tanesi (aşağıdan yukarı doğru) Network ile alakalı iken diğer 3 tanesi artık client a en yakın kısımdır ve son kullanıcının kullandığı uygulamalar burada çalışır.
İlk olarak katmanlarda çalışan cihazlardan bahsedelim.
Hub:
Layer 1 de çalışır. Üzerine gelen bütün paketleri üzerinde bulunan bütün portlara dağıtır.
Switch:
Layer 2 de çalışır. Hub a göre akıllı cihazlardır. Üzerlerinde bulunan MAC Table sayesinde üzerine gelen paketleri sadece ilgili porta gönderir.
Router:
Layer 3 de çalışır. IP ler ile haberleşmeyi sağlar. Bir networkü başka bir networke bağlar.
Firewall:
Layer 3 de ve Layer 4 de çalışan çeşitleri vardır. Port bazlı filtreleme yapmaya yarar. Unified Threat Management (UTM Birleşik Tehdit Yönetimi) özelliği bulunan firewalllar application seviyesinde filtreleme yapabilir. IPS, DNS Filter, Web Filter gibi özellikleri vardır.
Şimdi sırayla layerları incelemeye başlayalım. Bu sırada encapsulation ve decapsulation kavramlarını, data,segment,packet,frame nedir, sorusunun cevabını, port, ip, mac adresinin ne olduğunu göreceğiz.
Layer 7 (Application)
Son kullanıcıya en yakın olan bölümdür. Örneğin bir gom player application seviyesinde çalışan bir uygulamadır.
Layer 6 (Presentation)
Sunum katmadırı. Uygulamaları datayı sunan katman olarak düşünebiliriz. Bir alt layer olan Session katmanından hex halde tutulan data presentation katmanına geçerken mpeg,jpeg gibi uygulamaların anlamlandırabileceği formatlara dönüştürülür ve uygulamalara servis edilir.
Layer 5 (Session)
Bu katmandan sonra biraz daha donanıma yaklaşmaya başlıyoruz. Data bu katmana inerken bulunduğu formatı değiştirir ve hex hale dönüştürülür. Artık cihazların çözebileceği formattadır. Ayrıca bu katmanın asıl işlevi bağlantılarda ki oturumları yönetmektir. Kullanıcı bir FTP sunucusuna bağlanacak olsada bir SSH bağlantısı yapacak olsa da yapılan bağlantı bu katman sayesinde yapılır.
Örneğin; FileZilla uygulaması layer 7 de çalışırken, Yaptığınız bağlantı Layer 5 üzerinde gerçekleşmektedir ve aktarım yaptığınız dosyaların formatı layer 6 da belirlenmektedir.
Layer 5,6,7 için user-side diyebiliriz. Ancak daha aşağı katmanlar artık Networkün işidir.
Layer 4 (Transport)
TCP ve UDP bu katmanda çalışır. Bir bilgi network üzerinden iletilmek istenildiği zaman haliyle bütün veri aynı anda aktarılmaz bilgi parçalara bölünür, bu parçama işlemi transport katmanında yapılır. Üst katmanlardan gelen data (Layer 5,6,7 içerisinde ki bir bilgiden bahsediliyorsa onun adı datadır), bu katmanda segmentlere ayrılır. Herhangi bir yerde araştırma yaparken segment tanımını görüyorsanız layer 4 içerisinde konuşuluyor demektir.
Eğer ki bilgiyi bir pasta olarak düşünürseniz, segment her bir lokmadır.
Bu katmandan sonra bir de header denilen başlık bilgileri eklenmeye başlayacaktır. 3 tip header vardır. (TCP Header, IP Header, Layer 2 Header)
TCP ve UDP nin en temel farkı veri bütünlüğüdür. TCP bir bağlantıda 3-way handshake ile bağlantı sağlanır, UDP bir bağlantıda veri gönderilir ve gitti mi gitmedi mi yolda başına bişey geldi mi kontrolü yapılmaz. FTP TCP bir bağlantıya örnek olabilir ve görüntülü konuşma UDP bağlantıya örnek olabilir.
TCP header içerisinde en sık kullanılan bölümler; Source Port, Destination Port ve TCP Flags bölümleridir. Bir http isteği atılmak istenildiği zaman Source Port otomatik olarak belirlenir ve Destination port değeri 80 olarak belirlenir. 3 way handshake TCP Flags değerlerini kullanır.
SYN, SYN+ACK ve ACK ile belirtilen değerler TCP Flags değerleridir.
UDP Header içerisinde çok fazla bir bilgi bulunmasına gerek yoktur. TCP header da daha fazla alan olmasının asıl sebeplerinden bir tanesi veri bütünlüğünü sağlamaktır. UDP protokolünde böyle bir kaygı olmadığından dolayı sadece hangi porttan çıktığı ve hangi porta gideceği bilgileri yeterlidir.
Layer 3 (Network)
Bu katmanda dilimizden düşürmediğimiz IP (Ineternet Protocol) vardır. IP adresleri 4 oktet, 32 bitten oluşan değerlerdir.
10.0.0.0 10.255.255.255, 172.16.0.0 - 172.31.255.255,192.168.0.0 192.168.255.255 aralıkları private ip olarak geçer ve iç networkte (NAT arkasında) kullanılmak içindir, public bir ortamda (internet) bu adresleri göremezsiniz.
Transport katmanından gelen segment (daha önceden TCP yada UDP Header eklenmişti), bu katmanda packetlere dönüşür. Eğer farklı bir network ile iletişim kurulmak isteniyorsa segment üzerine ip header eklenir. IPv4 için ve IPv6 için header değerleri farklıdır.
Örnek IPv4 Header
Örnek IPv6 Header
Eğer ki Local Area Networkü bir oda olarak düşünürsek, router cihazlarını odamızın kapısı olarak düşünebiliriz; Routerlar üzerinde routing table vardır, bu tablolar içerisinde bağladıkları networklar içerisinde ki cihazların ip bilgileri varıdr. Routerlar bu tabloları birbirleri ile paylaşırlar ve bir cihaza farklı bir networke gitmek istediği zaman, isteğini routera iletir. Daha sonra router ilgili ipnin bağlı bulunduğu routera isteği iletir ve iletişim sağlanır.
İletişim kontrolü için kullanılan ICMP (Internet Control Message Protocol) bu katmanda çalışır. Ping komutu ICMP protokolünü kullanır (TCP yada UDP değil !).
Layer 2 (Data Link)
Network katmanından gelen packetler bu layer da Framelere dönüşür. Bu dönüşüm yapılırken packetler üzerine Layer 2 Header eklenir. Layer 2 Header üzerinde sadece Source Mac, Destination Mac ve data kısımları bulunur.
Layer 2 Headerın en önemli özelliklerinden bir tanesi cihaz üzerinden çıkan her bilgide bulunmak zorundadır. Örneğin icmp protocolü layer 3 üzerinde çalışır daha üst katmanlarla bir işi yoktur dolayısıyla bu protocolü kullanan bir iletişim üzerinde TCP header bulunmaz. Ancak her türlü iletişimde layer 2 üzerinden bilgi geçeceği için Layer 2 Header her bilgi üzerine işlenir. Layer 2 Header Ethernet Header olarakta karşınıza çıkabilir.
Bu katmanda MAC adresleri işin içine girer. Aynı network içerisinde ki iletim layer 2 iletimdir. Örneğin bir odamız olduğunu ve içerisinde bilgisayar olduğunu düşünelim kapıdan dışarı çıkmadığımız takdirde layer 2 iletişim kurarız. MAC adresleri toplam 6 oktetden yani 48 bitten oluşur AA:BB:CC
D:EE:FF şeklinde bir yapısı vardır (8 bit = 1 oktet). MAC adreslerinin ilk 3 okteti vendoru yani üreticiyi temsil eder (Realtek, Samsung, Atheros etc.).
Aynı LAN üzerinde bulunan bir cihaz ile iletişime geçilmek istenildiği zaman ip adresi verilse dahi cihaz üzerinde bulunan ARP tablosuna bakılır ve ilgili MAC adresi bulunur bu MAC adresine iletim yapılır. "ARP tablosu hem client cihazlar üzerinde hem de iletişimi sağlayacak olan switch üzerinde bulunur. Gönderilen bir paket switch üzerine geldiği zaman switch ilgili MAC adresinin hangi porta takılı olduğunu bilir ve sadece o porta paketleri iletir.
Address Resolution Protocol (ARP)ü IP adresleri ile MAC adreslerini birbirine eşitler.
Cihaz üzerinde arp -a komutu ile mevcut arp tablosunu görüntüleyebilirsiniz. Eğer ki mevcut arp tablosu üzerinde göremediğiniz bir ip varsa ilgili cihaza ping gönderiniz ve tabloyu tekrar kontrol ediniz.
Layer 1 (Physical)
İletilmek istenilen network paketlerinin elektrik sinyallere dönüştüğü katmandır. Bu katmanda radyo sinyallerinden, elektriksel iletimden, kablolardan bahsedilebilir. İletilmek istenilen verinin Ethernet Socketinden çıktıktan sonra ilgilenildiği kısımdır.
Bilginin izlediği yukarıdan aşağıya Data -> Segment -> Packet -> Frame yoluna encapsulation;
Aşağıdan yukarıya Frame -> Packet -> Segment -> Data yoluna decapsulation denilmektedir.
Okuduğunuz için teşekkürler.
İyi forumlar.
Open Systems Interconnection model kısaca OSI model bütün network mimarisinin temelidir.
Peki ilk olarak neden böyle bir modele ihtiyaç duyulmuştur ?
Nasıl ki tüm Dünya'da ortak konuşma dili İngilizce ise Network haberleşmesinin ingilizcesi osi'dir. Bunu şöyle düşünebiliriz; herhangi bir web sitesini tarayıcı yada cihaz bağımsız olarak görüntüleyebiliyorsunuz. Peki bunu nasıl yapıyorsunuz ?
Aynı şekilde okadar farklı marka model network kartı üreticisi ve sistem olmasına rağmen hala iletişim kurabiliyoruz. Peki bunu nasıl yapıyoruz ?
Aynı dili konuşarak !!!
OSI modeli 7 katmandan oluşur
Bu katmanlar aşağıdan yukarı doğru;
Layer 1 : Physical (Fiziksel)
Layer 2 : Data Link (Veri Bağlantı)
Layer 3 : Network (Ağ)
Layer 4 : Transport (Taşıma)
Layer 5 : Session (Oturum)
Layer 6 : Presentation (Sunum)
Layer 7 : Application (Uygulama)
Şeklinde isimlendirilir.
Bu katmanların ilk 4 tanesi (aşağıdan yukarı doğru) Network ile alakalı iken diğer 3 tanesi artık client a en yakın kısımdır ve son kullanıcının kullandığı uygulamalar burada çalışır.
İlk olarak katmanlarda çalışan cihazlardan bahsedelim.
Hub:
Layer 1 de çalışır. Üzerine gelen bütün paketleri üzerinde bulunan bütün portlara dağıtır.
Switch:
Layer 2 de çalışır. Hub a göre akıllı cihazlardır. Üzerlerinde bulunan MAC Table sayesinde üzerine gelen paketleri sadece ilgili porta gönderir.
Router:
Layer 3 de çalışır. IP ler ile haberleşmeyi sağlar. Bir networkü başka bir networke bağlar.
Firewall:
Layer 3 de ve Layer 4 de çalışan çeşitleri vardır. Port bazlı filtreleme yapmaya yarar. Unified Threat Management (UTM Birleşik Tehdit Yönetimi) özelliği bulunan firewalllar application seviyesinde filtreleme yapabilir. IPS, DNS Filter, Web Filter gibi özellikleri vardır.
Şimdi sırayla layerları incelemeye başlayalım. Bu sırada encapsulation ve decapsulation kavramlarını, data,segment,packet,frame nedir, sorusunun cevabını, port, ip, mac adresinin ne olduğunu göreceğiz.
Layer 7 (Application)
Son kullanıcıya en yakın olan bölümdür. Örneğin bir gom player application seviyesinde çalışan bir uygulamadır.
Layer 6 (Presentation)
Sunum katmadırı. Uygulamaları datayı sunan katman olarak düşünebiliriz. Bir alt layer olan Session katmanından hex halde tutulan data presentation katmanına geçerken mpeg,jpeg gibi uygulamaların anlamlandırabileceği formatlara dönüştürülür ve uygulamalara servis edilir.
Layer 5 (Session)
Bu katmandan sonra biraz daha donanıma yaklaşmaya başlıyoruz. Data bu katmana inerken bulunduğu formatı değiştirir ve hex hale dönüştürülür. Artık cihazların çözebileceği formattadır. Ayrıca bu katmanın asıl işlevi bağlantılarda ki oturumları yönetmektir. Kullanıcı bir FTP sunucusuna bağlanacak olsada bir SSH bağlantısı yapacak olsa da yapılan bağlantı bu katman sayesinde yapılır.
Örneğin; FileZilla uygulaması layer 7 de çalışırken, Yaptığınız bağlantı Layer 5 üzerinde gerçekleşmektedir ve aktarım yaptığınız dosyaların formatı layer 6 da belirlenmektedir.
Layer 5,6,7 için user-side diyebiliriz. Ancak daha aşağı katmanlar artık Networkün işidir.
Layer 4 (Transport)
TCP ve UDP bu katmanda çalışır. Bir bilgi network üzerinden iletilmek istenildiği zaman haliyle bütün veri aynı anda aktarılmaz bilgi parçalara bölünür, bu parçama işlemi transport katmanında yapılır. Üst katmanlardan gelen data (Layer 5,6,7 içerisinde ki bir bilgiden bahsediliyorsa onun adı datadır), bu katmanda segmentlere ayrılır. Herhangi bir yerde araştırma yaparken segment tanımını görüyorsanız layer 4 içerisinde konuşuluyor demektir.
Eğer ki bilgiyi bir pasta olarak düşünürseniz, segment her bir lokmadır.
Bu katmandan sonra bir de header denilen başlık bilgileri eklenmeye başlayacaktır. 3 tip header vardır. (TCP Header, IP Header, Layer 2 Header)
TCP ve UDP nin en temel farkı veri bütünlüğüdür. TCP bir bağlantıda 3-way handshake ile bağlantı sağlanır, UDP bir bağlantıda veri gönderilir ve gitti mi gitmedi mi yolda başına bişey geldi mi kontrolü yapılmaz. FTP TCP bir bağlantıya örnek olabilir ve görüntülü konuşma UDP bağlantıya örnek olabilir.
TCP header içerisinde en sık kullanılan bölümler; Source Port, Destination Port ve TCP Flags bölümleridir. Bir http isteği atılmak istenildiği zaman Source Port otomatik olarak belirlenir ve Destination port değeri 80 olarak belirlenir. 3 way handshake TCP Flags değerlerini kullanır.
SYN, SYN+ACK ve ACK ile belirtilen değerler TCP Flags değerleridir.
UDP Header içerisinde çok fazla bir bilgi bulunmasına gerek yoktur. TCP header da daha fazla alan olmasının asıl sebeplerinden bir tanesi veri bütünlüğünü sağlamaktır. UDP protokolünde böyle bir kaygı olmadığından dolayı sadece hangi porttan çıktığı ve hangi porta gideceği bilgileri yeterlidir.
Layer 3 (Network)
Bu katmanda dilimizden düşürmediğimiz IP (Ineternet Protocol) vardır. IP adresleri 4 oktet, 32 bitten oluşan değerlerdir.
10.0.0.0 10.255.255.255, 172.16.0.0 - 172.31.255.255,192.168.0.0 192.168.255.255 aralıkları private ip olarak geçer ve iç networkte (NAT arkasında) kullanılmak içindir, public bir ortamda (internet) bu adresleri göremezsiniz.
Transport katmanından gelen segment (daha önceden TCP yada UDP Header eklenmişti), bu katmanda packetlere dönüşür. Eğer farklı bir network ile iletişim kurulmak isteniyorsa segment üzerine ip header eklenir. IPv4 için ve IPv6 için header değerleri farklıdır.
Örnek IPv4 Header
Örnek IPv6 Header
Eğer ki Local Area Networkü bir oda olarak düşünürsek, router cihazlarını odamızın kapısı olarak düşünebiliriz; Routerlar üzerinde routing table vardır, bu tablolar içerisinde bağladıkları networklar içerisinde ki cihazların ip bilgileri varıdr. Routerlar bu tabloları birbirleri ile paylaşırlar ve bir cihaza farklı bir networke gitmek istediği zaman, isteğini routera iletir. Daha sonra router ilgili ipnin bağlı bulunduğu routera isteği iletir ve iletişim sağlanır.
İletişim kontrolü için kullanılan ICMP (Internet Control Message Protocol) bu katmanda çalışır. Ping komutu ICMP protokolünü kullanır (TCP yada UDP değil !).
Layer 2 (Data Link)
Network katmanından gelen packetler bu layer da Framelere dönüşür. Bu dönüşüm yapılırken packetler üzerine Layer 2 Header eklenir. Layer 2 Header üzerinde sadece Source Mac, Destination Mac ve data kısımları bulunur.
Layer 2 Headerın en önemli özelliklerinden bir tanesi cihaz üzerinden çıkan her bilgide bulunmak zorundadır. Örneğin icmp protocolü layer 3 üzerinde çalışır daha üst katmanlarla bir işi yoktur dolayısıyla bu protocolü kullanan bir iletişim üzerinde TCP header bulunmaz. Ancak her türlü iletişimde layer 2 üzerinden bilgi geçeceği için Layer 2 Header her bilgi üzerine işlenir. Layer 2 Header Ethernet Header olarakta karşınıza çıkabilir.
Bu katmanda MAC adresleri işin içine girer. Aynı network içerisinde ki iletim layer 2 iletimdir. Örneğin bir odamız olduğunu ve içerisinde bilgisayar olduğunu düşünelim kapıdan dışarı çıkmadığımız takdirde layer 2 iletişim kurarız. MAC adresleri toplam 6 oktetden yani 48 bitten oluşur AA:BB:CC
Aynı LAN üzerinde bulunan bir cihaz ile iletişime geçilmek istenildiği zaman ip adresi verilse dahi cihaz üzerinde bulunan ARP tablosuna bakılır ve ilgili MAC adresi bulunur bu MAC adresine iletim yapılır. "ARP tablosu hem client cihazlar üzerinde hem de iletişimi sağlayacak olan switch üzerinde bulunur. Gönderilen bir paket switch üzerine geldiği zaman switch ilgili MAC adresinin hangi porta takılı olduğunu bilir ve sadece o porta paketleri iletir.
Address Resolution Protocol (ARP)ü IP adresleri ile MAC adreslerini birbirine eşitler.
Cihaz üzerinde arp -a komutu ile mevcut arp tablosunu görüntüleyebilirsiniz. Eğer ki mevcut arp tablosu üzerinde göremediğiniz bir ip varsa ilgili cihaza ping gönderiniz ve tabloyu tekrar kontrol ediniz.
Layer 1 (Physical)
İletilmek istenilen network paketlerinin elektrik sinyallere dönüştüğü katmandır. Bu katmanda radyo sinyallerinden, elektriksel iletimden, kablolardan bahsedilebilir. İletilmek istenilen verinin Ethernet Socketinden çıktıktan sonra ilgilenildiği kısımdır.
Bilginin izlediği yukarıdan aşağıya Data -> Segment -> Packet -> Frame yoluna encapsulation;
Aşağıdan yukarıya Frame -> Packet -> Segment -> Data yoluna decapsulation denilmektedir.
Okuduğunuz için teşekkürler.
İyi forumlar.
Moderatör tarafında düzenlendi:




