如果仍有未确认的数据包,TCP 连接是否被视为空闲?


  1. 如果仍有未确认的数据包,TCP连接是否被视为空闲?
  2. 如果服务器端的 RECV 缓冲区已满并且无法接受更多数据(例如 500 秒且空闲超时仅为 300 秒(,则 TCP 是否被视为空闲?
  3. 空闲超时是否只能在客户端进行,或者服务器端也可以这样做?

如果仍有未确认的数据包,TCP 连接是否被视为空闲?

取决于视角。从应用程序的角度来看,发送或接收数据很重要,即 ACK 的状态无关紧要。从介于两者之间的数据包过滤器防火墙的角度来看,无论是否有有效负载(即TCP保持活动状态(,是否交换数据包都很重要。 从操作系统内核的角度来看,空闲超时比等待 ACK 要长得多。

如果服务器端的 RECV 缓冲区已满并且无法接受更多数据(例如 500 秒且空闲超时仅为 300 秒(,则 TCP 是否被视为空闲?

这仅与操作系统内核相关。如果 ACK 在这么长时间内未完成,则连接不会被视为空闲,而是被视为断开。

空闲超时是否只能在客户端进行,或者服务器端也可以这样做?

每个站点都可以在操作系统和应用程序中执行自己的操作,并且两者之间的防火墙中可能存在空闲超时。它们都是独立的,都可以是不同的。

最新更新