6 TCP/IP ve internet iletişimi
Bir web sayfası açarken yalnızca “internete veri gönderilmez”. Uygulama bir hizmete ulaşır, taşıma katmanı portları kullanır, IP paketi ağlar arasında ilerler ve yerel bağlantıda Ethernet/Wi-Fi görev yapar. Bu hafta TCP/IP modelini, TCP–UDP farkını ve port kavramını günlük ağ iletişimi üzerinden kuracağız.
Derste işlenecek: TCP/IP modelinin dört katmanı, TCP–UDP temel farkı, port kavramı, 0–65535 port aralığı ve 0–1023 well-known portlar, HTTP/HTTPS/DNS/DHCP/SSH portları, istemci tarafındaki geçici port sezgisi, TTL ve beş adımda web isteğinin yolculuğu.
Kendiniz okuyun: socket/uç nokta gösterimi; TCP bağlantısının güvenilirlik mekanizmalarına kısa bakış.
Sınav dışı / bilgi amaçlı: ayrıntılı TCP bayrakları, congestion control, HTTP/3 ve QUIC ayrıntıları, tüm servis portlarını ezberlemek.
6.1 Bu bölümün sonunda
- TCP/IP modelinin katmanlarını OSI ile ilişkilendirebilecek,
- TCP ve UDP’nin temel kullanım farkını açıklayabilecek,
- Port numarasının neden gerekli olduğunu açıklayabilecek,
- Port numarası aralığını ve temel well-known port fikrini bilecek,
- Yaygın beş hizmet portunu tanıyabilecek,
- TTL’in IP paketindeki amacını açıklayabilecek,
- Bir web isteğinin DNS’ten yanıta kadar temel yolculuğunu sıralayabileceksiniz.
6.2 TCP/IP modeli
İnternet iletişimini dört ana katmanda düşünmek yararlıdır:
| TCP/IP katmanı | Temel görev | Örnekler |
|---|---|---|
| Uygulama | Kullanıcıya yakın ağ hizmetleri | HTTP, DNS, SSH |
| Taşıma | Uygulamalar arası uçtan uca iletişim | TCP, UDP, portlar |
| İnternet | IP adresleme ve ağlar arası paket iletimi | IPv4, IPv6 |
| Ağ erişimi | Yerel ağda fiziksel/veri bağlantısı | Ethernet, Wi-Fi |
OSI modelindeki 5–7. katmanlar burada genellikle uygulama katmanı altında birlikte düşünülür. OSI’nin 4. katmanı taşıma, 3. katmanı internet/ağ, 1–2. katmanları ağ erişimiyle yaklaşık eşleşir.
6.3 TCP ve UDP
Aynı IP ağı üzerinde farklı taşıma gereksinimleri vardır. İki temel protokol TCP ve UDP’dir.
| Özellik | TCP | UDP |
|---|---|---|
| Bağlantı mantığı | Bağlantı kurar | Bağlantısız datagram yaklaşımı |
| Güvenilir teslim | Sıralama/yeniden iletim gibi mekanizmalar sunar | Protokol düzeyinde garanti sunmaz |
| Ek yük | Daha fazla | Daha az |
| Örnek kullanım | Web, SSH | DNS sorguları, gerçek zamanlı bazı trafikler |
“UDP hızlıdır, TCP yavaştır” biçiminde ezber yapmak doğru değildir. Uygulamanın gereksinimi, ağ koşulları ve üst katman protokolü sonucu belirler. Buradaki temel ayrım, TCP’nin teslim/sıra için daha fazla mekanizma sunması; UDP’nin daha basit datagram hizmeti sağlamasıdır.
6.4 Port neden gerekir?
Tek bir bilgisayar aynı anda tarayıcı, e-posta istemcisi, oyun ve başka ağ uygulamaları çalıştırabilir. IP adresi hangi cihazı, port numarası ise genel olarak hangi uygulama/hizmet ucunu hedeflediğimizi ayırt etmeye yardım eder.
Örnek:
192.0.2.20:443
Burada 192.0.2.20 IP adresi, 443 ise port numarasıdır.
6.4.1 Port aralıkları
TCP ve UDP port numaraları 0–65535 arasındadır.
- 0–1023: well-known portlar; yaygın standart hizmetler burada bulunur.
- Daha yüksek portlar: kayıtlı hizmetler veya istemci/uygulama tarafından dinamik amaçlarla kullanılabilir.
İstemci bir sunucuya bağlanırken işletim sistemi genellikle geçici bir ephemeral/dynamic port seçer. Tam dinamik aralık işletim sistemine göre değişebildiği için bu derste belirli bir aralık ezberlemeyeceğiz.
443 gibi TCP/UDP port numarası yazılımsal iletişim ucudur. Switch üzerindeki “Port 1, Port 2…” ise fiziksel ağ arayüzüdür. Aynı kelime iki farklı bağlamda kullanılır.
6.5 Bu derste bilinecek temel portlar
| Hizmet | Protokol/Port | Temel kullanım |
|---|---|---|
| HTTP | TCP 80 | şifrelenmemiş web |
| HTTPS | TCP 443 | TLS ile web |
| DNS | UDP/TCP 53 | isim çö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 listelerini ezberlemeniz beklenmez.
6.6 Bir iletişim ucunu düşünmek
Uçtan uca bir bağlantı, kaynak ve hedef IP/port bilgileriyle ayırt edilir. Basit örnek:
İstemci: 192.168.1.20:53124
Sunucu : 203.0.113.10:443
Burada 53124 yalnızca örnek geçici istemci portudur. Sunucu tarafındaki 443, HTTPS hizmetini tanımlar.
6.7 TTL nedir?
IPv4 başlığındaki TTL (Time To Live) alanı, bir paketin ağda sonsuza kadar dolaşmasını önlemek için her router geçişinde azaltılan bir sınırdır. Değer sıfıra ulaştığında paket atılır.
Bu kavramı traceroute/tracert komutunu yorumlarken yeniden kullanacağız.
Dokuzuncu bölümde DNS kayıtlarının ne kadar süre önbellekte tutulacağını belirleyen “DNS TTL” ifadesiyle karşılaşabilirsiniz. İsim aynı olsa da burada anlattığımız IP TTL, paketin router geçiş sayısını sınırlar.
6.8 Bir web isteğinin beş adımlı yolculuğu
Bir kullanıcı https://example.com yazdığında temel akışı şu beş adımda düşünebiliriz:
- İsim çözme: DNS, alan adının hangi IP adres(ler)ine karşılık geldiğini bulmaya yardım eder.
- Taşıma bağlantısı: İstemci uygun taşıma protokolü ve hedef portla iletişim başlatır; klasik HTTPS için TCP 443 yaygındır.
- Uygulama isteği: Tarayıcı HTTP isteğini gönderir.
- Ağlar arası iletim: IP paketleri yerel ağdan gateway’e, ISP ağına ve hedefe doğru ilerler.
- Yanıt: Sunucu yanıtı üretir; veri katmanlar boyunca istemciye geri gelir ve tarayıcı tarafından işlenir.
Gerçek web iletişiminde TLS, ek kaynak istekleri, önbellek, CDN ve çok sayıda başka ayrıntı olabilir. Bu hafta çekirdek akışa odaklanıyoruz.
6.9 TCP neden güvenilir kabul edilir?
TCP veri akışını sıralamak, kayıp durumunda yeniden iletim yapmak ve alıcının kabul edebileceği veri miktarını dikkate almak için mekanizmalar kullanır. Ayrıntılı sequence number, acknowledgment ve congestion control hesabı bu dersin kapsamı dışındadır.
Bu düzeyde şu fikir yeterlidir:
TCP, uygulamaya güvenilir sıralı bir byte akışı sunmak için ağdaki kayıp ve sıralama sorunlarını yönetmeye çalışır.
6.10 Kendiniz okuyun: HTTP/3 ve QUIC
Güncel web trafiğinde HTTP/3, TCP yerine UDP üzerinde çalışan QUIC taşımasını kullanabilir. Bu, “web her zaman TCP 443 kullanır” cümlesinin güncel internet için mutlak olmadığını gösterir. Ancak bu derste HTTP/3/QUIC mekanizması sınav dışıdır. Temel port ve taşıma mantığını klasik TCP/UDP örnekleriyle öğrenmek yeterlidir.
6.11 Kendinizi kontrol edin
- IP adresi ile port numarası hangi iki farklı soruya cevap verir?
- TCP ile UDP arasındaki temel fark nedir?
- Port numarası hangi aralıktadır? Well-known portlar hangi aralıktadır?
- HTTPS ve DNS için bilmeniz gereken temel portlar nelerdir?
- IP TTL neden vardır?
- IP adresi hangi cihaz/ağ ucuna, port ise hangi uygulama/hizmet ucuna gidildiğini ayırt eder.
- TCP bağlantı ve güvenilir sıralı teslim için ek mekanizmalar sunar; UDP daha basit bağlantısız datagram hizmetidir.
0–65535; well-known portlar0–1023.- HTTPS: TCP 443. DNS: UDP/TCP 53.
- Paketin yönlendirme döngüsü içinde ağda sonsuza kadar dolaşmasını önlemek için her router geçişinde azaltılan bir sınır sağlar.
6.12 Bölüm özeti
- TCP/IP modeli uygulama, taşıma, internet ve ağ erişimi katmanlarıyla düşünülebilir.
- TCP ve UDP farklı taşıma hizmetleri sunar.
- Portlar uygulama/hizmet uçlarını ayırt eder; aralık 0–65535’tir.
- 0–1023 well-known port aralığıdır.
- Bu derste HTTP 80, HTTPS 443, DNS 53, DHCP 67/68 ve SSH 22 bilinmelidir.
- IP TTL, paketlerin yönlendirme döngülerinde sonsuza kadar dolaşmasını önlemeye yardımcı olur.
- Web isteği temel olarak isim çözme → taşıma → uygulama isteği → IP iletimi → yanıt akışıyla okunabilir.
