如何在Linux上验证TCP保持活动状态

时间:2014-06-26 10:54:50

标签: linux networking tcp amazon-redshift

我想在我的linux机器上设置tcp keep alive。所以我正在做的是运行一个脚本

if [ `/sbin/sysctl -n net.ipv4.tcp_keepalive_time` != 200 ] ; then
   /sbin/sysctl -w net.ipv4.tcp_keepalive_time=200;

但是我仍然遇到与亚马逊的红移相关的问题。有人可以帮忙,告诉我如何检查tcp是否保持活着?

1 个答案:

答案 0 :(得分:1)

要检查保持活动是否处于活动状态,请打开连接,不要交换任何数据,并使用tcpdump或类似程序验证数据包是否在连接上定期交换,即使没有真正的数据交换。

但也许你只是把保持活动与超时混淆:

  • 保持活跃:检测连接是否仍处于活动状态,例如如有必要,可以交换数据。这将检测网络连接的丢失等。保持活动在TCP层上完成。
  • 超时:连接在一些不活动后关闭。这是在应用层完成的。

在这两种情况下,在尝试读取或写入套接字之前,您都不会检测到问题。