6 TCP/IP modeli ve internet iletişimi

Tarayıcıya bir adres yazıp Enter’a bastığınızda tek bir protokol çalışmaz. Alan adının çözümlenmesi, hedefe IP üzerinden ulaşılması, uygulamalar arasında veri taşınması ve web isteğinin gönderilmesi gibi farklı işler birlikte yürütülür. OSI modeli bu görevleri kavramsal olarak ayırmamıza yardım etmişti; şimdi internetin günlük çalışmasında karşılaşacağımız TCP/IP protokol ailesine daha yakından bakacağız.

Bu bölümde TCP/IP katmanlarını, IP’nin temel rolünü, TCP ve UDP arasındaki farkları, port numaralarını, yaygın uygulama protokollerini, ICMP’yi ve bir web isteğinin uçtan uca temel yolculuğunu inceleyeceğiz. DNS ve DHCP’yi burada yalnız protokol zincirindeki yerleri kadar kullanacağız; ayrıntılı çalışmalarını 9. bölümde ele alacağız.

TCP/IP katmanları, web isteğinin taşınması, TCP ve UDP, portlar ve paket yolculuğu.

6.1 Bu bölümün sonunda

  • TCP/IP modelinin dört temel katmanını açıklayabilecek,
  • OSI ile TCP/IP modellerinin yaklaşık ilişkisini yorumlayabilecek,
  • IP’nin ağlar arası iletişimdeki rolünü açıklayabilecek,
  • TCP ve UDP’yi bağlantı durumu, sıralama, yeniden iletim ve ek yük açısından karşılaştırabilecek,
  • TCP bağlantısının üç yönlü el sıkışma fikrini temel düzeyde açıklayabilecek,
  • IP adresi ile port numarasının farklı sorulara cevap verdiğini gösterebilecek,
  • HTTP/HTTPS, DNS, DHCP, SSH ve e-posta protokollerini amaçlarıyla eşleştirebilecek,
  • ICMP’nin tanılama ve hata bildirimindeki rolünü tanıyabilecek,
  • bir web isteğinin DNS → IP → taşıma → uygulama zincirini sıralayabileceksiniz.

6.2 TCP/IP modeli

TCP/IP, internet iletişiminde kullanılan protokollerin oluşturduğu geniş bir ailedir. “TCP/IP” ifadesi yalnızca TCP ve IP adlı iki protokolü değil, DNS, HTTP, UDP, ICMP ve daha birçok protokolün birlikte çalıştığı ekosistemi ifade eder (Dordal 2023).

Bu kitapta dört katmanlı sade modeli kullanıyoruz:

TCP/IP katmanı Temel sorumluluk Örnekler
Uygulama Kullanıcının/uygulamanın ağ hizmeti HTTP, DNS, DHCP, SSH, e-posta protokolleri
Taşıma Uç uygulamalar arasındaki veri aktarımı TCP, UDP
İnternet Ağlar arası adresleme ve paket iletimi IPv4, IPv6, ICMP
Ağ erişimi Yerel bağlantı ve fiziksel iletim Ethernet, Wi‑Fi

OSI ile yaklaşık ilişkiyi hatırlayalım:

OSI 7–5  ≈ TCP/IP Uygulama
OSI 4    ≈ TCP/IP Taşıma
OSI 3    ≈ TCP/IP İnternet
OSI 2–1  ≈ TCP/IP Ağ erişimi

Bu eşleme bir matematiksel eşitlik değildir; farklı kaynakların aynı sorumlulukları farklı katman isimleriyle anlatabilmesini anlamaya yarar.

6.3 Protokol nedir?

Protokol, iletişimde kullanılan mesajların biçimini, anlamını ve çoğu zaman hangi sırayla gönderileceğini tanımlayan kurallar bütünüdür.

Örneğin iki web uygulaması iletişim kurarken şu soruların ortak cevabı olmalıdır:

  • İstek nasıl ifade edilir?
  • Hangi hedefe gönderilir?
  • Veri kaybolursa ne yapılır?
  • Yanıt nasıl tanınır?
  • Bağlantının hangi uygulamaya ait olduğu nasıl anlaşılır?

Bu soruların tamamına tek bir protokol cevap vermez. Farklı protokoller farklı sorumlulukları paylaşır.

6.4 IP’nin görevi

IP (Internet Protocol), paketlerin kaynak ve hedef IP adreslerine göre ağlar arasında iletilmesini sağlar. IPv4 ve IPv6, IP’nin iki sürümüdür.

