TCP,UDP Protokolleri – Özellikleri ve Karşılaştırma

İnternetin karmaşık dünyasında, veri iletimi ve iletişim protokolleri hayati bir rol oynar. Bu protokoller arasında en yaygın olarak kullanılanlar ise Transmission Control Protocol (TCP) ve User Datagram Protocol (UDP)’dir. Her iki protokol de veri iletimi için kullanılsa da, farklı özelliklere ve kullanım alanlarına sahiptirler.

Bu yazıda, TCP ve UDP protokollerinin nasıl çalıştığını, avantajlarını ve dezavantajlarını inceleyeceğiz. Ayrıca, hangi durumlarda hangi protokolün tercih edilmesi gerektiğine dair ipuçları sunacağız.

TCP (Transmission Control Protocol) Nedir? ve TCP’nin Özellikleri Nelerdir ?

TCP,Bağlantı odaklı bir protokol olup, veri iletiminde güvenilirlik ve sıranın korunmasını sağlar.

TCP, OSI modelinin Transport (Taşıma) katmanında çalışır.

Özellikleri

Bağlantı Odaklı:Veri iletimine başlamadan önce, iki taraf arasında bir bağlantı kurulur. Bu bağlantı, üçlü el sıkışma

(three-way handshake) adı verilen bir işlemle gerçekleştirilir.

Güvenilirlik:Gönderilen her veri parçası için alıcıdan bir onay (acknowledgment) alınır.Veriler doğru sırada teslim

edilir; kaybolan paketler yeniden iletilir.

Akış Kontrolü:Gönderen ve alıcı arasındaki veri akışı, alıcının kapasitesine uygun şekilde düzenlenir.

Hata Kontrolü:Veriler, iletim sırasında bozulmalara karşı kontrol edilir. Hatalı veriler yeniden iletilir.

Segmentasyon:Büyük veri blokları, daha küçük segmentlere bölünür ve bu segmentler üzerinden iletilir. Alıcı, bu segmentleri tekrar birleştirir.

TCP’nin Çalışma Prensibi

1_lz1iz06b2yeltwl8lwqmpw-AzG33Par6xhXr37B TCP,UDP Protokolleri - Özellikleri ve Karşılaştırma

Bağlantı Kurulumu (Three-Way Handshake):

TCP, iletişim başlamadan önce üç adımlı bir işlemle bağlantı kurar:

SYN: Gönderen, bağlantı kurma isteği gönderir.

SYN-ACK: Alıcı, isteği kabul ettiğini bildirir.

ACK: Gönderen, alıcının kabul ettiğini onaylar.

Bağlantı bu aşamada tamamlanır.

Veri İletimi:Veriler, segmentlere bölünerek gönderilir. Her segment, bir sıra numarası (sequence number) içerir.Alıcı,alınan segmentleri onaylar veya eksik olanları yeniden istemek için bildirimde bulunur.

Bağlantı Sonlandırma (Four-Way Handshake):Taraflardan biri iletişimi sonlandırmak istediğinde:

FIN: İletişimi sonlandırma isteği gönderilir.

ACK: Karşı taraf bu isteği kabul eder.

Bağlantı, iki tarafın da işlemi onaylamasıyla kapatılır.

TCP Başlık (Header) Yapısı

0_3pxns03bzaa7yq-d-AoPqqw7Lpzc7ZW71 TCP,UDP Protokolleri - Özellikleri ve Karşılaştırma

TCP başlığı, protokolün çalışması için gerekli bilgileri içerir ve genellikle 20–60 bayt uzunluğundadır.Başlıca alanlar:

Source Port(Kaynak Port):Verinin gönderildiği port numarasını belirtir.

Destination Port(Hedef Port):Verinin gönderileceği port numarasını belirtir.

Sequence Number(Sıra Numarası):Gönderilen verinin sıra numarasını içerir.

Acknowledgment Number(Onay Numarası):Alınan veriyi onaylamak için kullanılır.

Header Lenght(Başlık Uzunluğu):TCP başlığının uzunluğunu belirtir. Bu, veri kısmının nerede başladığını gösterir.

Reserved(Rezerv Alan):Gelecekteki kullanımlar için ayrılmıştır ve genellikle sıfır olarak ayarlanır.

Urgent Pointer(Acil İşaretçi):Acil veri işaretçisini belirtir.Bu, acil verinin nerede bittiğini gösterir.

Flags(Bayraklar): SYN, ACK, FIN, RST, PSH, URG gibi bayraklar, bağlantı durumunu belirtir.

Options: Ek bilgi ve hizalama için kullanılan alanlardır

Window Size(Pencere Boyutu ): Alıcının kabul edebileceği maksimum veri miktarını belirtir

