Having a large link size doesn't guarantee that the link's bandwidth can be fully utilized. Your operating system's window size and latency are both factors on whether the link can be filled to its capacity.
To calculate the maximum bandwidth per flow, divide the operating system's window size by the latency. You can then take this value and divide it by the link size to get the percent of the link that can be utilized for a single flow. There will be several examples to help you understand these calculations.
Step 1: Determining the window size
Use the chart below to find typical window sizes for popular operating systems.
| Operating System | Window Size (KB) |
|---|
| Windows 95 | 8 |
| Windows 98 | 8 |
| Windows NT 4.0 | 8 |
| Windows 2000 | 16 |
| HP-UX 11 | 32 |
| MAC OS 9 | 32 |
| LINUX 2.4 | 64 |
| Windows XP | 64 |
Step 2: Calculating the latency
To estimate the latency on your link, ping the router on the other side of your link. Use the statistic for average round trip time. This statistic is measured in milliseconds; you'll need to convert it to seconds (divide by 1000).
Step 3: Doing the math
The formula for calculating the percent utilization of the link is:
((window_size * 8) / latency_seconds) / link_size
Note: 8 is the number of bits per byte.
Let's look at several examples.
Example 1: High latency
In the first example, the network is experiencing high latency on a smallish link.
Operating System: Windows 2000 (16KB window size)
Latency: 600 ms (0.6 seconds)
Link Size: T1 (1.5 Mbps)
Maximum bandwidth per flow: (16* 8) / 0.6 = 213 Kbps
Divide this number by the link size to get the percent link utilization of a single flow:
213 Kbps / 1.5 Mbps = .14 = 14% utilization
Therefore, with only one flow, 86 percent of the link goes unused.
Example 2: Large link
In the second example, the network has a large link and moderate latency.
Operating System: Windows XP (64KB window size)
Latency: 30 ms (.03 seconds)
Link Size: 45 Mbps
Maximum bandwidth per flow: (64* 8) / .03 = 17,067 Kbps
Divide this by the link size to get the percent link utilization of a single flow:
17,067 Kbps / 45 Mbps = .38 = 38% utilization
In this example, with only one flow, 62 percent of the link goes unused.
Example 3: Compression
In this example, the link has increased its virtual bandwidth using Packeteer's Compression Module. Therefore, the virtual link size should be used in the calculation instead of the physical link size. To calculate the virtual link size, you need to estimate the compression savings you expect to have on the link (for instance, 60%). The formula to calculate the virtual link size is:
link_size / (1-compression_savings)
For example, the virtual link size of a 2 Mbps link that is expected to get 60% compression savings is 2/(1-0.6) = 5 Mbps.
Let's continue this example to find out the percent utilization of a link that's using compression.
Operating System: Windows 2000 (16KB window size)
Latency: 150 ms (0.15 seconds)
Virtual Link Size: 5 Mbps
Maximum bandwidth per flow: (16* 8) / 0.15 = 853 Kbps
Divide this number by the link size to get the percent link utilization of a single flow:
853 Kbps / 5 Mbps = .17 = 17% utilization
A single flow can fill 17% of the virtual link, leaving 83% unutilized.