IP’yi posta sistemindeki “hedef adres” fikrine benzetmek mümkündür; ancak benzetme sınırlıdır. Bir IP paketi üzerinde temel olarak kaynak ve hedef IP adresi bulunur. Router’lar hedef adresin hangi ağ yönünde olduğunu değerlendirerek paketi bir sonraki noktaya iletir.

Örneğin bir istemci:

192.168.10.25

adresinden şu hedefe erişmek istesin:

203.0.113.40

Hedef aynı yerel ağda değilse istemci paketi varsayılan ağ geçidine gönderir; router da kendi yönlendirme bilgisine göre paketi bir sonraki ağa iletir. IP adresleme ve prefix kararını 7–8. bölümlerde ayrıntılı inceleyeceğiz.

ImportantIP teslim garantisi vermez

Temel IP hizmeti “best effort” yaklaşımıyla paketleri iletmeye çalışır. Bir paketin kesin teslim edilmesi, doğru sırada gelmesi veya tekrar gönderilmesi IP’nin tek başına sağladığı garanti değildir. Bu tür ihtiyaçların bir kısmını taşıma protokolleri veya uygulama çözer.

6.5 Taşıma katmanı: neden TCP ve UDP var?

Tek bir bilgisayarda aynı anda tarayıcı, e-posta uygulaması, görüntülü görüşme, oyun ve SSH bağlantısı çalışabilir. Taşıma katmanı, uygulamalar arasındaki iletişimi ayırmaya ve uygulamanın ihtiyaç duyduğu aktarım davranışını sağlamaya yardım eder.

En sık karşılaşılan iki taşıma protokolü TCP ve UDP’dir.

6.6 TCP

TCP (Transmission Control Protocol), uygulamalara sıralı ve güvenilir bir byte akışı sağlamayı amaçlayan bağlantı odaklı taşıma protokolüdür.

TCP’nin temel özelliklerini giriş düzeyinde şöyle özetleyebiliriz:

  • iletişim başlamadan önce bağlantı durumu oluşturur,
  • veriyi sıralı biçimde uygulamaya sunar,
  • kaybolan veriyi yeniden gönderebilir,
  • alıcının veri alabildiğini onaylarla takip eder,
  • ağ koşullarına göre gönderim hızını düzenleyen mekanizmalara sahiptir.

Bunlar yararlıdır fakat kontrol bilgisi ve durum takibi ek yük oluşturur.

6.6.1 TCP üç yönlü el sıkışma

TCP bağlantısının başlangıcı basitleştirilmiş olarak üç mesajla açıklanır:

İstemci                      Sunucu
   |                           |
   | -------- SYN -----------> |
   | <----- SYN + ACK -------- |
   | -------- ACK -----------> |
   |                           |
   |      bağlantı hazır       |
  • SYN: istemci bağlantı başlatmak istediğini bildirir.
  • SYN-ACK: sunucu isteği aldığını ve kendisinin de bağlantıya hazır olduğunu bildirir.
  • ACK: istemci yanıtı onaylar.

Bu aşamadan sonra uygulama verisi taşınabilir. Ayrıntılı sequence number ve congestion-control hesabı bu kitabın kapsamı dışındadır.

6.7 UDP

UDP (User Datagram Protocol), datagram tabanlı daha yalın bir taşıma hizmetidir. TCP’deki bağlantı kurma, sıralama ve yeniden iletim mekanizmalarının tamamını taşıma katmanında sağlamaz.

Bu durum UDP’nin “kötü” veya “eksik TCP” olduğu anlamına gelmez. Bazı uygulamalar:

  • düşük gecikme,
  • basit istek–yanıt,
  • uygulamanın kendi güvenilirlik mekanizmasını kurması,
  • kayıp olduğunda eski veriyi tekrar göndermek yerine yeni veriye devam etmek

gibi nedenlerle UDP’yi tercih edebilir.

DNS sorgularının önemli bölümü UDP kullanabilir. Gerçek zamanlı ses/görüntü protokolleri UDP tabanlı olabilir. QUIC ise UDP üzerinde çalışmasına rağmen kendi güvenilirlik ve bağlantı özelliklerini uygulama/taşıma tasarımında sağlar.

6.8 TCP ve UDP karşılaştırması

