OSI Modeli: 7 Katman Açıklaması
OSI modeli ağ iletişimini, fiziksel kablodan (1. katman) uygulamaya (7. katman) kadar yedi katmana ayırır. Her katmanın tek bir görevi vardır ve yalnızca hemen üstündeki ve altındaki katmanlarla konuşur. Model bir öğretim ve sorun giderme aracıdır; gerçek internet daha basit olan dört katmanlı TCP/IP modelini kullanır.
Yedi katman
Gönderen tarafta veri katmanlardan aşağı doğru geçirilir ve her katman kendi başlığını (header) ekler. Buna kapsülleme (encapsulation) denir. Alıcı başlıkları ters sırayla kaldırır. Her katmandaki veri birimine PDU (protocol data unit, protokol veri birimi) denir.
| Katman | Ad | PDU | Örnek protokoller | Tipik cihazlar |
|---|---|---|---|---|
| 7 | Uygulama | Veri | HTTP, DNS, SMTP, SSH | Proxy, uygulama güvenlik duvarı |
| 6 | Sunum | Veri | TLS (kısmen), karakter kodlamaları, MIME | - |
| 5 | Oturum | Veri | RPC, NetBIOS oturumu, TLS (kısmen) | - |
| 4 | Taşıma | Segment (TCP) veya datagram (UDP) | TCP, UDP | Güvenlik duvarı, yük dengeleyici |
| 3 | Ağ | Paket | IP, ICMP, OSPF | Yönlendirici, 3. katman anahtar |
| 2 | Veri bağı | Çerçeve (frame) | Ethernet, Wi-Fi (802.11), ARP | Anahtar (switch), erişim noktası |
| 1 | Fiziksel | Bit | Ethernet kablolaması, fiber, radyo | Kablo, hub, tekrarlayıcı |
OSI ile TCP/IP karşılaştırması
TCP/IP modeli dört katmanlıdır ve protokollerin gerçekte nasıl geliştirildiğine uygundur. Eşleştirme yaklaşıktır:
| TCP/IP katmanı | OSI katmanları |
|---|---|
| Uygulama | 7, 6, 5 |
| Taşıma | 4 |
| İnternet | 3 |
| Bağlantı (ağ erişimi) | 2, 1 |
Bazı kitaplar TCP/IP'yi bağlantı katmanını veri bağı ve fiziksel olarak ikiye bölerek beş katmanlı gösterir. Günlük işlerde insanlar hâlâ OSI numaralarıyla "2. katman switch" veya "7. katman güvenlik duvarı" der; bu yüzden ikisini de bilmek yararlıdır.
Bir web sitesini açtığınızda ne olur?
Tarayıcınıza https://example.com yazdığınızı düşünün.
- 7. katman: tarayıcının bir adrese ihtiyacı vardır, bu yüzden example.com için bir DNS sorgusu gönderir. Daha sonra bir HTTP isteği gönderir.
- 6/5. katman: bir TLS el sıkışması (handshake) şifreleme anahtarlarını belirler ve sunucu sertifikasını doğrular.
- 4. katman: TCP, üç adımlı el sıkışmayla (SYN, SYN-ACK, ACK) 443 numaralı porta bir bağlantı açar ve veriyi segmentlere böler.
- 3. katman: IP, kaynak ve hedef adreslerini paketlere yazar. Yönlendiriciler bunları atlama atlama (hop by hop) iletir.
- 2. katman: her bağlantıda paket, MAC adresleriyle bir çerçeveye yerleştirilir. IPv4 ağlarında ARP bir sonraki atlamanın MAC adresini bulur.
- 1. katman: çerçeve elektrik sinyallerine, ışık darbelerine veya radyo dalgalarına dönüşür.
Sunucuda aynı adımlar ters sırada, 1. katmandan 7. katmana doğru çalışır.
Hangi araç hangi katmanı sınar?
Her ağ kontrolü, belirli bir noktaya kadar olan katmanların çalıştığını kanıtlar. Tablo, araçlarımızın nereye oturduğunu gösterir.
| Araç | Katman | Neyi kanıtlar? |
|---|---|---|
| Ping | 3 (ICMP) | Hosta IP düzeyinde erişilebildiğini ve gidiş-dönüş süresini |
| Traceroute | 3 | Yolda hangi yönlendiricilerin olduğunu ve gecikme veya kaybın nerede başladığını |
| Port kontrolü | 4 (TCP) | Belirli bir porta TCP bağlantısı açılabildiğini |
| SSL kontrolü | 6/5, 4 üzerinde | TLS el sıkışmasının çalıştığını ve sertifikanın geçerli olduğunu |
| HTTP başlıkları | 7 | Web sunucusunun yanıt verdiğini ve hangi durum kodunu ve başlıkları gönderdiğini |
| DNS kontrolü | 7 | Ad sunucularının beklenen kayıtları döndürdüğünü |
Üç ayrıntıya dikkat etmek gerekir:
- TLS tek bir katmana sığmaz. OSI modelinde çoğunlukla 6. katmana (şifreleme ve sunum), bazen 5. katmana (oturum) yerleştirilir. TCP/IP modelinde ise TCP'nin üzerinde çalışan uygulama katmanının bir parçasıdır. Sorun gidermede TLS'in TCP'den sonra, HTTP'den önce çalıştığını bilmek yeterlidir.
- Ping, çalışan bir hostta da başarısız olabilir. Birçok güvenlik duvarı ICMP echo isteklerini düşürür. Başarısız bir ping hostun kapalı olduğu anlamına her zaman gelmez; portu da kontrol edin. Ayrıca traceroute, IP paketlerindeki TTL alanını ve ICMP time-exceeded yanıtlarını kullanır; bazı yönlendiriciler yanıt vermez ve bu çıktıda bir boşluk olarak görünür.
- DNS, her şeyden önce gerekli olsa da 7. katmanda çalışır. Normalde UDP port 53'ü, büyük yanıtlar ve bölge aktarımları (zone transfer) için TCP port 53'ü kullanır.
Alttan yukarıya sorun giderme
Güvenilir bir yöntem, 1. katmandan başlayıp yukarı doğru ilerlemektir. Her adım bir grup olası nedeni eler.
- 1. katman: Kablo takılı mı, Wi-Fi açık mı, bağlantı ışığı yanıyor mu?
- 2. katman: Cihazın switch veya erişim noktasıyla bağlantısı var mı? VLAN doğru mu? Yinelenen MAC adreslerine veya yanlış Wi-Fi parolasına bakın.
- 3. katman: Cihazda geçerli bir IP adresi, maske ve ağ geçidi (gateway) var mı? Önce ağ geçidine, sonra
192.0.2.1gibi dış bir adrese ping atabiliyor mu? Yol yarıda kesiliyorsa traceroute kullanın. Yaygın adresleme hataları için IP adresi nedir ve alt ağ oluşturma (subnetting) yazılarına bakın. - 4. katman: Port açık mı ve bir güvenlik duvarı tarafından engellenmiyor mu? Bilinen portlar yazısına bakın.
- 5-6. katman: TLS el sıkışması başarılı mı? Süresi dolmuş sertifika, yanlış ad veya desteklenmeyen protokol sürümü arayın.
- 7. katman: Ad çözümleniyor mu ve uygulama doğru bir yanıt döndürüyor mu?
Uygulamada yukarıdan aşağıya da ilerleyebilir veya sorunu ortadan ikiye bölebilirsiniz: bir port kontrolü başarılıysa 1'den 4'e kadar olan katmanlar sağlamdır ve uygulamaya odaklanabilirsiniz.