搞 TCP 优化的,不是在解决任何问题,好比说你在将一辆马车加速到 70 km/h,却不愿意直接买一辆汽车,没意义的核心在于车体结构而不是那匹马。
在 400G 网络里,把 TCP 单流吞吐从 50G 优化到 200G,其实是负收益,因为 200 只是一个吞吐均值,越高速越怕抖动,而延迟,P99 可能还会升高,且代码实现复杂度提高,这就是典型的负 ROI 工程,看起来很硬核,实际是借债玩自嗨。
TCP 的上限不是算法和实现,是可靠字节流抽象的设计。拆解下来,首先是字节流抽象,这约束其实现的字节粒度,在规模,尺度上不可扩展,越高速的网络,维持字节流的指令周期,内存操作成本占比越高,其次就是流约束下的可靠性,意味着多路径不可用,传输无法随并行度而扩展。
做 TCP 优化,就像给高铁提速到 700 km/h,为什么不坐飞机呢,既然那已经是飞机的主场了,拆了铁轨,多建机场。
而在广域网,传播时延占比更大,单机优化收益可忽略不计,TCP 就是为这里定制的,事实也表明,TCP 跟随互联网扩展了 40 年,还在继续跟随。
广域网 TCP 核心在于收敛到公平,而不是确定性的性能,做广域网 TCP 优化,就像让铁路取代公路,以稳定的 200 换 100 的均值,可确定性并不是最重要的,公平,稳定的可达性才是。
TCP 优化没有意义,QUIC 优化就好吗,同样没有意义,QUIC 只是另一种 TCP 而已。
浙江温州皮鞋湿,下雨进水不会胖。