Özellik TCP UDP
Bağlantı kurulumu Var Yok
Sıralı teslim Sağlar Taşıma katmanında garanti etmez
Yeniden iletim Sağlar Taşıma katmanında sağlamaz
Akış/congestion kontrolü Var UDP’nin kendisinde yok
Başlık/işlem ek yükü Daha fazla Daha az
Veri modeli Byte stream Datagram
Örnek kullanım Klasik HTTPS, SSH, e-posta protokolleri DNS sorguları, bazı gerçek zamanlı uygulamalar, QUIC taşıyıcısı
Warning“UDP hızlı, TCP yavaş” ezberi yanlıştır

Gerçek performans yalnız protokol başlığının boyutuna bağlı değildir. Ağ kaybı, gecikme, uygulamanın kendi mekanizmaları, sunucu kapasitesi ve protokol tasarımı sonucu değiştirir. UDP seçmek otomatik olarak daha hızlı uygulama üretmez.

6.9 Port numarası

IP adresi hedef sistemi/ağ arayüzünü bulmaya yardım eder. Aynı sistemde birden fazla ağ uygulaması çalıştığı için taşıma katmanında port numarası kullanılır.

Örnek bir bağlantı:

İstemci: 192.168.10.25:53142
Sunucu:  203.0.113.40:443

Burada:

  • 192.168.10.25 istemcinin IP adresidir,
  • 53142 istemci tarafında geçici (ephemeral) port olabilir,
  • 203.0.113.40 sunucunun IP adresidir,
  • 443 HTTPS için yaygın sunucu portudur.

Bir TCP/UDP iletişimini ayırt ederken yalnız hedef port değil; kaynak/hedef IP, kaynak/hedef port ve taşıma protokolü birlikte önemlidir.

6.9.1 “Port” fiziksel soket değildir

Ethernet switch’indeki 24 fiziksel porta da “port” deriz; TCP/UDP’deki 443 değerine de “port” deriz. Bunlar aynı kavram değildir.

  • Switch portu: fiziksel/mantıksal ağ arayüzü.
  • TCP/UDP portu: işletim sisteminde uygulama iletişimini ayıran sayısal tanımlayıcı.

Bağlamdan hangisinin kastedildiğini anlamak gerekir.

6.10 Yaygın uygulama protokolleri ve portlar

Port numaralarını sınav listesi gibi ezberlemek yerine protokolün ne yaptığını anlamak daha önemlidir. Yine de dokümantasyon ve hata çıktılarında sık görülen bazı eşleşmeleri tanımak yararlıdır.

Hizmet/protokol Yaygın taşıma/port Ne işe yarar?
HTTP TCP 80 Şifrelenmemiş klasik web iletişimi
HTTPS TCP 443 TLS üzerinden klasik web iletişimi
DNS UDP/TCP 53 İsim çözümleme sorguları/yanıtları
DHCPv4 UDP 67/68 Otomatik IPv4 ağ yapılandırması
SSH TCP 22 Güvenli uzak kabuk/uzak yönetim
SMTP TCP 25/587 vb. E-posta gönderimi/aktarma
IMAP TCP 143/993 E-posta kutusuna erişim

Uygulama protokollerinin taşıma katmanındaki portlarla ilişkilendirilmesine e-posta üzerinden bir örnek.

Tablodaki portlar “bu uygulama başka portta asla çalışmaz” anlamına gelmez. Servisler farklı portlara yapılandırılabilir; bazı modern protokoller farklı taşıma yöntemleri kullanabilir.

6.11 Bir sunucu birden fazla hizmeti nasıl sunar?

Tek bir sunucunun IP adresi 192.0.2.10 olsun. Aynı makine şu hizmetleri sunabilir:

192.0.2.10:22   → SSH
192.0.2.10:80   → HTTP
192.0.2.10:443  → HTTPS

IP adresi aynı olmasına rağmen port numarası hangi uygulama hizmetine ulaşılacağını ayırır. İşletim sistemi gelen bağlantıyı uygun dinleyen sürece teslim eder.

6.12 ICMP

ICMP (Internet Control Message Protocol), IP ağlarında hata bildirimleri ve tanılama mesajları için kullanılan önemli protokoldür. ping aracı ICMP Echo Request ve Echo Reply mesajlarından yararlanır.

ICMP’nin yalnız “ping protokolü” olduğunu düşünmek eksiktir. Ağ cihazları bazı erişilemez hedef veya TTL/hop limit durumlarını ICMP mesajlarıyla bildirebilir. traceroute benzeri araçlar da bu davranışlardan yararlanır.

