什么是网络NAT类型?

Viewed 33

业务对NAT类型有什么要求,以及网络NAT类型如何优化?

1 Answers

NAT是Network Address Translation的缩写,也就是网络地址转换的意思。NAT是将IP数据包头中的IP地址转换为另一个IP地址的过程。可以简单连接为将局域网转换为公网,只有公网才能在互联网传输。无线路由器就充当了NAT、无线AP和交换机三个功能。

NAT有5个类型,它们分别是:NAT0、NAT1、NAT2、NAT3、NAT4。从 NAT1 至 NAT4 限制越来越多。下面分别讲解。

以下任何的解释都基于UDP协议,TCP由于面向连接打洞相对较难

NAT0:

即公网,这个是最宽松的网络环境,即无网络类型转换,互联网上绝大多数服务器都是这种网络类型,是最佳的网络环境

NAT1:

Full Cone NAT,全锥形NAT,这是相对宽松的网络环境,你想做什么,基本没啥限制IP和端口都不受限。

NAT1

假定server1(192.168.1.100, 1000)给 server2(2.2.2.2, 2000)发送报文,报文到达路由器,

路由器在自己的公网ip上开辟一个端口2000,从而建立了一个隐射关系(1.1.1.1, 2000)<--->(192.168.1.100, 1000),  

建立映射关系后,所以(192.168.1.100, 1000)和(2.2.2.2, 2000)之间的报文都通过这个映射关系进行转发。一旦建立了这个映射关系,server3也可以通过1.1.1.1:2000从而访问到192.168.1.100:1000

简单来说,server1一旦在本地通过1000端口(这里举例1000端口,其他端口也可以)访问了公网上任意一个服务,路由器端就会建立一个端口映射关系,以后公网上任何设备想访问192.168.1.100:1000服务,直接访问1.1.1.1:2000即可(服务必须基于UDP)

NAT2:

Address-Restricted Cone NAT,受限锥型NAT,相比NAT1,NAT2 增加了地址限制,也就是IP受限,而端口不受限。

假定server1(192.168.1.100, 1000)给 server(2.2.2.2, 2000)发送报文,报文到达路由器,

路由器在自己的公网ip上开辟一个端口2000,从而建立了一个隐射关系(1.1.1.1, 2000)<--->(192.168.1.100, 1000),  

建立映射关系后,一旦建立了这个映射关系,SERVER1可以通过本地的任意一个端口访问1.1.1.1:2000从而访问到192.168.1.100:1000,相比NAT1区别就是,这种映射关系只针对server1有效(即IP地址受限),其他ip地址的设备无法利用这种映射关系访问到内网环境的192.168.1.100:1000,

简单来说,NAT2网络类型的设备想把服务暴露给公网上其他的设备,首先设备本身要在服务暴露之前访问对端设备才能够使得对端设备利用这个映射关系访问到内网192.168.1.100设备上的服务

NAT2

NAT3:

Port-Restricted Cone NAT,端口受限锥型,相比NAT2,NAT3 又增加了端口限制,也就是说IP、端口都受限。

假定server1(192.168.1.100, 1000)给 server(2.2.2.2, 2000)发送报文,报文到达路由器,

路由器在自己的公网ip上开辟一个端口2000,从而建立了一个隐射关系(1.1.1.1, 2000)<--->(192.168.1.100, 1000),  

建立映射关系后,建立了这个映射关系,SERVER1只能通过之前server1访问的端口(即2000端口)访问1.1.1.1:2000从而访问到192.168.1.100:1000,相比NAT2区别就是,这种映射关系只针对server1的指定端口有效(即IP地址和端口受限),其他ip地址以及端口无法利用这种映射关系访问到内网环境的192.168.1.100:1000,

简单来说,NAT3网络类型的设备想把服务暴露给公网上其他的设备,首先设备本身要在服务暴露之前访问对端设备的指定端口,才能够使得对端设备利用之前访问的端口利用这个映射关系访问到内网192.168.1.100设备上的指定端口的服务

NAT3

NAT4:

Symmetric NAT,对称型NAT,对称型NAT具有端口受限锥型的受限特性,内部地址每一次请求一个特定的外部地址,都可能会绑定到一个新的端口号。也就是请求不同的外部地址映射的端口号是可能不同的。这种类型基本上就告别 P2P 了。

这种NAT类型一般为网络相关设备有UDP协议限制,比如NAT设备(一般为设备上层路由器或网关),有UDP协议限制,这个时候端口映射基本无法成功,基本也告别的P2P,但是对我们正常PC上网以及移动上网没有什么影响

由上面可以看出从NAT1到NAT4限制越来越多,为了各种需求,我们希望提升NAT类型,优化服务质量,我们可以修改路由器和光猫设置

提升NAT类型的途径和方法:

目前绝大多数运营商的光猫默认都工作在路由模式

把光猫工作模式设置为桥接模式(一般要获取到光猫的超级密码),即不使用光猫拨号,下层连接设备(路由器或者服务器)连接到光猫的端口直接PPPOE拨号(这个时候光猫只是作为一个转发设备,并不提供路由功能)

NAT4

修改光猫桥接

修改光猫配置3

如果无线路由器有启用“Full Cone”、“uPnP”等功能,果断启用。特别是启用“uPnP”,绝大部分路由器都支持。另外大部分的路由器和光猫都支持DMZ,把你要提升NAT类型的主机IP地址设置好,设置之前把主机的IP设置为静态的。

注意:路由器层数越少越好,这样可能得到NAT1和NAT2两类NAT类型。NAT1是最宽松的网络环境,基本没限制。我们家里的上网如果是光猫桥接再用无线路由器拨号上网的基本是NAT2和NAT3和NAT4对看网页、游戏及下载都没有太多限制。

以下配置光猫步骤需要以超级管理员登录(超级管理员密码需要向装维获取)

以下基于电信某款光猫型号为例,其他光猫设置地方可能有所区别,但是功能上相差不大

1.查看设备的内网ip地址
查看设备内网ip地址

2.启用光猫UPNP
启用光猫UPNP

3.填写内网服务器的ip地址
DMZ主机