+43 votes
7.7k views

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

asked
edited | 7.7k views
+13

Isn't answer should be 88.88 X 10bps?

0

Ur Rght

option c is correct

since the solution is

Throughput=total size/total time

=1500*4/(60+2*170)*10^-6

=6000/400*10^-6

=15*10^6 Bytes/sec

0
in the options they have used bps(small b which bits/sec) so what should we consider it in exam bytes or bits /sec
0
What happen when half duplex is given.
0
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.
0
@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.
0
if they ask us to consider ack also and the link is half duplex

how this effects answer?
+6

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). "   https://en.wikipedia.org/wiki/Sliding_window_protocol

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

+4
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.
0
@Bikram sir according to you

If I calculate the throughout it is 4MB/sec

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

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

0

Answer should be 7.69 * 106

0

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

+84 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}.$
answered by Active (3.4k points)
edited
+6
This seems to me a more sensible answer than the currently accepted one.
0
can u plzz tell me ahat will b throughput for half duplex ??
+1
Is the sliding window protocol is even possible for half duplex?
0
well explained concept.....thnks
0
best way of explaination....great job :)
+3

Throughput

2*bandwidth*Tp=for full duplex link

bandwith*tp=for half duplex

+6
@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
+3

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 https://en.wikipedia.org/wiki/Computer_data_storage#Capacity

+1

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 )

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

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$

0
Can anybody explains the concept of full duplex and also why we do not consider the acknowledgement time?
0
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
+3

...

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

@Pascua,

$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$

+1
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$
+41 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}$
answered by Junior (825 points)
edited
0

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.

0

@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???

+1

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

0
Ok so whatever be the window size means what ever no of packet we sent it will always TT+2PT
0
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
0
@rahul

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

Please check this once.
0
which other books?
+1
@rahul

Just read discussions between us in above comments...

RTT have no worldwide standard definition..in 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 !
0

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

# GATE2008-IT-64

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

0
@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 us.so troughput =5000/450  ×10^6 =》11.11×10^6 option b.
answered by Active (3.3k points)
0
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 us.so 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
answered by Junior (907 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

reasons:

* 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

and

B     inficates bytes...👍
answered by (11 points)
Answer:

+17 votes
6 answers
1
+23 votes
5 answers
2
+29 votes
5 answers
3
+1 vote
1 answer
4
+26 votes
6 answers
5
+38 votes
3 answers
6
+18 votes
2 answers
7