如上,三台设备都使用 120.131.92.21 这一公网IP. 而对于这三台设备分别从各自端口发出的TCP/UDP请求,则映射至NAT设备不同的端口上,记录在NAT表上.这样就区分了某个请求试试来自哪个设备的哪个端口上.
1,NAT表的淘汰
2,NAT墙
3,端对端通信模型的破坏
1, Full Cone NAT(完全雏形NAT)
2, Restricted Cone NAT (限制雏形NAT)
3, Port Restricted Cone NAT(端口限制雏形NAT)
4, Symmetric NAT (对称NAT)
注意:
事实上,这些术语的引入是很多混淆的起源。现实中的很多NAT设备是将这些转换方式 混合 在一起工作的,而不单单使用一种,所以这些术语只适合描述一种 工作方式 ,而不是一个设备。比如,很多NAT设备对内部发出的连接使用对称型NAT方式,而同时支持静态的端口映射,后者可以被看作是全锥型NAT方式。而有些情况下,NAT设备的一个公网地址和端口可以同时映射到内部几个服务器上以实现负载分担,比如一个对外提供WEB服务器的站点可能是有成百上千个服务器在提供HTTP服务,但是对外却表现为一个或少数几个IP地址。
例如,FTP应用就由数据连接和控制连接共同完成,而且数据连接的建立动态地由控制连接中的载荷字段信息决定,这就需要ALG来完成载荷字段信息的转换,以保证后续数据连接的正确建立。
图中私网侧的主机要访问公网的FTP服务器。NAT设备上配置了私网地址192.168.1.2到公网地址8.8.8.11的映射,实现地址的NAT转换,以支持私网主机对公网的访问。组网中,若没有ALG对报文载荷的处理,私网主机发送的PORT报文到达服务器端后,服务器无法根据私网地址进行寻址,也就无法建立正确的数据连接。整个通信过程包括如下四个阶段:
(1)私网主机和公网FTP服务器之间通过TCP三次握手成功建立控制连接。
(2)控制连接建立后,私网主机向FTP服务器发送PORT报文,报文中携带私网主机指定的数据连接的目的地址和端口,用于通知服务器使用该地址和端口和自己进行数据连接。
(3)PORT报文在经过支持ALG特性的NAT设备时, 报文载荷中的私网地址和端口会被转换成对应的公网地址和端口 。即设备将收到的PORT报文载荷中的私网地址192.168.1.2转换成公网地址8.8.8.11,端口1084转换成12487。
(4)公网的FTP服务器收到PORT报文后,解析其内容,并向私网主机发起数据连接,该数据连接的目的地址为8.8.8.11,目的端口为12487(注意:一般情况下,该报文源端口为20,但由于FTP协议没有严格规定,有的服务器发出的数据连接源端口为大于1024的随机端口,如本例采用的是wftpd服务器,采用的源端口为3004)。由于该目的地址是一个公网地址,因此后续的数据连接就能够成功建立,从而实现私网主机对公网服务器的访问。
总而言之,在ALG中配置的支持的协议,可以实现逆向访问
内网有需要让外网访问的共享资源或者设备,就需要端口映射来实现。比如家用路由器,内网都是c类地址,但是全世界有n个。这时候想要在外面访问家里的路由器,就需要把内网的地址端口映射到外网。也就是公网,因为公网地址是唯一的。映射的前提是有公网地址,或者花生壳第三方之类的。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)