Skip to content

OSI Modeli

Bilgisayar ağlarının nasıl çalıştığını anlamak için kullanılır. Geliştirilen donanımlar ve yazılımların, standartlara uymasını ve dolayısıyla İnternet üzerinde sorunsuzca iletişim kurabilmesini sağlar.

ChatGPT'den "Zihni Sinir projesi" tarzında OSI modeli katmanları ChatGPT'den "Zihni Sinir projesi" tarzında OSI modeli katmanları

İnternet'in Kısa Tarihçesi

ARPANET 1970 ARPANET 1970

ARPANET, Advanced Research Projects Agency Network (Gelişmiş Araştırma Projeleri Ajansı Ağı) ifadesinin kısaltmasıdır. 1960'ların sonunda ABD Savunma Bakanlığına bağlı DARPA tarafından finanse edilen bir araştırma ağıdır.

ARPANET'in ilk bağlantısı 1969 yılında kurulmuştur ve başlangıçta dört üniversite arasında çalışmıştır.

ARPANET, paket anahtarlama (packet switching) teknolojisini kullanan ilk büyük ölçekli ağlardan biri olmuş ve günümüzdeki İnternet'in temellerini oluşturmuştur. Bu nedenle ARPANET genellikle İnternet'in atası olarak kabul edilir. İnternet Tarihçesi

OSI ve TCP/IP modelleri

Bilgisayar ağlarının nasıl çalıştığını anlamak için kullanılır. Geliştirilen donanımlar ve yazılımlar bu modellere uygun olursa İnternet üzerinde sorunsuzca iletişim kurabilirler.

OSI ve TCP/IP modelleri Görsel kaynağı: https://community.fs.com/article/tcpip-vs-osi-whats-the-difference-between-the-two-models.html

OSI 🆚 TCP/IP Modeli Karşılaştırmasıs

Özellik OSI Referans Modeli TCP/IP Modeli
Katman sayısı 7 katman 4 katman
Amaç Ağ iletişimini kavramsal olarak açıklamak İnternet üzerinde gerçek iletişimi sağlamak
Kullanım Eğitim ve teorik model Gerçek internet altyapısı
Tasarım yaklaşımı Katmanlar daha ayrıntılıdır Daha sade ve pratiktir

OSI MODELİ KATMANLARI

Bir bilgisayardan gönderilen bir bilginin diğer bilgisayara nasıl ulaştığını anlatmak için tasarlanmıştır. İletişimi 7 katmanlı mimarı ile tanımlar. Ağ elemanlarının nasıl çalıştığını ve verinin iletimi sırasında hangi işlemlerden geçtiğini kavramak için kullanılan rehberdir. OSI Katmanlarının mantığını anlamak ağları planlamak, ağ üzerinden çalışan program yazmak ve ağ sorunlarını çözmek için önemlidir.

  • 7-Uygulama (Application)
  • 6-Sunum (Presentation)
  • 5-Oturum (Session)
  • 4-Taşıma (Transport)
  • 3-Ağ (IP)
  • 2-Veri Bağlantı (Data link)
  • 1-Fiziksel (Physical)

OSI modeli katmanlarında paketleme Görsel kaynağı: https://www.practicalnetworking.net/series/packet-traveling/osi-model/

OSI ve TCP/IP modeli katmanları Görsel kaynağı: https://planetechusa.com/layer-2-vs-layer-3-switches/

OSI ve TCP/IP modeli katmanları Görsel kaynağı: https://community.fs.com/article/tcpip-vs-osi-whats-the-difference-between-the-two-models.html

1: Fiziksel Katman

Haberleşme kanalının elektriksel ve mekanik olarak tanımlandığı katmandır. Bir uçtan gönderilen sinyalin karşı uca iletilmesinden sorumludur. Sayısal haberleşmede en küçük birim bit olduğundan bu katmanın hızı bps, b/s (bit/saniye) cinsindendir. Birinci katman donanımları:

  1. Bakır ve fiber optik kablolar
  2. RF (Antenler)
  3. Sinyali (işareti) elektrik olarak yükselten ve çoklayan HUB cihazları
  4. Tekrarlayıcılar (repeater)
  5. Kablosuz iletişimde kullanılan hava

2: Veri Bağlantı Katmanı

Verinin fiziksel ortamdan güvenli bir şekilde taşınmasından sorumlu olan katmandır. Kaynaktan çıkan verilerin(bitler) hedefe ulaşan verilerle aynı olup olmadığını sınayan sistemler kullanılır. En çok kullanılan hata bulma algoritmaları eşlik biti (parity check) ve CRC algoritmasıdır.

