リモート・プロシージャー・コールのブロードキャスト

ブロードキャスト RPC ベースのプロトコルでは、クライアントはブロードキャスト・パケットをネットワークに送信し、多数の応答を待ちます。 ブロードキャストRPCは、トランスポート層としてパケットベースのプロトコル(例: User Datagram Protocol / Internet Protocol (UDP/IP))のみを使用します。

ブロードキャスト・プロトコルをサポートするサーバーは、要求が正常に処理された場合にのみ応答し、エラーが発生した場合はサイレントのままになります。 ブロードキャスト RPC では、セマンティクスを実現するために RPC ポートマッパー・サービスが必要です。 portmap デーモンは、RPC プログラム番号をインターネット・プロトコル・ポート番号に変換します。 リモート・プロシージャー・コールのブロードキャストの例を参照してください。

ブロードキャスト RPC と通常の RPC の主な相違点は、以下のとおりです。

  • 通常の RPC では 1 つの応答のみが予期されますが、ブロードキャスト RPC では、応答する各マシンから 1 つ以上の応答が予期されます。
  • ブロードキャスト RPC の実装は、失敗した応答をフィルターに掛けて除外することにより、それらの応答をガーベッジとして扱います。 したがって、ブロードキャスターとリモート・サービスの間にバージョンの不一致がある場合、ブロードキャスト RPC のユーザーは認識できない可能性があります。
  • すべてのブロードキャスト・メッセージは、ポート・マッピング・ポートに送信されます。 その結果、ブロードキャスト RPC メカニズムを介してアクセスできるのは、自分自身をポート・マッパーに登録するサービスのみです。
  • ブロードキャスト要求のサイズは、ローカル・ネットワークの最大転送単位 (MTU) に制限されます。 イーサネット・システムの場合、MTU は 1500 バイトです。
  • ブロードキャスト RPC は、UPD/IP などのパケット指向 (コネクションレス) トランスポート・プロトコルでのみサポートされます。