Remote Procedure Calls (RPC) allow clients and servers to communicate by extending the concept of local procedure calls so that the called procedure need not exist in the same address space. RPC uses message passing and stubs to conceal the underlying communication and make remote calls appear local. The RPC model involves a client, client stub, RPC runtime, server stub, and server. Stubs handle packing arguments, sending requests, and returning results to maintain transparency.