irdaweb Bilgi Teknolojileri
Telefon numaramız +90 541 209 02 05
E-posta adresimiz [email protected]
Konu 17 · Ağ Temelleri & Protokoller

Ağ temelleri ve protokoller — TCP/IP, HTTP ve gecikme.

Tarayıcıya bir adres yazdığınızda perde arkasında birbirine geçmiş bir protokol yığını çalışır: paketler IP ile yola çıkar, TCP onları sırayla ve kayıpsız taşır, TLS şifreler, HTTP de anlamı kurar. Bu katmanların her biri belirli bir işi üstlenir ve diğerine güvenir. Bu sayfada TCP/IP katman modelinden IP adreslemeye, TCP ve UDP'den bir isteğin uçtan uca yolculuğuna, HTTP'nin evriminden gecikme ve bant genişliğine kadar temel kavramları birlikte ve adım adım yan yana koyduk.

01 — Katman modeli

TCP/IP katman modeli nasıl çalışır?

Ağ iletişimi katmanlara ayrılır; her katman yalnızca kendi işini yapar ve altındakine güvenir. Uygulama katmanı (HTTP) ne göndereceğini bilir ama paketlerin nasıl taşınacağıyla ilgilenmez; taşıma katmanı (TCP/UDP) güvenilirliği üstlenir; internet katmanı (IP) adresleme ve yönlendirmeyi; bağlantı katmanı ise fiziksel iletimi yapar. Bu ayrım sayesinde bir katmanı değiştirmek diğerlerini bozmaz — Wi-Fi'den fiber'e geçmek HTTP'yi etkilemez.

Encapsulation yukarıdan aşağıya
Application  HTTP isteği            # GET /
Transport    + TCP başlığı          # port, sıra no
Internet     + IP başlığı           # kaynak/hedef IP
Link         + çerçeve (Ethernet)   # MAC adresi

# her katman bir önceki paketi sarar;
# karşı tarafta ters sırayla açılır
L7Application — anlam katmanı

HTTP, DNS, SMTP gibi protokoller burada yaşar. Uygulamanın gerçekten konuştuğu dildir; veriyi anlamlı isteklere ve yanıtlara dönüştürür.

L4Transport — uçtan uca taşıma

TCP güvenilir ve sıralı bir akış sunar; UDP ise hızlı ama garantisizdir. Port numaraları, hangi uygulamaya ait olduğunu burada belirler.

L3Internet — adresleme & yönlendirme

IP, her paketi kaynaktan hedefe taşır. Yol boyunca router'lar paketi en uygun bir sonraki adıma yönlendirir; teslim garantisi vermez.

02 — IP & adresleme

IPv4, IPv6, CIDR ve NAT

Her cihazın ağ üzerinde bir IP adresi vardır. IPv4 adresleri tükendiği için ağlar büyük ölçüde NAT ile özel adresleri tek bir genel adres arkasında paylaşır; IPv6 ise neredeyse sınırsız adres alanıyla bu kısıtı baştan ortadan kaldırır. CIDR gösterimi ise adreslerin hangi ağa ait olduğunu kısa ve net biçimde tanımlar.

Adres alanı IPv4 vs IPv6
# IPv4 — 32 bit, ~4.3 milyar adres
203.0.113.42

# IPv6 — 128 bit, pratikte sınırsız
2001:db8::8a2e:370:7334

# CIDR — /24 ağ = 256 adres
192.168.1.0/24

NAT — adres paylaşımı

Network Address Translation, bir ağdaki özel adresleri (10.x, 192.168.x) dışarıya çıkarken tek bir genel adrese çevirir. IPv4'ü uzattı ama uçtan uca bağlanmayı zorlaştırdı.

Genel vs özel adres

Özel aralıklar (RFC 1918) yalnızca yerel ağda anlamlıdır ve internette yönlendirilmez. Genel adresler benzersizdir ve dünyanın her yerinden erişilebilir.

Port — aynı adreste çok servis

IP cihazı, port ise o cihazdaki servisi belirtir: 443 HTTPS, 80 HTTP, 53 DNS. IP + port = soket.

03 — TCP & UDP

TCP, UDP ve three-way handshake

Taşıma katmanında iki temel protokol vardır. TCP bağlantı kurar, paketleri sıralar, kaybolanları yeniden gönderir ve akışı tıkanıklığa göre ayarlar — güvenilirlik ister ama bedeli gecikmedir. UDP ise bağlantı kurmaz, garanti vermez; küçük ek yükü ve düşük gecikmesiyle DNS, video ve oyun gibi senaryolarda tercih edilir. HTTP/3'ün UDP üzerine kurulması bu dengeyi yeniden çizdi.

TCP three-way handshake
istemci ──SYN──────────────▶ sunucu
istemci ◀────SYN-ACK───────── sunucu
istemci ──ACK──────────────▶ sunucu

