Open Network Computing Remote Procedure Call

Open Network Computing Remote Procedure Call(ONC RPC)は、分散システムにおける遠隔手続き呼出し(RPC)を実現するためのプロトコルの一つです。サン・マイクロシステムズNetwork File System(NFS)の一部として開発したもので、Sun ONCまたはSun RPCとも呼ばれます。ここではONCと略して記述します。

ONCは、UNIXC言語の呼び出し規約に準拠して設計されています。データのシリアライズには、XDR(External Data Representation)という標準形式が用いられます。XDRは、異なるシステム間でデータを交換する際に、データの表現形式の違いを吸収する役割を果たします。

ONCの通信は、主にUDPまたはTCPプロトコルを使用して行われます。クライアントは、XDRでシリアライズされたデータをこれらのプロトコルでサーバーに送信し、サーバーは処理結果を同じくXDR形式でクライアントに返します。このプロセスにより、異なるアーキテクチャやオペレーティングシステムを持つマシン間でも、データの整合性を保ちながら通信が可能になります。

RPCサービスにアクセスする際には、ポートマッパーという仕組みが利用されます。ポートマッパーは、特定のポート番号で待機し、RPCサービスのポート番号を問い合わせるクライアントに応答します。通常、UDPまたはTCPの111番ポートがポートマッパーに使用されます。クライアントは、ポートマッパーに問い合わせることで、目的のRPCサービスが使用しているポート番号を動的に取得し、サービスに接続できるようになります。

ONCは、多くのUNIX系システムに標準で実装されています。また、マイクロソフトはWindows向けの実装をServices for UNIXの一部として提供しています。さらに、サードパーティーによって、Windows向けのONC実装も複数提供されており、C言語C++Java、.NETなどの様々なプログラミング言語から利用可能です。

ONC RPCの仕様は、RFC 1831で詳細に記述されています。また、ONC RPCの認証機構については、RFC 2695、RFC 2203、RFC 2623でそれぞれ規定されています。

関連技術として、分散コンピューティング環境(DCE)、XDR、XML-RPCなどが挙げられます。これらの技術は、ONCと同様に分散システムにおけるデータ交換や手続き呼び出しをサポートするためのものです。


関連項目



Distributed Computing Environment (DCE)
XDR
XML-RPC

外部リンク



ONC/RPC Implementation of the University of Aachen (Germany)
Remote Tea (LGPL Java Implementation)
Distinct Corporation's ONC RPC for Windows
* Linux Journal article on ONC RPC

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。