TCP 三次握手的工作原理
TCP 握手发生在传输层,沿网络路径进行。排查时要把本地套接字、IP 投递、TCP 或 UDP 的行为、防火墙过滤和 NAT 分开来看。ping 得通并不代表 TCP 端口可达,端口开放也不代表应用层协议工作正常。
如何找出连接在哪一环中断
由近及远逐项排查:进程和绑定地址 → 主机防火墙 → 路由 → NAT/端口转发 → CGNAT 或运营商过滤 → 外部测试。如果故障与数据包大小有关,请单独考虑 MTU 和路径 MTU 发现(Path MTU Discovery)。解读端口号时,一定要结合它所用的传输协议。
关键细节
发出 SYN 后收到 SYN-ACK,证明的不只是简单的 IP 可达;随后的 ACK 则完成连接建立。RST 和重传超时指向不同的故障类型,而且有状态防火墙可能拒绝不符合预期连接状态的数据包。想从外部网络确认连接情况,可以使用 2IP 端口检测。