6 TCP/IP ve internet iletişimi

Bilgisayarında aynı anda tarayıcı, e-posta istemcisi, bir oyun ve müzik uygulaması çalışıyor. Hepsi aynı IP adresini kullanıyor. Peki gelen cevaplar neden birbirine karışmıyor? Bu haftanın konusu, IP adresinin yetmediği yer ve orada devreye giren kavram: port.

TCP/IP modeli, TCP/UDP, portlar ve internet üzerindeki veri akışının özeti.

TCP/IP modeli, TCP/UDP, portlar ve internet üzerindeki veri akışının özeti.
NoteBu haftanın kapsamı

Sınavda sorulur: TCP/IP modelinin dört katmanı; port kavramı ve neden gerektiği; 0–65535 aralığı ve 0–1023 well-known portlar; HTTP 80, HTTPS 443, DNS 53, DHCP 67/68, SSH 22; geçici (ephemeral) port fikri; TCP–UDP temel farkı; IP TTL’in amacı ve DNS TTL ile karıştırılmaması; web isteğinin beş adımı.

Sınav dışı (bilgi amaçlı): TCP bayrakları, sequence/acknowledgment ayrıntıları, congestion control, HTTP/3 ve QUIC mekanizması, uzun port listelerini ezberlemek.

6.1 Tek IP adresiyle onlarca uygulamanın cevabı nasıl karışmıyor?

Cevap iki numaralı bir adreste:

192.0.2.20:443
└────┬────┘ └┬┘
  IP adresi  port
 hangi cihaz? hangi uygulama ucu?

IP adresi hangi cihaza, port hangi uygulama ucuna gidileceğini söyler. Haftanın geri kalanı bu ikiliyi açıyor.

6.2 TCP/IP modelinin dört katmanı

  1. haftada OSI’yi bir tanı çerçevesi olarak kullanmıştık. Gerçek internet protokol yığını çoğunlukla dört katmanlı TCP/IP modeliyle anlatılır:
TCP/IP katmanı Görevi Örnekler OSI karşılığı
Uygulama Kullanıcıya yakın hizmetler HTTP, DNS, SSH 5–7
Taşıma Uygulamalar arası uçtan uca iletişim TCP, UDP, portlar 4
İnternet IP adresleme, ağlar arası iletim IPv4, IPv6 3
Ağ erişimi Yerel bağlantı Ethernet, Wi-Fi 1–2

Bu hafta ağırlıklı olarak taşıma katmanında çalışacağız — çünkü portların yeri orası.

6.3 Vaka 1 — Sunucuya erişiliyor, hizmet yanıt vermiyor

ping 203.0.113.10          → başarılı
curl https://203.0.113.10  → Failed to connect: Connection refused
curl http://203.0.113.10   → HTTP/1.1 200 OK

6.3.1 Kanıt ne söylüyor

Aynı sunucu, aynı IP. Bir istek çalışıyor, diğeri reddediliyor. IP adresi ikisinde de aynı olduğuna göre farkı yaratan şey port.

http:// varsayılan olarak TCP 80, https:// ise TCP 443 portunu hedefler. Bu sunucuda 80 açık, 443 kapalı. Connection refused mesajı “sana ulaşamadım” değil, “ulaştım ve o kapı kapalı” demektir.

Port, bir cihaz üzerindeki farklı hizmet uçlarını ayırt eder. Bir sunucuda web hizmeti, SSH hizmeti ve DNS hizmeti aynı anda çalışabilir — her biri farklı bir portta dinler.

ImportantPort, switch portu değildir

443 gibi bir TCP/UDP portu yazılımsal bir iletişim ucudur. Switch üzerindeki “Port 1, Port 2…” ise fiziksel bir ağ arayüzüdür. Aynı kelime iki tamamen farklı bağlamda kullanılır; sınavda hangi bağlamda sorulduğuna dikkat et.

6.3.2 Bu derste bilinecek beş port

