portmap/rpcbind的作用

回复 收藏
portmap 在新版CentOS系统里叫做 rpcbind ,它主要功能是把RPC程序号转化为Internet的端口号。

portmap/rpcbind 默认会随系统安装的时候一起安装,这样启动它(centos/redhat): /etc/init.d/portmap start  新版CentOS /etc/init.d/rpcbind start.  它同时监听 tcp和udp的111端口。

当一个RPC服务器启动时,会选择一个空闲的端口号并在上面监听(每次启动后的端口号各不相同),同时它作为一个可用的服务会在portmap进程注册。一个RPC服务器对应惟一一个RPC程序号,RPC服务器告诉portmap进程它在哪个端口号上监听连接请求和为哪个RPC程序号提供服务。经过这个过程,portmap进程就知道了每一个已注册的RPC服务器所用的Internet端口号,而且还知道哪个程序号在这个端口上是可用的。portmap进程维护着一张RPC程序号到Internet端口号之间的映射表,它的字段包括程序号、版本号、所用协议、端口号和服务名,portmap进程通过这张映射表来提供程序号-端口号之间的转化功能,如果portmap进程停止了运行或异常终止,那么该系统上的所有RPC服务器必须重新启动。首先停止NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。

但portmap只在第一次建立连接的时候起作用,帮助网络应用程序找到正确的通讯端口,但是一旦这个双方正确连接,端口和应用就绑定,portmap也就不起作用了。但对其他任何第一次需要找到端口建立通讯的应用仍然有用。

简单的说,portmap就是应用和端口的婚姻介绍人,双方成事了以后,媒婆就没用了。
2013-07-18 15:30 举报
已邀请:
0

白紙黑_Zi

赞同来自:

明哥,不是很明白,“一个RPC服务器对应唯一一个RPC程序号”,程序号与端口号对应,不知道这个RPC程序号是依据什么产生的,是不是每个客户端访问时都会分配一个程序号?
0

baixl

赞同来自:

咋有种,翻译过来,很僵硬的感觉!

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: