top of page

Ağ Temelleri - 1 OSI Modeli

  • İbrahim Mert COŞKUN
  • Jul 11, 2018
  • 6 min read

Siber güvenlik 101 derslerine devam ediyoruz. Nmap programında değinmeden önce siber güvenliğin olmazsa olmazlarından her siber güvenlikle uğraşan kişilerin "mutlaka" bilmesi gerektiği bir alan olan "Ağ" gerek siber güvenlikte, gerek program yazarken gerek ise de sistemin nasıl çalıştığını öğrenmeniz açısından önemlidir. Çünkü eğer bir sistemin nasıl çalıştığını bilmezseniz o sistemi ele geçiremezsiniz. Bundan dolayı siber güvenlik ile uğraşan veya bu alanda profesyonel olma yolunda ilerlemenizi Ağ ve Ağ temellerini mutlaka bilinmesi kanaatindeyim. Bundan sonra yazacağım yazılar da artık ağ üzerinden yapacağımız için ağ bilgisinin olması şarttır.

Anahtar Kelimeler: OSI, TCP/IP, UDP, DNS, SYN-ACK Paketleri

OSI Uygulama Modeli:

OSI (Open Systems Interconnection) uygulama katmanı ISO (International Organization tarafından geliştirilmiştir. TCP/IP sisteminin biraz daha gelişmiş bir hali olarak düşünülebilir. Baştan sona doğru bir verinin iki bilgisayar arasındaki iletişimini sağlar. OSI aslında günümüzde sıkça kullanılan ancak değeri bilinmeyen bir model. OSI referans sisteminden önce sadece aynı iki markaya ait ürünler iletişim halinde olabiliyordu. Bu da gerek firmalar için gerekse bir çok kurum ve kuruluş için sıkıntıya sebep oluyordu. Örnek vermek gerekirse; Bir firma kendi içerisindeki bilgisayarlar ile iletişime geçmek, veri aktarmak istiyor. Ama bunun için firmada ki tüm donanım aygıtlarının tek bir elden çıkması yani donanımı yapan firmanın aynısı olması gerekiyor. İşte OSI katmanının en büyük avantajlarından birisi de donanım markası gözetmeksizin makinalar arasında veri alışverişini sağlar. Anlayacağınız üzere OSİ'den önce ağların çoğunluğu belirli firmalar tarafından, belirli standartlar ile uygulanıyordu. OSI modeli çeşitli üreticilerin kullandığı farklı farklı üretici firmaların donanımları ile bir "sektör etkinliği" olmasına sebep olmuştur.

Kısaca OSI modelinde herhangi bir donanım yada herhangi farklı bir ağ topolojisine göre değişiklik göstermemektedir. Amaç farklı ağ mimarilerini farklı protokoller ile aynı ağ ürünü gibi kullanılmasını sağlamıştır.

Gelelim OSI'nin faydalarına

Katmanlar arasında bir tür ilişki vardır. Her katman kendisinden sonraki katman için bir nevi bir hazırlık yapar. İki bilgisayar arasında katmanlar eş zamanlı bir iletişim kurarlar. Böylelikle veri iletimi sağlanmış olur.

OSI modeli 7 katmandan oluşur. TCP/IP sistemine göre biraz daha gelişmiş bir sistem olan OSI, veri iletimi için uygulama katmanından (application layer) fiziksel katmana (physical layer) ulaşana kadar veriye her bir katmanda ayrı bir başlık ekler. Veri, uygulama katmanından fiziksel katmana doğru katmanlardan geçerek gider. Ve her bir katmandan geçerek karşı makinaya ulaşır. Hedef makiya giden veri bu sefer fiziksel katmandan uygulama katmanına doğru paketler açılarak gider. Böylece veri iletişimi sağlanmış olur. Yani veri göndermek isteyen makina uygulama katmanından fiziksel katmana gider. Hedef makina da ise tam tersi olarak fiziksel katmandan uygulama katmanına doğru paketler açılarak gider. En son uygulama katmanına ulaştığında veri bilgisayara ulaşmış olur.

1. Katman - Fiziksel Katman (Physcial Layer)

Adı üstünde fiziksel katman. OSI modelinin ilk katmanıdır. Verilerin kablo aracılığı ile iletildiği bölümdür. Bildiğimiz 0 ve 1'ler işte buradadır. Bu katmanda datalardan oluşan paketlerin dijital ortama çevrildiği katmandır. 1 ve 0'ların nasıl elektrik, radyo veya ışık sinyallerine çevrileceğini ve aktarılacağını tanımlar. Bu katmanda herhangi bir protokol söz konusu değildir. Fiber optik kablo, bakır kablo vs. gibi fiziksel tanımlamalar burada geçerlidir. Aynı zamanda bitlerin çözümlenmesi de bu katmanda yapılır.

Çalışan aygıt olarak HUB bu katmanda yer alır. Zaten HUB'un çalışma prensibi de oldukça basittir. Amacı aynı ağda ki bulunan cihazların birbiri ile haberleşmesine yarar. Switch'den daha basit ve "aptal" bir cihaz olarak tabir edilir. Çünkü HUB da sadece ağı paylaştırır. Ama buna nazaran Switch; şifreleme yöntemiyle her bir veriyi yollar. İstenilen bilgisayarlara veri gönderir ve portlarda kaç cihaz var ise hepsine ayrı ayrı yol açarak veri gönderir.

2. Katman - Veri Bağlantı Katmanı (Data Link Layer)

Bu katman bir erişim katmanıdır. Belirlenen belli başlı erişim katmanları (ethernet, token ring vs.) ile fiziksel katmana erişim için bir ara katmandır. Veri bağlantı katmanı az önce bahsettiğim fiziksel olarak iki cihaz arasındaki bağlantı kurmayı ve bağlantıyı kesmeye yarayan "protokolü" tanımlar. Unutmayın. OSI modeli bir modeldir. Ama her katmana özel içerisinde belli başlı "protokoller" vardır. Ve bu protokeller ile veri alışverişi olur. Protokoller gelen ve giden cihaza göre ayarlanır ve veri o cihazların protokollerine göre hareket ederler.

Ethernet kartı burada bir tür durum kontrolü yapar. Bunun için CSMD/CD (Carrier Sense Multiple Access with Collision Detect) algoritmasını kullanır. Bu algoritmaya göre;

- Hattın boş olup olmadığını dinler.

- Eğer hat boş ise verileri gönderir.

- Eğer hat dolu ise bekler ve hattı dinlemeye devam eder.

- Gönderme esnasında herhangi bir çarpışma sonucunda veri kaybolur ya da kaybolursa veri gönderimini durdurur ve hattı yeniden dinlemeye devam eder.

Bu aşama da veriler belli başlı parçalara bölünür. Bunlara frame denir. Bölümlenen bu frame'ler verileri belli bir kontrol içerisinde göndermeye yararlar. Bu sayede veriler giderken herhangi bir karışıklık söz konusu olmaz. Diyelim ki siz 100 adet paket göndereceksiniz. Bu paketlerin içindeki veriler sıralı bir şekilde sıralanır. Bu sayede karşı taraftaki makinaya veriler gittiği zaman hangi paketi önce açacak, nasıl bir sıralama ile açacağı bilir ve herhangi bir karışıklık olmaz.

Veri bağlantı katmanının büyük bir bölümü ağ kartı içinde gerçekleşir. Veri bağlantı katmanı ağ üzerindeki diğer bilgisayarları tanımlama, kablonun o anda kimin tarafından kullanıldığının tespiti ve fiziksel katmandan gelen verinin hatalara karşı kontrolü görevini yerine getirir.

Veri bağlantı katmanı 2 alt bölmeye ayrılır;

a.) Media Access Control (MAC)

