
OrtaBaşlangıçDevOps
TCP ve UDP protokolleri arasındaki temel fark nedir?
Kısa cevap
TCP, teslimatı, siparişi garanti eden bağlantı odaklı, güvenilir bir protokoldür.
ve genel gider pahasına hata kontrolü. UDP basit, bağlantısız bir protokoldür
teslimat veya sipariş garantisi yoktur, ancak daha hızlı ve daha hafiftir.
TCP ve UDP, IP üzerinde çalışan iki ana aktarım katmanı protokolüdür. Temel ayrım: TCP bağlantı odaklı ve güvenilirdir, oysa UDP bağlantısızdır ve "ateşle ve unut" esasına göre çalışır.
TCP (RFC 9293)
- Bağlantı odaklı. Verileri göndermeden önce uç noktalar üç yönlü bir el sıkışma (3WHS) gerçekleştirir: SYN → SYN-ACK → ACK, başlangıç sıra numaralarını senkronize eder.
- Güvenilir ve düzenli. Her bayta bir sıra numarası verilir; alıcı onayları (ACK'ler) gönderir, kayıp bölümler yeniden iletilir ve veriler orijinal sıraya göre yeniden birleştirilir. Bütünlük bir sağlama toplamı ile doğrulanır. RFC 9293, TCP'nin "güvenilir, sıralı, bayt akışı hizmeti sağladığını" belirtir.
- Bayt akışı, mesaj sınırları yoktur. TCP, yapılandırılmamış bir bayt akışı sağlar: mesaj sınırları korunmaz (uygulamanın kendi mesajlarını çerçevelemesi gerekir). UDP, aksine, mesaj odaklıdır; her veri birimi ayrı, tam bir birim olarak iletilir veya hiç teslim edilmez (bir sendto = bir recvfrom).
- Akış ve tıkanıklık kontrolü. TCP, gönderme hızını kısarak ne alıcıyı ne de ağı bunaltmaz.
- Ödül: daha fazla yük ve gecikme ve daha büyük başlık — 20-60 bayt (seçeneksiz 20 bayt, MSS, pencere ölçeklendirme, SACK gibi seçeneklerle genişletilebilir).
UDP (RFC 768)
- Bağlantı yok. El sıkışma yok; her datagram bağımsızdır.
- Garanti yok. RFC açıkça "teslimat ve yineleme korumasının garanti edilmediğini" söylüyor — UDP kayıp, yinelenen veya sıra dışı paketleri kurtarmaz.
- Sadece dört alan içeren sabit 8 baytlık başlık: Kaynak Bağlantı Noktası, Hedef Bağlantı Noktası, Uzunluk, Sağlama Toplamı.
- Avantajları: düşük gecikme süresi ve ek yük, ayrıca yayın/çoklu yayın desteği.
Hangisi ne zaman kullanılmalı
- TCP: web (TCP üzerinden HTTP/HTTPS), e-posta, dosya aktarımı, SSH — veri bütünlüğünün önemli olduğu her yerde.
- UDP: DNS aramaları, çevrimiçi oyunlar, VoIP, canlı video akışı — hızın tek bir kayıp paketten daha önemli olduğu yerler.
Ortak takip noktaları
- UDP'nin kendisi verileri sıralamaz, ancak bir uygulama kendi mantığını en üste katmanlayabilir (QUIC bunu UDP üzerinden yapar).
- HTTP/3, UDP üzerinden QUIC üzerinde çalışırken, HTTP/1.1 ve HTTP/2, TCP üzerinden çalışır.
- UDP sağlama toplamı teknik olarak IPv4'te isteğe bağlıdır (sıfır değeri "hesaplanmamış" anlamına gelir), ancak IPv6'da zorunludur.
