4

I am writing an application which will be deployed in third party networks. It will receive IP packets and I want to know what the maximum size in reality they are likely to be is. I'm not asking what the Maximum theoretical size is but rather what in practice is generally seen. I've heard that there may be an MTU of 1576 used but have not been able to ratify this?

Regards

  • 576 is the smallest MTU that must be supported, which is perhaps what you're thinking of. – Daniel Lawson Aug 23 '09 at 1:19
3

The biggest I've seen on Ethernet is 9000 plus headers, but unless you want to become famous through posts on Security Focus, I suggest you not use a static buffer and instead determine how much space you need to allocate and use that instead.

| improve this answer | |
  • Jumbo frames of 9k are quite common in datacentres, especially if there are NAS devices present. Some ethernet vendors support jumbos of higher than 9k (largest I have seen supported is 15k) but 9k is the largest that is likely to be seen cross-vendor. Even the 9k figure varies from vendor to vendor (e.g. 9000, 9192, 9600). The sizes vary from vendor to vendor due to the fact that the IETF have never standardised Jumbo frames. The 802.3 standards all give 1500 as the largest supported payload. – Russell Heilling Jul 24 '09 at 9:31
  • Previous comment should have read the IEEE have never standardised Jumbo frames. IETF have no remit to mess with the 802 standards... – Russell Heilling Jul 24 '09 at 15:50
1

If you ever want it to go over DSL, it'll have to cope with an MTU of 1480. Which is pretty common these days in branch offices.

| improve this answer | |
  • It depends if it uses PPPoE or other schemes. Also, see RFC 4638 which explains how to use MTU larger than the theoretical maximum of 1492. – bortzmeyer Jul 25 '09 at 18:03
0

If this gets deployed by a company using IPsec/GRE encryption (to remote offices, for example) MTU could be substantially smaller than 1518 bytes. Values I have seen configured on IPsec tunnels are 1400 byte MTU, 1360 byte TCP MSS.

Alternatively, in the datacentre, jumbo frames allow MTUs of 9000 bytes or more.

| improve this answer | |
0

It's hard to survey the actual MTU in use on the Internet, however it is possible to observe the TCP Maximum Segment Size (MSS) which maybe found the TCP SYN and STNC packets. It is usually (although the use of MSS clamping can cloud the issue somewhat) a good indicator of interface MTU - for IPv4 one just adds 40 to MSS to get the MTU and for IPv6 add 60. Some recent analysis done by APNIC - from Table 1 in the article - provides a list of the most commonly observed MSS values (from a total of 436,095,954 unique TCP sessions - both IPv4 and IPv6 traffic):

MSS     Count       Proportion
1460    77,911,532  17.9%
1400    70,233,027  16.1%
1370    47,013,384  10.8%
1452    38,914,006  8.9%
1440    37,209,335  8.5%
1360    29,441,242  6.8%
1412    22,738,989  5.2%
1300    18,363,089  4.2%
1380    16,600,330  3.8%
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.