Analyze TCP three-way handshake states
Company: Bitkernel
Role: Software Engineer
Category: Software Engineering Fundamentals
Difficulty: medium
Interview Round: Take-home Project
During TCP connection establishment (three-way handshake), which of the following descriptions is correct?
Options:
- A. The server enters state `SYN_SENT` after waiting 2MSL time upon receiving the client's SYN segment.
- B. The server enters state `SYN_RCVD` after receiving the client's ACK segment.
- C. When the client is in `ESTABLISHED` state, the server may still be in `SYN_RCVD` state.
- D. If the server does not receive the client's final ACK segment, it directly closes the connection after waiting 2MSL time.
Quick Answer: This question evaluates understanding of TCP connection establishment and the TCP state machine, testing recognition of correct state transitions during the three-way handshake and related transport-layer behavior.