【问题标题】:How long can a TCP connection stay open?TCP 连接可以保持打开状态多长时间?
【发布时间】:2018-01-23 09:48:21
【问题描述】:

考虑这样的场景,有client-aserver-bserver-b 已禁用 TCP keepalive。并且 server-b 没有任何应用程序逻辑来检查 TCP 连接是否打开。 client-a 建立到 server-b 的 TCP 连接。之后client-aserver-b 之间没有数据传输。在这种情况下,服务器会关闭空闲连接吗?否则服务器将让 TCP 连接永远保持打开状态。

看完Longest Open TCP Connection?,我猜这样的TCP连接会永远保持打开状态。我猜对了吗?

【问题讨论】:

    标签: tcp tcp-keepalive


    【解决方案1】:

    TCP 连接本身没有限制。理论上,客户端和服务器可以保持连接多年而无需交换任何数据,也无需任何数据包流。问题通常是由诸如 NAT 路由器或防火墙之类的中间盒引起的,它们保持状态并在某些不活动后使状态过期。在连接中发送的任何新数据包都无法传递,因为中间盒中不再存在关联状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 2013-03-10
      • 2017-06-02
      相关资源
      最近更新 更多