Linux下IPv6的TCP拥塞控制

Linux下IPv6的TCP拥塞控制

我可以打字

echo bbr > /proc/sys/net/ipv4/tcp_congestion_control

可以改变通过 IPv4 运行的 TCP 连接的拥塞控制算法,但是对于通过 IPv6 到达的 TCP 连接,我该如何做呢?

上述命令是否为两者设置了它?

答案1

是的两个 sysctlnet.ipv4.tcp_allowed_congestion_controlnet.ipv4.tcp_available_congestion_control和 /proc 条目/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 over IPv4 和 TCP over IPv6 中的 TCP 拥塞控制没有区别。

答案2

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

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

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

相关内容