[MUD-Dev] Transport layer (UDP vs TCP)

Jon Leonard jleonard at divcom.umop-ap.com
Tue Mar 17 11:18:40 New Zealand Daylight Time 1998

On Tue, Mar 17, 1998 at 10:58:58AM +0000, Niklas Elmqvist wrote:
> On Tue, 17 Mar 1998, Ben Greear wrote:
> > 
> > I'm pondering a multi level transport stream.  The important stuff
> > would go over tcp/ip, and the client-side-cache updates would run
> > over UDP.
> > 
> > The question is, what is the packet size (max) that UDP can handle?
> A good place to find information about anything that even remotely
> pertains to networks and the Internet are the RFC docs. A bit technical
> (but that's how we like them) but usually of good standard. You can find a
> directory containing ASCII-text versions of all the RFCs at
> <URL:http://ftp.sunet.se/pub/Internet-documents/rfc/> (the index is called
> rfc-index.txt).
> RFC 1180 is a TCP/IP tutorial, and a good one at that, but only brushes
> through UDP. RFC 768 concerns itself solely with UDP, the answer to your
> question might be found there.

It's likely more complicated than that.  The maximum size of a UDP packet
is about the maximum size of an IP datagram (quite large).  Realisticly,
though, you want largest packet that won't get broken up into fragments.

The largest non-fragmenting packet (MTU = Maximum Transfer Unit) depends
on the networks involved.  For Ethernet, it's about 1500 bytes.  Most high
speed networks have larger maxima, but you could see almost anything.

A search for "MTU discovery" should probably find something on how some
TCP implementations figure out what the optimal packet size is.  Anyone
seriously considering a UDP tranport protocol should write something similar.
The basic idea is set the "don't fragment" bit, and play with packet size
until you find out what works.

Jon Leonard

More information about the MUD-Dev mailing list