Hizmet Protokol / Port Kullanım
HTTP TCP 80 Şifrelenmemiş web
HTTPS TCP 443 TLS ile web
DNS UDP/TCP 53 İsim çözümleme
DHCP UDP 67/68 IP yapılandırması alma
SSH TCP 22 Güvenli uzak kabuk

Bu beşli dışında uzun port listeleri ezberlemen beklenmiyor.

6.4 Vaka 2 — Aynı anda beş uygulama, karışmayan cevaplar

Bir bilgisayarda aynı anda iki sekmede web, bir SSH oturumu ve bir DNS sorgusu var. Hepsinin IP adresi 192.168.1.20.

6.4.1 Kanıt ne söylüyor

Her bağlantı dört değerle benzersiz biçimde tanımlanır: kaynak IP, kaynak port, hedef IP, hedef port.

Sekme 1 : 192.168.1.20:53124  →  203.0.113.10:443
Sekme 2 : 192.168.1.20:53125  →  203.0.113.10:443
SSH     : 192.168.1.20:53126  →  198.51.100.5:22

İlk iki satırda hedef aynı — aynı sunucu, aynı port. Onları ayıran şey kaynak portu. İşletim sistemi her yeni bağlantı için geçici bir port seçer; buna ephemeral (dinamik) port denir. Cevap geldiğinde işletim sistemi bu numaraya bakarak paketi doğru uygulamaya teslim eder.

6.4.2 Port aralıkları

TCP ve UDP port numaraları 0–65535 arasındadır.

  • 0–1023: well-known portlar. Yaygın standart hizmetler burada bulunur (80, 443, 53, 22…).
  • Daha yüksek portlar: kayıtlı hizmetler veya istemcinin dinamik kullanımı.

Ephemeral port aralığı işletim sistemine göre değişir; bu derste belirli bir aralık ezberlemiyoruz. Bilmen gereken: sunucu tarafındaki port sabit ve bilinen, istemci tarafındaki port geçici ve rastgeledir.

6.5 Vaka 3 — Neden DNS UDP, web TCP?

Bir öğrenci “UDP hızlıdır, o hâlde her şey UDP kullansın” diyor.

6.5.1 Kanıt ne söylüyor

İki protokol farklı hizmet sunar; hız tek ölçüt değildir.

Özellik TCP UDP
Bağlantı Bağlantı kurar Bağlantısız datagram
Teslim garantisi Sıralama ve yeniden iletim mekanizmaları sunar Protokol düzeyinde garanti yok
Ek yük Daha fazla Daha az
Örnek Web, SSH DNS sorguları, gerçek zamanlı trafik

Web neden TCP? Bir sayfanın yarısı eksik gelirse işe yaramaz. TCP kayıp parçayı yeniden ister ve sırayı düzeltir.

DNS sorgusu neden UDP? Sorgu tek küçük bir pakete sığar ve cevap da öyle. Bağlantı kurup kapatmanın ek yükü, sorgunun kendisinden büyük olurdu. Cevap gelmezse istemci basitçe tekrar sorar.

Yani doğru cümle “UDP hızlıdır” değil, “TCP daha fazla garanti sunar, UDP daha az ek yük getirir; uygulama hangisine ihtiyaç duyuyorsa onu kullanır”.

NoteTCP neden güvenilir sayılır?

TCP veri akışını sıralar, kayıpta yeniden iletim yapar ve alıcının kabul edebileceği veri miktarını gözetir. Ayrıntılı sequence/acknowledgment ve congestion control hesabı bu dersin kapsamı dışındadır. Bu düzeyde şu yeterli: TCP, uygulamaya güvenilir ve sıralı bir byte akışı sunmaya çalışır.

6.6 Vaka 4 — Paket sonsuza kadar dolaşırsa ne olur?

İki router yanlış yapılandırılmış ve paketi birbirine geri gönderiyor. Bu paket ağda sonsuza kadar dolaşır mı?

6.6.1 Kanıt ne söylüyor

Hayır — çünkü IPv4 başlığında TTL (Time To Live) alanı vardır. Paket her router’dan geçtiğinde TTL bir azaltılır. Değer sıfıra ulaştığında paket atılır.