NotePing başarısızsa hedef kesin kapalı mı?

Hayır. Bir firewall ICMP Echo mesajlarını engelleyebilirken web hizmetine izin verebilir. Ping başarılı olması güçlü bir erişim kanıtıdır; başarısız olması ise tek başına hedef uygulamanın kapalı olduğunu kanıtlamaz.

6.13 Bir web isteğinin basitleştirilmiş yolculuğu

Tarayıcıda şu adresi açalım:

https://example.com

Gerçek sistem çok daha karmaşıktır, ancak temel akışı sekiz adımda okuyabiliriz.

6.13.1 1. Alan adını çözmek

Tarayıcı/işletim sistemi example.com için IP adresine ihtiyaç duyar. Daha önce önbellekte yoksa DNS sorgusu yapılır.

Alan adının DNS ile hedef IP’ye çözümlenmesi.

6.13.2 2. Hedefin yerel mi uzak mı olduğuna karar vermek

İstemci hedef IP’nin kendi yerel ağında olup olmadığını prefix bilgisiyle değerlendirir. Uzaksa paket varsayılan gateway’e gönderilecektir.

6.13.3 3. Yerel teslimi hazırlamak

Ethernet kullanılıyorsa istemcinin gateway’e ait yerel MAC bilgisine ihtiyacı vardır. IPv4’te ARP bu noktada görev alabilir. ARP’yi 9. bölümde daha ayrıntılı işleyeceğiz.

6.13.4 4. Taşıma bağlantısını kurmak

Klasik HTTPS/TCP kullanılıyorsa sunucunun 443 portuna TCP bağlantısı kurulur. Üç yönlü el sıkışma gerçekleşir.

6.13.5 5. Güvenli oturumu oluşturmak

HTTPS için TLS güvenli bağlantı kurulur. Sertifika doğrulama ve şifreleme ayrıntıları bu kitabın kapsamı dışındadır; önemli olan HTTP’nin doğrudan düz metin olarak gönderilmediğini anlamaktır.

6.13.6 6. HTTP isteğini göndermek

Tarayıcı hedef kaynağı ister. Örneğin öğretici olarak:

GET / HTTP/1.1
Host: example.com

6.13.7 7. Sunucu yanıt verir

Sunucu HTTP yanıtı ve istenen içeriği gönderir.

6.13.8 8. Tarayıcı ek kaynakları ister

Bir sayfa yalnız HTML değildir. CSS, JavaScript, görseller ve başka hizmetler için yeni istekler oluşabilir.

Web iletişiminde DNS, taşıma ve HTTP/HTTPS aşamalarının ilişkisi.

Bu zincir, “web sitesi açılmıyor” şikâyetinin neden tek sebebi olmadığını gösterir. DNS, IP yolu, TCP/QUIC, TLS veya HTTP hizmetinin herhangi birinde sorun olabilir.

6.14 DNS ve HTTP farklı hizmetlerdir

DNS’in görevi bir alan adını uygun kayıtlarla ilişkilendirmektir. HTTP/HTTPS ise web uygulamasının istek ve yanıt biçimini tanımlar.

Şu iki durumu karşılaştıralım:

Durum A:

nslookup example.com → IP geliyor
curl https://example.com → bağlantı başarısız

DNS en azından yanıt vermiştir; web hizmeti veya bağlantı zincirinin sonraki aşamaları araştırılır.

Durum B:

ping 1.1.1.1 → başarılı
nslookup example.com → timeout

Temel IP erişimi vardır, fakat DNS güçlü şüphelidir.

Bu ayrımı 9. ve 12. bölümlerde uygulamalı olarak kullanacağız.

6.15 HTTP/3 ve QUIC

Modern web iletişiminde HTTP/3 ile karşılaşabilirsiniz. HTTP/3, TCP yerine QUIC adlı protokol üzerinde çalışır; QUIC ise UDP datagramlarını taşıyıcı olarak kullanır ve güvenilirlik/bağlantı özelliklerinin önemli bölümünü kendi içinde sağlar (Kurose and Ross 2026).

Bu bölümde QUIC paketlerini analiz etmeyeceğiz. Hatırlanması gereken sonuç:

“HTTPS her zaman TCP 443 kullanır” ifadesi modern internet için mutlak bir kural değildir.

UDP 443 üzerinde QUIC/HTTP/3 trafiği de görülebilir.

6.16 Çalışılmış vaka: IP çalışıyor, uygulama çalışmıyor