# 3 mesaj = 1.5 RTT; bağlantı hazır.
# veri ancak bundan sonra akar.
UDP bağlantısız
istemci ──datagram─────────▶ sunucu

# el sıkışma yok, ACK yok, sıra yok.
# kaybolursa kaybolur — hızlı ama
# güvenilirliği uygulama üstlenir.
Sıralama

Sıra numarası & ACK

TCP her bayta sıra numarası verir; alıcı ACK ile onaylar. Onaylanmayan veri yeniden gönderilir, böylece sıra ve bütünlük korunur.

Akış kontrolü

Window & congestion control

TCP, alıcının ve ağın kaldırabileceği hıza göre gönderim penceresini ayarlar. Paket kaybını tıkanıklık işareti sayıp yavaşlar.

Seçim

Hangisi ne zaman?

Bütünlük şartsa TCP (web, dosya, e-posta); düşük gecikme önceliğindeyse UDP (DNS, canlı video, oyun, VoIP) doğru tercihtir.

04 — İsteğin yolculuğu

Bir web isteğinin uçtan uca yolculuğu

Adres çubuğuna bir alan adı yazdığınızda dört protokol sırayla devreye girer: DNS adı IP'ye çevirir, TCP bağlantıyı kurar, TLS şifreli kanalı açar, HTTP de asıl isteği taşır. Katmanların nasıl birbirine geçtiğini görmenin en iyi yolu, tek bir isteğin baştan sona izini sürmektir.

https://ornek.com istek izi
1. DNS   ornek.com → 203.0.113.42   # ad çözümleme
2. TCP   SYN / SYN-ACK / ACK            # bağlantı (~1 RTT)
3. TLS   handshake + sertifika          # şifreli kanal
4. HTTP  GET / HTTP/2                   # asıl istek
        ◀── 200 OK + HTML              # yanıt döner
1 · DNS
Alan adı, recursive ve authoritative sunucular üzerinden IP adresine çevrilir. Sonuç önbelleklenir, böylece sonraki isteklerde bu adım atlanır.
2 · TCP
three-way handshake ile sunucuyla bir bağlantı kurulur. Bu, veri akmadan önce en az bir tur (RTT) maliyet demektir.
3 · TLS
Sunucunun sertifikası doğrulanır ve şifreleme anahtarları üzerinde anlaşılır. Detaylar için TLS, SSL & Sertifika başlığına bakabilirsiniz.
4 · HTTP
Şifreli kanal hazır olunca asıl HTTP isteği gönderilir ve sunucu yanıtı döner. Görünürdeki tek katman budur; altındaki üçü görünmez çalışır.
05 — HTTP'nin evrimi

HTTP/1.1, HTTP/2 ve HTTP/3 (QUIC)

HTTP'nin anlamı sürümler arasında aynı kaldı — metotlar, başlıklar ve durum kodları değişmedi. Değişen, baytların telde nasıl taşındığıdır. HTTP/1.1 her bağlantıda tek isteği sıraya koyar; HTTP/2 tek bağlantıda çoklamayla (multiplexing) bunu aşar; HTTP/3 ise tıkanmayı kökten çözmek için TCP'yi bırakıp UDP üzerindeki QUIC'e geçer.

Sürüm Taşıma
HTTP/1.1 TCP
HTTP/2 TCP
HTTP/3 QUIC (UDP)
Multiplexing

Tek bağlantı, çok istek

HTTP/2, tek bağlantı üzerinde birden çok isteği paralel taşır. Bu, HTTP/1.1'in sayfa başına birçok bağlantı açma maliyetini ortadan kaldırır.

Head-of-line

Sıra başı tıkanması

HTTP/2 çoklasa da, altındaki TCP tek paketi kaybedince tüm akışı bekletir. QUIC, stream'leri bağımsız taşıyarak bunu çözer.

QUIC

Bağlantı + şifre tek turda

QUIC, TCP ile TLS handshake'ini tek bir adımda birleştirir ve bağlantı kurulumunu hızlandırır; ağ değişiminde bağlantıyı koparmadan taşır.

Yeni sürüm her zaman daha hızlı demek değildir. HTTP/2 ve HTTP/3'ün kazanımı çoğunlukla yüksek gecikmeli, çok kaynaklı sayfalarda belirginleşir. Tek bir küçük yanıtta fark ölçülemeyecek kadar küçük olabilir; kazanç, isteğin koşullarına bağlıdır.
06 — Gecikme & bant genişliği

Latency, bandwidth, RTT ve MTU

Ağ performansını iki büyüklük belirler ve sık sık karıştırılır: gecikme (latency), bir paketin yola çıkıp hedefe varma süresidir; bant genişliği (bandwidth) ise birim zamanda taşınabilen veri miktarıdır. Daha geniş bant, gecikmeyi azaltmaz — bir kamyonu daha geniş yapmak yolu kısaltmaz. Web hızının çoğu sorunu aslında bant genişliği değil, gecikme ve tur sayısı (RTT) sorunudur.

