Ağ Cihazı Hurdaları Elektronik Kart Hurdaları

Transmission Control Protocol

Transmission Control Protocol (TCP), yaygın olarak TCP / IP olarak bilinen İnternet Protokol Paketinin temel protokollerinden biridir. Ağlar arasındaki cihazlar arasında güvenilir iletişim sağlar, bağlantılar kurmak, sürdürmek ve sonlandırmak için mekanizmalar sağlar. TCP, İnternet’in çalışmasında, özellikle web’de gezinme, dosya aktarımları ve e-posta gibi yüksek güvenilirlik gerektiren uygulamalarda kritik bir rol oynar.

TCP nedir?


TCP, OSI modelinin aktarım katmanında çalışan bağlantı yönelimli bir protokoldür. Aktarım katmanı, bir ağdaki cihazlar arasındaki uçtan uca iletişimden sorumludur. Diğer protokollerden farklı olarak TCP, bir cihazdan diğerine gönderilen verilerin bozulmadan, doğru sırada ve kayıpsız ulaşmasını sağlar. Bu güvenilirlik, segmentasyon, onaylama, akış kontrolü ve hata düzeltme gibi mekanizmalarla sağlanır.

TCP genellikle kuzeni olan bağlantısız bir protokol olan Kullanıcı Datagram Protokolü (UDP) ile karşılaştırılır. UDP daha düşük gecikme süresi sunarken ve akış ve oyun gibi uygulamalar için uygun olsa da, TCP’NİN güvenilirlik özelliklerinden yoksundur.

Tcp’nin Temel Özellikleri

Bağlantı Odaklı İletişim: TCP, bağlantı odaklı bir protokoldür, yani herhangi bir veri değiş tokuş edilmeden önce gönderen ve alıcı arasında güvenilir bir bağlantı kurulur. Bu işleme daha sonra ayrıntılı olarak açıklayacağımız üç yönlü el sıkışma denir.

Güvenilirlik: TCP, verilerin güvenilir ve doğru sırada teslim edileceğini garanti eder. Paketler kaybolursa veya bozulursa, TCP veri bütünlüğünü sağlamak için yeniden iletimi işler.

Akış Kontrolü: Transmission Control Protocol, ağ tıkanıklığını önlemek için akış kontrolünü kullanır. Bu, gönderenin alıcıyı çok fazla veriyle çok hızlı bir şekilde boğmamasını sağlar.

Hata Algılama ve Düzeltme: Transmission Control Protocol, iletilen verilerdeki hataları algılamak için sağlama toplamlarını kullanır. Bir hata algılanırsa, paket atılır ve gönderenden paketi yeniden iletmesi istenir.

Tıkanıklık Kontrolü: TCP, ağın aşırı yüklenmesini önlemek için tıkanıklık kontrolü için algoritmalar içerir. Bu algoritmalar, iletim hızını ağ koşullarına göre ayarlar.

Sıralı Veri Aktarımı: TCP, veri paketlerinin gönderildikleri sırayla alınmasını sağlar. Bu, dosya aktarımı ve web’de gezinme gibi veri dizisinin önemli olduğu uygulamalar için çok önemlidir.

TCP Nasıl Çalışır?


TCP’NİN nasıl çalıştığını anlamak için, bağlantı kurma, veri aktarımı ve bağlantı sonlandırma aşamaları dahil olmak üzere süreçlerini parçalamak önemlidir.

Üç Yönlü El Sıkışma (Bağlantı Kurulması)
Üç yönlü el sıkışma, iki cihaz arasında bir TCP bağlantısının kurulduğu süreçtir. Hem gönderenin hem de alıcının iletişim kurmaya hazır olmasını sağlar. Adımlar aşağıdaki gibidir:

SYN (Eşitleme) İsteği: İstemci, sunucuya SYN bayrağı ayarlanmış bir TCP paketi gönderir. Bu, istemcinin bir bağlantı başlatmak istediğine işaret eder.

SYN-ACK (Synchronize-Acknowledge) Yanıtı: Sunucu, istemcinin isteğini kabul ederken sunucunun iletişim için hazır olduğunu belirten bir SYN-ACK paketi ile yanıt verir.

ACK (Onayla): Son olarak, istemci sunucuya bir ACK paketi göndererek bağlantının kurulduğunu onaylar.

Bu üç aşamalı sürecin sonunda, her iki cihaz da veri aktarmaya başlayabilecekleri güvenilir bir iletişim kanalına sahiptir.

Veri İletimi

Bir bağlantı kurulduktan sonra, TCP veri aktarımını yönetir. Gönderen, verileri segment adı verilen daha küçük birimlere ayırır. Her segment, sıra numarası, onay numarası ve pencere boyutu gibi önemli bilgileri içeren bir başlık içerir.

Sıra Numaraları: Her veri baytına bir sıra numarası atanır. Bu, alıcının verileri doğru sırayla yeniden birleştirmesini sağlar.

Onay Numaraları: Alıcı, verilerin alındığını belirtmek için onay paketlerini (ACK’LER) geri gönderir. Onay numarası, önceki tüm verilerin başarıyla alındığını doğrulayan bir sonraki beklenen bayta karşılık gelir.

