当前位置: 代码迷 >> 综合 >> F(orward)-RTO Recovery:TCP传输优化的打假算法
  详细解决方案

F(orward)-RTO Recovery:TCP传输优化的打假算法

热度:19   发布时间:2023-12-08 16:59:34.0

具体研究F-RTO实现的有太多太多,所以不再展开,只想讲讲F-RTO为什么是一种TCP传输优化。抱着这种目的,有了本文。

引子

最近看了点《开端》,时间循环这个梗真的百看不厌,并非喜欢这种设定,而是在这个过程中找到解放自己的方式,寻觅破局之法,这点总能击中我的爽点。

可是现实中没有时间循环的设定。

我们只能期望,在最短的时间,用最确切的证据,去挽救错误的局面。

现实如此,TCP亦如此。

网络是个复杂的玩意,互联网兴起更是催生了这一头巨兽。要在这种盘根错节下充当能手,TCP做了第一个,顺理成章也成了最难的一个。我一直以为TCP的难点不在可靠传输,真正的困局是在传输优化上,而传输优化中有这样一个层面,即检测虚假的超时重传。

TCP虚假超时重传

TCP/IP 是一个端到端的系统,而中间是错综复杂的互联网,在这种处境中,基于统计的AI都很难不犯错误,更何况是触感极低的TCP。TCP一向以触发超时定时器重传兜底,但超时重传的效率极低,其产生的后果就有失序、冗余、断联等,里面的每一项都对互联网是深水炸弹。

在“精明”的互联网面前,TCP很笨,超时重传的触发只依赖RTO,对于其他的一无所知。

于是有:

  • RTO过小造成的伪重传
  • 物理层面导致的延迟,如弱网的RTT抖动,移动选路的路径延迟
  • 一些关键包丢失引发的假重传

开始两个好理解,对于关键包丢失引发的假重传,我给出一个例子。

  相关解决方案