TTL bir zaman ölçüsü değil, hop sayacıdır. Bu mekanizma yönlendirme döngülerinin ağı kilitlemesini önler.

traceroute / tracert komutu tam olarak bu davranışı kullanır: TTL’i önce 1, sonra 2, sonra 3 yaparak gönderir ve her adımda hangi router’ın “TTL bitti” cevabı verdiğini görür. 10. ve 12. haftalarda bu çıktıyı yorumlayacağız.

WarningIP TTL ile DNS TTL aynı şey değildir
  1. haftada DNS kayıtlarının ne kadar süre önbellekte tutulacağını belirleyen DNS TTL ifadesiyle karşılaşacaksın. İsim aynı, kavram farklı: IP TTL paketin router geçiş sayısını sınırlar, DNS TTL bir kaydın önbellek ömrünü belirler.

6.7 Bir web isteğinin beş adımı

https://example.com yazdığında olan şeyi beş adımda okuyabilirsin:

1. İsim çözme       DNS: example.com hangi IP?          (UDP 53)
        ↓
2. Taşıma bağlantısı İstemci hedef porta bağlanır        (TCP 443)
        ↓
3. Uygulama isteği   Tarayıcı HTTP isteğini gönderir
        ↓
4. Ağlar arası iletim IP paketleri gateway → ISP → hedef
        ↓
5. Yanıt             Sunucu yanıtı üretir, veri geri gelir

Bu beş adım bir tanı sırası olarak da işe yarar: hangi adımda kaldığını bilirsen hangi bileşeni inceleyeceğini de bilirsin. 12. haftada bunu komutlarla test edeceğiz.

Gerçek web iletişiminde TLS, ek kaynak istekleri, önbellek ve CDN gibi ayrıntılar da vardır; bu hafta çekirdek akışa odaklanıyoruz.

6.8 Ekranda ne gördük

> curl -I http://example.com          ← TCP 80
   HTTP/1.1 200 OK

> curl -I https://example.com         ← TCP 443
   HTTP/2 200

> curl -I https://example.com:8443    ← kapalı bir port
   Failed to connect ... port 8443: Connection refused
   ↑ IP'ye ulaşıldı, o kapı kapalı: Katman 4 kanıtı

> ping example.com                    ← port kullanmaz
   Reply from 93.184.x.x: time=18ms
   ↑ port kapalıyken bile ping çalışır

Son iki blok birlikte 4. haftanın dersini tekrarlıyor: ping çalışması hizmetin çalıştığını kanıtlamaz. Şimdi nedenini biliyorsun — ping port kullanmaz.

6.9 Sınav provası

Önce kendi cevabını seç; sonra cevap anahtarında her şıkkın neden doğru veya yanlış olduğunu oku. Sınav maddeleri bu mantıkla yazılır.

Madde 1. IP adresi ile port numarası hangi iki farklı soruya cevap verir?

  • A. IP hangi uygulamaya, port hangi cihaza gidileceğini belirtir
  • B. IP hangi cihaza, port hangi uygulama/hizmet ucuna gidileceğini belirtir
  • C. İkisi de aynı soruya cevap verir, biri yedektir
  • D. IP donanımı, port yazılımı tanımlar
  • E. IP yerel ağda, port yalnız internette kullanılır

Madde 2. Bir sunucuya ping başarılı ancak curl https://... komutu Connection refused veriyor. Bu ne anlama gelir?

  • A. Hedef sunucu tamamen kapalıdır
  • B. Hedef sunucu ICMP mesajlarını engelliyordur
  • C. Paket hedefe ulaşıyor ancak hedeflenen portta dinleyen bir hizmet yok veya engelleniyor
  • D. Cihazın IP adresi geçersizdir
  • E. DNS çözümlemesi başarısız olmuştur

Madde 3. TCP ve UDP port numaraları hangi aralıktadır ve well-known portlar hangi aralıktadır?

  • A. 0–65535; well-known 1024–49151
  • B. 1–1024; well-known 1–100
  • C. 0–65535; well-known 49152–65535
  • D. 0–65535; well-known 0–1023
  • E. 0–255; well-known 0–99

