Ağ yazılarında “L2 switch”, “L3 arayüz”, “L4 kuralı” ya da “L7 firewall” gibi ifadeler sürekli geçer. Bu numaralar bir katman modelinden gelir. Bu yazıda OSI ve TCP/IP modellerini ezber listesi olarak değil, bir web isteğinin yolculuğu üzerinden anlatıyoruz: veri gönderilirken nasıl katman katman sarılır, alıcıda nasıl açılır ve yoldaki cihazlar bu katmanların hangisine bakar.
Neden katmanlı bir model?
Bir web sayfasını açmak birden çok işi gerektirir: isteği anlaşılır biçimde yazmak, kaybolan parçaları yeniden göndermek, doğru ağı ve doğru cihazı bulmak, bitleri kablo ya da radyo üzerinden taşımak. Katmanlı model bu işleri birbirinden ayırır. Her katman yalnızca kendi işini yapar, alttaki katmandan hizmet alır ve üstteki katmana hizmet verir.
Bu ayrımın pratik bir sonucu var: bir katmanı değiştirmek diğerlerini değiştirmeyi gerektirmez. Dizüstü bilgisayar kablodan Wi-Fi’a geçtiğinde alttaki iki katman değişir; tarayıcı, TCP ve IP aynı şekilde çalışmaya devam eder. Sorun gidermede de aynı ayrım işe yarar: “kablo takılı mı?” ile “DNS cevap veriyor mu?” farklı katmanların sorularıdır.
OSI: yedi katmanlı referans modeli
OSI modeli ITU-T X.200 tavsiyesinde tanımlanır ve ağ iletişimini yedi katmana böler:
- Fiziksel: Bitlerin kablo, fiber ya da radyo üzerinden iletimi.
- Veri bağı: Aynı yerel ağdaki iki cihaz arasında çerçeve taşıma. MAC adresleri bu katmandadır.
- Ağ: Farklı ağlar arasında yönlendirme. IP adresleri bu katmandadır.
- Taşıma: Uçtan uca iletim. Port numaraları ve gerektiğinde yeniden gönderme bu katmandadır.
- Oturum: İletişimin kurulması, sürdürülmesi ve sonlandırılması.
- Sunum: Verinin biçimi ve gösterimi.
- Uygulama: Kullanıcının uygulamasına sunulan ağ hizmetleri.
OSI bir referans modeldir: protokolleri sınıflandırmak ve onlar hakkında konuşmak için ortak bir dil sağlar. Günlük kullanımdaki “L2, L3, L4, L7” numaraları buradan gelir. Bugün internette çalışan protokol ailesi ise TCP/IP’dir.
TCP/IP: internetin dört katmanı
İnternet ana bilgisayarları için gereksinimleri tanımlayan RFC 1122, internet mimarisinin katmanlarını dört başlıkta sayar: uygulama, taşıma, internet ve bağlantı (link).
İki model farklı amaçlarla ve ayrı ayrı geliştirildi; bu yüzden katmanları birebir eşleşmez:
- TCP/IP’de oturum ve sunum ayrı katman değildir. Bu işler gerektiğinde uygulama protokolünün ya da uygulamanın içinde çözülür.
- Bağlantı katmanı, cihazın yerel ağa erişimini kapsar. RFC 1122 fiziksel iletimi ayrı bir katman olarak tanımlamaz; Ethernet ve Wi-Fi standartları hem çerçeveyi hem fiziksel iletimi kendi içinde tanımlar.
- Bazı kitaplardaki beş katmanlı model, fiziksel katmanı ayrı gösteren bir öğretim uyarlamasıdır. RFC 1122’deki tanım dört katmanlıdır.
Sahada iki modelin dili birlikte kullanılır: konuşulan protokoller TCP/IP ailesindendir, numaralar OSI’den gelir. “L3” denince IP, “L4” denince TCP ya da UDP, “L7” denince HTTP gibi uygulama protokolleri kastedilir.
Kapsülleme: bir web isteği nasıl paketlenir?
Örnek: VLAN 20’deki bir dizüstü bilgisayar (10.0.20.25), sunucu ağındaki iç web sunucusundan (10.0.30.10) bir sayfa istiyor. Örneği sade tutmak için şifresiz HTTP/1.1 kullanıyoruz; HTTPS ve HTTP/3 farkına aşağıda değineceğiz. Gönderen tarafta her katman, üstten gelen veriye kendi başlığını ekler:
- Uygulama: Tarayıcı HTTP isteğini yazar (
GET / HTTP/1.1ile başlayan birkaç satır). Bu, taşınacak veridir. - Taşıma: TCP, veriye kendi başlığını ekler: tarayıcının seçtiği geçici bir kaynak port (örnekte 51514), hedef port 80, sıra ve onay numaraları. Seçeneksiz TCP başlığı 20 bayttır, seçeneklerle 60 bayta kadar çıkabilir. Bu birime segment denir.
- İnternet: IPv4 başlığı eklenir: kaynak adres 10.0.20.25, hedef adres 10.0.30.10, TTL ve içerideki protokolün numarası (TCP için 6). Seçeneksiz IPv4 başlığı 20 bayttır. Bu birime günlük dilde paket denir; RFC 791 kendi terimiyle datagram der.
- Bağlantı: Ethernet başlığı eklenir: hedef MAC (6 bayt), kaynak MAC (6 bayt) ve EtherType (2 bayt), toplam 14 bayt. Sona hata denetimi için 4 baytlık FCS gelir. EtherType’ın 0x0800 olması, içeride IPv4 olduğunu söyler. Bu birime çerçeve denir.
- Fiziksel: Çerçeve bitler olarak kabloya ya da radyoya verilir. Ethernet’te çerçevenin önüne 7 baytlık preamble ve 1 baytlık SFD eklenir; bunlar çerçevenin parçası sayılmaz.
Bir ayrıntıya dikkat: çerçevedeki hedef MAC, sunucunun değil yoldaki bir sonraki cihazın, bu örnekte default gateway’in adresidir. Sunucu başka bir ağda olduğu için çerçeve önce gateway’e gider. Bu adresin nasıl bulunduğu MAC, IP ve ARP ilişkisinin konusudur.
Alıcı tarafta işlem tersine döner: her katman kendi başlığını okur, kaldırır ve kalanını yukarıya verir. İçerideki verinin kime verileceğini de başlıktaki bir alandan öğrenir: Ethernet’te EtherType, IPv4’te protokol alanı, TCP’de hedef port. Bu alanlar firewall kurallarında doğrudan karşımıza çıkar: bir ACL satırındaki “TCP, hedef port 80” ifadesi bu başlıklardaki alanların kendisidir. Kuralların bu alanlarla nasıl yazıldığı ACL Nedir? Standart ve Genişletilmiş ACL yazısında.
Başlık boyutlarının pratik bir sonucu var. Ethernet çerçevesinin taşıyabileceği veri en fazla 1500 bayttır; bu sınıra MTU denir. Seçeneksiz IPv4 ve TCP başlıkları bunun 40 baytını kullanır, geriye uygulama verisi için en fazla 1460 bayt kalır. Tünellerin bu hesaba neden ek başlık eklediği VPN yazısının paket boyutu bölümünde anlatılıyor.
Gerçek dünyada: HTTPS ve HTTP/3
Örnekteki şifresiz HTTP bugün istisnadır. Kapsülleme mantığı değişmez, ama katmanların içeriği değişir:
- HTTPS: HTTP mesajı TCP’ye verilmeden önce TLS ile şifrelenir; varsayılan port 443’tür. Yoldaki cihazlar IP adreslerini ve portları görmeye devam eder; içeriği ise trafik firewall ya da proxy üzerinde çözülmedikçe göremez. Şifreli trafikte nelerin görünür kaldığı IDS ve IPS yazısında.
- HTTP/3: TCP yerine QUIC kullanır; QUIC, UDP üzerinde çalışan güvenli bir taşıma protokolüdür. UDP başlığı yalnızca 8 bayttır: kaynak port, hedef port, uzunluk ve sağlama toplamı. Güvenilir iletim ve şifreleme işini QUIC üstlenir. IPv4 başlığında UDP’nin protokol numarası 17’dir.
Cihazlar hangi katmana bakar?
Yoldaki her cihaz paketi aynı derinlikte açmaz. Bir cihazı “L2” ya da “L3” diye anarken kastedilen, trafiği iletirken hangi başlığa kadar baktığıdır.
- Switch çerçeveyi hedef MAC adresine göre iletir; bunun için IP başlığına bakması gerekmez.
- Router çerçeveyi açar, IP başlığındaki hedef adrese göre yol seçer ve paketi çıkış bağlantısının L2 çerçevesine koyarak sonraki ağa gönderir. Çıkış bağlantısı Ethernet ise yeni bir Ethernet çerçevesi oluşturur; başka bir bağlantı türünde o bağlantının çerçevesi kullanılır. IP adresleri ise arada NAT yoksa yol boyunca aynı kalır.
- Stateful firewall IP ve port bilgisinin yanında bağlantının durumunu izler. Nasıl çalıştığı Stateful firewall ve zone tabanlı politika tasarımı yazısında.
- Uygulama tanıyan firewall port numarasıyla yetinmez, uygulama katmanındaki içeriğe ve trafiğin davranışına bakar.
Gerçek cihazlar bu şemadan daha karışıktır. L3 switch hem switch hem router gibi çalışır. Bir switch’in yönetim için IP adresi olması ise kullanıcı trafiğini iletirken IP başlığına baktığı anlamına gelmez.
Üretici ürünlerinde “L7”
Datasheet’lerde “uygulama tanıma” olarak geçen özellikler, bu modelin sahadaki karşılığıdır. Aynı TCP 443 portunu kullanan iki uygulamayı ayırmak için port numarası yetmez; üst katmanlara bakmak gerekir. Dört üretici bu işi farklı adlarla sunar:
| Üretici | Özellik | Belgedeki tanımın özeti |
|---|---|---|
| Huawei | SA (Service Awareness), uygulama tanıma | Beşli bilginin (kaynak ve hedef IP, kaynak ve hedef port, protokol) yanında uygulama katmanı bilgisine bakar; imza, ilişkilendirme ve davranış analizi kullanır. |
| Cisco Secure Firewall | Application Control | Uygulamaları standart portların dışında çalışsalar da algılayıcılarla tanır; şifreli trafikte parmak izi ve TLS 1.2 sertifika adlarından yararlanır. |
| HPE Aruba Networking | Application Visibility | AP, gateway ve bazı AOS-CX switch’lerde çalışan DPI motoru; imza, protokol sezgileri ve trafik davranışı. |
| Fortinet FortiGate | Application Control | Uygulamaları application control imzalarıyla tanır. |
Bu tabloda yalnızca özelliklerin adları ve tanıma yöntemleri karşılaştırılıyor; tanınan uygulama sayıları ve doğruluk oranları ürünler arasında eşdeğer kabul edilmemeli.
Sık karıştırılanlar
- “TCP/IP, OSI’nin dört katmana indirilmiş hâlidir.” Değildir. İki model ayrı geliştirildi; sınırları kabaca örtüşür ama birebir eşleşmez.
- “Her şey paket.” Günlük dilde öyle, ama birim adı hangi katmandan söz edildiğini anlatır: çerçeve (L2), paket (L3), segment (TCP), datagram (UDP). Sorun giderirken bu ayrım “hangi başlığa bakıyoruz?” sorusunu netleştirir.
- “Wi-Fi başka bir dünya.” Wi-Fi yalnızca alttaki iki katmanda Ethernet’ten farklıdır. IP, TCP, UDP ve uygulamalar kablolu ağdakiyle aynıdır. Wi-Fi’a bağlı görünmek ise uçtan uca erişimin garantisi değildir: sorun VLAN, L2 iletim, IP adresi, gateway ya da DNS kaynaklı olabilir. Bu durumun adım adım teşhisi Wi-Fi Bağlı Ama İnternet Yok yazısında.
Akılda kalanlar
- OSI yedi katmanlı bir referans modeldir; TCP/IP dört katmanlı ve internette çalışan modeldir. Numaralar OSI’den, protokoller TCP/IP’den gelir.
- Gönderen her katmanda başlık ekler, alıcı aynı sırayla açar. EtherType, protokol alanı ve port, verinin bir üst katmanda kime gideceğini söyler.
- Cihazlar paketi farklı derinlikte okur: switch L2’ye, router L3’e, stateful firewall L4’e, uygulama tanıyan firewall L7’ye kadar.
Bir sonraki temel konu, çerçevedeki hedef MAC adresinin neden gateway’e ait olduğu: MAC, IP ve ARP ilişkisi.
Kaynaklar
- ITU-T X.200 (07/94): Open Systems Interconnection, Basic Reference Model
- RFC 1122: Requirements for Internet Hosts, Communication Layers
- RFC 791: Internet Protocol
- RFC 9293: Transmission Control Protocol
- RFC 768: User Datagram Protocol
- RFC 894: Transmission of IP Datagrams over Ethernet Networks
- RFC 9110: HTTP Semantics
- RFC 9114: HTTP/3
- IANA: Protocol Numbers
- Juniper: Ethernet Frames (çerçeve alanları ve boyutları)
- Huawei Info-Finder: What Is Application Identification?
- Cisco Secure Firewall: Application Control
- HPE Aruba Networking Central: Application Visibility
- Fortinet: FortiOS 7.2.7, Application control