The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+44 votes

Host $A$ is sending data to host $B$ over a full duplex link. $A$ and $B$ are using the sliding window protocol for flow control. The send and receive window sizes are $5$ packets each. Data packets (sent only from $A$ to $B$) are all $1000$ bytes long and the transmission time for such a packet is $50$ $μs$. Acknowledgment packets (sent only from $B$ to $A$) are very small and require negligible transmission time. The propagation delay over the link is $200$ $μs$. What is the maximum achievable throughput in this communication?

  1. $7.69 \times 10^6$ Bps

  2. $11.11 \times 10^6$ Bps

  3. $12.33 \times 10^6$ Bps

  4. $15.00 \times 10^6$ Bps

in Computer Networks by Veteran (52.1k points)
edited by | 8k views

Isn't answer should be 88.88 X 10bps?


Ur Rght

option c is correct

since the solution is 

Throughput=total size/total time



              =15*10^6 Bytes/sec

in the options they have used bps(small b which bits/sec) so what should we consider it in exam bytes or bits /sec
What happen when half duplex is given.
In case of half duplex the acknowledgements would need to be sent on a different channel. That will not affect throughput in this case since ack is considered to be negligible.
@anirudh @saurabh rai

I think all 5 packet reach to receiver within 250 microseconds so in another 200 microseconds ack trevel alone so there is no effect in throughput even in half duplex.
if they ask us to consider ack also and the link is half duplex

how this effects answer?

Yashaswini Vanaja   and @ Prashant.

 Wiki says  " For the highest possible throughput, it is important that the transmitter is not forced to stop sending by the sliding window protocol earlier than one round-trip delay time(RTT). "

So that means  though the connection is full duplex, next window will be sent only after acknowledgement will be received by sender because it is following  Sliding Window protocol which has independent acknowledgements.

so you have to use RTT here and RTT = 2 * prop time + Transmission Time = 2 * 200 + 50 = 450 

 If it is half duplex  answer will be half of this answer  .

For throughput .

2*bandwidth*Tp = for full duplex link 

bandwith*tp = for half duplex 

Throughput in half Duplex = ( Throughput in Full duplex / 2 )

So channel type (means half duplex or full duplex) will just affect capacity or Throughput.. It does Not effect transmission time nor bandwidth.
@Bikram sir according to you

If I calculate the throughout it is 4MB/sec

Please correct me if I am wrong
what is the correct answer of this question/

The correct answer is 88.88 X 10bps(bit per sec) or 11.11X106 Bps(Bytes per sec).

The correct Option is,(B) 11.11X106 Bps


Answer should be 7.69 * 106


In bits it is 88.88 *106. Here the answers given are in bytes so we have to divide it by 8 to get actual answer.

Please correct me if i am wrong.

5 Answers

+89 votes
Best answer
We need the maximum throughput, and for that we need to send as much data
as possible to fully utilize the bandwidth.

so, maximum packets that can be sent $=1 + 2a = 9$ (after calculation) for $100\%$ efficiency.

But we have a window size of 5 only, so we can send only $5$ packets at max.

Efficiency $=\dfrac{5}{9}$

Now, $\dfrac{A}{Q},$ Bandwidth of the channel $(BW) =\dfrac{L}{T_t}$
$=\dfrac{1000}{(50\times 10^{-6})}$

$= 20\times 10^{6} \text{bytes/sec}.$

So, max. throughput achievable $=\text{Efficiency$\times $BW}$

$=\dfrac{5}{9}\times 20\times 10^{6}= 11.11\times 10^{6} \text{bytes/sec}.$

Correct Answer: $B$
by Active (3.4k points)
edited by
This seems to me a more sensible answer than the currently accepted one.
can u plzz tell me ahat will b throughput for half duplex ??
Is the sliding window protocol is even possible for half duplex?
well explained concept.....thnks
best way of explaination....great job :)

saurabh rai 


2*bandwidth*Tp=for full duplex link

bandwith*tp=for half duplex 

@Bikram sir

 if capacity of link is asked in question then it will be

2*bandwidth*Tp=for full duplex link

bandwith*tp=for half duplex

Yes, you are correct

Capacity = 2*bandwidth*Tp  for Full duplex link  and bandwith *tp=for half duplex link.... this is correct .

 Here we need to found Throughput ..  we consider capacity = throughput 

Maximum throughput is generally same as digital bandwidth capacity.

the term capacity is used many places in different way..throughput is one of them


can u plzz tell me ahat will b throughput for half duplex ?

The value of Throughput in Half duplex is Half of the value we found in Full duplex.

Throughput in half Duplex = ( Throughput in Full duplex / 2 )

What will be the change in the calculation part, if it is given the half duplex link?

Anwer should be 7.69 $\times$ 106 bps

Total time = 50 + 200(till this time all packet will come one link i.e. 50 $\times$ 4) + 200 for Ack till 4th paket + 200 for 5th packet = 650 micro sec

since TT given for one packet.

Throughput = $\frac{5 \times 1000}{650 \times 10^{6}} = 7.69 \times 10^{6} Bps$

Can anybody explains the concept of full duplex and also why we do not consider the acknowledgement time?
In the question Full duplex is given why we take 1+2a instead of 1+a because full duplex is given we consider only one way propagation time

Plz  help


Thqqq sooo much bro
I did not understand the line: (1 + 2a) = 9 (after calculation). What is the calculation? And what is a?
a=propagation delay / transmission delay


