Re: Slow Vid and MTU's

Ernest Smothers (rsmothers@www.idss.ida.org)
Thu, 30 Oct 1997 11:54:58 -0500


MTU size limits are controlled by the sending and receiving hosts, any
firewall or proxy servers between the hosts and the Internet, and the
router(s) that connect one network segment to another segment. If a
server or a router receives packets that are larger than those allowed
on its network segment, it generally rejects the larger packets and
sends an error message back to the originating machine informing it of
the max MTU acceptable. The originating host then has to resend the data
using the smaller packets.

The minimum MTU size any router on the Internet must support is 576
bytes. Unless explicitly set to a larger value, all hosts, servers and
routers are supposed to default to this value. Servers and routers that
connect to the Internet through X.25-type connections (common dial-up
and many leased lines operating at 64 Kbps or slower) often use an MTU
of 576. Servers and routers on higher speed networks are supposed to use
MTU's of 1492 bytes (IEEE 802.3), 1500 bytes (10 Mbps or faster
Ethernet), or larger for FDDI, Token Ring, ATM, SDMS, etc.

Generally, larger MTU's will improve performance as the average size of
the data that must be sent increases. This is because of three reasons.
First, every IP packet includes a minimum header of 20 bytes, while the
UDP packets contained inside the IP packets have 8 byte headers. For the
1500 byte packet, these 28 bytes represents about 1.87% of the bytes
sent. For a 576 byte packet, the headers are about 4.86% or the bytes
sent. Second, it is more efficient for computers to handle fewer large
packets than many smaller ones. Third, when using TCP, fewer packets
sent means fewer packet acknowledgements sent back from the receiving
computer and fewer packets are retransmitted to make up for lost or
damaged packets. Since Cu-SeeMe uses UDP rather than TCP, only the first
two reasons apply. Test results regularly show differences of 8 to 30
percent in UDP packet throughput between 576 and 1500 byte MTU's,
depending on network speed and congestion and CPU speed and loading.

I'd generally recommend using a higher MTU (1500) to improve overall
performance, but remember that whenever you are connecting to someone
where packets go through a router or server with a smaller MTU,
performance will suffer until either or both systems reduce packet
sizes.

There is another TCP/IP setting you also may need to adjust to change
your packet sizes: MSS. If your TCP/IP stack lets you set MSS (Trumpet
Winsock does, many Unix stacks do), you need to make sure it is set to
be 40 less than MTU (i.e., MSS = MTU - 40). This is because on some
(perhaps most?) systems, TCP/IP will send packets set to the the smaller
of MSS or MTU.

Randy Smothers
IDA

Ethernet 1500
IEEE 802.2, 802.3 1492
X.25 576

MTU = MSS + 40
So set MSS as well