Loading content...
We've thoroughly examined Go-Back-N's operational mechanics—its sliding window, cumulative ACKs, window constraints, and retransmission behavior. But understanding how a protocol works is incomplete without understanding how well it works. Efficiency analysis answers the quantitative questions that guide protocol selection.
The Fundamental Questions:
This page develops rigorous mathematical models for Go-Back-N efficiency, derives closed-form expressions, and provides practical guidance for applying these results to real network design problems.
By the end of this page, you will understand how to derive and apply the GBN efficiency formula, analyze efficiency under both error-free and error-prone conditions, compare GBN with Stop-and-Wait and Selective Repeat quantitatively, and solve numerical problems calculating throughput and efficiency for given network parameters.
Before deriving efficiency formulas, we must precisely define our terms and parameters.
Key Parameters:
| Symbol | Meaning | Unit |
|---|---|---|
| L | Frame length (data bits) | bits |
| R | Link transmission rate | bits/second |
| d | One-way propagation delay | seconds |
| RTT | Round-trip time = 2d | seconds |
| T_frame | Frame transmission time = L/R | seconds |
| a | Propagation-transmission ratio = d / T_frame = d·R / L | dimensionless |
| N | Window size (max outstanding frames) | frames |
| P | Probability of frame loss/error | probability |
Primary Metrics:
1. Utilization (U):
The fraction of time the sender is actually transmitting useful data:
U = (time spent transmitting useful frames) / (total time)
2. Throughput (S):
The effective data rate achieved:
S = U × R
3. Efficiency (η):
Often used synonymously with utilization. The ratio of useful data transmitted to channel capacity:
η = (bits of new data successfully delivered) / (total bits transmitted)
The product RTT × R (bits) represents the total data "in flight" that fills the pipe. For a protocol to fully utilize the channel, it must keep RTT × R bits outstanding. With frame size L, this requires approximately (RTT × R) / L = (2d × R) / L = 2a frames in flight. GBN achieves this when N ≥ 2a + 1.
The Parameter 'a':
The ratio a = d·R / L = propagation delay / transmission time is crucial. It tells us how many frames could "fit" in the channel:
Example Calculations:
| Scenario | R | d | L | a |
|---|---|---|---|---|
| Local Ethernet | 1 Gbps | 10 μs | 1500 bytes | 0.83 |
| Transcontinental fiber | 10 Gbps | 25 ms | 1500 bytes | 2083 |
| Geostationary satellite | 50 Mbps | 250 ms | 1000 bytes | 1562 |
| Dial-up modem | 56 kbps | 50 ms | 500 bytes | 7 |
Note: High-speed, long-distance links have very large 'a', making single-frame protocols extremely inefficient.
Let's first derive Go-Back-N efficiency assuming no frame loss or corruption. This establishes the upper bound on achievable efficiency.
Scenario Setup:
Case 1: Small Window (N < 2a + 1)
If the window is too small to fill the pipeline:
Utilization (N < 2a + 1):
U = (N × T_frame) / (2d + T_frame)
= N × (L/R) / (2d + L/R)
= N / (2a + 1)
Case 2: Large Window (N ≥ 2a + 1)
If the window is large enough to keep the channel full:
Utilization (N ≥ 2a + 1):
U = 1 (100%)
U = min(N / (2a + 1), 1)
Equivalently: • If N < 2a + 1: U = N / (2a + 1) • If N ≥ 2a + 1: U = 1
To achieve full utilization, set N ≥ 2a + 1 = (2dR + L) / L = 2dR/L + 1
Comparison with Stop-and-Wait:
Stop-and-Wait is GBN with N = 1:
U_SW = 1 / (2a + 1)
For a = 100: U_SW = 1/201 ≈ 0.5%
With GBN and N = 201: U_GBN = 201/201 = 100%
The efficiency gain is dramatic for large 'a'.
| Window Size N | Utilization U | Throughput (% of R) | vs. Stop-and-Wait |
|---|---|---|---|
| 1 (S&W) | 0.50% | 0.50% | 1× |
| 10 | 4.98% | 4.98% | 10× |
| 50 | 24.9% | 24.9% | 50× |
| 100 | 49.8% | 49.8% | 100× |
| 200 | 99.5% | 99.5% | 200× |
| 201+ | 100% | 100% | 201× |
In real networks, frames can be lost or corrupted. Go-Back-N's efficiency degrades due to retransmissions. Let's derive the efficiency formula accounting for errors.
Assumptions:
Analysis Approach:
Consider a transmission cycle:
Expected Transmissions per Successful Frame:
Let E[T] = expected number of transmissions per successfully delivered frame.
Case 1: Frame k succeeds (probability 1-P):
Frame k is delivered in 1 transmission.
Case 2: Frame k fails (probability P):
Sender retransmits from frame k. If on average K frames are outstanding when error occurs, we retransmit K frames (including frame k). Each of these might fail again...
This gets complex. A standard approximation assumes that on average, (N-1)/2 other frames must be retransmitted with each failure.
For tractable analysis, we use the approximation:
E[transmissions per successful frame] ≈ (1 - P + P × N) / (1 - P)
This accounts for: if no error (1-P), one transmission; if error (P), retransmit N frames with one eventually succeeding.
Derivation of GBN Efficiency with Errors:
Using a more rigorous approach, the efficiency (or throughput normalized by capacity) is:
For N < 2a + 1:
η = (1 - P) × N / (2a + 1)
× 1 / (1 + P(N - 1))
= N(1 - P) / [(2a + 1)(1 - P + PN)]
For N ≥ 2a + 1:
η = (1 - P) / (1 - P + PN)
= (1 - P) / (1 + P(N - 1))
The Master Formula (General Case):
min(N, 2a+1) × (1 - P)
η = ────────────────────────────
(2a + 1) × [1 + P(N - 1)]
Simplified for N ≥ 2a + 1:
(1 - P)
η = ─────────────────
1 + P(N - 1)
| Frame Error Rate P | Efficiency η | Throughput Loss | Effective Rate |
|---|---|---|---|
| 0 (error-free) | 100% | 0% | R |
| 0.001 (0.1%) | 83.3% | 16.7% | 0.833R |
| 0.01 (1%) | 33.2% | 66.8% | 0.332R |
| 0.05 (5%) | 8.68% | 91.3% | 0.087R |
| 0.1 (10%) | 4.32% | 95.7% | 0.043R |
GBN efficiency degrades rapidly with error rate. At just 1% error rate with N = 201, efficiency drops to 33%. This is because each error triggers retransmission of up to 201 frames, and the redundant retransmissions (200 of which might have been correctly received) waste bandwidth.
To understand when Go-Back-N is the right choice, we must compare it quantitatively with the alternatives.
Stop-and-Wait Efficiency:
η_SW = (1 - P) / (2a + 1)
S&W is simple but wastes the pipeline—efficiency drops as 1/(2a+1) even without errors.
Selective Repeat Efficiency:
For N ≥ 2a + 1:
η_SR = (1 - P)
SR achieves maximum efficiency (1 - P) because it only retransmits lost frames, not correct frames. The only efficiency loss is the lost frames themselves.
Comparison Table:
| Protocol | Efficiency Formula | Comments |
|---|---|---|
| Stop-and-Wait | (1-P)/(2a+1) | Degrades with a; very poor for long links |
| Go-Back-N | (1-P)/(1+P(N-1)) | Degrades with P×N; poor for lossy channels |
| Selective Repeat | (1-P) | Best performance; only lost frames hurt |
When Each Protocol Wins:
Stop-and-Wait is acceptable when:
Go-Back-N is best when:
Selective Repeat is best when:
Let's apply the formulas to concrete scenarios—the type of problems that appear in networking exams and real design decisions.
Example 1: Satellite Link Efficiency
Given:
Calculate:
a = d × R / L = 0.27 × 10^7 / 8000 = 337.5
N_min = 2a + 1 = 2(337.5) + 1 = 676
U = N / (2a + 1) = 127 / 676 = 18.8%
η = N(1-P) / [(2a+1)(1 + P(N-1))]
= 127(0.999) / [676(1 + 0.001 × 126)]
= 126.87 / [676 × 1.126]
= 126.87 / 761.2
= 16.7%
Conclusion: Even with a large window, efficiency is only ~17% due to the extremely long propagation delay. Need N ≥ 676 for full error-free utilization.
For this satellite link to achieve near-100% utilization, we need N ≥ 676, requiring at least 10-bit sequence numbers (2^10 = 1024 > 677). HDLC extended mode with 7-bit sequence numbers (max N = 127) provides only ~17% efficiency—a significant limitation for high-delay satellite links.
Example 2: LAN Comparison
Given:
Calculate:
a = 5×10^-6 × 10^9 / 12000 = 5000 / 12000 = 0.417
N_min = 2a + 1 = 1.83 → 2 frames
N = 7 > N_min = 2, so U = 1 (100%)
Since N ≥ 2a + 1:
η = (1 - P) / (1 + P(N-1))
= 0.99 / (1 + 0.01 × 6)
= 0.99 / 1.06
= 93.4%
Comparison with Selective Repeat at P = 0.01:
η_SR = 1 - P = 0.99 = 99%
GBN vs SR difference: 99% - 93.4% = 5.6% throughput loss due to GBN's retransmission overhead.
| Protocol | Error-Free η | η at P=1% | Throughput @ 1Gbps |
|---|---|---|---|
| Stop-and-Wait | 54.5% | 53.9% | 539 Mbps |
| Go-Back-N (N=7) | 100% | 93.4% | 934 Mbps |
| Selective Repeat (N=7) | 100% | 99.0% | 990 Mbps |
Based on the efficiency analysis, here are practical guidelines for optimizing Go-Back-N performance.
Guideline 1: Size N Based on Bandwidth-Delay Product
For error-free full utilization:
N ≥ 2a + 1 = (2 × RTT × R / L) + 1
Round up to the next allowed value based on sequence number space.
Guideline 2: Consider Error Rate Impact
The product P × N determines efficiency loss:
Guideline 3: Balance Window Size
Larger N improves error-free efficiency but hurts error efficiency:
TCP combines the best of both worlds: it uses cumulative ACKs (like GBN) for robustness, SACK option (like SR) for gap reporting, and dynamically adjusts window based on network conditions. For new protocol design, consider these hybrid approaches rather than pure GBN or SR.
This page culminates our Go-Back-N exploration with quantitative performance analysis. Let's consolidate the essential insights:
Module Complete:
You have now completed a comprehensive study of Go-Back-N ARQ. From its fundamental sliding window concept through cumulative acknowledgments, window size constraints, retransmission behavior, and efficiency analysis, you possess the deep understanding of this protocol that enables informed protocol selection, implementation, and optimization.
Go-Back-N represents a crucial point in the design space between simple Stop-and-Wait and sophisticated Selective Repeat. Its continued relevance in protocols like HDLC, and its conceptual influence on TCP, make this knowledge directly applicable to both legacy systems and modern networking.
Congratulations! You have mastered Go-Back-N ARQ: its operation, cumulative ACKs, window constraints, retransmission behavior, and efficiency analysis. You can now analyze any GBN scenario, calculate efficiency for given parameters, and make informed decisions about when GBN is appropriate. This foundation prepares you for the next module: Selective Repeat ARQ.