RPCサーバーマシンには、エンドポイントマッパーと呼ばれる実行中のプロセスがあります(これは特にONC RPCに適用されますが、他のRPCメカニズムも同様です)。このプロセスは既知のポートで実行されるため、誰でも接続できます(もちろん、セキュリティと存在が許可されます)。
RPCサーバーが起動し、エンドポイントマッパーに登録して、コード(MULTなど)とポート番号を指定します。エンドポイントマッパーは、後で使用するためにその情報を忠実に保存します。
+---------+ +--------+
| Mapper, | <- Register MULT, port Y -- | Server |
| known | | for |
| port X | | MULT |
+---------+ +--------+
その後、クライアントがIPアドレスを使用してエンドポイントマッパーに接続すると、目的のコード(MULT)が提供され、エンドポイントマッパーが最終的な宛先を提供します。これで、クライアントはMULTサービスのIPアドレスとポートの両方を認識します。
+--------+ +---------+
| Client | -- Request MULT -> | Mapper, |
| | <- Return port Y -- | known |
| | | port X |
+--------+ +---------+
その時点で、エンドポイントマッパーは邪魔にならないようにして、クライアントにMULTサービス自体とのセッションを直接開かせることができます。
+--------+ +--------+
| Client | -- Connect to MULT -> | Server |
| | <- Do stuff -> | for |
| | | MULT |
+--------+ +--------+