Log In
42 votes
A sender uses the Stop-and-Wait ARQ protocol for reliable transmission of frames. Frames are of size $1000$ bytes and the transmission rate at the sender is $80$ Kbps (1 Kbps = 1000 bits/second). Size of an acknowledgment is $100$ bytes and the transmission rate at the receiver is $8$ Kbps. The one-way propagation delay is $100$ milliseconds.

Assuming no frame is lost, the sender throughput is ________ bytes/ second.
in Computer Networks
edited by
Almost same problem given in K&Ross book

See below problem  from Kurose & Ross book,

 solution a and b from given link
Efficiency = tt / (tt +2*tp+tack) = 100 ms / 400 ms = 0.25

Throughput = Efficiency * bandwidth

                   = 0.25 * 80000/8 bytes per second

                  = 2500 bytes/ s

8 Answers

56 votes
Best answer

Answer is 2500 bytes per second.

Throughput is number of bytes we are able to send per second.

Calculate the transmission time of sender $T_{t(Send)},$ calculate one way propagation delay $T_p,$ Calculate the transmission time of receiver $T_{t\text{(Recv)}}$
We get $T_{t(Send)}$ here as $\dfrac{1}{10}$ seconds,

$T_p$ as $\dfrac{1}{10}$ seconds( given in question as $100\ ms$ ),
$T_{t\text{(Recv)}}$ as $\dfrac{1}{10}$ seconds.

So , total time taken to send a frame from sender to destination,

$=T_{t(Send)}+2\times T_p+T_{t\text{(Recv)}}=\dfrac{4}{10}$ seconds

So, we can send $\text{1000 bytes}$ (frame size) in $\dfrac{4}{10}$ seconds.
in $\text{1 second}$, we can send $\text{2500 bytes}$. So throughput is $\text{2500 bytes}$ per second.

edited by
acknowledement playing NO ROLE here?? any use of that?
Agreed @Anirudh
I am sorry sir but i feel pathetic of you. Let him answer what he is doing. Language has no relation with technology. Else it would have been colour and not color.
Why do we take 80Kbps as sender transmission time?.....because at receiver R=8Kbps so bottleneck bandwidth of the link should be 8kbps only.Please correct my concepts with this example.

@Sreyas S ,@Arjun, How is Tt_Recv = 0.1s. Do we always have to take Tt_Recv=Tt_Send ??

Won't Tt_Recv be calculated as (100*8)/(80*1000) ?

i am in a deep confusion here!! throughput=BW*utilization

when i solve like in this way i am getting 5000 .but why! someone tell me ,what should be the approach to do it in Bw*utilization method!

Efficiency = T/ (Tt +2*Tp+Tack) = 100 ms / 400 ms = 0.25

Throughput = Efficiency * bandwidth

                   = 0.25 * 80000/8 bytes per second

                  = 2500 bytes/ s

how did you calculate t_Rec????????
transmission time of receiver Tt_Recv  = Ack size / trans rate of rcvr = 100 Bytes / 8Kbps =800b/8000bps = 0.1sec.
#kaushik how did u calculate bandwidth ???
Sender's utilization is asked and BW is also given. In case the ack frame has to b considered, then we would have taken bottleneck bandwidth.

i'm new here and not understood the full answr...?

why we are dividing and multiplying wih 1000??

can any1 tell me the answr with use of term and full explanation....??

thnxxx advnce
Why we are considering 'Tt_Recv' ( transmission time of receiver) here????

I dont think that we include  transmission time of receiver while calculating  transmission time .


Please help!!!!!!!
Abhishek in most of the questions it is written that transmission time of receiver is negligible but here it is not mentioned so you have to go through with the exact formula. In derivation we neglect transmission time of receiver, processing delay at receiver, queuing delay so we get the formula as Transmission time/(Transmission time+2*propagation delay) but here they have mentioned size of acknowledgement packet so we have to add the transmission time of acknowledgement packet in denominator.
Hi Peeyush,
True that in most of the cases transmission time for receiver in most of the case is negligible so we take it as zero,
but now try to understand, in our question it is clearly given 100bytes of Ack it's not negligible at all.
so if A is a sender and B is receiver. A sends his frame of 1000 bytes and as soon as B receives it he will send ACK(100 bytes with bandwith of 8kbps).
so total time in one round travel would be as per question = Tranmission time for sender + tranmission time for receiver(Because he must send the ACK to sender) + propogation delay.
But acknowledgement packet size matter

Because of this tt of acknowledgement are taken in calculation of the total time
nice conversation

Good Approach @Kaushik.P.E.

41 votes
Answer is $2500$.

Sender transmission time $=\dfrac{1000\times 8}{(80\times 1000)}=0.1\text{ sec}=100\text{ ms}$

Receiver transmission time $=\dfrac{100\times 8}{(8\times 1000)}=0.1\text{ sec}=100\text{ ms}$