Eşlik biti Görsel kaynağı: https://www.hbmacit.com/2020/06/12/c-ile-parite-biti-hesaplama/

Verinin doğru olup olmadığına bakmaz, sadece sağlamlığını kontrol eder. Bu katmanda üst katmandan gelen veriler çerçeve (frame) adı verilen paketleme işlemini tabi tutulur. Kapsülleme de denir. Birbirine doğrudan bağlı ağ cihazlarının aynı kapsülleme yöntemini (ikinci katman protokolünü) kullanması gerekir.

Kapsülleme Görsel kaynağı: https://www.computernetworkingnotes.com/ccna-study-guide/data-encapsulation-and-de-encapsulation-explained.html

Ethernet Çerçevesi Başlığı Görsel kaynağı: https://en.wikipedia.org/wiki/Ethernet_frame

Veriye eklenen başlıklar Görsel kaynağı: http://som.csudh.edu/cis/471/hout/netech/encapsulation.htm

Günümüzde en yaygın ikinci katman protokolleri

  • Yerel ağda (LAN): Ethernet
  • Uzak ağlarda (WAN) : Metroethernet. Eskiden ATM, PPP, Frame-Relay gibi protokoller vardı ama günümüzde kullanımı azaldı. Eskiden çevirmeli ağlarda kullanılan PPP yerine günümüzde PPPoE kullanılıyor artık.

PPPoE Görsel kaynağı: https://www.alfanett.com.tr/modem.html

LAN ve WAN nedir?

  • LAN: Local Area Network (yerel alan ağı). Kendi arazisi (binası) içerisinde, kimseden izin almaya gerek kalmadan kablolama yapılan ağlara LAN denir. Örneğin üniversite kampüsü ya da aynı binanın birkaç katını kullanan şirketler gibi.
  • WAN: Wide Area Network (geniş alan ağı). Kurumların kendi arazisinin (binasının) dışında olan bir yer ile kurulan ağlardır. Sokağın karşısındaki binaya kablo çekemeyiz. Eğer karşılıklı iki binada iletişim kurulması gerekiyorsa, ISP (Internet Service Provider ~ internet servis sağlayıcı) firmadan hizmet satın almak gerekir.
  • Fark ne?: LAN'da istediğimiz kablolama türü ve istediğimiz protokolü kullanabiliriz. Hiç bir kısıtlama olmadan ağa bağlanabiliriz. WAN'da ise servis sağlayıcının sunduğu hizmetlerden ve onun kurallarına uyarak bağlanabiliriz.

Anahtarlama Türleri

  • Devre Anahtarlama: Veri aktarımı, fiziksel değişiklikle yapılır.
  • Paket Anahtarlama: Veri aktarımı, her bir veri paketi için hesaplanarak, yazılımsal olarak yapılır.

Windows MAC tablosu Görsel kaynağı: https://www.scaler.com/topics/computer-network/circuit-switching-and-packet-switching/

Ethernet Protokolünde Anahtarlama

Ethernet protokolünde kaynak ve hedef adresleri olarak MAC adresi (fiziksel adres) kullanılır. Çakışmaları engellemek için aynı ağda iki MAC adresi olmamalıdır.

Windows MAC tablosu Windows'ta MAC adresi (fiziksel adres)

MAC Adres Tablosu

Anahtar MAC tablosu Görsel kaynağı: https://community.spiceworks.com/t/how-to-find-ip-mac-addresses-on-cisco-ios-devices/1012165

Windows MAC tablosu Görsel kaynağı: https://www.geeksforgeeks.org/what-is-mac-address-table/

Anahtarlar (switch) ikinci katmanda çalışır. Anahtarlar portlarına bağlı olan cihazların MAC adreslerini bilmek zorundadır (otomatik öğrenir). Bu şekilde iki farklı portu arasındaki trafiği, diğer cihazlar görmeden aktarabilirler. HUB’lardan en önemli farkı budur.

Ethernet Çerçevesi Başlığı Görsel kaynağı: https://www.pcmag.com/encyclopedia/term/ethernet-hub

3: Ağ Katmanı (IP)

alt text

