How does SUNRPC/UDP work?

Barry Margolin barmar at think.com
Mon Oct 2 15:05:36 AEST 1989


In article <1843 at brazos.Rice.edu> murthy at thir.cs.cornell.edu (Chet Murthy) writes:
>X-Sun-Spots-Digest: Volume 8, Issue 148, message 4 of 10
>Second, if SUNRPC/UDP does allow arbitrary (or long) length messages, does
>it allow multiple messages to be read in at the same time, so that, for
>example, if one server is receiving two UDP messages simultaneously, and
>one of them client machines dies in the middle of the message, the server
>can still read the rest of the other message - it doesn't hang waiting for
>the message from the other client, and it doesn't need to wait for a
>timeout.

I don't know offhand if it allows arbitrary length messages, but it does
allow long messages.  They are packed into a single UDP packet, which is
packed into a single IP datagram, so the limit is on the size of the
receiver's IP datagram reassembly buffer.  The higher layers (UDP, RPC,
application) don't see partial RPC messages; they see nothing until the
entire message has been received.  There's no blocking of messages when
partial datagrams have been received; datagrams are filled in as packets
are received, and when a datagram is complete it is forwarded to the
higher layers.  Barry Margolin, Thinking Machines Corp.

barmar at think.com
{uunet,harvard}!think!barmar



More information about the Comp.sys.sun mailing list