RPC

From LQWiki
Jump to navigation Jump to search

RPC stands for Remote Procedure Call. This term can be a bit confusing because it sometimes is used in different meanings. The first one as a general type of protocol, the other common one is as the name for an actual implementation of such a protocol.

Protocol

As a type of protocol, it means a protocol that allows a program (client) to request a service from another program (server) which can be somewhere else on the network. The RPC protocol saves client the hassle of dealing with the networking them self and makes the procedure call look more like a normal local call.

Implementation

The second meaning is the as the name of an implementation, originally developed by SUN, a.k.a ONC RPC or SUN RPC. This was later standardized by the IETF.

The most common 'user' of this implementation is NFS (But also some other daemons like famd), but it's not used that often any more. It's been mostly superseded by other protocols and models like CORBA, XML-RPC/SOAP, etc.

Linux

On many Linux distributions it is installed by default. This can be seen when a program called portmap is running. Access to portmap and the real services is usually controlled by tcp wrapper and configured in the hosts.allow and hosts.deny files in /etc. Not many desktop users use NFS or any of the other programs that need it, so it can often be uninstalled without much of a problem.

See also

External links