BBR可以用在TCP,以及应用限流,QUICK等。
TCP的拥塞控制主要来避免两种现象,包丢失和超时重传。一旦出现了这些现象就说明,发送速度太快了,要慢一点。
T避免的两个现象是有问题的。
第一个问题是丢包并不代表着通道满了,也可能是管子本来就漏水。例如公网上带宽不满也会丢包,这个时候就认为拥塞了,退缩了,其实是不对的。
第二个问题是TCP的拥塞控制要等到将中间设备都填充满了,才发生丢包,从而降低速度,这时候已经晚了。其实TCP只要填满管道就可以了,不应该接着填,直到连缓存也填满。
为了优化这两个问题,后来有了TCP BBR拥塞算法。它企图找到一个平衡点,就是通过不断地加快发送速度,将管道填满,但是不要填满中间设备的缓存,因为这样时延会增加,在这个平衡点可以很好的达到高带宽和低时延的平衡。
https://en.wikipedia.org/wiki/TCP_congestion_control#TCP_BBR
系统保护的目的:
-
保证系统不被拖垮
-
在系统稳定的前提下,保持系统的吞吐量与延迟的平衡
长期以来,系统保护的思路