b.) Logical Link Control (LLC)

MAC adresi verilerin cihazlar arasında haberleşmesini sağlayan bir tür fiziksel adrestir. Veri bağlantı katmanında MAC adresi ağda ki cihazların ağ üzerindeki iletişiminden ve veri iletim izninden sorumludur. İzinler burada gerçekleşir

LLC ise bir nevi geçiş katmanı olarak görev alır. Amacı bir üst katman olan Ağ katmanına geçiş için gerekli portları oluşturur. Böylelikle kaynak makinadan çıkan veri paketi hedef makinaya giderken hangi protokollerden gideceğini bilir.

Switch 2. katmanda çalışan bir cihazdır. Switch gelen paketleri diğer makinalara göndererek aynı ağdaki bilgisayarları haberleşmesine yarar. Bundan dolayı MAC adresleri üzerinden işlem yapar. Switch de bundan dolayı Veri katmanında çalışır

3.Katman - Ağ Bağlantı Katmanı (Network Layer)

Ağ katmanı paketlerin iletimi sağlayan bir katmandır. Ancak bu durumu yapabilmesi için mantıksal bir adresleme yerine fiziksel bir adresleme yapması lazım. İşte bu noktada 3.katman devreye giriyor. Bu katmanda adresleme fiziksel bir adreslemeye dönüştürülür. Ağ katmanında en kolay yoldan verinin iletimi sağlanması gerekir. Bu sayede ağ trafiği yönlendirme oluşmuş olur ve paket için en uygun yol belirlenmiş olur.

Veri iletim sırasında eğer bir ağ katmanından diğer ağ katmanına giden veri fazla büyükse ağ veriyi bir kaç parçaya ayırarak gönderir. Bu sayede parça parça giden veriler ağ da tıkanıklığa yol açmaz. Veri paketi düğüme ulaştığı zaman gönderdiği verileri tek tek birleştirir. Bu sayede veri karşı tarafa iletilmiş olur.

4. Katman - Taşıma Katmanı (Transport Layer)

