Loss-based 的 TCP 加速技术沿袭了主流 TCP 以丢包来判断拥塞并调整传输速率的方式。其对传统 TCP 的改进主要是通过增大初始拥塞控制窗口(Congestion Window,CNWD),同时在通过丢包判断出现拥塞后使用比传统 TCP 更激进的方式恢复 CNWD,以期减少拥塞对速率的影响。尽管这些改进在很多情况下确实能够提升速率,但 Loss-based 的 TCP 加速技术在原理上具有以下两个严重问题:
Delay-based 的 TCP 加速技术克服了 Loss-based 的主要缺陷,在原理上采用延迟的变化来判断拥塞程度并相应调整传输速度。这一机制更符合现代网络的特点,能够在发生拥塞网络节点的队列开始堆积时就及时下调传输速度,避免拥塞恶化,减少甚至避免丢包的发生。同时,Delay-based 的 TCP 加速技术不将丢包当作拥塞,在非拥塞因素发生的丢包时可以保持较高的速率。因此,设计优良的 Delay-based TCP 加速技术比 Loss-based TCP 加速技术在传输速度上有了显著的提升。尽管如此,Delay-based TCP 加速技术在使用中逐渐暴露出以下主要缺陷:
不论是 Loss-based 还是 Delay-based 的 TCP 加速技术都采用静态算法:基于对互联网流量模型的假设前提采用固定的拥塞判断及恢复机制。但网络的发展趋势是流量特征越来越复杂并难以预测。因此,Loss-based 和 Delay-based 的 TCP 加速技术常常只在其前提假设成立的特定网络场景下有效,并且随着传输的进行,网络路径特征发生变化,效果也会起伏不定,有时甚至出现反效果。为此,AppEx 研究设计的新一代 Learning-based TCP 加速技术采用网络路径特征自学习的动态算法,基于每一个TCP 连接实时观察、分析网络特征,根据学习到的网络特征随时调整算法来更准确的判断拥塞程度、更及时地判断丢包,从而更恰当的进行拥塞处理并更快速的进行丢包恢复。这一设计从原理上克服了静态算法无法适应网络路径特征变化的问题,保证了在各种不同网络环境及频繁变化的网络延迟、丢包特征下加速效果的持续有效性。 参考资料[1]. http://www.appexnetworks.com.cn/white-papers/Zeta-TCP.pdf |