Madde 4. HTTPS ve DNS için bu derste bilinmesi gereken portlar hangileridir?

  • A. HTTPS: UDP 443, DNS: TCP 80
  • B. HTTPS: TCP 80, DNS: UDP 67
  • C. HTTPS: TCP 8443, DNS: UDP 5353
  • D. HTTPS: TCP 22, DNS: TCP 443
  • E. HTTPS: TCP 443, DNS: UDP/TCP 53

Madde 5. Aynı bilgisayardaki iki tarayıcı sekmesi aynı sunucunun aynı portuna bağlanıyor. Gelen cevapların karışmamasını sağlayan nedir?

  • A. Her bağlantı için farklı bir geçici (ephemeral) kaynak portu kullanılması
  • B. İşletim sisteminin her isteğe sıra numarası vermesi
  • C. Her sekmenin ayrı bir IP adresi alması
  • D. DNS’in her sekme için ayrı kayıt tutması
  • E. Sunucunun her sekmeye farklı bir MAC adresi vermesi

Madde 6. DNS sorguları için tipik olarak neden UDP tercih edilir?

  • A. TCP 53 portunu desteklemez
  • B. Sorgu ve cevap küçüktür; bağlantı kurmanın ek yükü sorgunun kendisinden büyük olurdu
  • C. DNS şifreleme gerektirmediği için UDP zorunludur
  • D. UDP paket kaybını kendi telafi ettiği için
  • E. UDP her zaman TCP’den güvenilirdir

Madde 7. IP paketindeki TTL alanının temel amacı nedir?

  • A. Paketin hangi router’lardan geçtiğini kaydetmek
  • B. Paketin şifrelenme süresini belirlemek
  • C. Paketin yönlendirme döngüsünde sonsuza kadar dolaşmasını önlemek
  • D. Bağlantının saniye cinsinden ömrünü ölçmek
  • E. DNS kaydının önbellekte kalma süresini belirlemek

Madde 8. TCP/IP modelinde portlar hangi katmanın kavramıdır?

  • A. Uygulama
  • B. Sunum
  • C. İnternet
  • D. Taşıma
  • E. Ağ erişimi

Madde 1 — Doğru: B. 192.0.2.20:443 gösteriminde IP cihazı, port o cihazdaki hizmet ucunu belirler.

  • A yanlış: Roller ters çevrilmiş.
  • C yanlış: Farklı sorulara cevap verirler; biri diğerinin yedeği değildir.
  • D yanlış: IP bir yapılandırma adresidir; donanım kimliği MAC’tir.
  • E yanlış: Portlar yerel ağdaki iletişimde de kullanılır.

Madde 2 — Doğru: C. Başarılı ping 1–3. katmanları doğrular; reddedilme hedefin o kapı kapalı cevabıdır.

  • A yanlış: Kapalı olsaydı ping de yanıtsız kalırdı.
  • B yanlış: Ping başarılı olduğuna göre ICMP engellenmiyor.
  • D yanlış: Geçersiz olsaydı ping de başarısız olurdu.
  • E yanlış: İstekte IP kullanılmış; isim çözme devreye girmemiş.

Madde 3 — Doğru: D. Port alanı 16 bittir; well-known aralık 0–1023.

  • A yanlış: 1024–49151 kayıtlı (registered) port aralığıdır, well-known değil. En cazip çeldirici budur.
  • B yanlış: Üst sınır 65535’tir.
  • C yanlış: 49152–65535 dinamik/geçici port aralığıdır.
  • E yanlış: 0–255 bir octet aralığıdır, port aralığı değil.

Madde 4 — Doğru: E. Dersin beş temel portundan ikisi.

  • A yanlış: Protokoller ve portlar karıştırılmış.
  • B yanlış: TCP 80 HTTP’dir; UDP 67 DHCP’dir.
  • C yanlış: Bunlar alternatif ve yerel keşif portlarıdır; standart değerler 443 ve 53’tür.
  • D yanlış: TCP 22 SSH’dir.

