1)端口映射
在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。服务器可以向外提供多种服务,比如,一台服务器可以同时是WEB服务器,也可以是FTP服务器,同时,它也可以是邮件服务器。为什么一台服务器可以同时提供那么多的服务呢?其中一个很主要的方面,就是各种服务采用不同的端口分别提供不同的服务,比如:WEB采用80端口,FTP采用21端口等。这样,通过不同端口,计算机与外界进行互不干扰的通信。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。
2)端口映射应用场景:
内网的一台电脑要上因特网,就需要端口映射。
内网的一台电脑要给因特网启动服务,也更需要端口映射。
3)端口映射分类
(a) 动态端口映射
内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给新浪网,新浪网收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。
动态端口映射其实也就是NAT网关的工作方式。其实我们不配置端口映射的时候,也时时刻刻在使用动态端口映射。说白了这个功能并不是真正的端口被映射了,而是网关记住了这个地址该发往哪里。
(b) 静态端口映射
就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个I和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一个电脑。静态端口映射完以后永久生效。
(c) UPnP(个人理解:也算端口映射的一种吧)
UPnP(Universal Plug and Play),通用即插即用,是一组协议的统称(具体情况请参考微软文档:UPnP NAT Traversal 常见问题),不能简单理解为UPnP=“自动端口映射”。在BitComet下载中,UPnP包含了2层意思:
1. 对于一台内网电脑,BitComet的UPnP功能可以使网关或路由器的NAT模块做自动端口映射,将BitComet监听的端口从网关或路由器映射到内网电脑上。
2. 网关或路由器的网络防火墙模块开始对Internet上其他电脑开放这个端口。
BitComet支持UPnP。但能否成功UPnP,不仅在于BitComet,还包括:
网关或路由器是否支持UPnP,且管理员打开了网关或路由器的UPnP功能;
你的电脑的操作系统是否支持UPnP。
UPnP映射失败的原因很多,比如:
1.系统服务中禁止了SSDP服务(用于寻找upnp设备)
2.开启了XP下的SP1的ICF(网络连接防火墙)。(XP的ICF与UPnP设备发现有冲突,SP2修复了这个问题,但是仍然需要在防火墙设置中允许例外:UPnP 框架。)
3.路由器不支持UPnP,请向制造商询问。
说白了,UPnp的意思是,让程序自动开启网关上的端口映射。并且组织其他程序再开启这个端口的映射。
4)什么是DMZ
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。
5)端口映射和DMZ的区别
端口映射只是映射指定的端口,DMZ相当于映射所有的端口,并且直接把主机暴露在网关中,比端口映射方便但是不安全。
DMZ后,路由的所有端口都转发到指定的内网机器,开了DMZ后,不用再做端口转发。端口转发一条规则只能转一个端口。