TCP/IP网络中的性能参数与拥塞控制策略解析
1. RTT估计的重要性及算法
在TCP交换中,往返时间(RTT)估计是最重要的性能参数之一,尤其是在考虑吞吐量时。如果RTT估计过低,数据包会被不必要地重传;如果过高,主机在等待超时时连接会处于空闲状态。不同的网络环境对RTT的要求差异很大,例如在以太网上,回复可能只需几微秒;而在广域互联网的高峰使用时间,一两秒的RTT可能是合理的。因此,需要一个强大的机制来适应这种多样化的网络环境。
目前常用的方法是通过低通滤波器来估计平均RTT,公式如下:
[a = a + g \times (m - a)]
其中,$a$ 是平均RTT估计值,$m$ 是最近确认的数据包的RTT测量值,$g$ 是滤波器增益常数,建议值为0.1。
RTT的偏差 $\sigma$ 可以通过以下公式估计:
[\sigma = (1 - h) \times \sigma + h \times (m - a)]
其中,$h$ 也是滤波器增益常数,建议值为0.25。
一旦更新了 $a$ 和 $\sigma$ 的估计值,下一个发送数据包的重传间隔 $rto$ 可以通过以下公式设置:
[rto = a + 4 \times \sigma]
2. TCP拥塞控制的概念
TCP的运行机制很简单:发送方不断增加窗口大小,直到检测到数据包丢失,此时发送方减小窗口大小,然后循环重复这个过程。TCP的性能并不取决于传输速率本身,而是取决于传输速率和往返延迟的乘积,这个带宽 - 延迟乘积衡量了连接发送方和接收方的“管道”中可以填充的数据量,也是在TCP连接上获得最大吞吐量所需的