portmap的原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
portmap的原理
nfs 端⼝
nfs是⾮常常⽤的服务,它的端⼝是什么?这个问题会困扰很多⼈。
其实这个服务包含三个主要部分,portmap, nfsd,还有⼀些其他的nfs服务。
portmap是110
nfsd是2049
其他的nfs服务就是⾃⼰可以确定的了。
rpcbind是什么
rpcbind⼯具可以将RPC程序号码和通⽤地址互相转换。
要让某主机能向远程主机的服务发起RPC调⽤,则该主机上的rpcbind必须处于已运⾏状态。
当RPC服务启动后,它会告诉rpcbind它监听在哪个地址上,还会告诉它为服务准备好提供的PRC程序号码。
当客户端要向某个给定的程序号码发起RPC调⽤时,它⾸先会联系服务端的rpcbind以确定RPC 请求应该发送到哪个地址上。
rpcbind⼯具应该在所有RPC管理的服务(rpc service)启动之前启动。
⼀般来说,标准的rpc服务由端⼝监视器来启动,因此rpcbind必须在端⼝监视器被调⽤之前已经启动完成。
当rpcbind⼯具已经启动后,它会检查特定的name-to-address的转换调⽤功能是否正确执⾏。
如果失败,则⽹络配置数据库会被认为过期,由于RPC管理的服务在这种情况下⽆法正确运⾏,rpcbind会输出这些信息并终⽌。
另外,rpcbind⼯具只能由super-user启动
portmap是什么
当⼀个RPC服务器启动时,会选择⼀个空闲的端⼝号并在上⾯监听(每次启动后的端⼝号各不相同),同时它作为⼀个可⽤的服务会在portmap进程注册。
⼀个RPC服务器对应惟⼀⼀个RPC程序号,RPC服务器告诉portmap进程它在哪个端⼝号上监听连接请求和为哪个RPC程序号提供服务。
经过这个过程,portmap进程就知道了每⼀个已注册的RPC服务器所⽤的Internet端⼝号,⽽且还知道哪个程序号在这个端⼝上是可⽤的。
portmap进程维护着⼀张RPC程序号到Internet端⼝号之间的映射表,它的字段包括程序号、版本号、所⽤协议、端⼝号和服务名,portmap进程通过这张映射表来提供程序号-端⼝号之间的转化功能
如果portmap进程停⽌了运⾏或异常终⽌,那么该系统上的所有RPC服务器必须重新启动。
⾸先停⽌NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。
portmap进程⼀般使⽤TCP/UDP的111端⼝。