Checksum: Verinin hatasız iletilip iletilmediğini kontrol eder.

TCP Flags(Bayraklar)

1_s6ucr4o3qdfeyhjv2s1isq-YD0BBG9VVpHnkwX4 TCP,UDP Protokolleri - Özellikleri ve Karşılaştırma

TCP bağlantısında, bayraklar belirli bir bağlantı durumunu belirtmek veya sorun giderme amaçları gibi bazı ek yararlı bilgiler sağlamak veya belirli bir bağlantının kontrolünü ele almak için kullanılır. En yaygın kullanılan bayraklar “SYN”, “ACK” ve “FIN” dir .Her bayrak 1 bitlik bilgiye karşılık gelir.

SYN (Synchronize): Bağlantı kurulumu sırasında kullanılır. Üçlü el sıkışma (three-way handshake) sürecinde, bir cihazın diğerine bağlantı başlatma isteği gönderdiğini ifade eder.SYN=1 olduğunda, paket bir bağlantı isteği içerir.

ACK (Acknowledgment): Alınan verinin onaylandığını belirtir.ACK flag’i ve onay numarası (Acknowledgment Number) birlikte çalışır.Çoğu TCP paketinde ACK=1 olarak işaretlenir; çünkü gönderilen veri paketlerinin onaylanması temel bir TCP özelliğidir.

FIN (Finish): Bir bağlantıyı sonlandırmak için kullanılır.Dört adımlı bağlantı sonlandırma (four-way handshake) sırasında gönderilir. Gönderici artık veri göndermeyeceğini belirtir.

RST (Reset): Anormal bir durumu ifade eder ve bağlantıyı hemen sonlandırır.Örneğin, beklenmeyen bir bağlantı isteği alındığında gönderilebilir.

RST kullanımı, bağlantıyı sıfırlayarak sistemi koruma amacı taşır.

PSH (Push): Verinin mümkün olan en kısa sürede alıcıya iletilmesini sağlar.Bu flag set edildiğinde, ara bellekleme yapılmadan veri doğrudan alıcı uygulamaya iletilir.

URG (Urgent): Acil bir verinin iletildiğini belirtir.Bu flag set edildiğinde, TCP başlığındaki Urgent Pointer alanı kullanılır ve acil verinin işlenmesi sağlanır.

TCP’nin Avantajları ve Dezavantajları,Kullanım Alanları

Avantajları

Güvenilir veri iletimi sağlar.

Verilerin doğru sırada teslim edilmesini garanti eder.

Akış ve hata kontrolü yapar.

Dezavantajları

Ekstra güvenlik önlemleri ve bağlantı kurulumu nedeniyle daha yavaş çalışır.

Daha fazla sistem kaynağı (örneğin, bellek ve işlem gücü) kullanır.

TCP’yi Kullanma Alanları

TCP, güvenilir veri iletiminin önemli olduğu uygulamalarda kullanılır:

Web tarayıcıları (HTTP/HTTPS)

E-posta iletimi (SMTP, IMAP, POP3)

Dosya aktarımı (FTP)

Uzaktan bağlantı protokolleri (SSH, Telnet)

UDP (User Datagram Protocol) Nedir? ve UDP’nin Özellikleri Nelerdir ?

UDP, TCP gibi bir Transport Layer (Taşıma Katmanı) protokolüdür ancak TCP’den farklı olarak connectionless

(bağlantısız) bir yapıya sahiptir.

UDP, daha hızlı ve basit bir iletişim sağlamak için tasarlanmıştır ve güvenilirlik, sıra düzeni veya hata kontrolü gibi mekanizmaları içermez.

Özellikleri

Bağlantısız:UDP, bağlantı kurulum süreci olmadan çalışır. Veriler doğrudan gönderilir.

Bu, iletişim başlamadan önce bir bağlantı kurulmasını gerektiren TCP’ye kıyasla daha az gecikme anlamına gelir.

Onay Yok:Gönderilen verinin alınıp alınmadığı ya da doğru sırada olup olmadığı konusunda bir onay alınmaz.

Akış Kontrolü Yok:Gönderilen veri, alıcının kapasitesine bakılmaksızın iletilir.

Hata Kontrolü:Veriler, iletim sırasında bozulmalara karşı kontrol edilir.Hatalı veriler yeniden iletilir.

Hafif Yapı:UDP başlığı sadece 8 bayttır, bu nedenle TCP’ye göre daha az sistem kaynağı kullanır.

Yeniden Gönderim Yok:Kaybolan veya bozulmuş veri yeniden gönderilmez.