Adı üstünde taşıma katmanı. Alt katmandan gele verileri ağ paketi boyutunda parçalara böler. Bu sayede hedef cihaza veya ağda ki diğer cihazlara verinin kalitesini de koruyarak gönderebilir. Anlayabileceğiniz gibi veriler bu katmanda paketlenerek kesim (segment) halinde taşınır. Ayrıca şunu da bilmek gerekir ki TCP katmanı bu katmanda çalışır. Bu da şu demek; gönderilen verinin karşı tarafa gidip gitmediğini doğrular. Eğer paket karşı tarafa gittiyse sorun yoktur. Ancak paket iletiminde bir sorun olduysa paketi tekrar gönderir. Eğer paket karşı tarafa ulaştıysa bir "başarı" mesajı gönderir ve diğer paketi ister.

Şunu da bilmek gerekir ki taşıma katmanı verinin akış kontrolünü, paketlerin parçalara bölünüp birleştirilmesini ve hata kontrolünün güvenliğinden sorumludur. Zaten TCP bağlantıya dayalı bir protokoldür.

5. Katman - Oturum Katmanı (Session Layer)

Kelime olaraktan da anlaşılabileceği gibi iki cihaz arasındaki bağlantıyı kontrol eder. Yani bağlantının yapılması, kontrol edilmesi ve sonlanması gibi işlemleri ayarlar. Gerektiğinde doğru aygıtlar ile haberleşmesini sağlar.

NetBIOS, RPC, Named Pipes ve Sockets gibi protokoller bu katmanda çalışır.

6. Katman - Sunuş Katmanı

Artık yavaş yavaş geliyoruz. Verilerimiz kablolar aracılığıyla iletildi. Bir hatta girdi ve hattın durumuna göre belirli adreslerden çıkışını yaptı. Daha sonra ağ katmanına gelerek nereye gideceğini belirledi. Veriler paketlendikten sonra parça parça karşı makinaya iletilmek için yola çıktılar. Aynı zamanda burada bir kontrol mekanizmasına tabii oldular. Nasıl sunulacaklarına dair gazı da aldıktan sonra Sunuş katmanına ulaştılar.

Bu katman OSI modelinin köprüden önceki son çıkışı. Bu katmanın en önemli görevi yollanan verilerin karşı bilgisayar tarafından anlaşılabilecek bir duruma getirilmesidir. Bu sayede farklı mimaride çalışan uygulamalar birbirleri ile haberleşebilecek duruma gelirler. Son olarak sunum katmanı uygulama katmanına verileri yollar ve bu katmanda verinin yapısı ve biçimi hakkında düzenlemeler yapılır.

GIF, JPEG, TIFF, EBCDIC, ASCII vb. bu katmanda çalışır.

7.Katman - Uygulama Katmanı

Uygulama katmanı artık herşeyin hazır olduğu ve son rütuşların yapılacağı katmandır. Verimizin uzun ve çilekeş yolculuğu nihayet onurlu bir görev için hazırlandı. Bu katmanda hem uygulama katmanı hem de kullanıcı direk etkileşimde bulunur. Şu anda olduğu gibi. Siz bu yazıyı okurken son olarak uygulama katmanından geçmiş ve kullanıcı ile etkileşimde olmuştur.

Uygulama katmanı bilgisayar uygulaması ile ağ arasında bir arabirim sağlar. Şunu unutmayın ki OSI katmanında "sadece" bu katman diğer katmanlara servis sağlamaz. Uygulamaların ağ üzerinde çalışmasını sağlar. Bu katman kullanıcıların gereksinimini karşılar. Aynı zamanda iletişim kuran kişiler tanımlanırken kişilerin ne kadar kaynak kullanılabileceğine karar verir ve veri göndermek için gereken kimlik doğrulamasını yapar. Ek olarak İletişim senkronize edilirken uygulamalar arasındaki tüm iletişim, uygulama katmanı tarafından sağlanan iş birliğine ihtiyaç duyar. Bu katman uygulama ve son kullanıcı işlemlerini destekler. İletişimde bulunan kişiler ve servis kalitesi tanımlıdır, kullanıcı yetkilendirme ve gizlilik dikkate alınır ve de verinin sözdizimi ile ilgili kısıtlamalar da yine tanımlıdır. Bu katmandaki her şey uygulamaya özgüdür.

Böylelikle karşımızda ne bekliyorsak (bir arayüz, web sitesi, oyun vs.) ona göre kısıtlamalar yapılır, görevler verilir veya yetki verilir. Kısaca uygulama son katmanda döner ve bütün işlemler burada gerçekleşir. Tabii işin arka planında onca veriler, veri paketlemeleri, iletilen yol, kullanılan servisler vs. gibi yollardan geçerek karşımıza gelir. Son olarak SSH, telnet, FTP, TFTP, SMTP, SNMP, HTTP, DNS protokolleri ve tarayıcılar bu katmanda çalışır.E-posta ve veritabanı gibi uygulamalar bu katman aracılığıyla yapılır.


Comments


Dünya üzerinde haksızlığa uğrayan, yardım bekleyen, Hak arayan onca mazlumun yanında bu sitenin haklarının pekte bir önemi yoktur. Tüm yazıları kullanabilirsiniz.

bottom of page