Q

Random posts about ... stuff

View the Project on GitHub rMaxiQp/rMaxiQp.github.io

23 May 2020

Remote Procedure Call

by Q

The Remote Procedure Call (RPC) protocol is designed for network programming, allowing a program to make a subroutine call on a remote machine. In other words, it sends a carefully crafted message that let a remote machine provides the service.

Key features of RPC:

Both TCP and UDP rely on specific port numbers to perform service rendezvous. RPC divorce services from being tied to a given port number by using a specific service called PORTMAP or RPCBIND. The service itself uses port 111, and other RPC services can register themselves using an RPC call to port 111. The portmapper offers other RPC calls to permit service lookup. Such architecture requires the portmapper must be the first RPC program started, and must remain in constant operation.

Each remote procedure call has two sides: an active client side that makes the call to a server, which sends back a reply.

RPC uses a typical client-server design. A remote machine implements one or more remote procedures that clients can hit via exposed endpoints. The terms client and server only apply to a particular transaction; a particular host or program could operate in both roles at different times.

Few important ways in which RPC differ from local procedure calls:

Reference:

Updated: 23 May 2020
tags: Network - Web