首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux上调整for服务器的接收ACK超时

在Linux上调整for服务器的接收ACK超时
EN

Stack Overflow用户
提问于 2017-06-07 23:25:01
回答 1查看 531关注 0票数 0

我在某所大学的环境科学系使用遥感设备,遇到了延迟问题。我们在现场有传感器,定期将更新(作为帖子)发送回运行linux的盒子和一个简单的web服务器。这些设备通过菊花链的无线中继器连接(我们正在试验短波作为商业蜂窝网络的替代方案)。

我们的问题来自于一些链接的高延迟;接近20秒。我们的传感器无法完成三次握手以建立到服务器的连接。我们看到SYN到达服务器,然后SYNACK返回到远程,但是当ACK从远程到达服务器时,服务器已经发送了RST。

有没有办法调优linux TCP堆栈,以便延长接收这些ACK的超时时间?

EN

回答 1

Stack Overflow用户

发布于 2017-06-09 21:01:39

超时与RTO相关。

请参见RFC6298 2.1。在对发送方和接收方之间发送的数据段进行往返时间(RTT)测量之前,发送方应将RTO设置为<- 1秒。

请参阅RFC6298 5.5。主机必须设置RTO <- RTO *2

我的Ubuntu(14.04)的"/proc/sys/net/ipv4/tcp_synack_retries“设置为5。

换句话说,

代码语言:javascript
复制
Server state.
1. SYN/ACK First Send ===> 1 second wait ...
2. SYN/ACK Retransmission ===> 2 second wait ...
3. SYN/ACK Retransmission ===> 4 second wait ...
4. SYN/ACK Retransmission ===> 8 second wait ...
5. SYN/ACK Retransmission ===> 16 second wait ...
6. SYN/ACK Retransmission ===> 32 second wait ...

以上总等待时间超过20秒。

尝试更改"/proc/sys/net/ipv4/tcp_synack_retries“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44416839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档