就是这样吗?
1. Client sends syn to server.
2. Server responds with syn ack.
3. Client responds with ack.
如果服务器仅以 syn 或 ack 响应,会发生什么情况?如果服务器根本没有响应,会发生什么情况?如果客户端没有以 ack 响应,会发生什么情况?
答案1
就是这样吗?
是的。
如果服务器仅使用 syn 进行响应,会发生什么情况
同时启动描述于RFC 793第 3.4 节,也涵盖RFC 1122第 4.2.2.10 节。
如果两个 TCP 同时发起该过程,该过程也会起作用。当同时尝试发生时,每个 TCP 都会在发送“SYN”后收到一个不带有确认的“SYN”段。
或者只是确认一下?
我不太确定,但我认为 RST 被发回并且连接被终止。
如果服务器根本没有响应会发生什么?
如果客户端没有回应 ack,会发生什么情况?
当没有收到响应时,客户端将保持 SYN-SENT(服务器 - SYN-RECEIVED)状态并最终超时。
全面的,RFC 793“传输控制协议”是一个极好的资源。
也可以看看RFC 1122“互联网主机要求--通信层”。