STCP(Scalable TCP)是TCP拥塞控制协议的一种。STCP算法是由 Tom Kelly于 2003年提出的 ,通过修改 TCP的窗口增加和减少参数来调整发送窗口大小 ,以适应高速网络的环境。
针对传统 TCP在高带宽时延乘积网络中存在的问题 ,目前国内外已经提出了一些适合高速网络的拥塞控制算法 ,如HSTCP、STCP、B I C- TCP、H-TCP、CUB I C- TCP, 这些新算法通过修改拥塞控制机制 ,不需要修改中间节点和接收端协议 ,解决了传统 TCP在高速网络中链路利用率不高的问题 ,获取了高吞吐量 ,在一定程度上提高了算法在高速网络中的性能。其中 STCP算法就是在传统 TCP基础上进行的改进算法 ,该算法具有很高的链路利用率和稳定性,但该机制窗口增加和 RTT成反比 ,在一定的程度上存在着 RTT不公平现象 ,而且和传统 TCP流共存时 ,过分占用带宽 ,其 TCP友好性也较差。
通过对带宽分配特征、 流速度变化、 对传统流的影响、收敛特性和控制理论稳定性方面进行权衡 ,得出 STCP在拥塞避免阶段的拥塞窗口描述如下:
(1) 当 cwnd ≤ l wnd ( l wnd是传统窗口大小 , l wnd = 16个包 )时 , a (w) = 1, b (w) = 0 . 5, STCP使用统的拥塞控制更新算法;
(2) 当 cwnd > l wnd时 , a (w) = 0 . 01 × w , b (w) = 0 . 1,STCP使用自己新的拥塞窗口更新算法。
和传统 TCP算法不同, Scalable TCP采用的是MI MD (积式增积式减少)策略,和 A I MD策略相比,窗口增加更快减少更慢,和传统 TCP共存时会过快的抢占带宽资源,因此 TCP友好性较差。