Bir bilgisayarda şu testler yapılsın:

ping 192.168.1.1     → başarılı
ping 1.1.1.1         → başarılı
nslookup example.com → başarılı
curl -I https://example.com → timeout

Ne biliyoruz?

  • yerel gateway’e temel IP erişimi var,
  • en az bir uzak IP’ye erişim var,
  • DNS isim çözümlemesi çalışıyor,
  • web uygulama bağlantısı tamamlanmıyor.

Bu durumda kabloyu değiştirmek veya DNS’i ilk şüpheli seçmek eldeki kanıtla uyumlu değildir. TCP/QUIC bağlantısı, firewall, TLS, proxy veya uzak web hizmeti gibi sonraki aşamalar araştırılabilir.

6.17 Kendinizi kontrol edin

  1. TCP/IP modelinin dört katmanını ve her biri için bir protokol/teknoloji örneğini yazın.
  2. IP neden tek başına güvenilir teslim garantisi vermez?
  3. TCP ile UDP arasındaki dört temel farkı açıklayın.
  4. TCP üç yönlü el sıkışmadaki SYN, SYN-ACK ve ACK sırasını yazın.
  5. 192.168.1.20:53142 → 203.0.113.10:443 ifadesindeki dört sayısal bölüm neyi anlatır?
  6. Switch’in fiziksel portu ile TCP port numarası arasındaki farkı açıklayın.
  7. DNS, HTTP ve DHCP’nin görevlerini birbirinden ayırın.
  8. ICMP’nin yalnız ping’den ibaret olmadığını açıklayın.
  9. Bir web sayfasının açılmasında DNS’den HTTP yanıtına kadar temel aşamaları sıralayın.
  10. Uzak IP’ye erişilebildiği halde alan adı çözülemiyorsa neden DNS güçlü şüphelidir?
  11. HTTP/3’ün “HTTPS = TCP 443” ezberini neden değiştirdiğini açıklayın.

6.18 Bölüm özeti

TCP/IP, internet iletişiminde birlikte çalışan geniş bir protokol ailesidir. Dört katmanlı model uygulama, taşıma, internet ve ağ erişimi sorumluluklarını ayırır. IP paketleri kaynak ve hedef IP adreslerine göre ağlar arasında iletilir, fakat IP tek başına güvenilir teslim garantisi sunmaz. TCP bağlantı kurar, sıralı teslim ve yeniden iletim gibi mekanizmalar sağlar; UDP daha yalın datagram hizmeti sunar. Port numaraları aynı sistemde çalışan farklı uygulama iletişimlerini ayırmaya yardım eder. HTTP/HTTPS web, DNS isim çözümleme, DHCP otomatik yapılandırma, SSH uzak yönetim gibi farklı görevler üstlenir. ICMP ağ tanılama ve hata bildirimlerinde kullanılır. Bir web isteği DNS çözümlemesi, IP yolu, taşıma bağlantısı, güvenli oturum ve uygulama protokolünün birlikte çalışmasını gerektirir. Modern HTTP/3, QUIC/UDP kullanabildiği için protokol bilgisini tek ve değişmez port eşleşmelerine indirgememek gerekir.

6.19 Kısa sözlük

Terim Kısa anlam
TCP/IP İnternet iletişiminde kullanılan protokol ailesi ve katman modeli
IP Paketlerin ağlar arasında adreslenmesi ve iletilmesi için kullanılan protokol
TCP Güvenilir ve sıralı byte akışı sağlayan bağlantı odaklı taşıma protokolü
UDP Bağlantısız datagram taşıma protokolü
Port Taşıma katmanında uygulama iletişimini ayıran sayısal tanımlayıcı
Socket IP, port ve protokol bağlamındaki iletişim uç noktası kavramı
ICMP IP ağlarında kontrol, hata ve tanılama mesajları için kullanılan protokol
DNS Alan adlarının ağ kayıtlarıyla ilişkilendirilmesini sağlayan sistem
HTTP/HTTPS Web uygulamalarının istek/yanıt protokolleri
QUIC UDP üzerinde modern güvenli taşıma özellikleri sunan protokol
Back to top

References

Dordal, Peter L. 2023. An Introduction to Computer Networks. Release 2.0.11. https://intronetworks.cs.luc.edu/current2/html/.
Kurose, James F., and Keith W. Ross. 2026. Computer Networking: A Top-down Approach. 9th ed. Pearson.