How to use this calculator
- Enter or choose application data to send.
- Enter or choose mTU.
- Enter or choose iP version.
- Enter or choose transport.
- Enter or choose vLAN tag.
- The efficiency (data ÷ bytes on the wire) updates as you type. Use Copy result or Share to keep it.
Method
MSS = MTU − IP header − TCP/UDP header; Packets = ⌈Data ÷ MSS⌉; Frame = 14 (+4 VLAN) + IP + L4 headers + data + 4 FCS, at least 64 bytes; Wire = Frames + 20 bytes per packet (preamble, SFD and inter-frame gap)
- MTU
- largest IP packet the link carries
- MSS
- largest data chunk per packet
Worked example
- MSS = 1,500 − 20 (IPv4) − 20 (TCP) = 1,460 bytes, so one packet.
- Frame = 14 + 1,500 + 4 = 1,518 bytes; on the wire add 8 + 12 = 1,538 bytes.
- Efficiency = 1,460 ÷ 1,538 = 94.93%.
A full-size TCP/IPv4 segment on standard Ethernet is 94.93% efficient, so a 1 Gbit/s link carries at most about 949 Mbit/s of TCP data.
What the result means
Small packets are very inefficient: one byte of UDP data still occupies 84 bytes of wire time. Larger MTUs (jumbo frames) raise efficiency only if every hop supports them.
Assumptions and limits
- Data larger than one packet is split into full-size packets plus a final partial packet.
- For UDP, the application sends separate datagrams rather than relying on IP fragmentation.
- TCP acknowledgements, retransmissions and tunnel headers are not included.
Questions
Why is the minimum frame 64 bytes?
Ethernet requires at least 64 bytes from destination address to FCS so collisions can be detected; shorter frames are padded.
What MSS does IPv6 give on a 1,500-byte MTU?
1,500 − 40 − 20 = 1,440 bytes, 20 less than IPv4 because the IPv6 header is twice as long.