关于" net.ipv4.tcp_timestamps"之间的关系和" net.ipv4.tcp_tw_reuse"

时间:2015-07-09 09:31:55

标签: linux sysctl

当我使用jmeter进行性能测试时,客户端报告错误"请求无法到达",我谷歌错误,大多数答案参考" net.ipv4.tcp_tw_reuse&# 34;,将它设置为1,但是有人说,如果想让它工作,必须使用" net.ipv4.tcp_timestamps",设置" net.ipv4.tcp_timestamps"在server.I我不知道为什么在客户端,我设置“net.ipv4.tcp_tw_reuse”,并且必须设置" net.ipv4.tcp_timestamps"在服务器中,它可以工作吗?谁可以帮助我?两个内核设置之间的任何关系?

2 个答案:

答案 0 :(得分:1)

任何人都知道它,我对这两个参数进行测试,“net.ipv4.tcp_timestamps”确实对“net.ipv4.tcp_tw_reuse”产生影响,如果我只是将“net.ipv4.tcp_tw_reuse”设置为1 ,问题不会解决,但是当我也将“net.ipv4.tcp_timestamps”设置为1时,它会产生一种影响。谁知道这两个参数之间的关系?

答案 1 :(得分:0)

我不小心碰到了这些问题,所以我会尝试用我的后续发现提供一个简短的答案。

可以找到更多信息here,但主要部分是

  

TCP_TW_REUSE

     

这允许在TIME_WAIT状态下重新使用套接字用于新连接   从协议的角度来看是安全的。默认值为0(禁用)。它是   通常是tcp_tw_recycle

的更安全的替代方案      

/ proc / sys / net / ipv4 / tcp_timestamps - 时间戳(RFC 1323)添加12个字节   到TCP标题...

TIME_WAIT 是本地端关闭时TCP连接的状态,但操作系统等待来自另一端的新数据包(如果它们到达)。一段时间后,连接将自动释放。

添加时间戳的想法是能够计算用于拥塞控制的非常准确的RTT(往返时间)。