| Internetprotokollfamilie |
|---|
| Anwendungsschicht |
| Transportschicht |
| Internetschicht |
| Verbindungsschicht |
Open Network Computing ( ONC ) Remote Procedure Call ( RPC ), allgemein bekannt als Sun RPC, ist ein System für Remote Procedure Calls . ONC wurde ursprünglich in den 1980er Jahren von Sun Microsystems im Rahmen ihres Network File System- Projekts entwickelt .
ONC basiert auf den Aufrufkonventionen von Unix und der Programmiersprache C. Es serialisiert Daten mithilfe der External Data Representation (XDR), die auch zum Kodieren und Dekodieren von Daten in Dateien verwendet wird, auf die von mehreren Plattformen zugegriffen werden soll. ONC überträgt die XDR-Nutzdaten anschließend entweder über UDP oder TCP . Der Zugriff auf RPC-Dienste eines Rechners erfolgt über einen Portmapper , der Anfragen auf einem bekannten Port (Nummer 111) über UDP und TCP entgegennimmt.
ONC RPC Version 2 wurde erstmals in RFC 1050 [ 1 ] (April 1988) beschrieben. Im Juni 1988 erfolgte eine Aktualisierung durch RFC 1057. Später wurde RFC 1831 (August 1995) aktualisiert. Die aktuelle Version ist RFC 5531 (Mai 2009). Alle diese Dokumente beschreiben ausschließlich Version 2; Version 1 wurde in keinem RFC-Dokument behandelt. Die von ONC RPC verwendeten Authentifizierungsmechanismen sind in RFC 2695, RFC 2203 und RFC 2623 beschrieben.
Implementierungen von ONC RPC existieren in den meisten Unix-ähnlichen Systemen. Microsoft bot eine Implementierung für Windows in seinem (mittlerweile eingestellten) Produkt Microsoft Windows Services for UNIX an ; darüber hinaus existieren eine Reihe von Drittanbieter-Implementierungen von ONC RPC für Windows, darunter Versionen für C / C++ , Java und .NET (siehe externe Links).
Im Jahr 2009 lizenzierte Sun den ONC-RPC-Code unter der standardmäßigen 3-Klausel -BSD-Lizenz neu [ 2 ] , was 2010 von der Oracle Corporation nach Unklarheiten über den Umfang der Neulizenzierung erneut bestätigt wurde [ 3 ] .
Siehe auch
- XDR – Die in RFC 1831 definierte Grammatik ist eine kleine Erweiterung der in RFC 4506 definierten XDR-Grammatik.
- DCE
- XML-RPC
Referenzen
- Birrell, AD; Nelson, BJ (1984). „Implementierung von Remote Procedure Calls“ . ACM Transactions on Computer Systems . 2 : 39–59 . doi : 10.1145/2080.357392 . S2CID 11525846 .
Anmerkungen
- ^ „RFC 1050 Abschnitt 8“ . April 1988.
rpcvers muss gleich 2 sein.
- ^ Phipps, Simon (12.02.2009). „Alter Code und alte Lizenzen“ . Sun Microsystems . Archiviert vom Original am 23.02.2013 . Abgerufen am 21.12.2012 .
{{cite web}}: CS1 Wartung: Bot: Status der ursprünglichen URL unbekannt ( Link ) - ^ „Die lange, schmutzige Geschichte von Sun RPC, etwas gekürzt, um die Schuldigen und Verantwortungslosen zu schützen .“ Tom Callaway, Red Hat . Abgerufen am 26.08.2010 .
Externe Links
- RFC 5531 - RPC: Remote Procedure Call Protocol Specification Version 2 (aktuelle Version)
- RFC 1831 - RPC: Remote Procedure Call Protocol Specification Version 2 (dritte veröffentlichte Version)
- RFC 1057 - RPC: Spezifikation des Remote Procedure Call Protocol Version 2 (zweite veröffentlichte Version)
- RFC 1050 - RPC: Spezifikation des Remote Procedure Call Protocol Version 2 (erste veröffentlichte Version)
- Remote Procedure Calls (RPC) – Ein Tutorial zu ONC RPC von Dr. Dave Marshall von der Cardiff University
- Einführung in die RPC-Programmierung — Eine Entwicklereinführung in RPC und XDR, aus der SGI IRIX-Dokumentation.
- Sun ONC Entwicklerhandbuch
- Netbulas PowerRPC für Windows (ONC RPC für Windows mit erweiterter IDL)
- Netbulas JRPC (ONC RPC für Java) unterstützt J2SE, J2ME und Android
- ONC/RPC-Implementierung der RWTH Aachen (Deutschland)
- Remote Tea (LGPL Java-Implementierung)
- Remote Tea .Net (LGPL C#-Implementierung)
- ONC RPC für Windows von Distinct Corporation
- Linux Journal-Artikel über ONC RPC
- Java NIO-basierte ONC RPC-Bibliothek