FibaCloud
İçeriğe geç
Soru sor

Press ESC to close

UDP ve TCP Nedir?

Güncellendi:

TCP ve UDP, IP ağlarında uygulamaların veri taşıması için kullanılan iki temel aktarım protokolüdür. TCP sıralı bir bayt akışı ve yeniden iletim gibi mekanizmalar sunar. UDP ise datagramları daha sınırlı bir taşıma hizmetiyle iletir. Doğru seçim, uygulamanın kayıp, gecikme, sıralama ve bağlantı yönetimi gereksinimine bağlıdır.

TCP yolunda kayıp veri yeniden iletim ve sıralama mekanizmalarıyla ele alınır; uygulama bir bayt akışı okur. UDP yolunda datagram kaybı ve sırası için taşıma katmanı aynı mekanizmaları sunmaz; gerekli davranışı uygulama veya üst protokol sağlar. Her iki yol da hata ve kesinti yaşayabilir.
TCP akış sağlar; UDP datagram sağlar. Uygulamanın başarı ölçütü ikisinin de üzerindedir.
Görseli büyüt →

TCP ne sağlar?

TCP, bağlantının iki ucu arasında sıralı bir bayt akışı sunar. Sıra numaraları, alındı bilgisi ve yeniden iletim gibi mekanizmalarla kayıp veriyi ele alır. Akış ve tıkanıklık kontrolü, alıcının ve ağın koşullarına göre gönderimi düzenlemeye yardımcı olur. Bu özellikler uygulamanın bazı taşıma ayrıntılarını kendisinin yazma ihtiyacını azaltır.

Bununla birlikte TCP “veri mutlaka karşı tarafa ulaşır” şeklinde sınırsız bir garanti vermez. Bağlantı zaman aşımına uğrayabilir veya kopabilir. Uygulama, işlemin tamamlanıp tamamlanmadığını kendi protokolü ve hata yönetimiyle değerlendirmelidir. Bir sipariş isteğinin ağa yazılması, siparişin iş sisteminde kabul edildiğini tek başına göstermez.

TCP mesaj sınırlarını korumaz

Gönderenin iki ayrı yazma işlemi, alıcıda aynı iki okuma işlemi olarak görünmek zorunda değildir. TCP bir bayt akışıdır; uygulama mesaj uzunluğu, ayraç veya başka bir çerçeveleme yöntemi kullanır. Ağ parçalarını doğrudan uygulama mesajı sanmak eksik okuma veya birden fazla mesajı karıştırma hatasına yol açabilir.

Bir bağlantıda veri kaybının giderilmesini beklemek gecikmeyi artırabilir. Bu etki uygulamanın aynı akışta hangi işleri taşıdığına bağlıdır. Yalnız ortalama yanıt süresine değil, yoğunluk ve kayıp dönemlerindeki gecikme dağılımına da bakın.

UDP neyi uygulamaya bırakır?

UDP datagram sınırlarını korur; ancak kendi başına teslim sırası, yeniden iletim veya bağlantı kurulumu için TCP’deki mekanizmaları sunmaz. Datagram kaybolabilir, yinelenebilir veya farklı sırada ulaşabilir. Uygulama bunların hangisini tolere edeceğine ve hangisini üst katmanda yöneteceğine karar vermelidir.

Bu, UDP kullanan bütün uygulamaların güvensiz veya güvenilmez olduğu anlamına gelmez. QUIC gibi üst protokoller UDP üzerinde kendi güvenlik, akış ve kurtarma mekanizmalarını kurabilir. Öte yandan gerekli tıkanıklık ve tekrar davranışını tasarlamadan UDP kullanmak yalnız başlık maliyetini azaltmakla çözülecek bir konu değildir.

Hangi durumda hangisi seçilir?

Dosya aktarımı veya sıralı uygulama akışı için TCP’nin sunduğu model uygun olabilir. Gerçek zamanlı medya veya oyun trafiğinde geç gelen bir güncelleme değerini yitirebilir; uygulama kayıp toleransı ve gecikme arasında farklı kararlar verebilir. DNS ve QUIC gibi örnekler, protokol seçiminin yalnız “hızlı olanı kullan” sorusu olmadığını gösterir.

TCP de UDP de tek başına uygulama verisini şifrelemez. Gizlilik, kimlik doğrulama ve bütünlük için uygun üst protokol gerekir. TLS, DTLS veya QUIC gibi mekanizmaların seçim ve kullanım koşulları uygulamaya göre değerlendirilir. Güvenlik duvarında aynı port numarasının TCP ve UDP için ayrı akışları temsil ettiğini unutmayın.

Test planında neleri ölçmeli?

  1. Normal ve yoğun kullanımda gecikme, hata ve tamamlanan işlem sayısını kaydedin.
  2. Paket kaybı, bağlantı kesintisi ve yeniden deneme davranışını kontrollü ortamda inceleyin.
  3. Mesaj boyutunu, MTU etkisini ve iki yönlü erişimi değerlendirin.
  4. Tekrarlanan iş isteğinin çift kayıt üretmemesi için uygulama seviyesinde koruma tasarlayın.
  5. Protokol değiştirmeden önce darboğazın uygulama, ağ veya dış servis kaynaklı olup olmadığını doğrulayın.

Sık sorulan sorular

UDP her zaman TCP’den hızlı mı?

Hayır. Sonuç uygulama, ağ koşulları ve üst protokolün yaptığı işe bağlıdır. Daha az taşıma mekanizması, her işte daha kısa tamamlanma süresi anlamına gelmez.

TCP bağlantısının başarılı olması işlemin başarıyla bittiğini gösterir mi?

Hayır. Uygulama yanıtı ve iş sonucu ayrıca kontrol edilmelidir. Tekrar deneme sırasında aynı işlemin iki kez uygulanmasını önleyen bir tasarım gerekebilir.

Sonraki adım

Güvenlik duvarı rehberi ile port ve protokol kurallarını, VPN rehberi ile trafik yolunu birlikte değerlendirin. Ölçümü uygulamanın gerçek başarı ölçütüne bağlayın.

Kaynaklar

  1. RFC 9293 — Transmission Control Protocol
  2. RFC 768 — User Datagram Protocol
  3. RFC 9000 — QUIC: A UDP-Based Multiplexed and Secure Transport

Burak Demir

Bulut bilişim alanında öncü yazar Burak Demir ile tanışın. Uzmanlığı dijital altyapının standartlarını yükseltiyor. Deneyimli bir bulut mühendisi olan Burak, karmaşık veri mimarilerinin gizemini ustalıkla ortaya çıkarıyor ve teknolojik ortamı yeniden tanımlayan kusursuz hizmet çerçevelerine öncülük ediyor.