edited by
26,073 views
36 votes
36 votes
Suppose that the stop-and-wait protocol is used on a link with a bit rate of $64$ $\text{kilobits}$ per second and $20$ $\text{milliseconds}$ propagation delay. Assume that the transmission time for the acknowledgment and the processing time at nodes are negligible. Then the minimum frame size in bytes to achieve a link utilization of at least $50$ $\text{%}$ is_________________.
edited by

6 Answers

Best answer
67 votes
67 votes

Link Utilization $=\dfrac{\text{Amount of data sent}}{\text{Max. amount of data that could be sent}}$

Let $x$ be the frame size in bits.

In stop-and-wait protocol, once a frame is sent, next frame won't be sent until ACK is received.

Time for this,

RTT $=\text{Propagation delay for frame + Transmission time for frame}$
$\qquad\text{+ Propagation delay for ACK + Transmission time for ACK}$

$= 20\ \text{ms} +\dfrac{ x }{64\ \text{ms}}+20\ \text{ms} + 0$ (as given in question)

$=\left(40 +\dfrac{x}{64}\right)\ \text{ms}$.

Amount of data sent during RTT $= x$

Max. amount of data that could be sent $ = \left(40 +\dfrac{x}{64}\right)\times 64=2560+x\ \text{bits}$.

So, link utilization,$0.5 = \dfrac{x}{(2560 + x)}$

$x= 2560\ \text{bits} = 320\ \text{bytes}$.


Alternative Approach ,

Link utilization or efficiency of stop and wait protocol is , 

efficiency $=\dfrac{T_x}{(T_x + 2T_p)}=\dfrac{1}{\left(1+2\left(\dfrac{T_p}{T_x}\right)\right)}=\dfrac{1}{(1 +2a)},$ 

where , Transmission time $=T_x=\dfrac{\text{packet size}}{\text{bandwidth}}=\dfrac{L}{B}$

Propagation time$=T_p=\dfrac{\text{distance}}{\text{speed}}=\dfrac{d}{v},$ and
$a=\dfrac{\text{Propagation time}}{\text{Transmission time}}=\dfrac{T_p}{T_x},$

Now for $50\%$ efficiency ,

efficiency $=\dfrac{1}{(1+2a)}$

$50\%=\dfrac{1}{(1+2a)}$

$\dfrac{1}{2}=\dfrac{1}{(1 +2a)}$

$2=(1+2a)$ 

$2-1=2a$

$1=2\left(\dfrac{T_p}{T_x}\right)$

$T_x =2\times T_p$

$\dfrac{L}{B}=2\times 20\ \text{ms}$ 

$L=2\times 20\ \text{ms} \times B=2\times 20\times 10^{-3}\times 64\text{ k bits}$

$  =2\times 20\times 10^{-3}\times 64\times 10^3\ \text{bits}$

$L=40\times 64\ \text{bits} = 40\times \dfrac{64}{8}\ \text{bytes} = 40\times 8\ \text{bytes} = 320\text{ bytes (answer)}$

edited by
11 votes
11 votes
for a stop and wait ARQ we send only a single packet at once.

$$\begin{align*} \eta &= \frac{TT}{TT+2\times PT} \\ \frac{50}{100}&= \frac{f/64k}{f/64k+2\times 20ms}\\ \frac{f}{64}&=40\\ f &= 2560bits\\ &= 2560/8\\ &= 320Bytes \end{align*}$$
3 votes
3 votes

let x be Bandwidth delay product = $2*T_{propagation}*BW$

$\Rightarrow$ Bandwidth delay product = $2*20*10^{-3}*64*10^{3}$ = $2560 bits$

Now,Let y be the length of packet.

$\frac{y}{x} >= \frac{1}{2}$

$\Rightarrow$ $y >= \frac{2560}{8*2}$Bytes

Therefore length of packet should be atleast $160 bytes$.

We end up with a wrong answer if include Transmission delay in RTT! But Forouzan has not included Transmission delay in his examples. Moreover if you don't include Transmission delay in RTT you will come up with 16 as an answer for the question in the following link which is wrong.  (Same year question). This is ambiguity.

https://gateoverflow.in/8056/gate2015-2_8

edited by
2 votes
2 votes

Link Utilization (efficiency) = {Throughput/Bandwidth} or {usefull time/ total time}

here link utilization is 50% i.e   ½  given in question

usefull time is tf(transmission delay) and total time is (tf(transmission delay )+2tp(round trip time)).

½ = tf/(tf + 2tp)

on evaluation above we get 

tf +2tp = 2tf

tf = 2tp   , and we know that tf = length / bandwidth,

length/bandwidth = 2tp

length = 2tp * Bandwidth

length = 2 * 20 ms * 64kilobits persec

length = 2560 bits

length = 2560/8 = 320 bytes.

Answer:

Related questions