https://www.tjsky.net/tutorial/680
Windows 11 22H2 已经支持 TCP BBR v2 拥塞控制。本文就是阐述协,怎么如何从 Windows 系统默认的 Cubic 拥塞控制切换到 BBR v2 拥塞控制。
BBR v2好在那里?真的适合我吗?
最好的优化就是不优化,现实中80%以上的网络场景都是不需要优化的,为了不到20%的场景进行全局优化得不偿失,网络问题的关键不是如何全局优化,而是识别出那不到20%的部分并优化。
国内这个网络都懂的,如果你晚上想访问国外的网站,除非你或者网站有钞能力可以使用电信 CN2 联通A网等精品网络,电信163与移动CMI晚高峰出口丢包10%~30%是非常常见的情况,即使是相对用户较少比较富裕的联通169网络,出口处一般也有3%左右的丢包。
BBR(Bottleneck Bandwidth and Round-trip propagation time,BBR)是谷歌在2016年开发的一种新型的TCP 拥塞控制算法。在此以前,互联网主要使用基于丢包的拥塞控制策略,只依靠丢失数据包的迹象作为减缓发送速率的信号。这样做的的效果还是不错的,但随着全球化互联网的迅速普及,我们所使用的网络已经发生了巨大的变化。我们在本地拥有了越来越大的带宽,而现在的互联网质量也越来越好。BBR 尝试通过使用全新的拥塞控制来解决这个问题,它使用基于延迟而不是丢包作为决定发送速率的主要因素。
使用 BBR ,可以获得显著的网络吞吐量的提升和延迟的降低。吞吐量的改善在远距离路径上尤为明显,比如跨洋的文件或者大数据的传输,尤其是在有轻微丢包的网络条件下。延迟的改善主要体现在最后一公里的路径上,而这一路径经常受到缓冲膨胀(Bufferbloat)的影响。所谓“缓冲膨胀”指的网络设备或者系统不必要地设计了过大的缓冲区。当网络链路拥塞时,就会发生缓冲膨胀,从而导致数据包在这些超大缓冲区中长时间排队。在先进先出队列系统中,过大的缓冲区会导致更长的队列和更高的延迟,并且不会提高网络吞吐量。由于 BBR 并不会试图填满缓冲区,所以在避免缓冲区膨胀方面往往会有更好的表现。
BBR2 相比 BBR 更”公平”,同链路下 BBR 会抢占大量 CUBIC 的带宽给自己用,而 BBR2 ,在有延迟和丢包的情况下,它的速度会慢于 BBR ,有时比默认的 CUBIC 还慢,BBR2还解决了BBR在无线网链接下速度恶化的问题,所以开不开得根据自己的链路做测试。
Windows 11 22H2 已经支持 TCP BBR v2 拥塞控制。本文就是阐述协,怎么如何从 Windows 系统默认的 Cubic 拥塞控制切换到 BBR v2 拥塞控制。
BBR v2好在那里?真的适合我吗?
最好的优化就是不优化,现实中80%以上的网络场景都是不需要优化的,为了不到20%的场景进行全局优化得不偿失,网络问题的关键不是如何全局优化,而是识别出那不到20%的部分并优化。
国内这个网络都懂的,如果你晚上想访问国外的网站,除非你或者网站有钞能力可以使用电信 CN2 联通A网等精品网络,电信163与移动CMI晚高峰出口丢包10%~30%是非常常见的情况,即使是相对用户较少比较富裕的联通169网络,出口处一般也有3%左右的丢包。
BBR(Bottleneck Bandwidth and Round-trip propagation time,BBR)是谷歌在2016年开发的一种新型的TCP 拥塞控制算法。在此以前,互联网主要使用基于丢包的拥塞控制策略,只依靠丢失数据包的迹象作为减缓发送速率的信号。这样做的的效果还是不错的,但随着全球化互联网的迅速普及,我们所使用的网络已经发生了巨大的变化。我们在本地拥有了越来越大的带宽,而现在的互联网质量也越来越好。BBR 尝试通过使用全新的拥塞控制来解决这个问题,它使用基于延迟而不是丢包作为决定发送速率的主要因素。
使用 BBR ,可以获得显著的网络吞吐量的提升和延迟的降低。吞吐量的改善在远距离路径上尤为明显,比如跨洋的文件或者大数据的传输,尤其是在有轻微丢包的网络条件下。延迟的改善主要体现在最后一公里的路径上,而这一路径经常受到缓冲膨胀(Bufferbloat)的影响。所谓“缓冲膨胀”指的网络设备或者系统不必要地设计了过大的缓冲区。当网络链路拥塞时,就会发生缓冲膨胀,从而导致数据包在这些超大缓冲区中长时间排队。在先进先出队列系统中,过大的缓冲区会导致更长的队列和更高的延迟,并且不会提高网络吞吐量。由于 BBR 并不会试图填满缓冲区,所以在避免缓冲区膨胀方面往往会有更好的表现。
BBR2 相比 BBR 更”公平”,同链路下 BBR 会抢占大量 CUBIC 的带宽给自己用,而 BBR2 ,在有延迟和丢包的情况下,它的速度会慢于 BBR ,有时比默认的 CUBIC 还慢,BBR2还解决了BBR在无线网链接下速度恶化的问题,所以开不开得根据自己的链路做测试。