When an RPC server is started, it will tell portmap what port number it is listening to, and what RPC program numbers it is prepared to serve. When a client wishes to make an RPC call to a given program number, it will first contact portmap on the server machine to determine the port number where RPC packets should be sent.
Portmap must be started before any RPC servers are invoked.
The portmapper service first appeared in BSD 4.3 and has only been used extensively by NIS, NFS, and FAM so far.
$ rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100024 1 udp 32770 status
100021 1 udp 32770 nlockmgr
100021 3 udp 32770 nlockmgr
100021 4 udp 32770 nlockmgr
100024 1 tcp 32769 status
100021 1 tcp 32769 nlockmgr
100021 3 tcp 32769 nlockmgr
100021 4 tcp 32769 nlockmgr
100005 1 udp 644 mountd
100005 1 tcp 645 mountd
100005 2 udp 644 mountd
100005 2 tcp 645 mountd
100005 3 udp 644 mountd
100005 3 tcp 645 mountd
In such static port-mapping methods Super-servers, such as inetd, may be used as a method of causing services associated with a port to launch only as needed, when new requests arrive.