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

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

4 Answers 4

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.

2
  • 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. Jul 24, 2009 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... Jul 24, 2009 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.

1
  • 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, 2009 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.

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 in the options sections of TCP SYN and SYN/ACK packets. It is usually a good indicator of interface MTU (although the use of MSS clamping can cloud the issue somewhat) - for IPv4 one just adds 40, for the headers, to the MSS to get the MTU and for IPv6 add 60 for the larger headers. The most commonly used MTU is 1500 which is used on Ethernet - as can be seen below. 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%

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .