"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)