What is... Packets/MTU?|
By John Holstein, Cotse Help Desk Coordinator
Throughput vs. Packet Size
Using this formula:
( MSS + header ) * 8 bits/byte
------------------------------ = latency (per hop)
Assume we need to transfer 1 MByte file:
1MByte = 1024 KB = 1,048,576 bytes.
If MTU = 1500, then: (1460+40) * 8 / 1,544,000 = 7.772 ms delay per hop
1 MByte / MSS = 1,048,576 bytes / 1460 = 718.2, or effectively 719 packets to transfer 1 MByte.
Then, to transfer 1Mbyte: 719 packets * 7.772 ms delay per hop = 5588.068 ms, or 5.588 seconds per hop.
If we are transferring our 1 MByte file over 10 hops, it will take us 55.88 sec.
If MTU = 576, then: (536+40) * 8 / 1,544,000 = 2.924 ms delay per hop.
1 MByte / MSS = 1,048,576 bytes / 536 = 1956.3, or effectively 1957 packets to transfer 1 MByte.
Then, to transfer 1 MByte: 1957 packets * 2.924 ms delay per hop = 5722.268 ms, or 5.722 seconds per hop.
If we are transferring our 1 MByte file over the same 10 hops, it will take us 57.22 sec.
The difference comes from the fact that when using larger packets the overhead is smaller. To transfer 1 MByte, if using MTU of 1500 there are 719 * 40 = 28,760 bytes of overhead, while if using MTU of 576 1957 * 40 = 78,280 bytes, additional 49,520 bytes of headers transferred each MByte. For our 10-hop transfer, the additional overhead accounts for 1.34 seconds difference in transfer time for every MByte. This difference is a bit higher in practice, considering TCP options and the fact that modern TCP/IP implementations tend to use larger headers (additional 12 bytes header space for Timestamps for example).
It's logical to assume bigger packets are better, because of all the following factors:
network - reduced number of headers, as illustrated above
routers - less routing decisions
clients - less protocol processing and device interrupts
If throughput is not the goal, smaller packets may be a better selection since they take less time to travel throughout the network. That effect might be preferred in some applications and online gaming, at the expense of throughput.
Ultimately, packet size should be decided based on the type of the desired result, considering the underlying network as well, to avoid negative factors such as fragmentation of packets. Still one has to realize the fact that larger packets will still transmit more useful data than smaller packets, and that there is no single "best" solution for all applications.
Everything you need to know about Networks
Registry Changes to Windows 9x & ME in Relation to TCP/IP
Description of the Internet Protocol Packet Size Setting
Comments? Questions? Bugs? John Holstein
Return to the Help Desk