Unix:TCP keepalive

时间:2010-12-19 20:36:37

标签: unix tcp keep-alive

我曾经读过在Unix中配置TCP keepalive参数时常见的错误。毫秒和秒之间存在一些混淆。

问题:

  1. 有没有人有关于此问题的更多信息?
  2. 有人知道这个参数的推荐值是什么?
  3. 是否有其他Unix参数遭受这种混乱?

2 个答案:

答案 0 :(得分:2)

  1. RFC 2525(文字或HTML)通常会识别TCP的一些问题,并包含“保持活跃”的项目。 Wikipedia也对它进行了讨论,区分TCP和HTTP保持活跃。 TLDP也有关于这个主题的“如何”。当我使用Google搜索并以'tcp keepalive'开头时,有许多针对各种平台和单词的提供完成,例如'interval'或'timeout'。我没有发现任何毫秒与秒的混淆 - 但我不确定是否有人会考虑除了新手的bug之外的任何事情。您需要阅读您感兴趣的系统的手册。

  2. 这取决于您的背景 - 没有一个值适合所有人。

  3. POSIX系统具有令人沮丧的大量亚秒级时间结构,一些使用秒和微秒,一些使用秒和纳秒。这些不是参数 - 至少不是配置参数。它们只是来自各种系统的遗留接口,最终被合并到POSIX标准中。如果不破坏现有代码,就无法更改它们。

    其他配置参数往往以特定(甚至特殊)特定系统的方式指定。参数的一般概念通常出现在大多数系统上,但细节可能非常不同。

    请记住,大多数网络常量最明智地指定为秒,而不是亚秒间隔。

答案 1 :(得分:0)

  

是否有人有关于此问题的更多信息?

系统的 man 页面包含有关此问题的所有信息。

  

有人知道这个参数的推荐值是什么?

默认情况下它处于关闭状态,默认情况下,它处于打开状态时,默认值为2 小时。这应该可以让您了解如何使用它。微秒的问题肯定不会出现。

  

是否有其他Unix参数遭受这种混乱?

太宽了。