Packet Loss Throughput Impact
Calculate TCP throughput under packet loss conditions. Enter values for instant results with step-by-step formulas.
Formula
Throughput β (MSS/RTT) Γ C/β(loss); Effective = min(Bandwidth, Window-limited, Loss-limited)
Worked Examples
Example 1: High-Bandwidth Link with Moderate Loss
Problem: Bandwidth: 1 Gbps, Latency: 20ms RTT, Packet loss: 0.5%, TCP window: 64KB.
Solution: Theoretical max: 1000 Mbps\n\nWindow-limited throughput:\nWindow = 64KB = 65,536 bytes\nRTT = 20ms = 0.02s\nThroughput = 65,536 Γ 8 / 0.02 = 26.2 Mbps\n\nLoss-limited throughput (Mathis):\nMSS = 1460 bytes\np = 0.5% = 0.005\nThroughput β (1460 Γ 8 / 0.02) / sqrt(0.005)\n= 584,000 / 0.071 = 8.2 Mbps\n\nLimiting factor: LOSS\nEffective throughput: ~26 Mbps (window also limiting)\nEfficiency: 2.6% of 1 Gbps!\n\nSolutions:\n1. Enable TCP window scaling (fix window limit)\n2. Investigate and fix packet loss source\n3. Even with perfect windows, 0.5% loss caps at ~8 Mbps on this link
Result: ~26 Mbps effective (2.6% efficiency) | Loss AND window limiting | Both need fixing
Example 2: WAN Link Analysis
Problem: Bandwidth: 100 Mbps, Latency: 100ms RTT, Packet loss: 0.1%, Window: 256KB.
Solution: Theoretical max: 100 Mbps\n\nWindow-limited throughput:\nWindow = 256KB = 262,144 bytes\nRTT = 100ms = 0.1s\nThroughput = 262,144 Γ 8 / 0.1 = 20.97 Mbps\n\nLoss-limited throughput:\np = 0.1% = 0.001\nThroughput β (1460 Γ 8 / 0.1) / sqrt(0.001)\n= 116,800 / 0.0316 = 3.7 Mbps\n\nWait, that seems low for 0.1% loss...\nMathis is conservative; actual TCP performs better.\nEmpirical: ~30-50 Mbps realistic with modern TCP.\n\nLimiting factors:\n- High latency (100ms) makes recovery slow\n- Window is adequate but not ideal for bandwidth-delay\n- Even 0.1% loss matters on 100ms links\n\nBandwidth-delay product: 100 Mbps Γ 0.1s = 10 Mb = 1.25 MB needed
Result: ~20-30 Mbps realistic | High latency compounds loss | Need window scaling + loss reduction
Example 3: Low-Loss Local Network
Problem: Bandwidth: 1 Gbps, Latency: 2ms RTT, Packet loss: 0.01%, Window: 64KB.
Solution: Theoretical max: 1000 Mbps\n\nWindow-limited throughput:\nWindow = 64KB\nRTT = 2ms\nThroughput = 65,536 Γ 8 / 0.002 = 262 Mbps\n\nLoss-limited throughput:\np = 0.01% = 0.0001\nVery low loss, minimal impact.\nThroughput β high (loss not limiting factor)\n\nEffective throughput: ~262 Mbps (window limited)\nEfficiency: 26%\n\nThis is a healthy local network!\nThe window limit is the constraint.\n\nWith window scaling enabled:\nBandwidth-delay product = 1000 Mbps Γ 0.002s = 2 Mb = 250KB\n256KB window would saturate link.\n\nPacket loss is negligible.\nOptimize window size for full throughput.
Result: 262 Mbps effective | Window-limited (not loss) | Low latency helps | Enable large windows
Frequently Asked Questions
What is packet loss?
Packet loss is when data packets fail to reach their destination. Causes: network congestion (routers drop packets when buffers overflow), hardware failures, signal interference (Wi-Fi), or misconfigured equipment. Even small amounts (1-2%) significantly impact TCP performance because retransmissions trigger congestion control slowdowns.
How does packet loss affect throughput?
TCP interprets packet loss as network congestion, triggering congestion control algorithms that reduce sending rate. A single lost packet can halve throughput momentarily. The Mathis formula shows throughput scales inversely with square root of loss rate: 1% loss can reduce effective throughput by 90% on high-bandwidth links.
What's acceptable packet loss?
Varies by application. Bulk transfer: <1% acceptable (TCP retransmits). VoIP: <0.5% for quality, <0.1% ideal. Gaming: <0.1% for smooth gameplay. Video streaming: <1% with buffering. Financial trading: essentially zero tolerance. Any consistent packet loss above 1% indicates network problems.
What causes packet loss?
Common causes: 1) Network congestion (too much traffic), 2) Faulty hardware (bad cables, failing NICs, overloaded routers), 3) Wi-Fi interference (distance, obstacles, channel congestion), 4) Software bugs (driver issues, firewall misconfiguration), 5) ISP issues (oversubscribed links). Diagnosis requires isolating which segment has loss.
How do I test for packet loss?
Tools: ping (basic test), mtr/WinMTR (traceroute with statistics), iperf (throughput test), Smokeping (continuous monitoring). Test methodology: run extended tests (1000+ packets) to get statistical significance. Test both directionsβloss may be asymmetric. Test during peak and off-peak hours.
What is TCP window size and how does it affect throughput?
TCP window is how much data can be 'in flight' before requiring acknowledgment. Large windows allow more data per round-trip, essential for high-bandwidth, high-latency links. Bandwidth-delay product = Bandwidth Γ RTT. If window is smaller than this, throughput is window-limited regardless of available bandwidth.