# Calculating Utilization in a Stop-And-Wait Protocol

So theres this question in my book and it doesn't state exactly how to go about actually calculating utilization anywhere, and i'm not being able to find any substantial information regarding everything i need to solve this question.(My mid term is next week).

Anyway, here's the question:

The distance from earth to a distant planet is approximately 9 × 10^10 m. What is the channel utilization if a stop-and-wait protocol is used for frame transmission on a 64 Mbps point-to-point link? Assume that the frame size is 32 KB and the speed of light is 3 × 10^8 m/s.

Suppose a sliding window protocol is used instead. For what send window size will the link utilization be 100%? You may ignore the protocol processing times at the sender and the receiver.

thanks to anyone who has any idea.

-
Stop and wait means that each frame is sent upon acknowledgement of the last frame. You are sending 32KB per frame, and you have a round trip defined by the distance and SoL. So you can work out how many frames you can send per second and so how much data per second, and this will be a fraction of 64Mbps. – Paul Oct 17 '12 at 1:20
so 32kb/64 MB thats 32/64000? – AlanTuring Oct 17 '12 at 1:25
32KB is bytes, 64Mbps is bits, so you need to convert. Also you obviously cannot ignore the distance and SoL. – Paul Oct 17 '12 at 1:27
oh right you are, so 32/8000, but what is the formula of utilization i should use? I have found various on the net, and there is no one such formula in the book – AlanTuring Oct 17 '12 at 1:29
You have to work it out. How long does it take to get the frame to the planet? – Paul Oct 17 '12 at 1:41

With any connection there is bandwidth and latency. The bandwidth defines how much data you can put onto a connection in a second - 64Mbps. Latency defines how long it takes that data to get to the other endpoint In this case, the other endpoint is a long way away, and data can travel at the speed of light maximum. So the latency is how long it take a frame to get there

If we simplify it, lets say the other end is 100 meters away, and it take 10 minutes to send a packet over 100 meters. Because we are using a stop and wait protocol, each packet will take 10 minutes to get to the other end, and the acknowledgement will take 10 minutes to get back to us, and we must wait for the response before the next packet can leave.

So that means we can only send 32KB every 20 minutes, even though our pipe can send 64Mbps.

32KB is 256kbits, and 20 minutes is 1200 seconds. So we can send 256kbits every 1200 seconds, or .213 kbps - this is a tiny fraction of 64Mbps - the connection would be 0.0003% utilised.

You can do the same calculations for the planet, and given the distance, any additional latency overheads such as encoding the packet or getting it into the transmitter can be considered negligable (this is implied by their lack of mention in the question).

-

For Stop & Wait Tx = L / B = (32 X 10^3 X 8) / (64 X 10^6) = 0.004Sec, Tp = D / V = (9 × 10^10 ) / (3 × 10^8) = 300 Sec => RTT = 2 * Tp = 600Sec then Utilization = 1 / (1 + 2a) = 1 / 1,50,001 = 6.667x10^-6 = 6.667x10^-4 % (where a = Tp / Tx = 75000)

For SWP if efficiency is 100% then Window Size (w) <= 2a + 1 then w <= 2 (75000) + 1 = 1,50,001 where a = Tp / Tx = 75000`

-