Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Linux中禁用TCP慢启动?_Linux_Networking_Tcp_Congestion Control - Fatal编程技术网

如何在Linux中禁用TCP慢启动?

如何在Linux中禁用TCP慢启动?,linux,networking,tcp,congestion-control,Linux,Networking,Tcp,Congestion Control,我正在寻找用于高速网络的禁用机制。 目前,客户端通过非阻塞1Gbps链路向随机服务器发送100MB流量。 在我的数学中,流的完成时间不到1秒 但问题是它们无法达到完整的链路带宽。 换句话说,在获得完整链路带宽之前,它们在慢启动阶段完成。 因此,我想将TCP拥塞窗口的大小增加到最大 是否有人知道如何在不修改内核的情况下轻松更改该值?在Linux平台上,可以通过以下命令检查和禁用SSR设置: $> sysctl net.ipv4.tcp_slow_start_after_idle $>

我正在寻找用于高速网络的禁用机制。 目前,客户端通过非阻塞1Gbps链路向随机服务器发送100MB流量。 在我的数学中,流的完成时间不到1秒

但问题是它们无法达到完整的链路带宽。 换句话说,在获得完整链路带宽之前,它们在慢启动阶段完成。
因此,我想将TCP拥塞窗口的大小增加到最大


是否有人知道如何在不修改内核的情况下轻松更改该值?

在Linux平台上,可以通过以下命令检查和禁用SSR设置:

$> sysctl net.ipv4.tcp_slow_start_after_idle
$> sysctl -w net.ipv4.tcp_slow_start_after_idle=0
慢速启动也在连接空闲后使用,除非在中禁用此行为

/proc/sys/net/ipv4/tcp_slow_start_after_idle.

我可以像这样将拥塞窗口设置为最大值吗?“通过X.X.X.X dev ethni initcwnd 100更改默认sudo ip路由”和“通过X.X.X.X dev ethni initrwnd 100更改默认sudo ip路由”是的,您可以这样设置。如果您想让它保持不变(例如,重新启动后),请将
net.ipv4.tcp\u slow\u start\u after\u idle=0
添加到/etc/sysctl.conf。注意,对于找到此答案的人,问题是关于tcp慢速启动的,但此答案是关于“慢速启动重新启动”,这是在现有套接字变为空闲后发生的。这可能会让一些人感到困惑,因为这个答案不会改变由RFC 5681§3.1管理的新连接的初始拥塞窗口,该连接需要基于最大段大小的initcwnd。对于使用长RTT的连接,通常有帮助的是cwnd调整算法,该算法可以更好地调整cwnd的大小,例如hybla(由net.ipv4.tcp_拥塞_控制控制)和增加接收缓冲区。更可能的是,您真正想要的是将接收器处的套接字接收缓冲区大小至少增加到带宽延迟乘积