第二十八章 DragonFlyBSD
第八节 TCP BBR
警告:以下内容为理论,未经实际测试,仅供参考,如果可以使用请提交 issue 以移除本标签。
TCP BBR 是一种 Google 开发的拥塞控制算法。作用有两个,
  1. 1.
    在有一定丢包率的网络链路上充分利用带宽。
  2. 2.
    降低网络链路上的 buffer 占用率,从而降低延迟。
一般来说,如果你使用了代理软件,建议开启 TCP BBR 功能,在速度和稳定性上会有十分显著的作用。该项目在 FreeBSD 中,由 Netflix 团队协助开发。最低系统版本支持:r363032,也即推荐 FreeBSD 13.0。
修改内核配置
# cd /usr/src/sys/amd64/conf
如果安装FreeBSD时没有选择安装内核源码,建议阅读 第二十章。
# cp GENERIC GENERIC-bbr
# ee GENERIC-bbr
调整配置,修改ident的值为GENERIC-bbr,在ident这一项下面加入以下项目:
1
options TCPHPTS
2
options RATELIMIT
3
options WITH_EXTRA_TCP_STACKS=1
Copied!
新建/etc/src.conf,内容为:
1
KERNCONF=GENERIC-bbr
2
MALLOC_PRODUCTION=yes
Copied!
编译并安装内核
1
# /usr/sbin/config GENERIC-BBR
2
# cd ../compile/GENERIC-BBR
3
# make cleandepend && make depend
4
# make -jN+1
Copied!
其中N建议为CPU 核心数
# make install
安装内核,完成后重启使用新内核。
# uname -a
如果显示出GENERIC-bbr,则表示 TCP BBR 内核编译并安装成功。
配置和加载 BBR 模块
# sysrc kld_list+="tcp_rack tcp_bbr"
启动时加载 BBR 模块。
# echo 'net.inet.tcp.functions_default=bbr' >> /etc/sysctl.conf
设置默认使用 BBR,重启。
# sysctl net.inet.tcp.functions_default
如果结果是net.inet.tcp.functions_default: bbr,则启用 TCP BBR 成功。
**注意:**故障排除等事宜请参考
GitHub - Netflix/tcplog_dumper: Utility designed to pull data from the FreeBSD's tcp_log device
GitHub
最近更新 1mo ago
复制链接
在 GitHub 上编辑