是否有过主机会用 ACK 响应 RST 或 RST/ACK 数据包的情况?

网络工程 ipv4 通讯协议 协议理论 第4层 传输协议
2021-08-02 11:35:31

这个问题相当简单,对于大多数阅读此内容的人来说可能有点补救,但我一直在网上搜索有关这一点的明确内容。

我知道 RST 标志旨在立即终止 TCP 连接,并且就发送主机而言,会话在发送 RST 或 RST/ACK 数据包的那一刻就结束了。但是,接收到该 RST 或 RST/ACK 数据包的主机是否通过不发送任何 RST 确认来“尊重”它?

换句话说,主机是否在收到 RST 或 RST/ACK 数据包后立即丢弃对话?有什么例外吗?

1个回答

RFC 793,传输控制协议详细解释了 TCP 的工作原理:

重置处理

在除 SYN-SENT 之外的所有状态中,所有重置 (RST) 段都通过检查它们的 SEQ 字段来验证。如果其序列号在窗口中,则重置有效。在 SYN-SENT 状态(接收到响应初始 SYN 的 RST),如果 ACK 字段确认 SYN,则 RST 是可接受的。

RST 的接收者首先验证它,然后改变状态。如果接收器处于 LISTEN 状态,则忽略它。如果接收器处于 SYN-RECEIVED 状态并且之前一直处于 LISTEN 状态,则接收器返回 LISTEN 状态,否则接收器中止连接并进入 CLOSED 状态。如果接收器处于任何其他状态,它会中止连接并通知用户并进入 CLOSED 状态。

其它你可能感兴趣的问题