目录
一、NAT基本介绍
1.背景
随着网络的发展和网路应用的增多,IPV4地址枯竭已经成为了制约网络发展的瓶颈,尽管IPV6可以从根本上解决IPV4地址空间不足的问题,但是目前众多网络设备和网络应用大多是基于IPV4的,因此在IPV6广泛应用之前,仍要采取一定的手段解决这个问题,其中最有效的就是NAT。
2.NAT的实现
NAT是将IPV4报文头部中的IP地址(源,目的IP都可以)转换为另一个网络中的合法IP地址过程,主要用于实现内部网络(私网地址)访问外部网络(公网地址)的功能,因为私网IPV4地址不能在公网中路由。通过地址重用的方法满足IPV4的需要,在一定程度上可以环节IP地址的空间枯竭的压力。但是由于要对IPV4数据包头中的IP地址进行转换,所以进入NAT设备的IPV4数据包不能被加密。
3.NAT的基本网络结构
NAT一般部署在连接内网和外网的网关设备商,如上图中的RAT,当收到的报文源地址为私网地址、目的地址为公网地址时,NAT可以将源私网地址转换成一个公网地址,这样公网目的地就能够收到报文,并作出响应,此时,NAT设备商还会创建一个NAT映射表,以便判断从公网收到的报文经过NAT涉笔时进行反向目的地址转换后发往私网内的目的主机。
二、NAT的分类
1.动态NAT
这个NAT中的私网IP和公网IP地址之间的转换是不固定的,具有动态性,是通过把需要访问公网的私网IP地址动态地与公网IP地址建立临时映射关系,并将报文中私网IP地址进行临时替换,等待报文到达设备时在根据映射表“反向”把公网IP地址临时替换回对应的私网IP地址,然后转发给主机,实现内外网用户通信。
在华为设备中,动态NAT实现方式包括:Basic NAT(基本NAT)和动态NAPT两种
2.静态NAT
此NAT可以建立一对一的固定的公私网IP地址映射(如果是静态NAPT,还包括传输层端口之间的静态映射),这样就保证了重要主机使用固定的公网IP地址访问外网,可以同时应用双向通信,在实际运用中不多见,因为采用固定IP地址的通常是内部网络服务器。
3.NAT Server
有时内网需要向外网提供特定的应用服务,如架设于内网的各种应用服务器要向外网用户提供服务,这时就不能再依靠静态NAT和动态NAT来实现,因为它们通常没有针对特定应用服务器的应用服务传输层端口进行映射(但静态NAPT也可以同时进行IP地址和传输层端口转换),也就无法对位于内网中的应用服务器进行访问。
NAT Server也就很好的解决了这个问题,当外网用户访问内网服务器时,它通过先配置好的基于应用服务器的:“公网IP:端口号”根据映射关系替换成对应的:“私网IP:端口号”,以实现外网用户对位于内网的应用服务器的访问。
三、各类NAT的工作原理
1.静态NAT原理
如图所示,内网中有主机A和B,假设两台主机需要经常访问处于Internet的主机C,且它们之间可能实现数据交换,这时主机A和主机B就可以使用静态NAT。
(1)源主机访问目的主机时,发送报文中源IP地址是自己的私网IP值192.168.1.1,目的地址是主机C公网IP地址200.10.10.1。
(2)报文到了NAT设备RTA之后,根据静态NAT配置,将报文中的源IP地址转换为映射的公网IP地址,100.10.10.1,目的IP地址不变,仍为主机C的公网IP地址200.10.10.1;然后,RTA通过公网路由把报文转发到主机C。
(3)目的主机C如果对源主机A进行应答,就会对调原来所收到的来自主机A的报文中的源IP地址和目的IP地址,即发送一个以自己IP地址为源IP地址、所接收的报文中的源IP地址为目的IP地址的报文
(4)来自目的主机C的应答报文到了RTA之后,根据公网IP地址100.10.10.1将报文中的目的IP地址反向转换为主机A对应的私网IP地址192.168.1.1,源IP地址不变,仍为主机C公网IP地址200.10.10.1,:然后再通过私网转发到源主机A上。
主机B、C通信时的地址转换原理与上述一样。
2.Basic NAT原理
在Basic NAT中,当内部网络主机需要与公网中的目的主机通信时,NAT设备会从配置的公网地址池中选择一个未使用的公网与之进行映射,每台用户主机使用地址中的唯一公网IP地址进行转换。当网关收到来自目的主机的应答报文时,会根据之前的映射再一次进行反向转换,然后转发给源主机。当动态NAT地址池中的公网地址用尽以后,其他主机只能等待被占用的公网地址被释放以后才能使用它来访问公网,当用户不再需要此应用连接时,对应的地址映射将会被删除,原来被映射的公网地址也会被恢复到地址池中。
(1)源主机A要与目的主机C通信时,首先发送的报文中的源IP地址是在几的私网IP地址192.168.1.1,目的IP地址是主机C的公网IP地址200.10.10.1。
(2)报文到了NAT设备RTA后,根据动态NAT配置,从公网地址池中找到一个未使用的公网IP地址,然后把报文中的源IP地址转换为该公网IP地址,如100.10.10.1,目的IP地址不变,仍为主机C的公网IP地址200.10.10.1;同时会创建一个私网地址与公网地址的映射表。然后,RTA通过公网路由把报文转发到主机C。
(3)目的主机C若要对源主机A进行应答,就会对调原来所收到的来自主机A的报文中的源IP地址和目的IP地址,即发送一个以自己IP地址为源IP地址、所接收的报文中的源IP地址(主机A所映射的公网IP地址:100.10.10.1)为目的IP地址的报文。
(4)来自目的主机C的应答报文到了RTA后,根据上次创建的主机A私网地址与公网地址映射表项,把报文中的目的IP地址反向转换为主机A对应的私网IP地址192.168.1.1,源IP地址不变,仍为主机C的公网IP地址200.10.10.1;然后再通过私网转发到源主机A上。
3.easy-ip原理
前面的NAPT可以满足绝大部分企业用户的需求,但是对于一些小型企业用户,他们可能申请不到多个公网IP地址,甚至申请不到固定使用的公网IP地址,这时就没办法使用NAPT来配置公网地址池。此时要进行地址转换,就需要使用easy-ip方式,因为它可以实现内部主机使用WAN接口的公网IP访问internet,而且这个公网IP地址还可以是ISP自动分配。