Consider the situation where three nodes are interconnected
Consider the situation where three nodes are interconnected in series, that is, Node A is connected to Node B and Node B is connected to Node C. Suppose further that we wish to send a stream of messages from A to C, and that B cannot store data (except for small amounts for brief periods of time). Node A is connected to Node B by a sliding window link that has a bit rate of 100kbps, a message size of 1000 bits and a window size of 3. The propagation time of a bit (or packet) on this link is 20msec. For the connection between B and C, bits (or packets) have a propagation time of 5msec and uses a stop-and-wait protocol. Assuming the same message size, what should the bit rate of the link be?
Solution
Let us understand the constraint the question puts.
The question says that B cannot store data (it can store very less data for very brief periods)
Hence, it must transmit all data it receives (from A) to C immediately.
Formally speaking, B should be able to transmit 3 messages to receives from C, by the time A is sure has sent 3 messages and has received the first ACK.
Let us now take a look into the information provided in the question, and also derive some other information from it.
1)A and B use sliding window protocol. The message size is 1000 bits and the window size is 3
2)Transmission speed of the link between A and B is 100 kbps
Therefore, the time taken to transmit a message which is 1000 bits in length is
1000/(100 *1000) seconds
=10/1000 seconds
=10 msecs (1 msec=1/1000 seconds)
From the above three pieces of information, we can come up to a better understanding of the situation at hand.
Assume that at time=t0 , A begins transmitting a window. It will take a 10 msec to transmit 1 message and hence 30 msec to transmit 3 messages (entire window). At t1=30 msecs, it would have transmitted all messages in it’s window.
Also, at time t2=10 msec + propogation delay
=10 msec +20 msec
=30 msec
The first packet would have been completely transmitted and been received at B, and B will send an ACK. ACKs have negligible length and hence we assume that there is negligible transmission time for an ACK. The ACK from B will reach A 20 msecs later. Hence
at time t3= t2+ propagation delay+ transmission time
=30 msec+ 20 msec + 0 (+ transmission time is negligible)
=50 msecs
later we will have received the 1st ACK at A, and A can begin transmitting again.
B cannot hold data, and should have transmitted data it received from A
Now let us consider the situation between B and C.
Propogation delay=5 msec
Transmission speed= unknown. Let us assume transmission speed =R bits/second
Transmission time =1000 bits/R.
Between B and C we use the stop and wait ARQ, hence, B will wait for ACK from C after every packet.
Time taken for 1 message to be generated from B, propagated to C, acknowledged by C and ACK propagated to B= 1000 /R seconds + 5 msec + 0 + 5msec (transmission time for ACK is assumed to be 0)
=10 msec + 1000/R seconds
Hence time taken by B to transmit 3 messages= (10 msec + 1000/R) *3= 30 msec+ 3000/R
From the constraint we had arrived at in the beginning
We get
30 msec + 3000/R seconds =50 msec.
Solving this equation we get R= 150 *1000 bits per second or
R=150 kbps.
Hence we were able to calculate R, i.e the transmission speed between B and C, alternatively called the bit rate of the link between B and C.
R=150 kbps is our required answer.

