Transmission Control Protocol (TCP) ağırlıklı olarak güvenilir veri iletimi sağlamak amacıyla geliştirilmiş bir protokoldür. 1980'li yılların sonlarında Van Jacobson tarafından tasarlanan TCP Tahoe, TCP'nin ilk tıkanıklık kontrol mekanizmalarından birini oluşturmaktadır. Bu protokol varyantı, veri paket kaybını doğrudan ağ tıkanıklığının bir göstergesi olarak kabul eder ve iletim hızını buna göre düzenler. TCP Tahoe'nun temel amacı, ağ üzerindeki aşırı yüklenmeyi önleyerek veri iletişiminin devamlılığını sağlamaktır.
TCP Tahoe, TCP/IP protokol ailesinin bir parçası olup, ağın taşıma katmanında çalışmaktadır. İletişim kuran iki uç nokta arasında, veri akışının güvenilir ve sıralı şekilde iletilmesini garanti altına alır. TCP Tahoe’nun geliştirilmesi, özellikle internet kullanımının hızla yaygınlaştığı ve veri trafiğinin arttığı bir döneme denk gelmiştir.
Tıkanıklık Kontrol Mekanizmaları
TCP Tahoe üç temel mekanizma kullanarak ağ tıkanıklığını denetler: Slow Start, Congestion Avoidance ve Fast Retransmit.
Slow Start
Bağlantı kurulduğunda, gönderici tarafın tıkanıklık penceresi (Congestion Window, cwnd) başlangıçta küçük bir değere, tipik olarak bir Maximum Segment Size (MSS) boyutuna sahiptir. Her alınan onay (ACK) ile cwnd değeri üssel olarak artırılır. Bu yaklaşım, bağlantı başlangıcında ağ kapasitesinin ölçülmesini sağlar.
Congestion Avoidance
cwnd değeri, belirli bir eşik (ssthresh) seviyesine ulaştığında, büyüme hızı doğrusal bir şekilde yavaşlatılır. Her RTT (Round Trip Time) süresince, cwnd bir MSS kadar artırılır. Bu yöntem, ağın kapasitesini aşmadan veri iletim hızını artırmayı hedefler.
TCP Tahoe’nun performansının değerlendirildiği Dumbbell topolojisi. (YZ ile çizilmiştir)
Fast Retransmit
Gönderici, kayıp bir segmenti zaman aşımı beklemeden tespit edebilmek için aynı segment numarasına ait üç ardışık tekrar alındısı (duplicate ACK) aldığında, ilgili segmenti yeniden gönderir. Bu mekanizma, veri kaybının etkilerini azaltmayı amaçlar.
TCP Tahoe’nun Davranış Özellikleri
TCP Tahoe, kayıp tespit edildiğinde (örneğin zaman aşımı veya üç ardışık duplicate ACK alınması durumunda) tıkanıklık penceresini bir MSS boyutuna indirir ve yeniden Slow Start aşamasına geçer. Ayrıca, tıkanıklık eşik değeri (ssthresh), kayıp yaşanmadan hemen önceki cwnd değerinin yarısına ayarlanır. Böylece bağlantı, tıkanıklık yaşanan ağ koşullarına daha temkinli bir şekilde adapte olur.
TCP Tahoe, yalnızca paket kaybını tıkanıklığın göstergesi olarak kabul ettiği için, özellikle telsiz ağlar gibi paket kaybının hatalardan kaynaklanabildiği ortamlarda performans kaybına neden olabilmektedir.
TCP Tahoe’nun Ağ Üzerindeki Etkisi
Yapılan simülasyonlar, TCP Tahoe'nun gecikme ve pencere boyutu gibi parametrelerin throughput (verim) üzerinde belirleyici bir etkisi olduğunu ortaya koymuştur. Özellikle düşük gecikmeli ağlarda (örneğin 10 ms) pencere boyutunun 400 MSS veya daha büyük olması, verimin artmasına katkı sağlamaktadır. Yüksek gecikmeli ağlarda ise pencere boyutundaki artışın verime etkisi daha sınırlı kalmaktadır.