Madde 5 — Doğru: A. Bağlantılar kaynak IP, kaynak port, hedef IP ve hedef port dörtlüsüyle ayırt edilir.

  • B yanlış: Sıralama TCP içinde bağlantı başına yapılır; bağlantıları ayıran şey port dörtlüsüdür.
  • C yanlış: Cihazın tek IP adresi vardır.
  • D yanlış: DNS isim çözer, bağlantı ayırt etmez.
  • E yanlış: MAC adresleri yerel bağlantıya aittir ve sunucu tarafından dağıtılmaz.

Madde 6 — Doğru: B. Tek küçük sorgu ve cevap için bağlantı kurup kapatmak orantısız ek yüktür.

  • A yanlış: DNS gerektiğinde TCP 53’ü de kullanır.
  • C yanlış: Şifreleme ile taşıma protokolü seçimi ayrı konulardır.
  • D yanlış: UDP telafi etmez; gerekirse istemci sorguyu yeniden gönderir.
  • E yanlış: Güvenilirlik mekanizmaları sunan TCP’dir.

Madde 7 — Doğru: C. TTL her router geçişinde azaltılır; sıfıra ulaşınca paket atılır.

  • A yanlış: TTL bir sayaçtır; geçilen router’ların listesini tutmaz.
  • B yanlış: TTL’in şifrelemeyle ilgisi yoktur.
  • D yanlış: TTL bir hop sayacıdır, saniye ölçüsü değil.
  • E yanlış: Bu DNS TTL’dir. Aynı isim, farklı kavram — dersin özellikle uyardığı karışıklık.

Madde 8 — Doğru: D. Portlar TCP/UDP’nin, yani taşıma katmanının kavramıdır.

  • A yanlış: Uygulamalar portları kullanır, ama port bir taşıma katmanı kavramıdır. En cazip çeldirici budur.
  • B yanlış: Sunum katmanı veri gösterimi ve kodlamayla ilgilidir.
  • C yanlış: İnternet katmanının adresi IP’dir.
  • E yanlış: Ağ erişimi katmanının adresi MAC’tir.

6.10 Tek sayfa özet

  • IP hangi cihaz, port hangi uygulama ucu. Tek IP üzerinde onlarca bağlantı bu sayede karışmaz.
  • Bir bağlantı dört değerle tanımlanır: kaynak IP, kaynak port, hedef IP, hedef port.
  • Port aralığı 0–65535; well-known portlar 0–1023.
  • Bilinmesi gerekenler: HTTP 80, HTTPS 443, DNS 53, DHCP 67/68, SSH 22.
  • Sunucu portu sabit ve bilinen, istemci portu geçici (ephemeral).
  • TCP sıralama ve yeniden iletim sunar; UDP daha az ek yük getirir. “UDP hızlıdır” yetersiz bir açıklamadır.
  • IP TTL bir hop sayacıdır ve yönlendirme döngülerini önler — DNS TTL ile karıştırma.
  • Web isteği: isim çözme → taşıma bağlantısı → uygulama isteği → IP iletimi → yanıt.
  • Connection refused = ulaştım, kapı kapalı. ping port kullanmaz.

6.11 Bu bölümün kazanımları

Bu bölümü bitiren öğrenci:

  • IP adresi ile portun farklı sorulara cevap verdiğini açıklar.
  • Port aralıklarını ve temel hizmet portlarını tanır.
  • Geçici (ephemeral) port ile bağlantıların nasıl ayırt edildiğini açıklar.
  • TCP ile UDP’nin farklı hizmetler sunduğunu gerekçelendirir.
  • IP TTL’in amacını açıklar ve DNS TTL ile karıştırmaz.
  • TCP/IP katmanlarını ve bir kavramın hangi katmana ait olduğunu belirler.
  • Bir web isteğinin adımlarını sıralar ve hata mesajını doğru adıma bağlar.
Back to top