首先需要说明的是并不存在正式的TCP性能标准。TCP专家一般都期望在传送大量的数据报时,一个TCP连接可以最大程度地使用可用带宽并可以合理地与其它用户分享信道。 TCP报头中各字段的设定及控制算法等对其性能的影响如下:
TCP序列号
序列号长度为32bit。为了保证一个给定的序列号只表示一个特定的数据报字节。TCP要求网络中不能同时存在表示不同数据的相同序列号。IP TTL限定数据报在网络中能存在的最长时间,一般设为2分钟,故最大的数据速率为286Mb/s,这将限制可使用的最大带宽。
TCP传输窗口
传输窗口的目的是允许用户控制接收数据的速率。在TCP报头中,窗口只有16bit的宽度,所以标准的TCP窗口不能超过64KB。这将TCP的有效带宽限制为64KB。
216/链路往返时延
对于像GEO卫星所具有的长时延链路,这个限制将使最大的数据速率低于1Mb/s。
TCP慢启动算法
当慢启动算法用于高速网络中时会引起两个问题。首先,系统需要较长的时间才能达到适用的速率。通过慢启动算法我们知道启动时间为:
T=R(1+Log1.5(DB/L))
其中,R为往返时间,DB是时延和带宽之乘积,L为平均段长。
当带宽或往返时间增加时,启动时间就会比较长。例如在具有Gb/s带宽的GEO卫星中,如链路往返时延为0.5秒,系统将需要大约14.5分钟的启动时间。如果这时的链路空闲。那么整个数据可能在启动完成之前就已传输完毕,将造成很大的资源浪费。