Suppose you are asked to design a new reliable byte-stream transport protocol…
2023
Suppose you are asked to design a new reliable byte-stream transport protocol like TCP. This protocol, named myTCP, runs over a 100 Mbps network with Round Trip Time of 150 milliseconds and the maximum segment lifetime of 2 minutes.
Which of the following is/are valid lengths of the Sequence Number field in the myTCP header?
Answer: B. 32 bits; C. 34 bits; D. 36 bits — ConceptIn a byte-stream protocol, a k-bit sequence-number field labels bytes modulo 2k. To prevent a delayed duplicate from being accepted after the numbers…
- A.
30 bits
- B.
32 bits
- C.
34 bits
- D.
36 bits
Attempted by 54 students.
Show answer & explanation
Correct answer: B, C, D
Concept
In a byte-stream protocol, a k-bit sequence-number field labels bytes modulo 2k. To prevent a delayed duplicate from being accepted after the numbers wrap, the sequence-number space must cover more bytes than the sender can transmit during the maximum segment lifetime.
Thus the governing condition is 2k > R × M, where R is the byte rate and M is the maximum segment lifetime. RTT affects the window needed to keep the path busy, but it does not change this wraparound-within-MSL condition.
Application
Apply the sequence-space condition to myTCP.
Convert the link rate to bytes per second: R = 100×106 ÷ 8 = 12.5×106 bytes/s.
Convert the maximum segment lifetime: M = 2 minutes = 120 seconds.
Compute the bytes sent during one MSL: R × M = 12.5×106 × 120 = 1.5×109 bytes.
Compare powers of two: 230 = 1,073,741,824 < 1.5×109, while 231 = 2,147,483,648 > 1.5×109. Therefore the minimum safe integer length is 31 bits.
Among the offered values, 32 bits, 34 bits, and 36 bits are at least 31 bits; 30 bits is below the minimum.
Cross-check
Using wrap time directly, 230 ÷ (12.5×106) ≈ 85.9 seconds, which is shorter than 120 seconds.
For 32 bits, 232 ÷ (12.5×106) ≈ 343.6 seconds, which exceeds 120 seconds; 34-bit and 36-bit spaces take still longer to wrap.
Result
The valid offered sequence-number lengths are 32 bits, 34 bits, and 36 bits.