Go-Back-N Automatic Repeat reQuest
Efficiency Analysis
Read aloud is unavailable in this browser.
Measuring Protocol Performance
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:
- What fraction of the channel capacity does GBN actually utilize?
- How does efficiency depend on window size, error rate, and propagation delay?
- When is GBN more efficient than Stop-and-Wait? Than Selective Repeat?
- How do we size the window for optimal throughput?
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.
Efficiency Fundamentals and Definitions
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:
- a << 1: Propagation delay << transmission time; channel is "short" relative to frame duration
- a ≈ 1: Propagation delay ≈ transmission time; balanced
- a >> 1: Propagation delay >> transmission time; channel is "long" (satellite links, high-speed LANs)
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.
Efficiency in Error-Free Conditions
Let's first derive Go-Back-N efficiency assuming no frame loss or corruption. This establishes the upper bound on achievable efficiency.
Scenario Setup:
- Window size: N frames
- The sender can transmit up to N frames before needing an ACK
- ACKs arrive after RTT = 2d seconds from each frame's transmission
Case 1: Small Window (N < 2a + 1)
If the window is too small to fill the pipeline:
- Sender transmits N frames, taking N × T_frame = N × L/R seconds
- Sender must wait for ACK of first frame
- ACK arrives after RTT from first frame's transmission start = 2d + T_frame from cycle start
- Sender was idle for (2d + T_frame) - (N × T_frame) = 2d - (N-1) × T_frame seconds
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:
- By the time sender finishes transmitting N frames, ACKs start arriving
- Sender is never idle—always has room to send the next frame
- Channel is fully utilized
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× |
Efficiency with Frame Errors
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:
- P = probability of frame loss/error (independent per frame)
- ACKs are not lost (simplification; can be extended)
- Errors trigger retransmission of all outstanding frames
Analysis Approach:
Consider a transmission cycle:
- Sender transmits a frame (call it frame k)
- With probability (1-P), it succeeds
- With probability P, it fails; sender must retransmit frame k and potentially subsequent frames
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.
Comparison with Stop-and-Wait and Selective Repeat
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:
- a is small (low latency, slow links)
- Simplicity is paramount
- Example: Local RS-232 connections, low-speed IoT links
Go-Back-N is best when:
- a is large (need pipelining for efficiency)
- P is small (low error rate, so retransmission overhead is rare)
- Receiver resources are limited (no buffering needed)
- Example: Satellite links with good signal quality, wired WANs
Selective Repeat is best when:
- P is significant (lossy wireless, congested networks)
- N is large (maximizing throughput matters)
- Receiver can afford buffering
- Example: WiFi, mobile networks, high-speed data centers
- •Error rate P < 1%
- •Window size N ≤ 50
- •Receiver is resource-constrained
- •In-order delivery without buffering needed
- •Implementation simplicity valued
- •Error rate P > 5%
- •Window size N > 100
- •Maximum throughput is critical
- •Bandwidth is expensive
- •Receiver can afford buffering
Worked Numerical Examples
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:
- Link rate: R = 10 Mbps
- One-way propagation delay: d = 270 ms (geostationary satellite)
- Frame size: L = 1000 bytes = 8000 bits
- Window size: N = 127 (7-bit sequence numbers)
- Frame error rate: P = 0.001
Calculate:
- Parameter a:
a = d × R / L = 0.27 × 10^7 / 8000 = 337.5
- Minimum window for full utilization (error-free):
N_min = 2a + 1 = 2(337.5) + 1 = 676
- Error-free efficiency with N = 127:
U = N / (2a + 1) = 127 / 676 = 18.8%
- Efficiency with P = 0.001:
η = 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:
- Link rate: R = 1 Gbps
- One-way propagation delay: d = 5 μs (short LAN segment)
- Frame size: L = 1500 bytes = 12000 bits
- Window size: N = 7
- Compare efficiency at P = 0 and P = 0.01
Calculate:
- Parameter a:
a = 5×10^-6 × 10^9 / 12000 = 5000 / 12000 = 0.417
- Minimum window for full utilization:
N_min = 2a + 1 = 1.83 → 2 frames
- Error-free efficiency (P = 0):
N = 7 > N_min = 2, so U = 1 (100%)
- Efficiency with P = 0.01:
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 |
Optimization Guidelines
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:
- If P × N < 0.1: GBN efficiency is within ~10% of SR
- If P × N > 0.5: GBN efficiency significantly degraded; consider SR
- If P × N > 1.0: GBN is likely unacceptable; use SR or add FEC
Guideline 3: Balance Window Size
Larger N improves error-free efficiency but hurts error efficiency:
- Sweet spot: N slightly above 2a + 1
- Avoid making N much larger than necessary
- Sequence number overhead is wasted if N >> 2a + 1
- •Measure your 'a': Calculate d×R/L for your actual link; this drives window sizing
- •Profile error rate: Understand typical P for your channel; wireless ≠ wired
- •Check P×N product: If > 0.3, evaluate alternative protocols
- •Budget for sequence bits: Minimum k = ⌈log₂(N+1)⌉; add margin for flexibility
- •Consider adaptive window: Adjust N based on observed performance (like TCP)
- •Monitor throughput: Compare observed vs. theoretical; significant gaps indicate issues
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.
Summary: Efficiency Analysis
This page culminates our Go-Back-N exploration with quantitative performance analysis. Let's consolidate the essential insights:
- •a = dR/L is the key parameter — Determines how many frames fill the pipe
- •N ≥ 2a + 1 for full error-free utilization — Match window to bandwidth-delay product
- •η = (1-P)/(1+P(N-1)) for N ≥ 2a+1 — Efficiency degrades as P×N increases
- •GBN is between S&W and SR — Much better than S&W on high-a links; worse than SR on high-P channels
- •P×N < 0.3 is the comfort zone — Beyond this, consider Selective Repeat
- •Design holistically — Balance window size, sequence number bits, error rate, and receiver resources
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.
KEEP LEARNING
There’s more to understand.
You’re reading the introduction. Create a free account to read the complete lesson, save notes and keep track of your progress.