Linux中portmap(端口映射)---详解

portmap进程的主要功能是把RPC程序号转化为Internet的端口号

Remote Procedure Call, RPC

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

如果portmap进程停止了运行或异常终止,那么该系统上的所有RPC服务器必须重新启动。首先停止NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。

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

简单的说,portmap就是应用和端口的婚姻介绍人,双方成事了以后,媒婆就没用了

**************************************************************************************************************************************************

项目地址:http://code.google.com/p/portmap/

下载地址:http://portmap.googlecode.com/files/portmap-0.1.tar.gz

项目介绍:

portmap 主要是作为各个机器间端口映射的工具

项目的最初目的是作为vnc端口映射,主要是将不同机器的vnc接口映射到一台能够对外的

物理机上,安全和方便管理;

iptables可以实现端口映射,但是每次增加一个映射端口都需要重新启动,故自己动手完成了端口映射工具;

还有像80端口的映射,这个可以归总为反向代理,作为负载均衡器来使用,原理是相通,像nginx七层的负载均衡功能应该使用的就是端口映射,portmap暂时不支持哈~

特点:

* 使用epoll方式,支持高并发和长连接模式

* 多线程支持,线程个数可配置,主要作为工作线程

* 使用简单,只需发送待映射的端口到守护进程,守护进程会返回映射后的端口,即可使用

*

TODO:

* 配置文件单独提取出来

* bug修复

* 多机扩展?

Example:

SHELL CODE

$ make$ ./portmap  //启动进程$ cd test    //修改test1.c中相关变量

C CODE

//addr: portmap server的地址 //port: portmap server 的端口 //request:是需要映射的地址和端口const char *addr = "10.60.1.124";unsigned int port = 5903; const char *request = "10.60.1.124:5905";

BASH CODE

make && ./test1

正常情况下,返回映射后的地址和端口

portmap进程的主要功能是把RPC程序号转化为Internet的端口号

Remote Procedure Call, RPC

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

如果portmap进程停止了运行或异常终止,那么该系统上的所有RPC服务器必须重新启动。首先停止NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。

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

简单的说,portmap就是应用和端口的婚姻介绍人,双方成事了以后,媒婆就没用了

**************************************************************************************************************************************************

项目地址:http://code.google.com/p/portmap/

下载地址:http://portmap.googlecode.com/files/portmap-0.1.tar.gz

项目介绍:

portmap 主要是作为各个机器间端口映射的工具

项目的最初目的是作为vnc端口映射,主要是将不同机器的vnc接口映射到一台能够对外的

物理机上,安全和方便管理;

iptables可以实现端口映射,但是每次增加一个映射端口都需要重新启动,故自己动手完成了端口映射工具;

还有像80端口的映射,这个可以归总为反向代理,作为负载均衡器来使用,原理是相通,像nginx七层的负载均衡功能应该使用的就是端口映射,portmap暂时不支持哈~

特点:

* 使用epoll方式,支持高并发和长连接模式

* 多线程支持,线程个数可配置,主要作为工作线程

* 使用简单,只需发送待映射的端口到守护进程,守护进程会返回映射后的端口,即可使用

*

TODO:

* 配置文件单独提取出来

* bug修复

* 多机扩展?

Example:

SHELL CODE

$ make$ ./portmap  //启动进程$ cd test    //修改test1.c中相关变量

C CODE

//addr: portmap server的地址 //port: portmap server 的端口 //request:是需要映射的地址和端口const char *addr = "10.60.1.124";unsigned int port = 5903; const char *request = "10.60.1.124:5905";

BASH CODE

make && ./test1

正常情况下,返回映射后的地址和端口


相关内容

  • 服务器安装
  • 1.配置与管理Samba服务器(掌握Samba服务器的安装.配置与调试.) 1.1 了解Samba应用环境 ●文件和打印机共享:文件和打印机共享是Samba的主要功能,SMB进程实现 资源共享,将文件和打印机发布到网络之中,以供用户可以访问. ●身份验证和权限设置:smbd服务支持user mode ...

  • 大华硬盘录像机远程监控设置方法
  • 大华硬盘录像机远程监控设置方法 发布日期:2012-04-24 来源:无忧安防网 作者:admin 浏览次数:33874 组建广域网 所有设备都已经具有接入互联网功能及局域网能够正常访问的前提,要实现在随时随地可以访问跨网段访问设备. 申请租用电信.网通.铁通,提供的固定或动态公网IP地址: 方法一 ...

  • 端口号大全
  • 端口号大全 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 1 ...

  • 如何远程控制他人电脑(详解.大全)--IPAD2连接内网
  • 一.去苹果shop下载一个远程桌面软件 我的ipad2是没有越狱系统的,越狱的也一样可以,其它平板电脑应该也有类似的软件可以下载,在下篇文章介绍. 打开ipad2,进入苹果shop . 在打开的窗口右上角输入 "desktop" 然后搜索一下. 或者你可以直接搜索ipad2,查询 ...

  • linux应用详解
  • linux应用详解.txt22真诚是美酒,年份越久越醇香浓型:真诚是焰火,在高处绽放才愈是美丽:真诚是鲜花,送之于人手有余香.一颗孤独的心需要爱的滋润:一颗冰冷的心需要友谊的温暖:一颗绝望的心需要力量的托慰:一颗苍白的心需要真诚的帮助:一颗充满戒备关闭的门是多么需要真诚这一把钥匙打开呀!/etc/c ...

  • 端口大全及常见攻击方式
  • 端口大全及常见攻击方式 端口:0 服务:Reserved 说明:通常用于分析操作系统.这一方法能够工作是因为在一些系统中"0"是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果.一种典型的扫描,使用IP 地址为0.0.0.0,设置ACK 位并在以太网层广播. 端口:1 ...

  • 交换机的工作原理详解
  • 交换机的工作原理 一.交换机的工作原理 1.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中. 2.交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发. 3.如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发 ...

  • 历年软考网络工程师Linux真题详解
  • ● 在Linux操作系统中, (31) 文件负责配置DNS,它包含了主机的域名搜索顺序和DNS服务器的地址. (31)A./etc/hostname B./etc/host.conf C./etc/resolv.conf D./etc/name.conf 试题解析: 常识. 答案:C ● Linux ...

  • 网络安全常用名词详解
  • ------------------------------------------------------------------------------------------- 安防快线:www.sec520.com :原创动画多,精品软件更新快 论坛地址:bbs.sec520.com : 分 ...