APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

2004/09/06 mtu

Maximum Transmission Unit. Every time you send mail, or transfer a file on your local network, or indeed do anything at all that involves communicating with another machine, data is broken up into packets of a specific size. Every packet has overhead: where it's coming from, where it's going to, and more. Therefore, small packet sizes can be inefficient: you are sending lots of redundant data. On the other hand, larger packet sizes can be bad for tow reasons: one, if a certain percentage of packets have to be retransmitted because of errors , that could be more wasteful than sending smaller packets. Secondly, if a network you pass through uses a smaller MTU than the packets you are sending, it will have to break the packets up into "fragments", which is costly both in time to break them apart and then in time to reassemble at the destination.

Severe MTU problems can cause more than inefficiency: you can lose so much that your session won't work at all. We often see that when setting up VPN's between machines: if the ISP uses a low MTU, the VPN may not work or may work very poorly.

The reason for this bad behavior is that a process using a VPN sees its network as "local", so it will tend to attempt higher MTU than it would for the Internet. Generally speaking, internet bound communication will use a lower MTU because of the assumption that there are routers that will make this necessary.

How do you know what MTU to use? Well, unfortunately it's mostly trial and error. There is a protocol for automatically discovering a proper MTU, but nowadays it may not work well: http://www.sendmail.org/tips/pathmtu.html.

MTU problems can affect things right on your LAN, too although that is rare.. You can certainly find more about this with a Google search for "setting MTU". Here's some folks saying we need larger Internet MTU's: http://www.psc.edu/~mathis/MTU/

Got something to add? Send me email.

More Articles by

Find me on Google+

© Tony Lawrence

Kerio Samepage

Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Software engineering is the part of computer science which is too difficult for the computer scientist. (Friedrich Bauer)

If you just want to use the system, instead of hacking on its internals, you don't need source code. (Andrew S. Tanenbaum)

This post tagged: