📜  门| GATE-CS-2017(Set 1)|问题12

📅  最后修改于: 2021-06-29 03:59:30             🧑  作者: Mango

考虑在两台不同的计算机上运行的TCP客户端和TCP服务器。完成数据传输后,TCP客户端调用close终止连接,并将FIN段发送到TCP服务器。服务器端TCP通过发送由客户端TCP接收到的ACK做出响应。根据TCP连接状态图(RFC 793),客户端TCP连接在哪种状态下等待服务器端TCP的FIN?
(A)最后确认
(B)等待时间
(C) FIN-WAIT-1
(D) FIN-WAIT-2答案: (D)
说明:客户端已将FIN段发送到服务器,并移至FIN-WAIT-1,即等待自己的ACK
FIN段。这里有两种可能性:

  1. 如果客户端收到其FIN的ACK,则客户端将移至FIN-WAIT-2并等待匹配
    服务器端的FIN。从服务器收到FIN后,客户端将发送ACK并移至TIME-WAIT
    状态。
  2. 客户端已发送FIN段,但直到此时仍未收到ACK。客户端收到FIN,而不是ACK
    从服务器端。客户将确认此FIN并转为“关闭”状态。客户在这里等待
    自己的FIN的ACK。收到ACK后,客户端将进入TIME-WAIT状态。
    在这里,我们遇到了First Case。

    因此,解决方案是(D)。

    这个问题的测验