İnternet'i dünyanın farklı yerlerindeki ağlar üzerinden erişilebilir kılan katman budur. Kaynak ve hedef olarak IP adresi kullanılır. IP yönlendirilebilir bir protokol olduğundan her türlü veri ağı üzerinden haberleşmeye olarak sağlanır. Bu katman en önemli görevi yönlendirme işlemidir. Yönlendirme işlemi birden fazla ağ arayüzüne (network interface) sahip olan yönlendirici(router) adı verilen cihazlar tarafından yapılır. IP internetin temel protokolüdür. Yani bir PC internete bağlanacaksa IP’yi mutlaka biliyor olmalıdır.

Note

Üçüncü katmanda aktarılan verinin en küçük anlamlı birimine paket denir.

Ağlar arası bağlantı Ağlar arası bağlantı

Farklı ağların birbiri ile görüşmesi için mutlaka yönlendirme yapılması gerekir. Yukarıdaki şekilde iki farklı ağ yönlendirme yapılarak bağlanmıştır.

  • Kütüphane tarafındaki bilgisayarlar aynı ağdadır. Birbirleriyle MAC adresleriyle haberleşir (2. katman).
  • Rektörlük tarafındaki bilgisayarlar aynı ağdadır. Birbirleriyle MAC adresleriyle haberleşir (2. katman).
  • Kütüphane ve Rektörlük bilgisayarları farklı ağlarda olduklarından birbirleriyle MAC adresleriyle haberleşemez, IP adresi ile yönlendirme yapılarak haberleşebilirler. (3. katman).

IP Paket Başlıkları Görsel Kaynağı: https://www.researchgate.net/publication/269810379_IPv4IPv6_Transition

TCP, IP ve Eth Başlıkları Görsel Kaynağı: https://infosys.beckhoff.com/english.php?content=../content/1033/bc9191/2792604555.html&id=

4: Taşıma Katmanı

Apartman benzetmesi

İnternette IP üzerinde kullanılan 2 tane 4. katman protokolü vardır. Bunlar TCP ve UDP'dir. Bu katman uygulama programları için seri iletişim kanalları kuran katmandır. Bu kanallar port adı verilen servis numaralarıyla kurulur.

TCP ve UDP akışlarıGörsel Kaynağı: https://www.karel.com.tr/bilgi/tcp-ve-udp-arasindaki-farklar-nedir

  • TCP: Bağlantı temelli bir protokoldür. Trafik başlamadan önce karşıdaki uca müsait olup olmadığı sorulur. Bu yönüyle telefon görüşmesine benzer.

  • UDP: Bağlantı temelli değildir. Trafik doğrudan başlatıldığı için paketlerin iletimi garanti edilmez. SMS gönderimine benzetilebilir. Özellikle gerçek zamanlı görüntü ve ses taşıma uygulamalarında elverişlidir. TCP’ye göre daha hızlıdır.

TCP ve UDP Görsel Kaynağı: https://medium.com/@mehmet.topac/tcp-nedi%CC%87r-udp-nedi%CC%87r-farklari-nelerdi%CC%87r-6ff6a29573b7

3 way handshaking - 3 aşamalı el sıkışma

TCP oturumu Görsel Kaynağı: https://toschprod.wordpress.com/2012/01/30/osi-model-layer-4-transport/

TCP ve UDP komik Görsel Kaynağı: https://www.reddit.com/r/ProgrammerHumor/comments/18hkwj0/acknowledge/

Note

Dördüncü katmanın bir başka görevi de üst katmanlardan gelen veriyi bölümleyerek daha küçük parçalara ayırmaktır. Bu parçalara segment denir.

TCP'de üç yönlü el sıkışma (three-way handshake) tamamlandıktan sonra, veri aktarımı başlar. Aktarım sırasında her segmente sıra numarası (sequence number) atanır ve pencere boyutu (window size) ile akış kontrolü sağlanır. Büyük veriler, segmentler halinde parçalara ayrılarak iletilir ve kayıp segmentler yeniden gönderilir (retransmission).

Örnek senaryolar

  • TCP ile büyük dosya indirme: HTTP ile 1 GB’lık bir dosya indirilirken veri TCP segmentlerine bölünerek gönderilir. Her segment, sequence number (sıra numarası) ile etiketlenir (ör. Seq=1, Seq=2, ...). Alıcı taraf bu numaralar sayesinde eksik veya kayıp segmentleri tespit eder ve gerekirse yeniden gönderilmesini ister (retransmission). Bu nedenle TCP, verinin eksiksiz ve doğru sırada iletilmesini sağlar. Örneğimize göre, 1 GB dosya her biri yaklaşık 1460 bayt olan ~735K segment halinde gönderilmesi sağlanır.

  • UDP ile canlı yayın (radyo / TV): Canlı yayınlarda çoğunlukla UDP kullanılır. Çünkü düşük gecikme önemlidir ve küçük paket kayıpları genellikle yayını ciddi şekilde bozmaz. UDP’de yeniden iletim olmadığı için veri daha hızlı ve kesintisiz iletilir.

