Bird
Raised Fist0
Computer Networksknowledge~20 mins

TCP connection termination (four-way handshake) in Computer Networks - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
TCP Termination Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding the TCP four-way handshake steps

Which sequence correctly describes the four steps in the TCP connection termination process?

AFIN from server, ACK from client, SYN from client, ACK from server
BFIN from client, ACK from server, FIN from server, ACK from client
CACK from client, FIN from server, ACK from server, FIN from client
DSYN from client, SYN-ACK from server, ACK from client, FIN from server
Attempts:
2 left
💡 Hint

Remember the termination starts with a FIN to signal closing.

📋 Factual
intermediate
1:30remaining
Role of ACK in TCP connection termination

What is the role of the ACK packet in the TCP four-way handshake termination?

AIt carries data to keep the connection alive
BIt initiates the connection termination
CIt resets the connection immediately
DIt acknowledges receipt of the FIN packet from the other side
Attempts:
2 left
💡 Hint

Think about what happens after a FIN is sent.

🔍 Analysis
advanced
2:30remaining
Why does TCP use a four-way handshake instead of a three-way handshake for termination?

Which explanation best describes why TCP uses a four-step process to terminate a connection?

ABecause each side must independently close its sending channel, requiring separate FIN and ACK packets
BBecause the connection must be reset twice to ensure no data loss
CBecause the server always closes the connection first, then the client follows
DBecause the handshake includes an extra SYN packet to confirm termination
Attempts:
2 left
💡 Hint

Consider the full-duplex nature of TCP connections.

❓ Comparison
advanced
2:30remaining
Difference between TCP connection termination and reset

Which statement correctly contrasts TCP connection termination with a TCP reset (RST)?

ABoth termination and reset use the same four-way handshake process
BTermination resets the connection immediately; reset uses a four-way handshake
CTermination uses a four-way handshake to close gracefully; reset immediately aborts the connection without handshake
DReset is used only to establish connections; termination is for closing
Attempts:
2 left
💡 Hint

Think about graceful vs abrupt connection closing.

❓ Reasoning
expert
3:00remaining
State of TCP connection after first FIN and ACK exchange

After the first FIN is sent by one side and the other side replies with an ACK, what is the state of the connection on the side that sent the FIN?

AIt is in FIN-WAIT-2 state, waiting for the other side's FIN
BIt is in FIN-WAIT-1 state, waiting for the other side's FIN
CIt is CLOSED because it finished termination
DIt is ESTABLISHED because connection is still open
Attempts:
2 left
💡 Hint

Recall the TCP state transitions during termination.

Practice

(1/5)
1. What is the main purpose of the TCP four-way handshake during connection termination?
easy
A. To allow both sides to close their sending channels independently
B. To establish a new connection between two hosts
C. To encrypt data before transmission
D. To synchronize sequence numbers at the start of communication

Solution

  1. Step 1: Understand TCP connection termination

    TCP uses a four-way handshake to close connections, allowing each side to finish sending data independently.
  2. Step 2: Identify the purpose of the handshake

    This process ensures no data is lost and both sides agree to close the connection properly.
  3. Final Answer:

    To allow both sides to close their sending channels independently -> Option A
  4. Quick Check:

    Four-way handshake = independent close [OK]
Hint: Four steps mean both sides close separately [OK]
Common Mistakes:
  • Confusing termination with connection setup
  • Thinking handshake encrypts data
  • Assuming simultaneous close in TCP
2. Which of the following is the correct sequence of TCP flags used in the four-way handshake for connection termination?
easy
A. FIN, SYN, ACK, FIN
B. SYN, ACK, FIN, RST
C. ACK, SYN, FIN, ACK
D. FIN, ACK, FIN, ACK

Solution

  1. Step 1: Recall TCP termination flags

    The four-way handshake uses FIN and ACK flags to close the connection properly.
  2. Step 2: Identify correct flag order

    The sequence is FIN from one side, ACK from the other, then FIN from the second side, and finally ACK from the first side.
  3. Final Answer:

    FIN, ACK, FIN, ACK -> Option D
  4. Quick Check:

    Termination = FIN then ACK pairs [OK]
Hint: Termination uses FIN and ACK flags in pairs [OK]
Common Mistakes:
  • Including SYN or RST flags in termination
  • Mixing order of flags
  • Assuming simultaneous FIN flags
3. Consider this sequence of TCP flags exchanged between Host A and Host B during connection termination:
A sends FIN
B replies ACK
B sends FIN
A replies ACK
What is the state of the connection after Host A sends the final ACK?
medium
A. Connection is fully closed
B. Connection is half-closed, waiting for more data
C. Connection is still established
D. Connection is reset abruptly

Solution

  1. Step 1: Analyze the four-way handshake steps

    Host A sends FIN, B acknowledges, B sends FIN, and A acknowledges. This completes the four steps.
  2. Step 2: Understand connection state after final ACK

    After the last ACK, both sides have agreed to close, so the connection is fully closed.
  3. Final Answer:

    Connection is fully closed -> Option A
  4. Quick Check:

    Final ACK means full close [OK]
Hint: Final ACK completes termination [OK]
Common Mistakes:
  • Thinking connection stays half-open after final ACK
  • Confusing reset with normal close
  • Assuming data can still be sent
4. A TCP connection termination sequence is observed as:
Host A sends FIN
Host B sends FIN
Host A sends ACK
Which step is missing or incorrect in this sequence?
medium
A. Host B should send RST instead of FIN
B. Host A should send SYN before FIN
C. Host B should send ACK before sending FIN
D. Host A should send FIN twice

Solution

  1. Step 1: Review correct four-way handshake order

    After Host A sends FIN, Host B must acknowledge (ACK) before sending its own FIN.
  2. Step 2: Identify missing ACK

    The sequence shows Host B sending FIN without ACKing Host A's FIN first, which is incorrect.
  3. Final Answer:

    Host B should send ACK before sending FIN -> Option C
  4. Quick Check:

    ACK always precedes FIN from other side [OK]
Hint: ACK must come before FIN from other side [OK]
Common Mistakes:
  • Skipping ACK step
  • Confusing SYN with FIN
  • Thinking RST is normal close
5. During a TCP connection termination, if Host A sends a FIN and immediately closes its socket without waiting for the ACK from Host B, what is the likely outcome?
hard
A. Host B will retransmit FIN until it receives ACK, causing delays
B. The connection will close cleanly without issues
C. Host A will receive data after closing the socket
D. Host B will reset the connection immediately

Solution

  1. Step 1: Understand proper termination behavior

    In TCP, after sending FIN, the application closes the socket, but the TCP stack manages states like FIN_WAIT_1, FIN_WAIT_2, and TIME_WAIT independently.
  2. Step 2: Analyze consequence of immediate close

    The stack processes incoming ACK and FIN from Host B, sending responses as needed, so the connection closes cleanly without issues.
  3. Final Answer:

    The connection will close cleanly without issues -> Option B
  4. Quick Check:

    Stack handles states after socket close [OK]
Hint: TCP stack handles states post-socket close [OK]
Common Mistakes:
  • Thinking immediate close causes reset by peer
  • Expecting retransmissions without ACK loss
  • Confusing socket close with immediate connection abort
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard