[转帖]TCP BBR 拥塞控制算法

tcp,bbr,拥塞,控制算法 · 浏览次数 : 0

小编点评

**Google BBR简介** Google BBR (Bidirectional Rate Control) 是 Google 公司提出的一个开源 TCP拥塞控制算法。BBR 是一种双向连接拥塞控制机制,它用于改善 TCP 拥塞问题,降低网络延迟。 **BBR 原理** BBR 使用以下机制来实现拥塞控制: * 每个发送方和接收方在 TCP 连接期间维护一个拥塞窗口。 * 拥塞窗口大小是发送方和接收方在拥塞期间能够发送的最大字节数量。 * 当拥塞窗口满时,发送方和接收方暂停发送,直到窗口被重置。 * 拥塞窗口可以根据网络状况动态调整。 **BBR 资源** * **Google BBR GitHub 存储库:** * 代码:`git clone https://github.com/google/bbrBBR.git` * PPT:`https://github.com/google/bbr/blob/master/Presentations/bbr-2017-02-08-google-net-research-summit.pdf` * **CSDN 讨论:** * `blog.csdn.net/dog250/article/details/52830576VPS配置使用BBR教程:` * `wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh` * `blog.leanote.com/post/quincyhuang/google-bbr简易版配置BBR(需要Linux 4.9 +)` **结论** BBR 是一种有效的 TCP 拥塞控制技术,可以显著降低网络延迟并提高网络性能。

正文

https://www.91tfboys.com/?p=348

 

BBR是个好东西。众所周知,在TCP连接中,由于需要维持连接的可靠性,引入了拥塞控制和流量管理的方法。Google BBR就是谷歌公司提出的一个开源TCP拥塞控制的算法。

这里不详细介绍BBR的原理,仅放入部分质量较高的BBR资源,供索引参考。

Google BBR Github:https://github.com/google/bbr

BBR源码:https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/tree/net/ipv4/tcp_bbr.c

Google BBR Github PPT:https://github.com/google/bbr/blob/master/Presentations/bbr-2017-02-08-google-net-research-summit.pdf

CSDN大佬分析BBR原理:https://blog.csdn.net/dog250/article/details/52830576

VPS配置使用BBR教程:http://blog.leanote.com/post/quincyhuang/google-bbr

简易版配置BBR(需要Linux 4.9 +)

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

验证
输入sysctl net.ipv4.tcp_available_congestion_control,返回net.ipv4.tcp_available_congestion_control = bbr cubic reno;
输入sysctl net.ipv4.tcp_congestion_control,返回net.ipv4.tcp_congestion_control = bbr;
输入sysctl net.core.default_qdisc,返回net.core.default_qdisc = fq;
输入lsmod | grep bbr,返回有tcp_bbr则表示已启用BBR。

与[转帖]TCP BBR 拥塞控制算法相似的内容:

[转帖]TCP BBR 拥塞控制算法

https://www.91tfboys.com/?p=348 BBR是个好东西。众所周知,在TCP连接中,由于需要维持连接的可靠性,引入了拥塞控制和流量管理的方法。Google BBR就是谷歌公司提出的一个开源TCP拥塞控制的算法。 这里不详细介绍BBR的原理,仅放入部分质量较高的BBR资源,供索

[转帖]TCP 拥塞控制之BBR 算法介绍

https://www.elecfans.com/tongxin/202212161960097.html 2016 年 10 月份的一个 youtube 链接: Making Linux TCP Fast,首次发布了 BBR 算法, TCP 拥塞控制开启了新局面。 BBR 非常简单,它背后是一个单

[转帖]TCP timestamp 选项那点事

https://switch-router.gitee.io/blog/tcp-timestamp/ TCP 最早在 RFC1323 [] 中引入了 timestamp 选项, 并在后来的 RFC7323 中进行了更新。引入 timestamp 最初有两个目的:1.更精确地估算报文往返时间(roun

[转帖]TCP的半关闭、半连接、半打开

参考:《UNIX 网络编程 · 卷1 : 套接字联网API》 TCP 半关闭 如果将客户端与服务器之间的网络作为全双工管道来考虑,请求是从客户端向服务器发送,应答是从服务器向客户端发送,其如下图所示: 上图假设 RTT 为 8,且服务器没有处理时间且请求大小与应答大小相同。既然从管道发出到管道的另一

[转帖]tcp连接测试工具_六款最佳、免费的网络延迟测试工具

作为网络管理员或网络工程师,时刻关注网络的交付速度至关重要。不仅需要确保自己有良好的响应时间,还需要确保网络的速度足以满足用户通信所需的每一条路径。而手动测试每个路径将占用你所有的时间。所以需要获得一个测试工具,以确保延迟不会影响网络的性能。 什么是延迟 延迟是网络流量的速度指标。可接受的传输时间根

[转帖]tcp_tw_reuse、tcp_tw_recycle和tcp_timestamps

https://www.cnblogs.com/zh-dream/p/12702522.html TCP报文格式 1、TCP报文:由TCP首部和TCP数据组成 2、TCP首部:由 20字节的固定长度 + 变长字段(选项)+ 填充 组成成 3、MSS(Maximum Segment Size):占4字

[转帖]tcp_tw_reuse、tcp_tw_recycle 使用场景及注意事项

linux TIME_WAIT 相关参数: net.ipv4.tcp_tw_reuse = 0 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭net.ipv4.tcp_tw_recycle = 0 表示开启TCP连接中TIME-WAIT socket

[转帖]TCP的blacklog之全连接队列与半连接队列的深入研究

文章目录 Linux内核探测工具systemtap的安装与使用backlog、半连接队列、全连接队列是什么半连接队列、全连接队列基本概念 linux 内核是如何计算半连接队列、全连接队列的半连接队列的大小的计算模拟半连接队列占满全连接队列(Accept Queue) SYN+ACK重传次数全连接队列

[转帖]TCP半连接队列和全连接队列

TCP半连接队列和全连接队列 文章很长,建议收藏起来慢慢读! 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备免费赠送 经典图书:《Java高并发核心编程(卷1)》 面试必备 + 大

[转帖]TCP的全连接与半连接队列

TCP的全连接与半连接队列 总结 TCP 全连接队列的最大值: 取决于 somaxconn 和 backlog 之间的最小值, 也就是 min(somaxconn, backlog) TCP 半连接队列的最大值: min(min(somaxconn,backlog),tcp_max_syn_back