Portmap 是为RPC 程序服务的。 每一个RPC server程序启动的时候要向portmap程序注册。这样portmap程序就知道这些RPC server监听在哪个端口。 而RPC client在发起连接向portmap发起查询,知道了想要查询的RPC server的监听端口后再去连接server。这就是portmap的工作。 所以portmap要在RPC server启动之前启动。
Portmap从3,4版本开始叫做 rpcbind。 通过下面的命令可以看到portmap或者叫rpcbind中记录的内容:
bash-2.03# rpcinfo -p program vers proto port service 100000 4 tcp 111 rpcbind 100000 3 tcp 111 rpcbind 100000 2 tcp 111 rpcbind 100000 4 udp 111 rpcbind 100000 3 udp 111 rpcbind 100000 2 udp 111 rpcbind 100232 10 udp 32772 sadmind 100011 1 udp 32773 rquotad 100002 2 udp 32774 rusersd 100002 3 udp 32774 rusersd 100002 2 tcp 32772 rusersd 100002 3 tcp 32772 rusersd 100012 1 udp 32775 sprayd 100008 1 udp 32776 walld 100001 2 udp 32777 rstatd 100001 3 udp 32777 rstatd 100001 4 udp 32777 rstatd 100083 1 tcp 32773 100068 2 udp 32778