StreakPeaked· Practice

ExamsGATETechnical

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 possible?

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

Correct answer: If the client sends a packet, it may wait indefinitely.

Solution

If the server crashes and reboots, the old TCP connection state is lost. Without keepalive, the client may not detect the failure immediately, so a sent packet can remain unacknowledged for a long time and the client may wait indefinitely. A rebooted server does not automatically send FIN or RST for the old connection.

Related GATE Technical questions

⚔️ Practice GATE Technical free + battle 1v1 →