我们用adsl+路由共享上网时,路由器默认是允许内网机器主动访问外网,但拒绝外网机器主动访问内网机器的。
端口映射的作用就是能让外网机器主动访问到内网机器,这样就要在路由器上设置一个通道,让路由器把访问这个通道的信息转发到内网机器上去。
举个例子:A为外网机器,IP为101.101.101.101,B为路由器外网IP为202.202.202.202,内网IP为192.168.1.1,C为内网机器,IP为192.168.1.2,正常情况,C用1234端口主动与A机器4567端口通信时,会通知B代为连接C的4567,A会接受并建立连接。但是若A用1235想主动与C的4568连接时,只能与B的4568连接,但是B只是路由器不会接受,丢弃这个连接请求连接就不成功。
这时,我们在B上设置端口映射,将B的4568映射到C的4568上去,A再主动与B的4568连接时,B就知道这个连接是想连到C的4568上去,于是转发到C的4568上去,若C这时正有程序监听这个端口,就会接受并与A建立连接,AC开始通信。
由上可知:
1、是,为了让外网机器能访问内网机器
2、是,就是在路由器上监听一个端口,转发到一个内网机器的端口上
3、有关,端口映射的机器IP必须为固定IP,不然这个机器就接受不到这个请求了
端口映射是NAT的一种,功能是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。
端口映射就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务。当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。端口映射有动态和静态之分。
通俗来讲,端口映射是将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;利用端口映射功能还可以将一台外网IP地址机器的多个端口映射到内网不同机器上的不同端口。 端口映射功能还可以完成一些特定代理功能,比如代理POP,SMTP,TELNET等协议。理论上可以提供65535(总端口数)-1024(保留端口数)=64511个端口的映射。
就是做传输层地址翻译,端口映射的NAT其实叫做PAT,Port address translation
就是做ip地址的一对多的翻译,用来节省ip,用少量的ip地址支持大量的上网用户。
NAT的原理可以参考下面的文档:
http://www.cnblogs.com/bo083/articles/2170189.html