6
$\begingroup$

Before I ask my doubt I would like to state that problem which led me to my doubt. It can also serve as a good example scenario.

A $20\ Kbps$ satellite link has a propagation delay of $400\ ms$. The transmitter employs the "Sliding Window protocol" scheme with Window Size set to $10$. Assuming that each frame is $100$ bytes long. What is the link utilization of transmission medium.

From the question we can make out that Window Size $(WS)$ is $10$, transmission time $(T_t)$ of a frame is $40\ ms$ , and propogation time $(T_p)$ is $400\ ms$.

Now, the solution that book proposes simply states that Link Utilization $(LU)$ for sliding window protocol can be calculated as

$$LU = \frac{WS*T_t}{T_t + 2*T_p}$$

That's where I'm facing the problem. From what I have learned about Link utilization

It is the fraction of total time the host was busy in transmission of data. In other words, it is the ratio of total transmission time over Total Time involved in transmission.

Now if I try to fit the formula proposed in book with what I have learned, the total time involved in transmission is $T_t+2*T_p$.

But that is only the total transmission time of one single packet over the medium. Why isn't it is $WS*T_t + 2*T_p$, since we are sending $WS$ packets without wating for acknowledgement.


The only thing I could figure out after thinking a lot about my doubt is that I am probably going wrong because of my incomplete understanding of what Link Utilization means.

I will appriciate any kind of help.

$\endgroup$

4 Answers 4

2
$\begingroup$

I had the same doubt and was getting nowhere close to grasp the concept. After banging my head for a few days I now think I have understood the basic concept. We define utilization as the total time used by the link to send good data divided by the total time link is engaged. In stop and wait, we send one frame and do nothing good unless we receive an acknowledgment this presents a low utilization.

Total time link is used is :

ttransmission + 2* tprop

total time link is used for sending good data :

ttransmission

Consider the sliding window now we send one frame and instead of waiting for the acknowledgment we continue transferring frames until the acknowledgment arrives. The total time for the link remains the same however, we have increased the good time to:

WindowSize * ttransmission.

Why isn't the total time : WSxttransmission + 2* tprop ?

We have sent all the additional frames between the time frame of sending the first frame and receiving the first acknowledgment.

This time frame is equal to :

ttransmission + 2* tprop and not WSxttransmission + 2* tprop

We have just increased the fraction of this total time from :

ttransmission.
to

WindowSize * ttransmission.

Here is a Linkconsider the figure 7.11 in the same. It beautifully illustrates the concept. I wasn't sure of posting the picture due to copyright issues. Cheers!

$\endgroup$
3
$\begingroup$

Link utilitization is about the steady state, i.e., what happens when you send a lot of data... not what happens at startup (at the very beginning of the connection).

Imagine you have a humongous file to send. It takes far more than 10 frames to send the entire file. Calculate the total time to send the entire file. Calculate the total transmission time for that file. Now divide.

Try doing that calculation again. I think you'll see that you get a different answer. For instance, try calculating what happens if you send a file that is 1000 frames long... or 10,000 frames long. How long does it take to send the entire file? What fraction of that was spent in transmission time, as opposed to waiting for acknowledgements?

$\endgroup$
2
  • $\begingroup$ Let me try to formalize what you said for better understanding. So if I say, it takes x sec to transmit single packet and there are y such packet to be transmitted without waiting for ACK. The total time will be xy+z, where z is propagation time. All I now need to find is the fraction of this time spends in transmission time i.e., (xy)/(xy+z). You see in question I explained that this looks right to me but different from what author proposes. Am I going wrong? $\endgroup$
    – Prateek
    Commented Aug 19, 2016 at 7:54
  • $\begingroup$ @Prateek, you're trying to take a shortcut. I recommend you do exactly what I proposed in the answer: Calculate concretely how long it will take to send a file that is 1000 frames long, and how much of that is spent in transmission time. $\endgroup$
    – D.W.
    Commented Aug 19, 2016 at 15:45
0
$\begingroup$

I too had the same doubt before but after solving many i got to a conclusion, see there is a Band width B for everything, so when you just use the stop and wait the bandwidth B is not entirely used for this the sliding window is used, It is like at one instant it can transmit many packets out, so you can say that many packets can be transmitted in the instant, but that will not be the case as link utilization will cross 100%, so for a fixed window size you can transmit the whole packets out and place it on the carriers.I gave a vague answer but i think you will get it.

$\endgroup$
1
  • $\begingroup$ Unfortunately, I didn't get your point. I request you to please be more descriptive. Examples are appreciated, but the generalization is important. $\endgroup$
    – Prateek
    Commented Dec 17, 2016 at 13:54
0
$\begingroup$

If you define the unit time as WSTt + 2Tp, within this time frame, the sliding window can send the entire window twice (assuming a window size of 3, sending frames (0,1,2) and then (3,4,5)). Therefore, the result for utilization rate (LU) becomes LU = (2 * WS * Tt) / (WS * Tt + 2 * Tp).

If you ask whether you can ignore sending the second window (frames 3,4,5), the answer is no. The link's utilization rate is defined as the actual bits that pass through the link during a unit time divided by the maximum bits that can pass through the link during that same unit time. Since the link is shared, you cannot ignore the second window.

Furthermore, the unit time should be defined as a time that can repeat with the same pattern. When the first period is completed, it should return to the initial state (here, an empty state). However, if you define the period as (WS * Tt + 2 * Tp), it means you would be waiting for the ACK to return at the end of the first period, which is incorrect.

Therefore, the correct formula is LU = (WS * Tt) / (Tt + 2 * Tp).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.