Ağ Katmanları (OSI Modeli) ve Python ile Basit Bir Benzetim
Bilgisayar ağlarında verinin bir noktadan diğerine nasıl ulaştığını hiç merak ettiniz mi?
Bir dosya gönderdiğinizde, bir web sitesine bağlandığınızda veya mesaj attığınızda arka planda çok katmanlı bir iletişim sistemi çalışır.
Bu sistemin en bilinen modeli ise OSI (Open Systems Interconnection) modelidir.
🌐 OSI Modeli Nedir?
OSI modeli, ağ iletişimini 7 katmana ayırır.
Amaç, her katmanın belli bir görevi yerine getirerek karmaşık veri iletişimini sadeleştirmektir.
Katmanlar yukarıdan aşağıya şöyle sıralanır:
| Katman No | Katman Adı | Görevi | Örnek Protokoller |
|---|---|---|---|
| 7 | Uygulama | Kullanıcı ile ağ arasındaki etkileşimi sağlar. | HTTP, FTP, SMTP |
| 6 | Sunum | Veriyi şifreler, sıkıştırır veya formatlar. | SSL, JPEG |
| 5 | Oturum | İki cihaz arasındaki bağlantıyı yönetir. | NetBIOS, RPC |
| 4 | Taşıma | Veriyi paketlere böler, güvenli iletim sağlar. | TCP, UDP |
| 3 | Ağ | Paketlerin hangi yoldan gideceğini belirler. | IP, ICMP |
| 2 | Veri İletim | Çerçeveler oluşturur, hata kontrolü yapar. | Ethernet, MAC |
| 1 | Fiziksel | Elektriksel sinyalleri veya kablosuz dalgaları taşır. | Kablo, Wi-Fi |
💬 Basit Bir Benzetme
Bir mektup gönderdiğinizi düşünün:
-
Uygulama Katmanı: Mektubu yazarsınız.
-
Sunum Katmanı: Mektubu katlayıp zarfa koyarsınız.
-
Oturum Katmanı: Postaneye gitmek için sıraya girersiniz.
-
Taşıma Katmanı: Postane mektubu torbaya koyar.
-
Ağ Katmanı: Posta hangi yoldan gideceğine karar verir.
-
Veri İletim Katmanı: Dağıtıcı postacı mektubu sırayla dağıtır.
-
Fiziksel Katman: Mektup bisikletle, kamyonla veya uçakla taşınır.
🐍 Python ile OSI Katmanlarını Basitleştirilmiş Bir Simülasyon
Aşağıdaki örnekte, verinin bir kullanıcıdan çıkıp diğerine ulaştığını, her katmanın da bu veriye “dokunduğunu” basitçe görebilirsiniz:
🧩 Bu Kod Ne Yapar?
Bu küçük Python programı:
-
Veriyi sırayla her katmandan geçirir,
-
Her katmanın yaptığı işlemi simüle eder,
-
Son olarak veriyi “sinyale dönüştürülmüş” olarak gönderir.
Yani gerçekte ağ kartı, yönlendirici veya TCP/IP protokolü çalışmaz; sadece öğrenme amacıyla OSI mantığını taklit eder.
🎯 Sonuç
Ağ katmanları sayesinde:
-
Farklı cihazlar ve işletim sistemleri ortak bir dilde konuşabilir,
-
Hatalar kolayca tespit edilir,
-
Verinin nereye ve nasıl gideceği sistemli bir şekilde yönetilir.
Python ile yapılan bu basit örnek, OSI modelinin karmaşık yapısını somut ve anlaşılır hale getirmeye yardımcı olur.
Gerçek dünyada ise bu işlemleri TCP/IP protokolleri, yönlendiriciler ve ağ donanımları gerçekleştirir.
📚 Kaynakça
-
Tanenbaum, A. S. — Computer Networks, 5th Edition, Pearson Education.
-
Cisco Networking Academy — Introduction to Networks (ITN), 2023.
-
https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi