Akış Kontrolü
TCP ayrıca akış kontrolü için mekanizmalar sağlar. Akış kontrolü, belirli bir oturum için kaynakla hedef arasındaki veri akışı hızını ayarlayarak TCP iletiminin güvenirliğini korumaya yardımcı olur. Tek seferde iletilen veri segmenti miktarını sınırlayarak ve daha fazla göndermeden önce alış onayı gerektirerek gerçekleştirilir.
TCP'nin akış kontrolünü gerçekleştirmek için belirlediği ilk şey, hedef cihazın kabul edebileceği veri segmenti miktarıdır. TCP başlığı, pencere boyutu adı verilen 16 bitlik bir alan içermektedir. Bu, TCP oturumunun hedef cihazının tek seferde kabul edebileceği ve işleyebileceği bayt sayısıdır. İlk pencere boyutu, oturum başlangıcı sırasında kaynak ve hedef arasındaki üç yollu tokalaşma aracılığıyla kararlaştırılır. Değerin kabul edilmesinin ardından, kaynak cihaz hedef cihaza gönderilen veri segmenti miktarını pencere boyutuna bağlı olarak sınırlamalıdır. Kaynak cihaz, sadece veri segmentlerinin alındığına dair onay aldığında oturum için daha fazla veri göndermeye devam edebilir.
Gönderen, onayı alırken yaşanan gecikme sırasında başka segment göndermez. Gecikme, ağın tıkanık olduğu veya alıcı hostun kaynaklarının kısıtlı olduğu zamanlarda artabilir. Gecikme uzadıkça, bu oturum için verinin etkili iletim hızı düşer. Her bir oturumdan gelen veri iletiminin yavaşlaması, birden çok oturum çalışırken ağda ve hedef cihazda yaşanan kaynak çakışmasını düşürmeye yardım eder.
Pencere boyutu ve onayların basitleştirilmiş bir temsili için şekle bakın. Bu örnekte, temsil edilen bir TCP oturumu için ilk pencere boyutu 3000 bayta ayarlıdır. Gönderen 3000 bayt ilettiğinde, bu oturumda daha fazla segment iletmeden önce onay bekler. Alıcıdan onay aldığında, 3000 bayt daha iletebilir.
TCP, kayıp ve yeniden iletimleri en aza indirirken iletim hızını ağın ve hedef cihazın destekleyebileceği maksimum akışa kadar yönetmeye çalışmak için pencere boyutlarını kullanır.