ONC+ 開発ガイド

システム登録の概要

クライアントプログラムがネットワーク上の分散サービスを利用するには、サーバープログラムのネットワークアドレスを知る必要があります。ネットワークトランスポート (プロトコル) サービスはこのような機能を提供しません。ネットワーク上のプロセス間メッセージを伝送するだけです。つまり、メッセージはトランスポート固有のネットワークアドレスに送信されます。ネットワークアドレスは論理通信チャネルです。特定のネットワークアドレス上で待機することにより、プロセスはネットワークからのメッセージを受信します。

プロセスがどのようにネットワークアドレスを監視するかは、オペレーティングシステムごとに異なりますが、どのオペレーティングシステムでも、メッセージの到着に同期してプロセスがアクティビティを起こすような機能があります。メッセージは受信側プロセスに対してネットワーク上に送信されるのではなく、特定のネットワークアドレスに対して送信され、そこを監視していた受信側プロセスがそのメッセージを取り出します。

ネットワークアドレスが重要なのは、受信側のオペレーティングシステムの方針に依存しない方法で、メッセージの宛先を指定できるからです。TI-RPC はトランスポート独立ですので、ネットワークアドレスの実際の構造については関知しません。その代わりに、TI-RPC は汎用アドレスを使用します。汎用アドレスは NULL で終わる文字列で指定します。汎用アドレスは、各トランスポートプロバイダに固有のルーチンにより、ローカルトランスポートアドレスに変換されます。

rpcbind プロトコルでは、サーバーがサポートする任意のリモートプログラムのネットワークアドレスをクライアントから調べるための標準の方法を提供します。このプロトコルはどのトランスポートにも実現できるので、全クライアント、全サーバー、全ネットワークに適用できるような 1 つの問題解決方法を提供します。