Open Network Computing ( ONC )リモート プロシージャ コール( RPC ) は、一般にSun RPCとして知られているリモート プロシージャ コールシステムです。ONC は、もともと 1980 年代にSun Microsystemsによってネットワーク ファイル システムプロジェクトの一環として開発されました。
ONC は、 UnixおよびC プログラミング言語で使用される呼び出し規約に基づいています。ONC は、外部データ表現(XDR)を使用してデータをシリアル化します。XDR は、複数のプラットフォームでアクセスされるファイル内のデータのエンコードとデコードにも使用されます。次に、ONC は、UDPまたはTCP を使用して XDR ペイロードを配信します。マシン上の RPC サービスへのアクセスは、UDP および TCP を介して既知のポート(番号 111) でクエリをリッスンするポート マッパーを介して提供されます。
ONC RPC バージョン 2 は、1988 年 4 月に公開されたRFC 1050 [1]で初めて説明されました。1988 年 6 月にはRFC 1057 で更新されました。その後、 1995 年 8 月に公開されたRFC 1831 で更新されました。2009 年 5 月に公開されたRFC 5531 が現在のバージョンです。これらのドキュメントはすべてバージョン 2 のみを説明しており、バージョン 1 はどの RFC ドキュメントでも取り上げられていません。ONC RPC で使用される認証メカニズムは、RFC 2695、RFC 2203、および RFC 2623 で説明されています。
ONC RPC の実装は、ほとんどのUnix 系システムに存在します。Microsoftは、 (現在は廃止されている) Microsoft Windows Services for UNIX製品でWindows用の実装を提供しました。さらに、 C / C++、Java、.NET用のバージョンを含む、Windows 用の ONC RPC のサードパーティ実装が多数存在します(外部リンクを参照)。
2009年に、SunはONC RPCコードを標準の3条項BSDライセンスの下で再ライセンスしましたが、[2]再ライセンスの範囲に関する混乱を受けて、2010年にOracle Corporationによって再確認されました。 [3]
参照
参考文献
- Birrell, AD; Nelson, BJ (1984). 「リモート プロシージャ コールの実装」. ACM Transactions on Computer Systems . 2 : 39–59 . doi : 10.1145/2080.357392 . S2CID 11525846.
注記
- ^ 「RFC 1050 section 8」 1988年4月
rpcversは2に等しくなければならない
- ^ Phipps, Simon (2009-02-12). 「古いコードと古いライセンス」Sun Microsystems。 2013-02-23 時点のオリジナルよりアーカイブ。 2012-12-21に取得。
{{cite web}}: CS1 maint: bot: 元の URL ステータス不明 (リンク) - ^ 「Sun RPC の長くて汚い物語。有罪者と無責任者を守るために、多少簡略化されています」。Tom Callaway、Red Hat。2010年 8 月 26 日閲覧。
外部リンク
- RFC 5531 - RPC: リモート プロシージャ コール プロトコル仕様バージョン 2 (現在のバージョン)
- RFC 1831 - RPC: リモート プロシージャ コール プロトコル仕様バージョン 2 (3 番目の公開バージョン)
- RFC 1057 - RPC: リモート プロシージャ コール プロトコル仕様バージョン 2 (2 番目に公開されたバージョン)
- RFC 1050 - RPC: リモート プロシージャ コール プロトコル仕様バージョン 2 (初版)
- リモート プロシージャ コール (RPC) — カーディフ大学の Dave Marshall 博士による ONC RPC のチュートリアル
- RPC プログラミング入門 — SGI IRIX ドキュメントからの開発者向け RPC および XDR 入門。
- Sun ONC 開発者ガイド
- Netbula の Windows 用 PowerRPC (拡張 IDL を備えた Windows 用 ONC RPC)
- NetbulaのJRPC(ONC RPC for Java)(J2SE、J2ME、Androidをサポート)
- アーヘン大学(ドイツ)の ONC/RPC 実装
- リモート ティー (LGPL Java 実装)
- リモート Tea .Net (LGPL C# 実装)
- Distinct Corporation の Windows 用 ONC RPC
- ONC RPC に関する Linux Journal の記事
- Java NIO ベースの ONC RPC ライブラリ
