4 OSI ve katmanlı iletişim
Dört farklı öğrenci aynı cümleyi söylüyor: “Site açılmıyor.” Dördünde de arıza farklı bir yerde ve dördünün çözümü farklı. Bu hafta katmanlı modelin ne işe yaradığını tam olarak burada göreceğiz: katmanlar, aynı şikâyetin arkasındaki farklı arızaları birbirinden ayırmanın yoludur.
Sınavda sorulur: verilen bir kanıt kümesinin hangi katmana işaret ettiği; 1–4. katmanların görevleri; Ethernet/MAC–IP–TCP/UDP–port eşleştirmesi; kapsüllemenin neden farklı başlıklar taşıdığı; OSI’nin yedi katmanının adı ve sırası; switch ve router’ın baskın katmanı.
Sınav dışı (bilgi amaçlı): her protokolü tek ve değişmez bir OSI kutusuna zorlamak; 5. ve 6. katmanların ayrıntılı işlevleri; üreticiye özgü katman terminolojileri.
4.1 “Site açılmıyor” şikâyeti: hangi kanıt hangi arızayı gösterir?
Aynı şikâyet dört farklı arızadan kaynaklanabilir. Katmanların adı bu sorunun cevabını anlatmak için kullandığımız ortak kelime dağarcığıdır. Adları bilmek ucuz bir iştir; asıl beceri kanıtı doğru katmana yerleştirmektir. Aşağıdaki dört vakada şikâyet birebir aynı, kanıt her seferinde farklı.
4.2 Vaka 1 — Kablo çıkmış (Katman 1)
> ipconfig
Ethernet adapter Ethernet:
Media State . . . . . . . . . . . : Media disconnected
Switch portunda link ışığı yanmıyor.
4.2.1 Kanıt ne söylüyor
Media disconnected satırı, işletim sisteminin arayüzde hiç sinyal görmediğini söyler. Bu noktada cihazın IP adresi, DNS ayarı veya tarayıcı sürümü hakkında konuşmak anlamsızdır; bitler ortama hiç girmemiştir.
Fiziksel katman (Katman 1) bitlerin kablo, fiber veya radyo üzerinden taşınmasıyla ilgilenir. Kablo, konnektör, port, link ışığı ve sinyal seviyesi bu katmanın kanıtlarıdır.
Alt katman çalışmıyorken üst katmanı test etmek kanıt üretmez. Fiziksel bağlantı yoksa ping de, nslookup da başarısız olur — ve bu başarısızlıklar sana DNS hakkında hiçbir şey söylemez. Bu yüzden kanıt sırası aşağıdan yukarıdır.
4.3 Vaka 2 — Adres var, dışarı çıkış yok (Katman 3)
IPv4 Address. . . : 192.168.20.45
Subnet Mask . . . : 255.255.255.0
Default Gateway . : 192.168.20.1
ping 192.168.20.1 → başarılı
ping 1.1.1.1 → timeout
4.3.1 Kanıt ne söylüyor
Fiziksel bağlantı var (arayüz bağlı), yerel iletişim var (ağ geçidi yanıtlıyor). Kırılan şey kendi ağının dışına paket taşınması.
Ağ katmanı (Katman 3) IP adreslemesi ve farklı ağlar arasında paket iletiminden sorumludur. Adres, prefix, ağ geçidi ve yönlendirme bu katmanın kanıtlarıdır. Bir cihazın kendi ağına ulaşıp dışına ulaşamaması tipik bir Katman 3 belirtisidir.
Fiziksel bağlantı varken yerel iletişimin kurulamadığı durumlar da vardır. Veri bağlantı katmanı (Katman 2) aynı yerel ağ içindeki iletişimle ilgilenir; Ethernet çerçevesi ve MAC adresi bu katmanın öğeleridir. Kanıtı genellikle arp -a çıktısında görürüz: aynı ağdaki bir IP için MAC eşlemesi öğrenilemiyorsa (incomplete), sorun IP yapılandırmasından önce yerel çerçeve iletişimindedir.
4.4 Vaka 3 — Sunucuya erişiliyor, hizmet kapalı (Katman 4)
ping 93.184.x.x → başarılı
curl https://93.184.x.x → Failed to connect: Connection refused
Aynı sunucunun başka bir portundaki hizmet çalışıyor.
4.4.1 Kanıt ne söylüyor
ping başarılı olduğu için Katman 1, 2 ve 3 çalışıyor: paket sunucuya gidiyor ve dönüyor. Ama Connection refused mesajı bambaşka bir şey söyler — paket hedefe ulaştı ve hedef “o kapı kapalı” diye cevap verdi.
Taşıma katmanı (Katman 4) uygulamalar arasındaki uçtan uca iletişimden sorumludur; TCP, UDP ve port numaraları bu katmanın öğeleridir. Bir sunucuya IP düzeyinde erişilip belirli bir porttaki hizmete erişilemiyorsa, sorun ağ yolunda değil, o portta dinleyen hizmette veya onu engelleyen kuraldadır.
ping çalışıyorsa “ağ sorunu yok” demek yetersizdir
ping yalnızca Katman 3 düzeyinde erişilebilirliği ölçer. Bir hizmete bağlanamamak Katman 4 veya üstünde de olabilir. “Ping atıyor ama site açılmıyor” cümlesi bir çelişki değildir; iki farklı katmanın iki farklı sonucudur.
4.5 Vaka 4 — Bağlantı kuruldu, uygulama hata verdi (Katman 7)
> curl -i https://example.com
HTTP/1.1 500 Internal Server Error
Content-Type: text/html
4.5.1 Kanıt ne söylüyor
Bu çıktı, alttaki her katmanın çalıştığının kanıtıdır: sinyal taşındı, yerel çerçeve iletildi, paket yönlendirildi, TCP bağlantısı kuruldu ve sunucu bir HTTP yanıtı üretti. Yanıtın içeriği hata olsa bile, bir yanıt gelmiş olması ağ yolunun sağlam olduğunu gösterir.
Uygulama katmanı kullanıcıya yakın ağ hizmetlerinin çalıştığı düzeydir; HTTP ve DNS’in davranışı bu bağlamda düşünülür. 500 kodu sunucudaki uygulamanın kendi hatasıdır. Burada kablo değiştirmek, IP yenilemek veya DNS temizlemek hiçbir şeyi düzeltmez — çünkü hiçbiri bozuk değildir.
| Kanıt | Katman | Bir sonraki adım |
|---|---|---|
Media disconnected, link ışığı yok |
1 — Fiziksel | Kablo/port/Wi-Fi bağlantısı |
Aynı ağdaki IP için arp eşlemesi yok |
2 — Veri bağlantı | Yerel bağlantı, switch portu |
| Ağ geçidi yanıtlıyor, dış IP yanıtlamıyor | 3 — Ağ | Adres/prefix/gateway/yönlendirme |
| IP’ye ping var, porta bağlantı reddedildi | 4 — Taşıma | Port, hizmet, engelleme kuralı |
HTTP yanıtı geldi ama 500 |
Uygulama | Sunucudaki uygulama |
4.6 Neden bir katman çalışırken diğeri bozulabilir?
Vaka 4’te alttaki dört katman çalışıyordu ama sayfa açılmıyordu. Bunun mümkün olmasının nedeni, her katmanın veriye kendi işine ait ayrı bir başlık eklemesidir. Bir uygulama veri gönderdiğinde paket iç içe kutular gibi sarılır:
Ethernet çerçevesi
┌──────────────────────────────────────────────────────┐
│ Ethernet başlığı → yerel teslim (MAC) │
│ IP paketi │
│ ┌──────────────────────────────────────────────┐ │
│ │ IP başlığı → ağlar arası adresleme │ │
│ │ TCP/UDP bölümü │ │
│ │ ┌──────────────────────────────────────┐ │ │
│ │ │ TCP/UDP başlığı → port/uç │ │ │
│ │ │ Uygulama verisi → HTTP isteği │ │ │
│ │ └──────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
Gönderirken bu sarma işlemine kapsülleme (encapsulation) denir; alıcı tarafta başlıklar ilgili katmanlarca sırayla işlenir.
Önemli olan şu: başlıklar aynı işi yapmaz. Ethernet başlığı çerçeveyi yerel ağda teslim eder, IP başlığı paketi ağlar arasında adresler, TCP/UDP başlığı doğru uygulama ucunu (portu) bulur, uygulama verisi ise asıl isteği taşır. Dış kutular sağlam olup en içteki içerik hatalı olabilir — Vaka 4 tam olarak budur.
4.7 OSI’nin yedi katmanı
| No | Katman | Bu derste temel fikir |
|---|---|---|
| 7 | Uygulama | Kullanıcıya/uygulamaya yakın ağ hizmetleri (HTTP, DNS davranışı) |
| 6 | Sunum | Veri gösterimi, kodlama ve dönüşüm fikri |
| 5 | Oturum | İletişim oturumlarının yönetimi fikri |
| 4 | Taşıma | Uçtan uca iletişim; TCP/UDP ve portlar |
| 3 | Ağ | IP adresleme ve ağlar arası iletim |
| 2 | Veri bağlantı | Ethernet/Wi-Fi çerçevesi ve MAC adresleme |
| 1 | Fiziksel | Bitlerin kablo, fiber veya radyo üzerinden taşınması |
Adları ve sırayı bilmek gerekir — bunlar bu alanın ortak kelimeleridir. Ama dersin ağırlığı 1–4. katmanlar ve uygulama katmanı bağlamındadır; 5. ve 6. katmanların ayrıntılı işlevleri bu ders için tanıma düzeyindedir.
Gerçek internet protokol yığını çoğunlukla TCP/IP modeliyle anlatılır:
| OSI | TCP/IP bağlamı |
|---|---|
| 7–5 Uygulama/Sunum/Oturum | Uygulama |
| 4 Taşıma | Taşıma |
| 3 Ağ | İnternet |
| 2–1 Veri bağlantı/Fiziksel | Ağ erişimi |
4.7.1 Protokol ve cihazları katmanlarla ilişkilendirmek
| Örnek | Baskın katman |
|---|---|
| Ethernet, MAC adresi | 2 |
| IP adresi | 3 |
| TCP, UDP, port numarası | 4 |
| HTTP, DNS davranışı | Uygulama |
| Switch | Temel olarak 2 |
| Router | Temel olarak 3 |
Bu tablo cihazların tüm yeteneklerini tanımlayan kesin bir sınıflandırma değildir. Modern bir güvenlik duvarı birden fazla katmandaki bilgiyi inceleyebilir. “Baskın katman” ifadesi bu yüzden bilinçli seçilmiştir.
4.8 Ekranda ne gördük
Derste aynı hedefe dört farklı düzeyde soru soruyoruz. Kayıttan izleyenler için çıktılar donmuş hâlde:
> ipconfig ← Katman 1: arayüz bağlı mı?
Media State . . . : Media connected
> arp -a ← Katman 2: yerel MAC eşlemesi var mı?
192.168.20.1 a0-1b-2c-3d-4e-5f dynamic
> ping 1.1.1.1 ← Katman 3: dış ağa paket gidiyor mu?
Reply from 1.1.1.1: bytes=32 time=18ms TTL=57
> curl -I https://example.com ← Katman 4 + uygulama: port açık mı, yanıt ne?
HTTP/1.1 200 OK
Dört komut, dört farklı katman. Sıradaki haftalarda bu komutların her birini ayrıntısıyla göreceğiz; şu an önemli olan hangi komutun hangi düzeyde kanıt ürettiği.
4.10 Tek sayfa özet
- Katmanlar, aynı şikâyetin arkasındaki farklı arızaları ayırma yöntemidir.
- Kanıt sırası aşağıdan yukarıdır: alt katman bozukken üst katman testi yanıltır.
- Katman 1 bit taşır — kanıtı link ışığı,
Media disconnected. - Katman 2 yerel çerçeve teslim eder — kanıtı MAC/
arp. - Katman 3 ağlar arası paket taşır — kanıtı IP/prefix/gateway ve dış IP pingi.
- Katman 4 uygulama uçlarını bağlar — kanıtı port ve
Connection refused. - Uygulama katmanı asıl isteği taşır — kanıtı HTTP yanıt kodu.
- Kapsülleme: her katman kendi görevi için farklı bir başlık ekler. Bu yüzden dış kutular sağlamken en içteki içerik hatalı olabilir.
pingçalışması “ağ sorunu yok” anlamına gelmez; yalnızca Katman 3’ü doğrular.
4.11 Bu bölümün kazanımları
Bu bölümü bitiren öğrenci:
- Verilen kanıt kümesini doğru katmana yerleştirir.
- Katmanı kendi adresleme/kimlik türüyle eşleştirir.
- Kapsüllemede farklı başlıkların farklı görev taşıdığını açıklar.
- Başarılı bir testin neyi kanıtlayıp neyi kanıtlamadığını ayırt eder.
- Ağ cihazını baskın katmanıyla eşleştirir.
- Kanıt sırasının aşağıdan yukarı olma gerekçesini açıklar.
