Understanding the Ethernet throughput and frame rate calculator — concept and principle
A "1 Gbps" Ethernet link never delivers a full gigabit of application data, because every frame carries headers and is separated from the next by fixed overhead on the wire. This calculator shows the maximum number of frames per second for a given link speed and frame size, the TCP/IPv4 payload throughput that remains, and the resulting efficiency. It helps set realistic speed-test expectations and judge jumbo frames.
How it is calculated
- Max frames/s = link speed (bit/s) ÷ ((frame size + 20) × 8).
- Payload throughput = frames/s × (frame size − 18 − 40) × 8, shown in Mbps.
- Efficiency = (frame size − 58) ÷ (frame size + 20) × 100.
Frame size is counted from the destination MAC address to the frame check sequence (FCS), as in the standard 64–1518 byte range.
The principle
On the wire each frame is preceded by a 7-byte preamble and a 1-byte start frame delimiter (8 bytes) and followed by an inter-frame gap of at least 12 byte times, so 20 bytes are spent per frame without carrying data. Inside the frame, 18 bytes are Ethernet header (14) and FCS (4), and a TCP/IPv4 packet uses 20 bytes of IP header and 20 bytes of TCP header without options. A 1518-byte frame therefore carries a 1500-byte IP packet (the MTU) and 1460 bytes of TCP payload. Small frames waste much more: at 64 bytes, a 1 Gbps link carries 1,488,095 frames per second.
Worked example
- Inputs: 1 Gbps link, 1518-byte frames.
- Bytes on the wire per frame: 1518 + 20 = 1538, which is 12,304 bits.
- Frames per second: 10⁹ ÷ 12,304 = 81,274.38.
- TCP payload per frame: 1518 − 58 = 1460 bytes = 11,680 bits.
- Throughput: 81,274.38 × 11,680 ÷ 10⁶ = 949.28 Mbps.
- Efficiency: 1460 ÷ 1538 × 100 = 94.93%.
| Frame size (bytes, 64–9000) | Max frames/s |
|---|---|
| 380 | 312,891.1139 |
| 759 | 160,462.1309 |
| 1,138 | 107,898.1442 |
| 1,518 | 81,274.38231 |
| 1,898 | 65,189.04824 |
| 2,277 | 54,418.80714 |
| 3,036 | 40,903.14136 |
How to read the result
About 949 Mbps is the ceiling for a single TCP stream over a perfect 1 Gbps link with standard frames, so a speed test showing around 930–940 Mbps is healthy rather than faulty. Jumbo frames of 9000 bytes raise efficiency to about 99.1% and cut the frame rate roughly sixfold, which reduces CPU work per byte. For routers, packets per second at small frames is often the harder limit.
Common mistakes
- Including the preamble and gap in the frame size; they are added separately.
- Forgetting VLAN tags (4 bytes each) or TCP options such as timestamps, which shrink the payload further.
- Expecting jumbo frames to help when any device on the path uses a 1500-byte MTU.
Frequently asked questions
Why does my 1 Gbps connection test at about 940 Mbps?
Ethernet, IP and TCP overhead consume about 5% of the link, so that result is close to the maximum.
Why is 64 bytes the minimum frame size?
Classic shared Ethernet needed frames long enough to detect collisions across the network, and the minimum was kept for compatibility. Short payloads are padded.
What changes with IPv6?
The IPv6 header is 40 bytes instead of 20, so TCP payload per standard frame drops to 1440 bytes.
Sources: IEEE 802.3, IEEE Standard for Ethernet · IETF RFC 2544, Benchmarking Methodology for Network Interconnect Devices