TCP连接建立的三种方式的握手如下所示。
下列哪个陈述是正确的?
(S1)来自服务器的SYN + ACK丢失将不会建立连接
(S2)来自客户端的ACK丢失无法建立连接
(S3)服务器在没有数据包丢失的情况下在状态机中移动LISTEN→SYN_RCVD→SYN_SENT→ESTABLISHED (S4)服务器在没有数据包丢失的情况下在状态机中移动LISTEN→SYN_RCVD→ESTABLISHED。
(A)仅S2和S3
(B) S1和S4
(C) S1和S3
(D) S2和S4答案: (B)
说明:在三向握手之前,客户端和服务器都处于关闭状态,以便开始发送或接收客户端和服务器都处于“侦听”状态。
脚步:
1)客户端发送了SYN数据包,服务器将接收到该数据包。
2)服务器将SYN + ACK数据包建立客户端连接。现在,客户端已准备好发送数据。
3)然后,当服务器收到此数据包时,客户端将向服务器发送ACK数据包,服务器也将处于已建立状态。
SYN + ACK的丢失将不会导致客户端建立连接,因此将无法向服务器发送数据。
虽然不需要来自客户端的ACK,因为如果客户端立即发送数据包,它将被视为对服务器的确认。
该解释由Abhishek Kumar提供。
这个问题的测验