~/sibercrew
Temel Network

TCP ve UDP Farkı, Portlar Ne İşe Yarar?

İki temel iletişim yöntemi arasındaki fark ve bir bilgisayarda binlerce "kapının" (port) ne işe yaradığı.

Bir önceki makalede OSI modelinin "Taşıma Katmanı"ndan (Transport Layer) bahsetmiştik — TCP ve UDP tam olarak bu katmanda çalışan iki temel protokoldür. Bu makalede aralarındaki farkı ve "port" kavramını netleştireceğiz.

TCP: Güvenilir Ama Biraz Daha Yavaş

TCP (Transmission Control Protocol), veri gönderirken teslimatı garanti eden bir protokoldür. Bunu, imzalı bir kargo gönderisine benzetebiliriz: gönderdiğin paketin karşı tarafa ulaştığından emin olmak istiyorsan, alıcının "aldım" diye imza atmasını beklersin. TCP de benzer şekilde çalışır:

  1. Gönderen, veriyi küçük parçalara (paketlere) böler ve numaralandırır.
  2. Alıcı, her paketi aldığında "aldım" onayı (ACK) gönderir.
  3. Bir paket kaybolursa veya bozulursa, gönderen bunu tekrar gönderir.
  4. Paketler, gönderildikleri SIRAYLA yeniden birleştirilir.

Bu güvenilirlik bir bedel getirir: ekstra kontrol mesajları (onaylar) göndermek, TCP'yi UDP'ye göre biraz daha yavaş yapar. Web sitesi yüklemek (HTTP/HTTPS), dosya indirmek, e-posta göndermek gibi "veri kaybının kabul edilemez olduğu" durumlarda TCP kullanılır.

UDP: Hızlı Ama Garantisiz

UDP (User Datagram Protocol), teslimatı garanti ETMEZ — veriyi gönderir ve karşı tarafın alıp almadığını kontrol etmez. Bunu, normal bir posta kutusuna mektup atmaya benzetebiliriz: mektubu atarsın ama karşı tarafın gerçekten aldığından emin olamazsın, çünkü bir "aldım" onayı bekleme mekanizması yok.

Bu, kulağa kötü gibi gelse de, bazı durumlarda tam olarak istenen şey budur:

  • Canlı video/ses görüşmesi: Bir saniyelik gecikmeyle gelen, "eksik" bir video karesi, hiç gelmemesinden daha kötüdür — UDP'nin hızı burada değerlidir; bir kare kaybolursa bile akış devam eder.
  • Online oyunlar: Hızlı tepki gerektiren oyunlarda, milisaniyeler önemlidir; birkaç veri paketinin kaybolması, oyunun tamamen durmasından daha az sorun yaratır.
  • DNS sorguları: Kısa, hızlı sorular için (bir alan adının IP'sini sormak gibi) TCP'nin ekstra yükü gereksizdir.

Port Nedir? Bir Binadaki Daire Numaraları Gibi

Bir bilgisayarın IP adresi, o bilgisayarın "bina adresi" gibiyse, port o binadaki belirli bir "daire numarası" gibidir. Bir bilgisayarda aynı anda birçok program internetle iletişim kurabilir (tarayıcı, e-posta programı, oyun) — port numaraları, gelen verinin HANGİ programa ait olduğunu ayırt etmeyi sağlar.

Port numaraları 0'dan 65535'e kadar gidebilir. Bazı "iyi bilinen" (well-known) portlar, belirli hizmetlerle özdeşleşmiştir:

PortHizmet
80HTTP (şifrelenmemiş web trafiği)
443HTTPS (şifrelenmiş web trafiği)
22SSH (güvenli uzak bağlantı)
21FTP (dosya transferi)
25SMTP (e-posta gönderimi)
53DNS (alan adı çözümleme)

Pratik Bir Örnek

Tarayıcında bir web sitesine gittiğinde, bilgisayarın o sitenin sunucusuna "IP_adresi:443" şeklinde bir istek gönderir — IP adresi HANGİ BİNAYA (hangi sunucuya) gideceğini, port 443 ise o binadaki HANGİ DAİREYE (hangi hizmete, bu durumda HTTPS web sunucusuna) gideceğini belirtir. Aynı sunucu aynı anda hem bir web sitesi (port 443) hem de bir e-posta sunucusu (port 25) çalıştırıyor olabilir — port numarası olmadan, gelen veri hangi hizmete ait olduğu karışırdı.

Bu makale, TCP/UDP ve port kavramlarına giriş niteliğinde, başlangıç seviyeli bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.