Gigabit
Why a gigabit connection tests at about 940 Mbps
Short answer: a 1 Gbps Ethernet link carries 1,000 Mbps of everything, including preamble, headers, checksums and gaps between frames. With standard 1,500-byte packets and TCP timestamps on, only 1,448 of every 1,538 bytes on the wire are your data, so the ceiling is about 941 Mbps. A result of 930–941 Mbps on a wired gigabit test is a healthy link, not a fault.
Where the bytes go
Every standard Ethernet packet is a fixed wrapper around up to 1,500 bytes of payload. Wikipedia's summary of the Ethernet frame format lists the layers: a preamble and start delimiter (8 bytes), the frame itself with a 14-byte header and a four-octet frame check sequence, and a mandatory idle gap of at least 96 bits (12 octets) before the next packet (Ethernet frame). The IEEE standards specify a maximum payload of 1,500 octets. Inside that payload, IPv4 needs 20 bytes and TCP needs 20 bytes; the TCP Timestamps option defined in RFC 7323 adds 12 more on most modern systems.
| Item | Bytes per full-size packet |
|---|---|
| Preamble + start delimiter | 8 |
| Ethernet header | 14 |
| IPv4 header | 20 |
| TCP header | 20 |
| TCP timestamps option | 12 |
| Your data (payload) | 1,448 |
| Frame check sequence | 4 |
| Inter-packet gap | 12 |
| Total on the wire | 1,538 |
Efficiency is 1,448 ÷ 1,538 = 94.15%, so 1,000 Mbps × 0.9415 = 941.5 Mbps. Without the timestamp option the payload is 1,460 bytes and the ceiling is 1,460 ÷ 1,538 × 1,000 = 949.3 Mbps. IPv6 headers are 20 bytes longer than IPv4, which lowers the figure by roughly another 13 Mbps.
What each link speed should show
| Link | Ceiling (timestamps on) | Ceiling (no options) |
|---|---|---|
| 100 Mbps | 94 Mbps | 95 Mbps |
| 1 Gbps | 941 Mbps | 949 Mbps |
| 2.5 Gbps | 2,354 Mbps | 2,373 Mbps |
| 10 Gbps | 9,415 Mbps | 9,493 Mbps |
All values are the link rate × payload ÷ 1,538. Real results also lose a little to the router's own work and to the speed test's measurement method, which is why 920–940 Mbps is common on a good gigabit plan. Our methodology page explains how our test counts bytes.
Worked example: a 10 GB game download
A 10 GB file is 80,000 megabits of payload. Over a wired gigabit link at the 941 Mbps ceiling that takes 80,000 ÷ 941 = 85 seconds, about 1 minute 25 seconds. If you divided by the nominal 1,000 Mbps you would expect 80 seconds, so the overhead costs about five seconds on this file. The gap is real but small, and it is the same percentage whatever the file size. If a download takes far longer than this, the cause is the server, the disk or Wi-Fi, not Ethernet overhead; the download time calculator lets you try your own numbers.
Jumbo frames and why you probably do not use them
Larger payloads reduce the percentage lost to headers, but jumbo frames only work when every device on the path is configured for them, and your ISP connection and the internet beyond it use 1,500-byte packets. Home speed tests therefore always run on standard frames, and the 941 Mbps figure is the one to compare against.
When the number is too low to blame overhead
- Below about 900 Mbps on a cable to the router: look at the cable, ports and the device. See Ethernet stuck at 100 Mbps and router placement.
- Over Wi-Fi: the radio link rate shown by your device is not the throughput; Wi-Fi shares airtime and rarely reaches the ceiling above.
- Plans advertised as "up to 1 Gbps": your ISP may measure at a different point; the tolerance is in the plan terms, not in this arithmetic.
Related
Download time calculator · Mbps to MB/s converter · Mbps vs MB/s · Why results change between runs · Download vs upload speed