[comp.protocols.tcp-ip] MTU answers

nelson@sun.soe.clarkson.edu (Russ Nelson) (03/27/89)

These are the following answers that I received on my question on the proper
MTU to use on the Internet.  Obviously, there is a lot of ignorance out there
on the subject.  Consequently, I am posting barns@gateway.mitre.org (Bill
Barns) reply on the matter in a separate message (no need to pollute it
with the wrong answers in *this* message :-).  Each of the paragraphs
below is a separate response.
-russ

By the time you figure in headers and such, the Arpanet MTU should be
1006 because of limitation in 1822-connected hosts.  Bigger sizes work
poorly - so poorly that some can't use them at all.  Sigh.

MTU for X.25 links is 1024, and the MTU for 1822 is 1007(8).
I usually set my MTUs for 1000 just for conformance sake.
	
The maximum safe assumption for acceptable IP datagram size on the
Internet is 576 and this is documented both in the IP spec (under the
definition of the Total Length field) and in the forthcoming Host
Requirements RFC ...  The MTU of the BBN packet switching networks
(Milnet, Arpanet) is 1007 octets, but there are some problems with the
odd number on certain interface boards and it is widely assumed that
the usable MTU is 1006.

The mtu of milnet is 1006 bytes.  ...
Although there is no maximum MTU, gateways are allowed to fragment.

If your host is sending datagrams through a gateway with MTU > 576,
it (your host) is probably broken.

Now, on the otherhand, it has been realized by the Internet community
that things work alot better when the two peers of a connection use
the minimum "mtu" of the various networks traversed.  Consequently,
there has been work in the area of minimum mtu discovery via say an
ICMP or IP option.  Since there is no good way to discover the mtu,
some TCP/IP implimentations decide to use the minimum (512 + 64) if
they know that their route will pass through a gateway.  Obviously,
you don't want to use a minimum when peering with another host on
the same net.

BSD 4.3 assumes an MTU of 1536 (1500?) on local networks and 576 on
packets that go through a gateway.

    I have also found that anything above 1024 is risky (though I tend to
use 1024 rather than 1000 since the performance of many systems improves
with the use of 2^N data sizes).  Older TCP/IPs (and SUN OS 4.0 for some
reason) aren't all that kind about negotiating MTUs.
-- 
--russ (nelson@clutx [.bitnet | .clarkson.edu])
If you can, help others.
If you can't, at least don't hurt others--the Dalai Lama