Skip to main content

Was ist ein RPC-Anruf in einem Computernetzwerk?

Remote Procedure Calls (RPC) (April 2025)

Remote Procedure Calls (RPC) (April 2025)
Anonim

Ein Programm auf einem Computer in einem Netzwerk verwendet einen Remoteprozeduraufruf, um eine Anfrage an ein Programm auf einem anderen Computer im Netzwerk zu stellen, ohne die Details des Netzwerks zu kennen. Das RPC-Protokoll ist ein Netzwerkprogrammierungsmodell für die Punkt-zu-Punkt-Kommunikation innerhalb oder zwischen Softwareanwendungen. Ein RPC wird auch als Unterprogrammaufruf oder Funktionsaufruf bezeichnet.

Wie funktioniert RPC?

In RPC fordert der sendende Computer eine Anforderung in Form eines Prozedur-, Funktions- oder Methodenaufrufs an. RPC übersetzt diese Anrufe in Anforderungen und sendet sie über das Netzwerk an das vorgesehene Ziel. Der RPC-Empfänger verarbeitet dann die Anforderung basierend auf dem Prozedurnamen und der Argumentliste und sendet nach Abschluss eine Antwort an den Absender. RPC-Anwendungen implementieren normalerweise Softwaremodule, die als "Proxys" und "Stubs" bezeichnet werden, die die Remote-Aufrufe vermitteln und sie dem Programmierer so erscheinen lassen, als seien sie mit lokalen Prozeduraufrufen identisch.

RPC-aufrufende Anwendungen arbeiten normalerweise synchron und warten, bis die Remoteprozedur ein Ergebnis zurückgibt. Die Verwendung von einfachen Threads mit derselben Adresse bedeutet jedoch, dass mehrere RPCs gleichzeitig auftreten können. RPC enthält eine Timeout-Logik, um Netzwerkfehler oder andere Situationen zu behandeln, in denen RPCs nicht zurückkehren.

RPC-Technologien

RPC ist seit den 1990er Jahren eine gängige Programmiertechnik in der Unix-Welt. Das RPC-Protokoll wurde sowohl in den Distributed Computing-Umgebungen der Open Software Foundation als auch in den Open Network Computing-Bibliotheken von Sun Microsystems implementiert, die beide weit verbreitet waren. Zu den neueren Beispielen für RPC-Technologien zählen Microsoft DCOM, Java RMI sowie XML-RPC und SOAP.