Ubuntu开启PPC拥塞控制算法–看起来不比BBR差,还支持IPv6哦!

/ 0评 / 0

本文由@Michael发布

本文由 91yunbbs 用户 locknlock 投稿。讨论、提问建议前往论坛:【 论坛原文链接 

前方深坑预警

本文仅做抛砖引玉,供读者举一反三。

提前说一下编译安装 PCC 可能有的坑:

编译安装 PCC

PCC is a new approach for TCP congestion control base on real-time performance analysis. This is a kernel implementation of it.

PCC 和 BBR 一样都是一直 TCP 拥塞控制算法,就目前我自己做的测试( ipv6 环境)来看,效果不差。下面介绍如何在 Linux 下开启 PPC 。

安装环境:

升级 kernel 为 4.9 ,需要同时安装 image 和 header ,其他版本 kernel 一样,必须安装 header 。

安装编译工具

如果默认安装的 gcc 版本低于 4.9 ,按照下面操作升级。

编辑 tcp_TA.c, 替换 NET_INC_STATS_BH 为 NET_INC_STATS,
替换 NET_ADD_STATS_BH 为 NET_ADD_STATS ,保存。
== 此处替换操作仅针对 4.9 及更新版本的内核。 ==

然后开始编译:

编译过程中 warn 不用管,但是出现 error 就会失败, == 这一步各种坑 == 。编译成功会在目录下生成一个 tcp_TA.ko 文件。

加载内核模块:

返回 tcp_TA 16384 32 类似这样的结果即加载成功。

<span class="hljs-selector-tag">sysctl</span> <span class="hljs-selector-tag">net</span><span class="hljs-selector-class">.ipv4</span><span class="hljs-selector-class">.tcp_available_congestion_control</span>

返回一般为 net.ipv4.tcp_available_congestion_control = bbr cubic reno TA

切换 tcp 拥塞控制算法为 TA :

最后检查一下:

返回 net.ipv4.tcp_congestion_control=TA 即可。

补充

发表评论