Latency

Gecikme

Tek bir paketin gidiş süresi (ms). Mesafe ve aradaki atlama sayısıyla artar; ışık hızı bile bir alt sınır koyar.

Bandwidth

Bant genişliği

Birim zamanda taşınan veri (Mbps). Büyük dosyalarda belirleyicidir; küçük isteklerde çoğunlukla atıl kalır.

RTT

Tur süresi

Gidiş-dönüş süresi. handshake'ler RTT cinsinden ödenir; her ek tur, gecikmeyi doğrudan büyütür.

MTU

Paket boyutu

Tek bir paketin taşıyabileceği azami bayt. Aşılırsa paket bölünür (fragmentation), bu da verimi düşürür.

Gecikmeyi azaltmanın yolu, mesafeyi ve tur sayısını azaltmaktır. İçeriği kullanıcıya yaklaştırmak (CDN), bağlantıyı yeniden kullanmak ve handshake sayısını düşürmek, daha fazla bant genişliği almaktan çoğu zaman daha etkilidir.
07 — Güvenlik & dayanıklılık

Firewall, congestion control ve ad çözümleme güvenliği

Ağ sadece veriyi taşımakla kalmaz; onu kötüye kullanıma ve kayba karşı da korur. Firewall'lar hangi trafiğin geçeceğini sınırlar, congestion control ağ tıkandığında çöküşü önler, yeniden iletim kayıpları toparlar. Ad çözümleme katmanında da DNS sorgularını şifrelemek ve doğrulamak, modern ağların temel hijyenidir.

Firewall

Trafiği sınırlayın

Yalnızca gerekli portları açın; geri kalanını kapalı tutun. Açık olmayan bir port, saldırı yüzeyi de değildir.

Congestion

Tıkanıklık denetimi

TCP, paket kaybını bir uyarı sayıp gönderim hızını düşürür. Bu, tek bir akışın ağı boğmasını ve topyekûn çöküşü önler.

Retransmit

Yeniden iletim

Onaylanmayan paket bir süre sonra yeniden gönderilir. Güvenilirlik buradan gelir; ama yüksek kayıpta gecikmeyi de büyütür.

DoH / DoT

Şifreli DNS

DNS sorguları varsayılan olarak açık taşınır. DNS over HTTPS/TLS ile şifrelenir; böylece sorgular dinlenemez ve değiştirilemez.

DDoS

Hacim saldırıları

Layer 3/4 saldırıları ağı paket seliyle boğar. Anycast dağıtımı ve upstream filtreleme, trafiği kaynağa varmadan eler.

Keep-alive

Bağlantıyı yeniden kullanın

Her istekte yeni bağlantı kurmak handshake maliyetini tekrar tekrar ödetir. Kalıcı bağlantı, bu turları bir kez öder.

08 — Sık karıştırılanlar

Sık karıştırılan ağ kavramları

TCP vs. UDP

TCP bağlantı kurar, sıralar ve kaybolanı yeniden gönderir — güvenilir ama yavaş. UDP bağlantı kurmaz, garanti vermez — hızlı ama kayıpları uygulamanın toparlaması gerekir. Web TCP, canlı video ve DNS çoğunlukla UDP kullanır.

Latency vs. Bandwidth

Latency bir paketin varma süresidir (ms); bandwidth ise birim zamanda taşınan veridir (Mbps). Geniş bant büyük dosyalarda, düşük gecikme ise etkileşimli kullanımda belirleyicidir. Daha fazla bant, gecikmeyi azaltmaz.

IPv4 vs. IPv6

IPv4 32 bitlik adres alanıyla tükendi ve NAT'a mecbur kaldı. IPv6 128 bit ile pratikte sınırsız adres sunar ve uçtan uca bağlanmayı geri getirir; ikisi bir süre yan yana yaşamaya devam eder.

HTTP vs. HTTPS

HTTP düz metin taşır; aradaki herkes okuyabilir. HTTPS ise aynı HTTP'yi TLS şifreli kanal üzerinden taşır. Anlam aynıdır; fark, taşımanın şifreli olup olmamasındadır.

IP vs. Port

IP ağdaki cihazı; port ise o cihazdaki belirli servisi adresler. Bir sunucu tek IP üzerinde 443'te HTTPS, 22'de SSH sunabilir. İkisinin birleşimi (IP + port) bir soketi tanımlar.

Birinci el kaynaklar

İnternet protokollerini tanımlayan IETF RFC'leri ve MDN, Cloudflare gibi tarafsız teknik referanslar.

Sıradaki adım

Altyapınızı birlikte sağlamlaştıralım.

Yavaş bir bağlantıyı çözmekten dağıtık bir mimariyi tasarlamaya kadar; ağ katmanını doğru kurmak, üstündeki her şeyi daha hızlı ve dayanıklı kılar. Nereden başlayacağınıza birlikte bakalım.