На машине сервера RPC запущен процесс, называемый сопоставителем конечных точек (это относится конкретно к ONC RPC, но другие механизмы RPC будут аналогичными). Этот процесс выполняется на известном порту, так что любой может подключиться к нему (конечно, безопасность и существование позволяют).
RPC-сервер запустится и зарегистрирует себя в сопоставителе конечной точки, сообщив свой код (например, MULT) и номер порта, и преобразователь конечной точки должным образом сохранит эту информацию для последующего использования:
+---------+ +--------+
| Mapper, | <- Register MULT, port Y -- | Server |
| known | | for |
| port X | | MULT |
+---------+ +--------+
Когда клиент впоследствии подключается к сопоставителю конечных точек с использованием IP-адреса, он дает требуемый код (MULT), а затем сопоставитель конечных точек предоставляет конечный пункт назначения - теперь клиент знает оба IP-адреса * Порт 1010 * и для службы MULT:
+--------+ +---------+
| Client | -- Request MULT -> | Mapper, |
| | <- Return port Y -- | known |
| | | port X |
+--------+ +---------+
В этот момент преобразователь конечной точки может отойти в сторону и позволить клиенту открыть сеанс непосредственно с самой службой MULT.
+--------+ +--------+
| Client | -- Connect to MULT -> | Server |
| | <- Do stuff -> | for |
| | | MULT |
+--------+ +--------+