1,765 views
Consider the data transfer using $\text{TCP}$ over a $1 \; \text{Gbps}$ link. Assuming that the maximum segment lifetime $\text{(MSL)}$ is set to $60 \; \text{seconds},$ the minimum number of bits required for the sequence number field of the $\text{TCP}$ header, to prevent the sequence number space from wrapping around during the $\text{MSL}$ is ________________.

33 bits.

As in 60 seconds , 60Gb of data will get transferred which in turn is about 7.5GB and can be represented in 33 bits

### 1 comment

to prevent the sequence number space from wrapping around during the MSL is=$\ln (BW*sement lifetime)$

but carefully see bandwidth is given in bit per sec.

so first convert bandwidth into byte because we have to find no of bit required for (2KB IS 11bit )

that means the unit of (  bw*time is byte if find no bit)

Given Bandwidth = $1Gbps$, MSL = $60 sec$.

Now, in $1$ sec, amount of data consumed = $1Gb$

Hence. in $60 sec$, amount of data consumed = $60Gb$ $\implies$ $(60Gb/8)$ $\implies$ $7.5GB$

Therefore, to prevent the sequence number space from wrapping around during the MSL, we need $7.5GB$ of data which can be represented with:-

$\lceil log(7.5 * 2^{30}) \rceil$ $\implies$ $\lceil log(7.5) + log(2^{30}) \rceil$ $\implies$ $\lceil 2.9+30 \rceil$  $\implies$ $33 bits$ sequence number.

Nice
the way you take B=2^30 it is wrong this value we take we we are dealing with data not bandwidth

when we deal with bandwidth it take B = 10^9

We re dealing with number of bits in sequence number data, so taking 2^30 is not wrong here.

33 bits.

WAT = $2^{32}$/x (x is bandwidth which should be in Bytes/sec).
Value of x = $10^{9}$ bits/sec  = $10^{9}/8$  B/sec.

So, WAT = $2^{32} * 8 / 10^{9}$ =  34.35 sec.
And according to question the lifetime of TCP segment is set to 60sec.

It can easily be observed that : 2 * WAT ( 68.70 ) > TCP Lifetime ( 60 sec ).
For WAT already calculated using 32 bits and if we multiply it by 2 this will give 33 bits.