21,192 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

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.

@Bikram sir What is the maximum amount of data in bits or bytes we can send for this question?
edited

How half & full duplex system affects the SR protocol?i am not getting this. @Pranavpurkar

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$

simple , easy and good approach
@Ayush’s method is the best I think, but I had a doubt in the above answer why we have considered only 1000B for computing the bandwidth and not 5000B since the window size is 5 we can send 5000B at once
See in the above answer for calculating bandwidth if we are considering 1000 bytes then along with that we are also considering transmission time for only one packet that is 50 microseconds.
If you want to consider all 5000 bytes that is fine you can consider but along with that you should also consider transmission time for all the five packets i.e. 50×5(250 micro seconds). So again bandwidth will be same as above
Bandwidth = length / transmission time

= 5000/ 250 = 20 × 10^6 bytes per second
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}$

@rahul

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 !

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

@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.
5000 bytes are being sent in 200 + 50×5 us.so troughput =5000/450  ×10^6 =》11.11×10^6 option b.
by

*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.

@nitesh_scorpio is it really using pipelining?

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