Path: utzoo!utgpu!watserv1!watmath!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!sdd.hp.com!ucsd!ucbvax!FTP.COM!jbvb From: jbvb@FTP.COM (James B. Van Bokkelen) Newsgroups: comp.protocols.tcp-ip Subject: Re: can ONE single sendto() send all 8K data in Sun UDP-based RPC? Message-ID: <9101081603.AA26901@ftp.com> Date: 8 Jan 91 16:03:30 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: jbvb@ftp.com Organization: The Internet Lines: 15 On 4bsd Unix, if you write 8K to a UDP socket (through RPC or otherwise), you will generate an 8K + 8 byte UDP datagram. This will in turn generate an 8K + 28 byte IP datagram, which will get carved up into N IP fragments because the MAC layer won't be able to send it intact. 4bsd doesn't treat this as an error. Some other UDP implementations do. Many people (myself included) would suggest that, if you need to move large amounts of data using RPC, you use TCP as the transport layer instead of UDP. At one stroke, you get retransmission with backoff, end-to-end data integrity checking, congestion avoidance, and little or no IP fragmentation. This will make you many friends if your application runs over WANs (e.g. the Internet). James B. VanBokkelen 26 Princess St., Wakefield, MA 01880 FTP Software Inc. voice: (617) 246-0900 fax: (617) 246-0901