TCP/IP overhead: what "94% of line rate" means
A 1 Gb/s Ethernet port never shows 1000 Mb/s in a speed test. The best result is about 940–949 Mb/s. The missing bits carry packet headers and gaps between packets. This page shows the arithmetic from RFC 6349.
The source
RFC 6349, *Framework for TCP Throughput Testing*, §4.1.1, states that each standard Ethernet frame takes 1538 bytes on the wire: "MTU is 1500 Bytes, Ethernet is 14 Bytes, CRC32 is 4 Bytes, IFG is 12 Bytes, Preamble is 7 Bytes, and SFD is 1 Byte." It gives "Maximum TCP Throughput = (MTU - 40) in Bytes X 8 bits X max FPS" (RFC 6349).
The arithmetic
| Part of each frame | Bytes | Carries your data? |
|---|---|---|
| TCP payload | 1460 | yes |
| TCP header | 20 | no |
| IPv4 header | 20 | no |
| Ethernet header | 14 | no |
| CRC32 | 4 | no |
| Inter-frame gap | 12 | no |
| Preamble + SFD | 8 | no |
| Total on the wire | 1538 |
Byte sizes from RFC 6349 §4.1.1; the TCP and IPv4 headers are the RFC's "40" bytes.
Efficiency = 1460 / 1538 = 94.93% (computed).
Results by port speed
| Case | Payload per frame | Efficiency | At 1 Gb/s | At 2.5 Gb/s |
|---|---|---|---|---|
| IPv4, no TCP options | 1460 B | 94.93% (computed) | 949.3 Mb/s (computed) | 2373 Mb/s (computed) |
| IPv4, TCP timestamps on | 1448 B | 94.15% (computed) | 941.5 Mb/s (computed) | 2354 Mb/s (computed) |
| IPv6, no TCP options | 1440 B | 93.63% (computed) | 936.3 Mb/s (computed) | 2341 Mb/s (computed) |
RFC 6349's own table gives 949.2 Mb/s for 1000 Mb/s (RFC 6349). The 12-byte timestamp option is defined in RFC 7323 (RFC 7323); the 1448-byte row uses that size. The IPv6 row uses a 40-byte IPv6 header instead of 20 bytes for IPv4 (RFC 8200).
What a carrier says
AT&T states that 1 Gbps Ethernet ports see "IP/Ethernet framing overhead limitations … resulting in an estimated max throughput of 940Mbps" (AT&T). That matches the timestamps-on row above.
What this means for you
- On a 1 Gb/s wired port, a result of 930–949 Mb/s means the link is full. Nothing is wrong.
- Over Wi-Fi, the link rate shown on your device is also a raw rate. Wi-Fi adds its own overhead on top of TCP/IP. We have no single sourced percentage for Wi-Fi overhead, so we give none (not yet sourced) .
Sources
- RFC 6349 §4.1.1: https://www.rfc-editor.org/rfc/rfc6349.html
- RFC 7323 (TCP timestamps): https://www.rfc-editor.org/rfc/rfc7323.html
- RFC 8200 (IPv6 header): https://www.rfc-editor.org/rfc/rfc8200.html
- AT&T broadband performance: https://about.att.com/sites/broadband/performance
UNSOURCED count: 1 (Wi-Fi MAC overhead percentage).