Linux下IPv6的TCP拥塞控制

pQd*_*pQd 6 linux ipv6 tcp linux-networking bbr

我可以打字

echo bbr > /proc/sys/net/ipv4/tcp_congestion_control
Run Code Online (Sandbox Code Playgroud)

更改在 IPv4 上运行的 TCP 连接的拥塞控制算法,但是对于那些通过 IPv6 到达的连接,我该如何做呢?

上面的命令是否为两者都设置了它?

Ale*_*nyo 9

是的sysctlnet.ipv4.tcp_allowed_congestion_controlnet.ipv4.tcp_available_congestion_control和 /proc entry ( /proc/sys/net/ipv4/tcp_congestion_control) 都适用于每个 IPv4 和 IPv6 TCP 连接。sysctl 和 /proc 名称中的 ipv4 部分并不意味着这仅适用于 TCP over ipv4。这只意味着该算法是在内核源代码树的 linux/net/ipv4 子目录中实现的:在 Linux 中,TCP over IPv6 通过调用 IPv4 的实​​现来实现拥塞控制,因为 TCP 拥塞控制之间没有区别TCP over IPv4 和 TCP over IPv6。


小智 5

从文档(https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt):

/proc/sys/net/ipv6/* 变量:

IPv6 没有诸如 tcp_* 之类的全局变量。ipv4/ 下的 tcp_* 设置也适用于 IPv6。