Path: utzoo!attcan!uunet!nih-csl!lhc!ncifcrf!haven!udel!wuarchive!cs.utexas.edu!sun-barr!olivea!mintaka!bloom-beacon!eru!hagbard!sunic!lth.se!newsuser From: e85rw@efd.lth.se (Ricard Wolf) Newsgroups: comp.protocols.tcp-ip Subject: Re: UDP/IP over ether weirdness Summary: Ethernet maximum packet size = 1500 Keywords: Ethernet, maximum, size Message-ID: <1990Oct26.075404.25595@lth.se> Date: 26 Oct 90 07:54:04 GMT References: <8945@pitt.UUCP> Sender: newsuser@lth.se (LTH network news server) Reply-To: e85rw@efd.lth.se (Ricard Wolf) Organization: Lund Institute of Technology, Sweden Lines: 64 In article <8945@pitt.UUCP> field@elvis.cs.pitt.edu (Gus) writes: > >I've got an application that would like to send the largest UDP packet >it can. (sun3 - sun3 running 4.0.3 over 10MB ethernet). The only >reference to max UDP packet size is in the RPC section where it says >the max size the UDP transport mechanism can handle is 8K bytes. >(sendto () does not return EMSGSIZE until I try to send >9000 >bytes per datagram). Anyway, when I send 8K byte packets, sendto () >doesn't complain, but the packets never arrive at the receiver. In >fact, if I attempt to send a datagram larger than 2048 bytes, it never >arrives at the receiver. Running etherfind on a third machine, and >watching the traffic between the UDP src and dst's I see: > >----- >2048 byte packet: > > 1514 udp pebbles wilma 1788 4343 >* 610 udp > >This datagram is delivered correctly to the destination application. > >----- >2049 byte packet: > > 1066 udp pebbles wilma 1790 4343 >* 611 udp > >Now, something is definitely wrong here. > >----- > > >So, what is the limit on UDP size messages (besides the 16 bit length >field limit)? Is 2048 bytes per UDP datagram the limit? > >Thanks >Brian >----- >field@cs.pitt.edu Sending more than (1500-UDP&IP header length) over an ethernet connection requires IP to fragment the data upon transmission. This isn't a very common case, since protocols like TCP automatically reduce transmitted packets to a reasonably size (like 1K or 536 bytes). Since IP isn't called to fragment upon transmission very often, it isn't very well tested. Even a UDP based protocol like TFTP automatically blocks data into 512 data bytes, so IP never has to fragment here either. I remember having similar weird problems when testing an IP implementation. In order to test the IP reassembly,we sent UDP packets from a Sun 3/80 that were roughly 2K in length. At a certain size, things just didn't work right, and after several hours of head scratching and network monitoring we finally deduced that something was amiss in the Sun UDP transmission. We didn't pursue the thing further, though; we had no intention of debugging the whole Sun network code! :-) I don't even remember at what size things went wrong, but your 2K rings a bell... -- Ricard Wolf +--------------------------+-------------------------------------+ | Ricard Wolf | Lund Institute of Technology | | email: e85rw@efd.lth.se | If you can't buy 'em - build 'em !! | +--------------------------+-------------------------------------+