Question:

TCP client \( P \) successfully establishes a connection to TCP server \( Q \). Let \( N_P \) denote the sequence number in the SYN sent from \( P \) to \( Q \). Let \( N_Q \) denote the acknowledgement number in the SYN ACK from \( Q \) to \( P \). Which of the following statements is/are CORRECT?

Show Hint

TCP sequence numbers are chosen randomly to prevent sequence number prediction attacks, and acknowledgements indicate the next expected byte in the sequence.
Updated On: Jan 22, 2025
  • The sequence number \( N_P \) is chosen randomly by \( P \)
  • The sequence number \( N_P \) is always 0 for a new connection
  • The acknowledgement number \( N_Q \) is equal to \( N_P \)
  • The acknowledgement number \( N_Q \) is equal to \( N_P + 1 \)
Hide Solution
collegedunia
Verified By Collegedunia

The Correct Option is A

Solution and Explanation

Step 1: Sequence number \( N_P \).
The sequence number in the SYN segment is chosen randomly by the client \( P \) to ensure security and uniqueness for the TCP connection. Hence, Option (1) is TRUE.
Option (2) is FALSE because \( N_P \) is not always 0; it is chosen randomly for each new connection. Step 2: Acknowledgement number \( N_Q \).
In the SYN-ACK packet sent by the server \( Q \), the acknowledgement number \( N_Q \) acknowledges the receipt of \( N_P \).
The acknowledgement number \( N_Q = N_P + 1 \), indicating that the next byte expected by the server is \( N_P + 1 \). Hence, Option (4) is TRUE, and Option (3) is FALSE. Final Answer: \[ \boxed{(1) \text{ and } (4)} \]
Was this answer helpful?
0
0

Questions Asked in GATE CS exam

View More Questions