TCP client P successfully establishes a connection to TCP server Q. Let…

2024

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?    

  1. A.

    The sequence number \(N_P\) is chosen randomly by P

  2. B.

    The sequence number \(N_P\) is always 0 for a new connection

  3. C.

    The acknowledgement number \(N_Q\) is equal to \(N_P\)

  4. D.

    The acknowledgement number \(N_Q\) is equal to \(N_P\) + 1

Attempted by 101 students.

Show answer & explanation

Correct answer: A, D

Key idea: TCP picks an initial sequence number for each side and a SYN consumes one sequence number.

  • Initial sequence number is chosen randomly by the client (ISN). This prevents old-packet confusion and improves security.

  • The server's acknowledgement in the SYN-ACK equals the client's ISN + 1 because the SYN consumes one sequence number. Example: if N_P = 1000, then N_Q = 1001.

A video solution is available for this question — log in and enroll to watch it.

Explore the full course: Gate Guidance By Sanchit Sir