Open Network Computing Remote Procedure Call
From Wikipedia, the free encyclopedia
ONC RPC, short for Open Network Computing Remote Procedure Call, is a widely deployed remote procedure call system. ONC was originally developed by Sun Microsystems as part of their Network File System project, and is sometimes referred to as Sun ONC or Sun RPC. ONC is considered "lean and mean", but has limited appeal as a generalized RPC system for WANs or heterogeneous environments[citation needed]. Systems such as DCE, CORBA and SOAP are generally used in this wider role[citation needed].
ONC is based on calling conventions used in Unix and the C programming language. It serializes data using the 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, port 111 over UDP and TCP.
Implementations of ONC RPC exist in most Unix-like systems. Microsoft supplies an implementation for Windows in their 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).
ONC RPC is described in RFC 1831. Authentication mechanisms used by ONC RPC are described in RFC 2695, RFC 2203, and RFC 2623.