Open Network Computing (ONC) Remote Procedure Call (RPC), commonly known as Sun RPC is a remote procedure call system. ONC was originally developed by Sun Microsystems in the 1980s as part of their Network File System project.

ONC is based on calling conventions used in Unix and the C programming language. It serializes data using the External Data Representation (XDR), which has also found some use to encode and decode data in files that are to be accessed on more than one platform. ONC then delivers the XDR payload using either UDP or TCP. Access to RPC services on a machine are provided via a port mapper that listens for queries on a well-known port (number 111) over UDP and TCP.

ONC RPC version 2 was first described in RFC published in April 1988. In June 1988 it was updated by RFC . Later it was updated by RFC , published in August 1995. RFC , published in May 2009, is the current version. All these documents describe only version 2 and version 1 was not covered by any RFC document. Authentication mechanisms used by ONC RPC are described in RFC 2695, RFC 2203, and RFC 2623.

Implementations of ONC RPC exist in most Unix-like systems. Microsoft supplied an implementation for Windows in their (now discontinued) Microsoft Windows Services for UNIX product; in addition, a number of third-party implementation of ONC RPC for Windows exist, including versions for C/C++, Java, and .NET (see external links).

In 2009, Sun relicensed the ONC RPC code under the standard 3-clause BSD license, which was reconfirmed by Oracle Corporation in 2010 following confusion about the scope of the relicensing.

See also

  • XDR – The grammar defined in RFC 1831 is a small extension of the XDR grammar defined in RFC 4506.
  • DCE
  • XML-RPC
  • Birrell, A. D.; Nelson, B. J. (1984). . ACM Transactions on Computer Systems. 2: 39–59. doi:. S2CID .

Notes

External links

  • - RPC: Remote Procedure Call Protocol Specification Version 2 (current version)
  • - RPC: Remote Procedure Call Protocol Specification Version 2 (third published version)
  • - RPC: Remote Procedure Call Protocol Specification Version 2 (second published version)
  • - RPC: Remote Procedure Call Protocol Specification Version 2 (first published version)
  • — A tutorial on ONC RPC by Dr Dave Marshall of Cardiff University
  • — A developer's introduction to RPC and XDR, from SGI IRIX documentation.