|
|
RPC wurde ursprünglich durch Sun Microsystems für NFS entwickelt. Der genaue Aufbau von RPC wird in den RFCs 1057 und 1831 beschrieben. Die Idee hinter RPC beruht auf dem Client/Server-Modell, es sollte die gemeinsame Nutzung von Programmfunktionen über Rechnergrenzen ermöglichen. Ein RPC-Aufruf läuft fast immer synchron ab, das heißt das der aufrufende Client mit der Ausführung des weiteren Progammcodes wartet bis er eine Antwort der Prozedur vom Server erhalten hat.
Es lassen sich weiterhin drei inkompatible Versionen von RPC unterscheiden, das ONC RPC, das vielfach auch als Sun RPC bezeichnet wird, ist die am weitesten verbreitete RPC Variante. ONC RPC steht hierbei für Open Network Computing Remote Procedure Call, für diese RPC Variante findet sich unter anderem auch eine Implementierung in Linux.
Die zweite nicht ganz so weit verbeitete RPC Variante ist das Distributed Computing Environment Remote Procedure Call oder kurz DCE RPC. Die letzte Variante schliesslich ist ein gescheiterter Versuch der ISO ein standardisiertes ISO RPC zu etablieren, von ISO RPC gibt es bis heute jedoch kaum eine Implementation.
Die wichtigste Komponente auf der Serverseite ist der Portmapper-Daemon, der auf den UDP- und TCP-Port 111 lauscht. Der Portmapper übernimmt die Koordination der durch den Client gewünschten Funtkionsaufrufe. Jedes Programm das auf dem Server RPC-Dienste zur Verfügung stellen will muss daher dem Portmapper bekannt sein.
Neben NFS basiert unter anderem noch NIS in weiten Teilen auf RPC-Aufrufen.