İletişim Komikleri Görsel kaynağı: https://www.pinterest.com/pin/808536939357862630/

TCP ve UDP başlıkları Görsel kaynağı: https://www.softwaretestinghelp.com/tcp-vs-udp/

5-7: Uygulama Seviyesi Katmanları

Aslında uygulama seviyesi sadece 7. katmandır. Ancak 5 ve 6 yaygın kullanılmadığından ve farklı uygulamalar arasında standart olmadığından bu derste üçünü tek başlıkta inceliyoruz.

Uygulama programları genellikle 7. katmanda çalışmakta ve genellikle doğrudan 4. katman ile iletişime geçmektedir. Oturum ve sunum gibi işlemler yapılacaksa da genellikle uygulama içerisinde yapılıp 4. katmana aktarılmaktadır.

Yaygın kullanılan bazı servisler

Bilgisayar ağları kapsamında Servis (hizmet) kavramı, ağ üzerinde belirli bir portu dinleyen uygulama anlamındadır. Örneğin, WEB portunu (TCP 80) web sunucusu dinler. Web sunucusu uygulamasına servis denir bu durumda.

  • DHCP (UDP 67 & 68)
  • DNS (UDP 53)
  • HTTP (TCP 80)
  • HTTPS (TCP 443)
  • SMTP (TCP 25)
  • SSH (TCP 22)
  • RDP (TCP 3389)
  • MS-SQL (TCP 1433)
  • MySQL (TCP 3306)

OSI modelini anlamak için kullanılabilecek uygulamalar

  • ping (hping): Karşı uç ile aramızda 3. katmanda bağlantı var mı? Paketler kaç milisaniyede gidip geliyor? Büyük paketler ve küçük paketler ağdan aynı şekilde gidebiliyor mu?
  • traceroute (tracert): Uzaktaki bir sisteme IP üserinden hangi rotadan gittiğimizi gösterir. ICMP kapalı olan sistemlerde TCP Trace denenebilir.
  • Telnet: Ağlarda yönetim ve kontrol amaçlı kullanılır. Ağ cihazlarının genellikle tamamı telnet ile yönetimi destekler. Bunun dışında, 2 cihaz arasında 4. katmanda bağlantı (erişebilirlik) kontrolü yapmak için de kullanılır. Örneğin SMTP veya HTTP gibi protokoller, Telnet ile çalıştırılabilir.
  • netstat Bilgisayarımızda açık olan portları ve aktif ağ bağlantılarımızı gösterir. Linux'ta sudo netstat -antulp şeklinde en güzel çıktıyı verir.
  • nmap (zenmap): TCP ve UDP port taraması yapar. 0-65536 arası tüm portlar ya da belirli portlar taranabilir. Script taraması sayesinde zafiyet taraması bile yapabilir. Çok güçlü bir araçtır.
  • wireshark (tcpdump): Ethernet kartını izler, tüm trafikleri kaydeder. İstenirse filtre girilerek kayıt yapması da sağlanabilir.
  • TCPView (Microsoft) Windows'ta aktif ağ bağlantılarını gösterir. Hangi uygulama nereye bağlantı yapıyor?

Wireshark ile trafik analizi

Örnek uygulamalar:

  • DHCP trafiği
  • TCP 3-way handshake
  • HTTP/Telnet vb. parola görüntüleme
  • DNS ve HTTP trafikleri arka arkaya

Note

Ubuntu'da basit parolalı web sayfası yapma:

sudo apt install python3-venv
python3 -m venv TEST
source TEST/bin/activate
pip install sauth
sauth abc 123

OSI modeli ve güvenlik

OSI modeli ve güvenlik Görsel kaynağı: https://www.researchgate.net/publication/346192126_Requirements_for_cybersecurity_in_agricultural_communication_networks/

Bilgi güvenliğinin temel unsurları

CIA üçgeni CIA üçgeni. Görsel kaynağı: https://fikirjeneratoru.com/bilgi-guvenligi-ve-bilgi-guvenligi-unsurlari/

McCumber Küpü McCumber Küpü. Görsel kaynağı: https://fikirjeneratoru.com/bilgi-guvenligi-ve-bilgi-guvenligi-unsurlari/

CIA üçgeni genişletilmiş Genişletilmiş CIA üçgeni