in Computer Networks edited by
14,767 views
28 votes
28 votes
Consider a long-lived $\text{TCP}$ session with an end-to-end bandwidth of $1\; \text{Gbps}\; (=10^9$ bits-per-second$).$ The session starts with a sequence number of $1234$. The minimum time (in seconds, rounded to the closet integer) before this sequence number can be used again is _________.
in Computer Networks edited by
by
513 802 798
14.8k views

5 Comments

If every byte is numbered, then why are we multiplying 2^32 by 8? Shouldn’t we just take 2^32? Can someone please explain this?
1
1
That 8 (2^3) is part of conversion we are doing from bits to Bytes...It is done for bandwidth in this case
1
1
but we have extra 10 bits in options, so by that logic the answer should be 2^42*2^3*10^-9, correct me if am wrong..??

Kindly let all know what would be the default to take n this case if this question reappears..??
0
0
edited by
Total sequence numbers possible: $2^{32}$

Every byte is given a unique sequence number in TCP.

 

Consuming $2^{32}$ sequence numbers would take

$$\frac{2^{32}*8}{10^{9}}s$$

$$=> \frac{34359738368}{1000000000}$$

$$=> 34.36$$

$$=> 34$$
2
2

Subscribe to GO Classes for GATE CSE 2022

5 Answers

40 votes
40 votes
 
Best answer

in another words qsn is asking to find Wrap-around time

$T_{\text{minimum}}=T_{\text{wrap-around}} = \frac{2^{32}\ast 8}{10^9}=34.35\;\text{s}$

rounding to closest integer, we will get 34

Note: Answer has been Modified in the Final Answer Key from GATE officials and now it is in Range from $34$ to $35.$ 

edited by
by
20 84 459

5 Comments

I was confused between 34 and 35. Answered it 34.  After discussion I was thinking 35 which seems conceptually correct.  But again the word "Before" is giving me a hope that 34 is correct. :D
1
1
34 is the correct choice. Actual answer is 34.35 and nearest integer is 34.
5
5
Can anyone please explain in detail how to solve such tpe of question,i.e, without using any formula and arriving at the answer conceptually.
0
0
Did anyone challenge this answer key?
0
0
48 votes
48 votes

Since TCP is a byte stream protocol, every byte is numbered using a sequence number.

Every packet can loop around the internet for some period of time, which is the life time of the packet. Therefore, to ensure that there are no conflicting sequence numbers, we have to find out the Wrap Around Time of the sequence numbers after which the number is used again. 

Now this Wrap Around Time $T_{WAT}$ should be greater than LifeTime of the packet $T_{LT}$, i.e $T_{WAT} > T_{LT}$

We have $32$ bits for sequence number field in the TCP header.

Given Bandwidth = $10^9$ bps(bits per second)

$\therefore 10^9$ bits  can be sent out in  $1$ second

$\therefore 2^{32} * 8 $ bits  can be sent out in  $x$ seconds ($\because$ TCP is byte streamed)

$\therefore x = \frac{2^{32} * 8}{10^9} = 34.359 $ seconds

Since they have asked the closest integer, answer is $34$

P.S Initially I was convinced that answer should be $34$, however, if we consider the statement "The minimum time (in seconds, rounded to the closet integer) before this sequence number can be used again", then I might incline towards $35$, although official key says $34$.

by
11 17 25

5 Comments

Your answer is great...In which book the wrapping around of sequence numbers is mentioned?..I don't remember reading about this in ferouzan.
0
0
I understood the concept through various resources on tcp header itself.
1
1
edited by
Suppose if the sequence number of a segment is 200 and that segment contains (let say) 10 bytes.

Then, Ack send back by receiver is 210 and the next sequence number of the next segment is 210.  isn't ? So sequence number 201 to 209 is unused ?
0
0
This answer should definitely be the best answer.
0
0
Well defined 👍
0
0
8 votes
8 votes

Answer has been Modified in the Final Answer Key from GATE officials and now it is in Range from 34 to 35. 

http://gate.iitg.ac.in/?page_id=748

by
29 46 152
2 votes
2 votes
`remember tcp is byte(not bit) stream protocol

sequence number field of tcp header is 32bit, so only (2^32=4G) sequence number available so wrap time is after how much time we use same sequence number

bandwidth = 1Gbps = 10^9 / 8 Byte per second

10^9/8 sequence no. consume - 1 sec ( since bandwidth=10^9/8)

1 seq no. consume - 8 / 10^9 sec

2^32 seq no. consume - 2 ^ 32 * (8 / 10^9)  sec = 34.35  sec (approx 34 sec)
edited by
by
1 2 8
0 votes
0 votes
total seq number =2^32

wrap around time =2^32/(10^9/8)=(approx)34
by
1 19 26
Answer:

Related questions