Datagram Tabanlı:Veriler, bağımsız datagram birimleri olarak gönderilir ve her biri alıcıya ayrı bir mesaj olarak ulaşır.

UDP’nin Çalışma Prensibi

1_0p1ybver6ui6gxl5xqg5-q-ALp77Mp8j0i0M62r TCP,UDP Protokolleri - Özellikleri ve Karşılaştırma

Bağlantı Kurulumu Yok:UDP, connectionless (bağlantısız) bir protokoldür. Bu, veri gönderilmeden önce gönderici ile alıcı arasında herhangi bir el sıkışma (handshake) veya bağlantı kurma işlemi yapılmadığı anlamına gelir.Veriler doğrudan gönderilir.

Veri Paketlerine Bölünme (Datagram Tabanlı)

Gönderilecek veri, her biri bağımsız bir datagram olacak şekilde küçük parçalara bölünür.Her datagram, şu bilgileri

içerir:

Kaynak ve Hedef Port Numaraları:Veriyi gönderen ve alıcı uygulamayı tanımlar.

Uzunluk (Length):Datagramın toplam boyutunu belirtir.

Checksum:Verinin bozulup bozulmadığını kontrol eder.

Verinin Gönderilmesi

Datagram, IP (Internet Protocol) kullanılarak hedef adrese gönderilir. IP, veriyi hedefe ulaştırmak için yönlendirme (routing) işlemini yapar.

UDP, bu süreçte sadece veriyi göndermekle ilgilenir ve veri kaybı, paket sırası veya ağ durumu hakkında endişe

duymaz.

Teslimat ve Onay Yok

UDP, bir datagramın başarıyla alınıp alınmadığını kontrol etmez. Alıcı, datagramı aldığına dair göndericiye bir ACK

(onay mesajı) göndermez.

Ayrıca, paketlerin alıcıya hangi sırayla ulaştığını garanti etmez.

Hata Kontrolü Sınırlı

UDP başlığındaki Checksum alanı, verinin bozulup bozulmadığını kontrol eder. Ancak bir hata tespit edilirse,

protokol bu hatayı düzeltmek için herhangi bir işlem yapmaz.

UDP Başlık(Header) Yapısı

0_tojfo_nx3hs1vuyy-AE0aaGx8xKI6Z6jy TCP,UDP Protokolleri - Özellikleri ve Karşılaştırma

UDP başlığı toplamda 8 bayttan (64 bit) oluşur ve dört ana alan içerir.UDP port numarası alanlarının her biri 16 bit uzunluğundadır.

Source Port:Verinin gönderildiği port numarasını belirtir.Bu alan, verinin hangi uygulamadan geldiğini belirlemek için kullanılır

Destination Port:Verinin gönderileceği port numarasını belirtir. Bu alan, verinin hangi uygulamaya iletileceğini belirlemek için kullanılır.

Length (Uzunluk):Bu alan, başlık ve veri dahil olmak üzere tüm UDP paketinin boyutunu ifade eder.

Checksum:Veri bütünlüğünü kontrol etmek için kullanılır. Bu alan, başlık ve veri kısmının hata kontrolünü sağlar

UDP’nin Avantajları ve Dezavantajları,Kullanım Alanları

Avantajları

Bağlantı kurulumuna gerek olmadığından gecikme çok düşüktür.

Hafif bir protokol olduğu için ağ ve sistem kaynaklarını daha az tüketir.

Karmaşık hata kontrol mekanizmalarına ihtiyaç duymaz.

Dezavantajları

Gönderilen verilerin kaybolması veya bozulması durumunda protokol bir düzeltme yapmaz.

Paketler, alıcıya karışık sırada ulaşabilir.

Alıcının kapasitesine bakılmaksızın veri gönderilir, bu da veri kaybına neden olabilir.

UDP’yi Kullanma Alanları

UDP, güvenilirlikten ziyade hızın önemli olduğu durumlarda tercih edilir:

Video Yayınları (Streaming): Canlı yayınlarda kullanılır.

Online Oyunlar: Hızın kritik olduğu durumlar için uygundur.

DNS (Domain Name System): Hızlı sorgu ve yanıt için kullanılır.

VoIP (Voice over IP): Düşük gecikme gerektiren ses iletişiminde kullanılır.

TCP ve UDP Karşılaştırması

1_4crmv4vxahtmpqsmfd_mgg-mv022wQgx8h5Px2v TCP,UDP Protokolleri - Özellikleri ve Karşılaştırma

Share this content:

Merhabalar,ben Barış.Ağ ve sistem alanlarında kendimi geliştirmekteyim.Öğrenme sürecimde edindiğim tecrübeleri sizlerle paylaşarak fayda sağlamayı amaçlıyorum.

Yorum gönder