关于TCP vegas算法杂谈

看到大佬写的优秀的 tcp vegas 拥塞控制大揭秘-CSDN博客,有感而发,自己研究CC有一段时间了。但是还一直有vegas多牛的说法。从理论上来说,vegas确实是比较好的CC算法,特别是他的公平友好性,我个人也觉得是最好的。

包括后面的L4S扩展来说,也确实有一定的理论价值 。

但是就我个人对CC的理解,其实这些都是毫无用处的。因为建立在沙滩上的高楼最终是无法长时间存在的。

为什么我认为vegas是在沙滩上的高楼,是因为,他的算法是假设的前提下,理论的环境产生的算法。

就象永动机一样,看上去很美好,却是不能实现的。

首先我们谈vegas的diff这个变量,我列出它的几大问题。1.并不是所有的网络RTT都是可以精确测量或叫稳定测量的,因为有波动情况。2.diff的取值问题。不同的取值范围会造成很大的不同。就算是同样的vegas流,不同的参数互相压制的情况也是非常厉害的。3.L4S其实是2的一个变种,他的终级思想是非常理想的。所有的包的延迟维持在一个特定的值域内。但是其是很难实现的。也是同样的问题,这个延迟的取值是引响效果的决定因素。第二个,所有缓存的延迟成为拥塞的指标,那么对于无线环境,网络实刻波动的环境,RTT指标会过于波动和背景流的加入退出,造成这个拥塞标志是极其不稳定的,从而使这个算法产生的吞吐是不稳定的。

唯一能正常,非常理想的工作,只能在实验室环境,有标准的线性的RTT波动,稳定的代宽环境。但是实际环境这一套能很好的工作吗?显而易见的。

而且从事实上来看vegas出现已经有很长一段时间,而真正用它做为算法的成熟协议基本上没有,原因是,实际应用效果不理想,实现难度大,可操作性差,参数调整复杂,适应性差。这才是他不能流行的主要原因。

所以鼓吹vegas多么牛逼,有多么好的数学公工推导,模型多么完美,完全是学术派的作风,一点工业价值没有。所以不要鼓吹什么vegas了,实际一点吧,不如看看BBR。

仅 是个人观点。

你可能感兴趣的:(tcp/ip,网络协议,网络)