Bandwidth is the maximum data transfer rate of a network path, measured in bits per second (bps). Understanding bandwidth units and realistic transfer rates is crucial for network planning.
Bandwidth Units:
- Bits per second (bps): Base unit for bandwidth
- 1 Kbps (kilobit) = 1,000 bps
- 1 Mbps (megabit) = 1,000,000 bps
- 1 Gbps (gigabit) = 1,000,000,000 bps
- Note: Decimal (SI) units, not binary (1000 not 1024)
- Bytes per second (B/s): Used for file transfer speeds
- 1 byte = 8 bits
- 1 KB/s = 8 Kbps
- 1 MB/s = 8 Mbps
- 1 GB/s = 8 Gbps
- Common confusion:
- ISPs advertise in Mbps (megabits)
- Download speeds shown in MB/s (megabytes)
- 100 Mbps connection = 12.5 MB/s theoretical max
Bandwidth vs Throughput:
- Bandwidth: Theoretical maximum capacity (highway width)
- Throughput: Actual data transfer rate achieved (cars on highway)
- Factors reducing throughput:
- Protocol overhead (TCP/IP headers, acknowledgments)
- Network congestion
- Latency (RTT affects TCP window size)
- Packet loss requiring retransmissions
- Application limitations (disk I/O, CPU)
- Typical efficiency: 70-90% of advertised bandwidth
- TCP overhead: ~5-10%
- Ethernet frame overhead: ~5%
- Real-world congestion: variable
Transfer Time Calculation:
- Formula: Time (seconds) = File Size (bits) / Bandwidth (bps)
- Example: 1 GB file over 100 Mbps connection
- File size: 1 GB = 1,073,741,824 bytes = 8,589,934,592 bits
- Bandwidth: 100 Mbps = 100,000,000 bps
- Theoretical time: 8,589,934,592 / 100,000,000 = 85.9 seconds
- Realistic (80% efficiency): 85.9 / 0.8 = 107 seconds (~1.8 minutes)
Common Connection Speeds:
- Dial-up: 56 Kbps (obsolete)
- DSL: 1-100 Mbps (older residential)
- Cable: 100-1000 Mbps (common residential)
- Fiber: 100-10,000 Mbps (modern residential/business)
- Mobile 4G LTE: 5-50 Mbps (varies by signal)
- Mobile 5G: 100-1000 Mbps (peak speeds, rarely sustained)
- Ethernet:
- Fast Ethernet: 100 Mbps
- Gigabit Ethernet: 1 Gbps (1000 Mbps)
- 10 Gigabit Ethernet: 10 Gbps
- 100 Gigabit Ethernet: 100 Gbps (data centers)
Protocol Overhead Examples:
- TCP/IP headers: 40 bytes per packet (20 TCP + 20 IP)
- Ethernet frame: 18 bytes overhead (14 header + 4 CRC)
- Maximum payload: 1500 bytes (MTU) - 40 = 1460 bytes
- Efficiency: 1460/1538 = 94.9%
- TCP acknowledgments: Every ~2 packets, adds ~2-5% overhead
- TLS/SSL encryption: Additional 5-10% overhead for HTTPS
Bandwidth-Delay Product (BDP):
- Definition: Bandwidth × RTT = Amount of data "in flight"
- Formula: BDP = Bandwidth (bps) × RTT (seconds)
- Example: 100 Mbps × 50 ms RTT = 625 KB in flight
- TCP Window Size: Must be >= BDP for full bandwidth utilization
- Default TCP window: 64 KB (limits throughput over high-latency links)
- TCP Window Scaling (RFC 1323) allows larger windows
- Impact: High latency reduces effective throughput if window too small
Asymmetric Bandwidth:
- Most residential connections are asymmetric (download > upload)
- Cable: 100 Mbps down / 10 Mbps up (10:1 ratio)
- DSL: 25 Mbps down / 3 Mbps up (8:1 ratio)
- Fiber: Often symmetric (1 Gbps / 1 Gbps)
- Impact: Slow uploads affect video conferencing, cloud backups, VPN
Real-World Transfer Examples:
- Netflix HD streaming: 5 Mbps required
- Netflix 4K streaming: 25 Mbps required
- Zoom video call: 3-4 Mbps recommended
- 100 GB game download:
- 100 Mbps: ~2.2 hours (theoretical), ~2.8 hours (realistic)
- 1 Gbps: ~13 minutes (theoretical), ~17 minutes (realistic)
- 1 TB backup:
- 10 Mbps upload: ~9.3 days (realistic)
- 100 Mbps upload: ~22 hours (realistic)
- 1 Gbps upload: ~2.8 hours (realistic)
Factors Affecting Transfer Speed:
- Server limitations: Web server may limit per-connection speed
- CDN throttling: Content delivery networks may rate-limit
- Disk I/O: Slow hard drive can bottleneck downloads
- CPU: Encryption/decryption can limit speeds on older hardware
- Number of connections: Parallel transfers can increase total throughput
- Time of day: Network congestion varies (peak vs off-peak)
Measuring Bandwidth:
Bits vs Bytes Cheat Sheet:
- 10 Mbps = 1.25 MB/s
- 25 Mbps = 3.125 MB/s
- 50 Mbps = 6.25 MB/s
- 100 Mbps = 12.5 MB/s
- 200 Mbps = 25 MB/s
- 500 Mbps = 62.5 MB/s
- 1 Gbps = 125 MB/s
- 10 Gbps = 1,250 MB/s = 1.25 GB/s
Best Practices:
- Account for 20-30% overhead when estimating transfer times
- Use wired connections for large transfers (more reliable than WiFi)
- Enable TCP window scaling for high-bandwidth, high-latency links
- Use parallel connections/threads for large downloads (when allowed)
- Schedule large transfers during off-peak hours
- Monitor actual throughput during transfers (not just start/end)
- Consider compression to reduce effective file size