Loading content...
We've explored each component that affects Stop-and-Wait performance: utilization concepts, propagation delay, transmission delay, and round-trip time. Now we synthesize everything into the comprehensive efficiency formula—the master equation that allows you to analyze any Stop-and-Wait scenario.
This formula is the key to:
Mastering this formula means you can analyze any Stop-and-Wait scenario—from satellite links to local networks, from dial-up connections to high-speed fiber. You'll know exactly how efficient (or inefficient) the protocol will be, and why.
This is the culmination of the module: a unified framework for Stop-and-Wait efficiency analysis.
By the end of this page, you will derive the complete efficiency formula from first principles, understand multiple equivalent forms of the formula, apply the formula to solve complex numerical problems, analyze efficiency sensitivity to various parameters, and compare Stop-and-Wait with ideal channel utilization.
The Efficiency Definition:
Channel utilization (efficiency) is defined as the fraction of time the channel is used for transmitting useful data:
$$U = \frac{\text{Time spent transmitting data}}{\text{Total cycle time}}$$
The Stop-and-Wait Cycle:
A complete Stop-and-Wait cycle consists of:
Transmission of data frame: Sender puts L bits on the channel
Propagation to receiver: Signal travels distance d
Receiver processing: Frame verification, ACK generation
ACK transmission: Receiver transmits acknowledgment
ACK propagation: ACK travels back to sender
Sender processing: ACK verification, state update
The Complete Cycle Time:
$$T_{\text{cycle}} = T_t + T_p + T_{\text{proc}}^{\text{rx}} + T_t^{\text{ack}} + T_p + T_{\text{proc}}^{\text{tx}}$$
The Complete Efficiency Formula:
$$U = \frac{T_t}{T_t + T_p + T_{\text{proc}}^{\text{rx}} + T_t^{\text{ack}} + T_p + T_{\text{proc}}^{\text{tx}}}$$
Standard Simplifications:
For most analyses, we assume:
Simplified Efficiency Formula:
$$\boxed{U = \frac{T_t}{T_t + 2T_p}}$$
This is the fundamental Stop-and-Wait efficiency formula used in most textbook problems.
Use the simplified formula (Tt + 2Tp) for: theoretical analysis, textbook problems, high-speed links, point-to-point connections. Use the complete formula when: ACK transmission is significant (slow uplinks), processing time is substantial (embedded devices), links are asymmetric (satellite), or problems explicitly provide these values.
The efficiency formula can be expressed in several equivalent forms, each useful for different analyses:
Form 1: Basic Ratio (Timing-Based)
$$U = \frac{T_t}{T_t + 2T_p}$$
Use when: Transmission and propagation times are given directly.
Form 2: Using Parameter 'a' (Normalized)
Define $a = \frac{T_p}{T_t}$:
$$U = \frac{T_t}{T_t + 2T_p} = \frac{1}{1 + 2\frac{T_p}{T_t}} = \frac{1}{1 + 2a}$$
$$\boxed{U = \frac{1}{1 + 2a}}$$
Use when: Comparing different scenarios with the same 'a' value.
Form 3: Expanded with Physical Parameters
Substituting $T_t = \frac{L}{B}$ and $T_p = \frac{d}{v}$:
$$U = \frac{L/B}{L/B + 2d/v} = \frac{L \cdot v}{L \cdot v + 2d \cdot B} = \frac{Lv}{Lv + 2dB}$$
Use when: Physical parameters (L, B, d, v) are provided directly.
Form 4: Using Bandwidth-Delay Product
Recall $a = \frac{T_p}{T_t} = \frac{T_p \cdot B}{L} = \frac{\text{BDP}}{L}$:
$$U = \frac{1}{1 + 2 \cdot \frac{\text{BDP}}{L}} = \frac{L}{L + 2 \cdot \text{BDP}}$$
Use when: Bandwidth-delay product is known.
Form 5: With ACK Transmission Time
When ACK transmission is not negligible:
$$U = \frac{T_t}{T_t + 2T_p + T_t^{\text{ack}}}$$
Use when: Problems specify ACK frame size or low-bandwidth links.
Form 6: Including Processing Time
When processing time matters:
$$U = \frac{T_t}{T_t + 2T_p + T_t^{\text{ack}} + T_{\text{proc}}}$$
Use when: Processing delays are explicitly given.
| Form | Formula | When to Use |
|---|---|---|
| Basic | Tt / (Tt + 2Tp) | Times given directly |
| Normalized (a) | 1 / (1 + 2a) | Normalized comparison |
| Physical params | Lv / (Lv + 2dB) | Physical values given |
| BDP-based | L / (L + 2×BDP) | BDP is known |
| With ACK | Tt / (Tt + 2Tp + Tt_ack) | ACK size matters |
| Complete | Tt / (Tt + 2Tp + Tt_ack + Tproc) | All delays matter |
Real networks experience errors. When frames are corrupted or lost, they must be retransmitted, reducing effective efficiency.
Error Probability:
Let P be the probability that a frame or its ACK is corrupted/lost:
For simplicity, we often use a single error probability P representing any error that requires retransmission.
Expected Number of Transmissions:
With error probability P, the expected number of transmissions until success follows a geometric distribution:
$$E[\text{attempts}] = \frac{1}{1-P}$$
For P = 0.1 (10% error rate): E[attempts] = 1.11 For P = 0.01 (1% error rate): E[attempts] = 1.01
Efficiency with Errors:
The efficiency formula must account for retransmissions:
$$U_{\text{with errors}} = U_{\text{ideal}} \times (1 - P)$$
Or more precisely:
$$U = \frac{T_t}{T_t + 2T_p} \times (1 - P)$$
Using parameter 'a':
$$\boxed{U = \frac{1 - P}{1 + 2a}}$$
Example Calculation:
Link parameters: a = 5, P = 0.05 (5% error rate)
Without errors: $$U_{\text{ideal}} = \frac{1}{1 + 10} = 0.0909 = 9.09%$$
With errors: $$U = \frac{1 - 0.05}{1 + 10} = \frac{0.95}{11} = 0.0864 = 8.64%$$
Errors reduce efficiency by: (9.09 - 8.64) / 9.09 = 5% (exactly the error rate!)
On high-latency links, errors are particularly costly. Each retransmission wastes an entire RTT. With RTT = 500 ms and 10% error rate, you lose an additional 50 ms on average per frame—significant for already-slow Stop-and-Wait. This is why reliable satellite links require powerful error correction, not just detection.
| Error Rate P | Ideal U | Actual U | Efficiency Loss |
|---|---|---|---|
| 0% (P=0) | 4.76% | 4.76% | None |
| 1% (P=0.01) | 4.76% | 4.71% | 1% |
| 5% (P=0.05) | 4.76% | 4.52% | 5% |
| 10% (P=0.1) | 4.76% | 4.29% | 10% |
| 20% (P=0.2) | 4.76% | 3.81% | 20% |
From Utilization to Throughput:
Channel utilization tells us what fraction of capacity is used. To find actual data rate:
$$\text{Throughput} = U \times B$$
Where:
Complete Throughput Formula:
$$\text{Throughput} = \frac{B}{1 + 2a} = \frac{B}{1 + 2\frac{T_p}{T_t}}$$
Substituting $T_t = L/B$ and $T_p = d/v$:
$$\text{Throughput} = \frac{B}{1 + \frac{2d \cdot B}{v \cdot L}} = \frac{B \cdot v \cdot L}{v \cdot L + 2d \cdot B}$$
Alternative Form (Frames per Second):
$$\text{Frame Rate} = \frac{1}{T_t + 2T_p} = \frac{1}{\text{RTT}}$$
$$\text{Throughput} = \text{Frame Rate} \times L = \frac{L}{T_t + 2T_p}$$
Payload Throughput vs. Gross Throughput:
Gross throughput counts all transmitted bits (including headers): $$\text{Throughput}{\text{gross}} = U \times B = \frac{L{\text{total}}}{T_t + 2T_p}$$
Payload throughput counts only useful data: $$\text{Throughput}{\text{payload}} = \text{Throughput}{\text{gross}} \times \eta_{\text{overhead}}$$
Where overhead efficiency: $$\eta_{\text{overhead}} = \frac{L_{\text{payload}}}{L_{\text{total}}}$$
Example:
Throughput with Errors:
$$\text{Throughput} = U \times B \times (1 - P) = \frac{B(1-P)}{1 + 2a}$$
| Link Type | Bandwidth | RTT | a | Utilization | Throughput |
|---|---|---|---|---|---|
| Office LAN | 1 Gbps | 10 μs | 0.42 | 54.3% | 543 Mbps |
| Campus | 10 Gbps | 100 μs | 4.17 | 10.7% | 1.07 Gbps |
| Metro | 10 Gbps | 1 ms | 41.7 | 1.18% | 118 Mbps |
| Cross-country | 100 Gbps | 40 ms | 1,667 | 0.03% | 30 Mbps |
| Transatlantic | 100 Gbps | 60 ms | 2,500 | 0.02% | 20 Mbps |
| GEO Satellite | 50 Mbps | 500 ms | 2,083 | 0.024% | 12 Kbps |
Note how throughput differs dramatically from bandwidth. A 100 Gbps transatlantic link achieves only 20 Mbps with Stop-and-Wait—0.02% efficiency. The 50 Mbps satellite link is even worse at 12 Kbps. Stop-and-Wait throughput is fundamentally limited by RTT, not bandwidth.
Let's work through several comprehensive problems that integrate all concepts.
Problem 1: Complete Analysis
A terrestrial microwave link connects two cities 300 km apart. The link operates at 155 Mbps (OC-3). Frame size is 1024 bytes. Signal propagation velocity is 3 × 10⁸ m/s (wireless). Calculate:
a) Transmission time b) Propagation delay c) Parameter 'a' d) Channel utilization e) Effective throughput f) Time to transfer 100 MB file
Solution:
a) Transmission Time: $$T_t = \frac{L}{B} = \frac{1024 \times 8}{155 \times 10^6} = \frac{8,192}{1.55 \times 10^8} = 52.85 \text{ μs}$$
b) Propagation Delay: $$T_p = \frac{d}{v} = \frac{300,000}{3 \times 10^8} = 1 \text{ ms} = 1,000 \text{ μs}$$
c) Parameter 'a': $$a = \frac{T_p}{T_t} = \frac{1,000}{52.85} = 18.92$$
d) Channel Utilization: $$U = \frac{1}{1 + 2a} = \frac{1}{1 + 37.84} = \frac{1}{38.84} = 2.57%$$
e) Effective Throughput: $$\text{Throughput} = U \times B = 0.0257 \times 155 \times 10^6 = 3.99 \text{ Mbps}$$
f) File Transfer Time: $$\text{File size} = 100 \times 10^6 \times 8 = 8 \times 10^8 \text{ bits}$$ $$\text{Time} = \frac{8 \times 10^8}{3.99 \times 10^6} = 200.5 \text{ seconds} \approx 3.34 \text{ minutes}$$
With ideal utilization, transfer would take: 8 × 10⁸ / (155 × 10⁶) = 5.16 seconds
Problem 2: Including ACK and Errors
A satellite link operates at 2 Mbps with 270 ms one-way propagation delay. Data frames are 500 bytes, ACK frames are 25 bytes. The bit error rate is 10⁻⁵, and errors are detected at frame level. Calculate utilization.
Solution:
Step 1: Calculate timing components: $$T_t = \frac{500 \times 8}{2 \times 10^6} = \frac{4,000}{2 \times 10^6} = 2 \text{ ms}$$ $$T_t^{\text{ack}} = \frac{25 \times 8}{2 \times 10^6} = \frac{200}{2 \times 10^6} = 0.1 \text{ ms}$$ $$T_p = 270 \text{ ms}$$
Step 2: Calculate cycle time: $$T_{\text{cycle}} = T_t + 2T_p + T_t^{\text{ack}} = 2 + 540 + 0.1 = 542.1 \text{ ms}$$
Step 3: Calculate frame error probability: With BER = 10⁻⁵ and 4000-bit frame: $$P_{\text{frame}} = 1 - (1 - 10^{-5})^{4000} \approx 1 - e^{-0.04} \approx 0.0392 = 3.92%$$
Step 4: Calculate utilization: $$U = \frac{T_t}{T_{\text{cycle}}} \times (1 - P) = \frac{2}{542.1} \times (1 - 0.0392)$$ $$= 0.00369 \times 0.9608 = 0.00355 = 0.355%$$
For Stop-and-Wait problems: (1) List given parameters. (2) Convert units consistently. (3) Calculate Tt and Tp. (4) Check if ACK/processing times matter. (5) Calculate 'a' or use direct formula. (6) Find utilization. (7) Derive throughput if needed. (8) Account for errors if specified.
How Utilization Responds to Parameter Changes:
Understanding sensitivity helps identify which improvements provide the greatest benefit.
Sensitivity to Frame Size (L):
$$\frac{\partial U}{\partial L} = \frac{\partial}{\partial L}\left(\frac{1}{1 + \frac{2dB}{vL}}\right) > 0$$
Utilization increases with frame size. Doubling frame size nearly doubles utilization when a >> 1.
| L | a (1 Gbps, 1000 km) | U |
|---|---|---|
| 500 bytes | 1,250 | 0.04% |
| 1,500 bytes | 417 | 0.12% |
| 4,500 bytes | 139 | 0.36% |
| 9,000 bytes | 69.4 | 0.71% |
Sensitivity to Bandwidth (B):
$$\frac{\partial U}{\partial B} = \frac{\partial}{\partial B}\left(\frac{1}{1 + \frac{2dB}{vL}}\right) < 0$$
Counter-intuitively, increasing bandwidth decreases utilization!
| B | a (1500 bytes, 1000 km) | U |
|---|---|---|
| 10 Mbps | 4.17 | 10.7% |
| 100 Mbps | 41.7 | 1.18% |
| 1 Gbps | 417 | 0.12% |
| 10 Gbps | 4,170 | 0.012% |
Sensitivity to Distance (d):
$$\frac{\partial U}{\partial d} = \frac{\partial}{\partial d}\left(\frac{1}{1 + \frac{2dB}{vL}}\right) < 0$$
Utilization decreases with distance (propagation delay increases).
| d | Tp | a (1 Gbps) | U | |---|----|-----------|-|| | 10 km | 50 μs | 4.17 | 10.7% | | 100 km | 500 μs | 41.7 | 1.18% | | 1,000 km | 5 ms | 417 | 0.12% | | 10,000 km | 50 ms | 4,170 | 0.012% |
Summary of Sensitivities:
| Parameter | ↑ Effect on 'a' | ↑ Effect on U | Controllable? |
|---|---|---|---|
| Frame size (L) | Decreases | Increases | Partially (MTU limits) |
| Bandwidth (B) | Increases | Decreases | Yes (costly) |
| Distance (d) | Increases | Decreases | No (fixed by geography) |
| Velocity (v) | Decreases | Increases | No (physics limit) |
| Error rate (P) | N/A | Decreases | Yes (FEC, better links) |
Many assume that upgrading bandwidth improves performance. With Stop-and-Wait, it often makes things WORSE in terms of efficiency! You pay more for bandwidth but waste more of it. The only solution for high-bandwidth, long-distance links is to abandon Stop-and-Wait for sliding window protocols.
When is Stop-and-Wait Acceptable?
Generally, Stop-and-Wait is acceptable when utilization exceeds some threshold (commonly 50%):
$$U > 0.5 \Rightarrow \frac{1}{1 + 2a} > 0.5 \Rightarrow 1 + 2a < 2 \Rightarrow a < 0.5$$
Condition for acceptable efficiency: $$a = \frac{T_p}{T_t} = \frac{d \cdot B}{v \cdot L} < 0.5$$
Rearranging: $$d < \frac{v \cdot L}{2B}$$
Maximum Distance for 50% Efficiency (1500-byte frames):
| Bandwidth | Max Distance |
|---|---|
| 10 Mbps | 1,200 km |
| 100 Mbps | 120 km |
| 1 Gbps | 12 km |
| 10 Gbps | 1.2 km |
| 100 Gbps | 120 m |
For 50% efficiency with 1500-byte frames: Maximum distance (in km) ≈ 1200 / B(Mbps). At 1 Gbps, this is only 1.2 km—barely campus scale! Beyond this, sliding window protocols become essential.
Protocol Selection Decision Tree:
Calculate 'a' for your link:
If a < 0.5:
If 0.5 < a < 10:
If a > 10:
If a > 100:
| 'a' Range | Utilization | Recommendation | Example Scenario |
|---|---|---|---|
| a < 0.5 | 50% | Stop-and-Wait OK | LAN, short links |
| 0.5 - 5 | 10-50% | Consider pipelining | Campus networks |
| 5 - 50 | 1-10% | Sliding window needed | Metro/regional WAN |
| 50 - 500 | 0.1-1% | Large windows required | National backbone |
500 | < 0.1% | Specialized protocols | Satellite, intercontinental |
This module has provided comprehensive coverage of Stop-and-Wait ARQ efficiency analysis. Let's consolidate the essential knowledge.
You have mastered Stop-and-Wait efficiency analysis! You can now calculate utilization for any scenario, understand why Stop-and-Wait fails on high-bandwidth or long-distance links, and make informed protocol selection decisions. The next module introduces Sliding Window Protocols—the solution to Stop-and-Wait's fundamental limitations.