The Gateway to Computer Science Excellence
+38 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 by Loyal (7.2k points)
edited by | 8.4k views
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

7 Answers

+52 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.

by Active (1.9k points)
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
+38 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}$
by Junior (701 points)
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
by (461 points)
+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
by Active (4k points)
+2 votes

Sender throughput= data/total time 

by Junior (687 points)
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
by Junior (553 points)
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)

by Loyal (6.3k points)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,737 questions
57,284 answers
104,863 users