RTT $=2\times 100=200\text{ ms}$

So, Total time $=400\text{ ms}$

In $400\text{ ms},$ we send only $1000\text{ bytes}$ so,

Throughput $=\dfrac{1000}{(400\times 10^{-3})}=2500\text{ bytes / sec}$

edited by
Receiver transmission time =1000×8(80×1000)=0.1 sec=100 ms ?

Your answer is right but Receiver transmission time = (100 * 8 )/ (8 * 1000) = 0.1 sec = 100 ms.

Raju Kalagoni is right. 
Rest this answer is minimalistic and perfect.


i'm new here and not understood the full answr...?

why we are dividing and multiplying wih 1000??

can any1 tell me the answr with use of term and full explanation....??

thnxxx advnce
Why Receiver transmission time has been included??

I dont think that we include  transmission time of receiver while calculating  transmission time .


Please help!!!!!!!

@Mk Utkarsh

i am not getting one thing here that why we taking banwidth separately?

it should be min(sender capacity,receiver capacity)


Why are we multiplying by 8 in the numerator of Transmission time of Sender as well as Receiver??

7 votes
Throughput= datasize/total time

where total time= Transmission time of sender + Transmission timevof receiver + 2* PT

so, total time = 1/10+ 1/10+200×10^-3

                         = 4/10

Now, Throughput = 1000/0.4 =2500 bytes
6 votes
stop and wait arq

sender :

L= 1000 bytes

bandwidth = 80 Kbps

tf= 1000*8/80 * 1000=0.1sec


ack. L=100 bytes

bandwidth = 8 Kbps

tf= 100 * 8/8 *1000= 0.1 sec

propogation delay tp= .1 sec


senders throghput = efficiency * bandwidth

 total time = .1 + .1 + 2* .1 = .4 sec

senders tf = .1 sec

efficiency =  0.1/ .4=.25 = 25%


troghtput of sender = 25 % * 80 Kbps=20000 bps /8= 2500 bytes / sec
2 votes

Sender throughput= data/total time 

total time calculation ??

@Puja Mishra

time calculation is like transmission time + propagation time (of sender) which is 0.1 and 0.1 second, and transmission time and propagation time (of receiver) is also 0.1 and 0.1 second.

so total time needed (that is 1 RTT) is 0.1+0.1+0.1+0.1 = 0.4

Therefore, Throughput = Data/ Total time

which is calculated above as 2500 B.

1 vote
Message Tx Time = 100ms

ACK Tx Time = 100ms

RTT = 200ms

So, efficiency we will 0.25

then throughput would 2500Bytes / sec
here what is the useful time ? only transmission time (sending) or transmission time (sending)+Tt(recv)??
1 vote
Throughput = efficiency * bandwidth.

Sender's throughput = Sender's efficiency * Sender's bandwidth.


Sender's throughput  $=\frac{T_t}{T_t + T_{t'}+T_p+T_{p'}}*80Kbps$

=> $\frac{100msec}{100msec + 100msec+100msec+100msec}*80Kbps$

=> $\frac{1}{4}*80Kbps$

=> $20Kbps$

=> $\frac{20*1000}{8}Bytes/s$ (The question defines 1Kbps = 1000 bits per sec)

0 votes

The following figure explains how the answer is $2500Bps$



Related questions

70 votes
16 answers
For a host machine that uses the token bucket algorithm for congestion control, the token bucket has a capacity of $1$ $\text{megabyte}$ and the maximum output rate is $20$ $\text{megabytes}$ per $\text{second}$. Tokens arrive at a rate to sustain output at a ... machine needs to send $12$ $\text{megabytes}$ of data. The minimum time required to transmit the data is _____________ $\text{seconds}$.
asked Feb 12, 2016 in Computer Networks Sandeep Singh 16.3k views
24 votes
6 answers
An IP datagram of size $1000$ $\text{bytes }$arrives at a router. The router has to forward this packet on a link whose MTU (maximum transmission unit) is $100$ $\text{bytes }$. Assume that the size of the IP header is $20$ $\text{bytes }.$ The number of fragments that the IP datagram will be divided into for transmission is________.
asked Feb 12, 2016 in Computer Networks Sandeep Singh 6.6k views
38 votes
7 answers
The values of parameters for the Stop-and-Wait ARQ protocol are as given below: Bit rate of the transmission channel = $1$ Mbps. Propagation delay from sender to receiver = $0.75$ ms. Time to process a frame = $0.25$ ms. Number of bytes in ... efficiency (expressed in percentage) of the Stop-and-Wait ARQ protocol for the above parameters is _____________ (correct to $2$ decimal places).
asked Feb 14, 2017 in Computer Networks Arjun 13.4k views
25 votes
4 answers
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_________________.
asked Feb 14, 2015 in Computer Networks makhdoom ghaya 10.7k views