Latency vs. packet size
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 ovfile er 10 hops, it will ideally take us:
(1st packet * 10 hops * 7.772ms delay) + 718 * 7.772 = 5.658 seconds.
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:
(1st packet *10 hops * 2.924ms delay) + 1956 * 2.924 = 5.748 sec.
It is obvious then that smaller packets will be transmitted faster
The difference comes from the fact that when using larger packets the overhead is smaller.
For a 10-hop transfer, the additional overhead accounts for just a fraction of a second, however it makes a difference if you consider large transfers over long periods of time.
This difference is a also 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).
Also, the above example uses best case scenario, not considering higher latency and congestion.
One has to realize the fact that larger packets will still transit more useful data than smaller packets, and that there is no single "best" solution for all applications.
Therefore, try your own MTU, it may works for you, it may not
Reference
This post has been edited by blacktubi: Jan 2 2013, 08:52 PM
Jan 2 2013, 08:45 PM
Quote


0.0219sec
1.15
7 queries
GZIP Disabled