Akış Kontrolü: TCP, gönderen ve alıcı arasındaki veri akışını yönetmek için kayan bir pencere mekanizması kullanır. Gönderen, alıcıdan bir onay beklemeden önce yalnızca belirli miktarda veri gönderebilir.

Pencere Boyutu: Pencere boyutu, alıcının ne kadar veri kabul etmeye istekli olduğunu gösterir. Bu, gönderenin alıcının arabelleğini ezmesini önler.

Bir paket kaybolursa veya bozulursa, alıcı bu paket için bir onay göndermez ve gönderen eksik verileri yeniden iletir.

Hata Algılama ve Yeniden İletim
TCP, hata tespiti için sağlama toplamlarını kullanarak güvenilir veri iletimi sağlar. Sağlama toplamı, verilerden hesaplanan ve paketin başlığına eklenen bir değerdir. Alıcı paketi aldığında, verilerin sağlama toplamını hesaplar ve başlıktaki sağlama toplamıyla karşılaştırır. İki sağlama toplamı eşleşmezse, paket bozuk kabul edilir ve alıcı onu atar. Gönderene daha sonra verileri yeniden iletmesi bildirilir.

Tıkanıklık Kontrolü
TCP, tıkanıklığı yönetmek ve ağın bunalmadığından emin olmak için çeşitli algoritmalar kullanır. Bu algoritmalar, gönderme hızını ağ koşullarına göre ayarlar. Tcp’deki birincil tıkanıklık kontrol algoritmaları şunlardır:

Yavaş Başlangıç: Başlangıçta TCP, az miktarda veri göndererek başlar ve veri hızını kademeli olarak artırır.

Tıkanıklıktan Kaçınma: Ağ sıkışık hale geldikçe, daha fazla tıkanmayı önlemek için gönderme hızı düşürülür.

Hızlı Yeniden İletim ve Hızlı Kurtarma: Bir paket kaybı tespit edilirse, TCP kaybolan paketi hızla yeniden iletir ve iletim hızını azaltır.

Bağlantı Sonlandırma

Veri aktarımı tamamlandığında, ağ kaynaklarını boşaltmak için bağlantının uygun şekilde kapatılması gerekir. Bu, dört aşamalı bir sonlandırma işlemi kullanılarak yapılır:

FIN (Finish) İsteği: İstemci, gönderilecek daha fazla veriye sahip olmadığını belirten FIN bayrağı ayarlanmış bir TCP paketi gönderir.

ACK Yanıtı: Sunucu, istemcinin bağlantı isteğinin alındığını onaylayarak FIN paketini kabul eder.

FIN Yanıtı: Sunucu daha sonra istemciye kendi FIN paketini göndererek bağlantıyı kapatmaya hazır olduğunu gösterir.

ACK Onayı: Son olarak, istemci sunucunun FIN paketini kabul ederek sonlandırma işlemini tamamlar.

Tcp’nin Avantajları

Güvenilirlik: TCP, veri paketlerinin başarılı bir şekilde teslim edilmesini garanti ederek dosya aktarımı, web’de gezinme ve e-posta gibi veri bütünlüğü gerektiren uygulamalar için idealdir.

Hata Tespiti: Sağlama toplamlarının kullanılması, iletilen verilerdeki hataların tespit edilmesini ve düzeltilmesini sağlar.

Akış Kontrolü ve Tıkanıklık Yönetimi: tcp’nin akış kontrolü ve tıkanıklık kontrol mekanizmaları ağ performansını optimize eder ve ağ tıkanıklığını önler.

Sıralı Teslimat: TCP, paketler sıra dışı iletilse bile verilerin doğru sırada alınmasını sağlar.

Tcp’nin Dezavantajları

Ek yük: Hata algılama, onaylama ve yeniden iletim gibi güvenilirlik mekanizmaları ek yük getirerek tcp’yi UDP gibi bağlantısız protokollere kıyasla daha yavaş hale getirir.

Gecikme süresi: Bağlantı kurma, güvenilir teslimatı sağlama ve tıkanıklığı ele alma süreci, VoIP ve çevrimiçi oyun gibi gerçek zamanlı uygulamalar için uygun olmayabilecek iletişime gecikme ekleyebilir.

Kaynak Tüketimi: TCP’NİN bağlantı odaklı yapısı, bağlantıları yönetmek ve güvenilirliği sağlamak için bellek ve işlem gücü gibi daha fazla kaynak gerektirir.

Transmission Control Protocol (TCP), bir ağdaki cihazlar arasında güvenilir, hatasız ve düzenli iletişim sağlayan TCP / IP paketindeki temel bir protokoldür. Bağlantı kurma, akış kontrolü, hata tespiti ve tıkanıklık kontrolü gibi özellikleri, güvenilirliğin gerekli olduğu uygulamalar için idealdir. TCP, UDP gibi diğer protokollere kıyasla daha yüksek ek yüküne ve gecikmesine rağmen, web’de gezinme, dosya aktarımları ve e-posta gibi hizmetleri destekleyen modern ağın önemli bir bileşeni olmaya devam ediyor.

TCP’nin nasıl çalıştığını anlayarak, İnternet’in sorunsuz ve güvenilir bir şekilde çalışmasını sağlamadaki rolü için daha derin bir takdir kazanıyoruz.