$1+2a  = \text{Maximum packet that can be transmitted in total cycle time}$

$\text{where, a} = \dfrac{T_{p}}{T_{t}} \\ T_p = {Propagation Delay} \\ \& \quad T_t = \text{Transmission Delay}$

Here, propagation delay = $200 \mu s = 200 \times 10^{-6}s$

Transmission delay = $50 \mu s = 50 \times 10^{-6}$

So, $a = \dfrac{200 \times 10^{-6}}{50 \times 10^{-6}} \\ = 4$

$\therefore 1+2a $ $= 1+ 2 \times 4 \\ = 9$

Throughput measures how much amount of data you were able to send in how much time.

Total data sent is $5 \times1000B$

Total Cycle time=$50+200+200=450 \mu s$

Throughput=$\frac{5000}{450 \mu s}=11.11\times 10^6Bps$
+43 votes
I think options are given in bytes per sec instead of bits per sec.

Transmission time $=50 \text{ micro sec}$
Propagation time $=200\text{ micro sec}$

RTT$= 50+2\times 200=450 \text{ microsec}$

(Receiver can send an $\text{ACK}$ as soon as the first packet is received)

Total number of bits transmitted before first $\text{ACK}$ is received,
$=1000\times 5\times 8\text{ bits}=40000\text{ bits}$

After first $\text{ACK}$ is received, the same cycle of action repeats.

So, Throughput$=\left(\dfrac{40000}{450}\right)\times10^{6} \text{ bits}$

$= 88.88\times 10^{6} \text{bits per sec}$

$=11.11\times 10^{6}\text{ bytes per sec}$
by Junior (795 points)
edited by


For your first doubt, yes your assumption is correct. 

Read my above comments, we discussed this issues..


For your 2nd doubt :

The send and receive window sizes are 5 packets each

Yes, your reasoning is correct..

though the connection is full duplex, next window will be sent only after acknowledgement will be received by sender because it is following  Sliding Window protocol which has independent acknowledgements.

So the main point is : Sender is waiting for cumulative ack.


@Bikram Sir, I have a doubt in the line which I have written 

That;s why it require TT of data, and in this TT it sends all 5 packets,

if it is sending 5 packets then TT should be 5*TT of each packet as given in the question

the transmission time for such a packet is 50 μs

if it is so then we should get (5* 50 + 2*200 ) micro seconds but why isn't so???



This is very simple concept. What i have learnt from taenenbaum is that 

Maximum sender window is the number of frames that will be sent in TT+2PT or TT+RTT

So 5 frames can be sent in 50+2*400 =450.

You can read this from tanenbaum for clarification

Ok so whatever be the window size means what ever no of packet we sent it will always TT+2PT
Yes. Maximum sender window size =Number of frames in 2*bandwidth +1 = Number of frames in TT+RTT because in one RTT is same as 2*BD and one TT is time for one frame so all are same

the definition of RTT is not 2*PT , Its only in tanenbaum, but other books quote it differently.

Please check this once.
which other books?

Just read discussions between us in above comments...

RTT have no worldwide standard Kurose you can check it may be different there..

in above discussions we discuss what actually RTT is and in which cases what value of RTT should we use !

can't we follow the approach, throughput=bytes sent(5*50) / total bytes that can be sent(5*50+RTT*Bandwidth )   in the way it has been followed in the solution to


by Danish

I am confused where we are supposed to add the Transmission time for all sent packets or single packet to compute the efficiency , Please help me in that

@Bikram Sir,

One doubt. If the transmission would have happened both A->B and B->A at the same time in this full duplex,then answer would be 22.22×10^6bytes/sec.
+6 votes
5000 bytes are being sent in 200 + 50×5 troughput =5000/450  ×10^6 =》11.11×10^6 option b.
by Active (3.3k points)
adding some more clearification

*all packets are transmitting simultaniouusly

fist packet          50+50+50+50+50  
second packet          50+50+50+50+50  
Third Packet              50+50+50+50+50  
Fourth packet                  50+50+50+50+50  
Fifth packet                    50+50+50+50+50  //50 for packet transmission and 200 for propagation delay
(1+2+3+4+5)packet   50+50+50+50+50+50+50+50+50  =450*10^-6(mue second)


5000 bytes are being sent in 200 + 50×5 troughput =5000/450  ×10^6 =》11.11×10^6 option b.
+1 vote
In this question we need not to add acknowledgement time of last packet because here for throughput they are assuming that this tramsmission is continuous for indefinite time(It is a real system based question)

so Tt=250 micro sec

  Tp=200 microsecond

  N= 5000 bytes

so throughput= 5000/450 microsec = b option
by Junior (891 points)
0 votes
we know, throughput = (total data size)/(Tf + 2Tp)

given: no. of packets= 5

           packet size = 1000 bytes

so,total data size = 5 * 1000 = 5000 bytes

now, Tf = 5*50 microsec (as, total 5 packets are there and each takes 50 microsec)

here, actually 2Tp = 200 microsec is given


* it says propogation time over the link means it covers the ack delay as well.

* it's also given in the question that Tf(ack) is negligible....these points sud b kept in mind while solving this ques.

now, throughput = 5000/(250+200) = 11.11 * 10^6 bytes per sec.

one more point i wud clear here...u guys look confused in bits and bytes....

b     indicates bits


B     inficates bytes...?
by (11 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
49,807 questions
54,729 answers
79,913 users