"Checking internet speed" usually measures Throughput (bits on the wire). But what you actually care about is Goodput (application-level data delivered).
1. The Math of Overhead
Every packet has baggage. On a standard Ethernet frame (1500 bytes MTU):
- Ethernet Header: 14 bytes
- IP Header: 20 bytes
- TCP Header: 20 bytes (min)
- FCS/Gap: 12+ bytes
This means roughly ~5-7% of your bandwidth is consumed just by protocol metadata. If you see 940 Mbps on a 1000 Mbps link, your connection is actually perfect.
2. The Impact of MTU
Jumbo Frames (9000 bytes) reduce this overhead ratio but are rarely supported on public internet.
Tip: Test your MTU using ping with the "Don't Fragment" flag:
ping -f -l 1472 8.8.8.8 (Windows)