The GATE Grind

GATE 2021 CS – Question 54

Computer Networks · TCP: Flow Control, Congestion Control, Socket API · 2 marks · Multiple select

A TCP server application is programmed to listen on port number $P$ on host $S$. A TCP client is connected to the TCP server over the network. Consider that while the TCP connection was active, the server machine $S$ crashed and rebooted. Assume that the client does not use the TCP keepalive timer. Which of the following behaviors is/are possible?

  1. If the client was waiting to receive a packet, it may wait indefinitely.
  2. The TCP server application on $S$ can listen on $P$ after reboot.
  3. If the client sends a packet after the server reboot, it will receive a RST segment.
  4. If the client sends a packet after the server reboot, it will receive a FIN segment.

Practise this question in The GATE Grind →

Show answer and explanation

Correct answer: (A) If the client was waiting to receive a packet, it may wait indefinitely.; (B) The TCP server application on $S$ can listen on $P$ after reboot.; (C) If the client sends a packet after the server reboot, it will receive a RST segment.

Explanation

Without keepalive, a receive-waiting client is never told of the crash. The server can re-listen on P after reboot. A packet sent to the rebooted host, which has no connection state, elicits a RST, not a FIN.