ONC RPC, sometimes referred to as Sun RPC, was one of the first commercial implementations of RPC. There are basically two implementations of ONC RPC, the original implementation and a transport independent implementation. The original implementation of ONC RPC is widely available on almost every system as part of the system's network software. In addition, source code for ONC RPC has been available over the Internet since 1988. This source code is readily usable on systems supporting Berkeley Unix libraries and has been modified for use on other systems.
The more recent implementation of ONC RPC is Transport Independent RPC (TI RPC)[SUN91]. TI RPC is available as part of the Solaris operating system and is not as widely available outside of the Solaris environment as the original implementation of ONC RPC. The major difference between the original implementation and TI RPC is the ability of TI RPC to use different Transport Layer Protocols. TI RPC also provides somewhat more complete client and server stubs. In this report, discussion of ONC RPC always refers to the original implementation since this is the one which is so widely available. The differences between the original implementation and TI RPC do not significantly affect the major points of comparison as given in Section 8. Where a discussion refers to TI RPC, it is explicitly identified.
The success of ONC RPC is in some measure related to the widespread use of NFS which is implemented using ONC RPC. NFS server source code is also available on the Internet. More importantly, NFS has been implemented in many diverse environments, e.g., IBM MVS, DEC VMS, and Novell Netware.