NAT(网络地址转换)是一种在边界设备上通过软件实现的一种地址转换技术,用于将局域网内部的地址域与外部的地址域(因特网全局IP地址)建立对应关系,以解决IP地址匮乏的问题。通过将NAT部署在私有网络和公有网络的边界上(通常使用代理主机或路由器),仅需要一个或几个全局IP地址,就可以实现整个私有网络用户和公网互通。
NAT的实现方式共有3种:静态转换、动态转换和NAPT。使用NAT的最大缺点是,外部网络上的计算机无法直接访问内网上的计算机。
1.静态转换
静态转换是指在将局域网内使用的IP地址转换为局域网的全局IP地址时,IP地址转换是一对一的,一成不变,即某个内网IP地址固定地转换为某个全局IP地址。
从静态转换的实现方式来看,这种方式并不符合NAT的初衷,因为这样做并没有缓解IP地址紧缺的现状。静态地址转换的优点是外部网络可以主动访问私有网络中的某些特定设备,如服务器。因为要想内网的服务器能够被外网设备访问,就要为服务器分配有效的全局IP地址。那么为什么不给内网服务器直接分配全局IP,而非要通过NAT来实现呢?这是因为服务器一般都位于边界路由器后面,IP地址为内网的地址,利用静态地址转换就可以让外网设备访问服务器。
2.动态转换
动态转换是指将局域网内的私有IP地址转换为局域网的全局IP地址时,映射关系是不确定的,是随机的,即所有被授权访问公网的私有IP地址可随机转换为某个空闲的全局IP地址。(www.daowen.com)
在动态地址转换下,当有一台主机向外网发送一个数据包时,NAT会从空闲的IP地址池中挑选一个全局IP地址替换这个数据报的源IP地址。当网络的全局IP地址数略少于网络内部的计算机数量时,可以采用动态转换的方式,从而有更多的主机可以和公网互通(注意不是同时互通)。动态转换的缺点是外部网络无法主动访问私有网络中的主机,因为对于外网来说,内网的主机IP地址不是固定的。
3.NAPT
NAPT(网络地址端口转换,也称为端口多路复用)是最常用的NAT转换方式,它在转换IP地址的同时也转换运输层的端口(TCP或UDP端口号,对于ICMP报文则转换ICMP查询ID)。NAT为内网IP地址动态地申请一个随机的空闲端口,建立内部IP地址到该端口的映射关系。这样在将内网的IP地址转换为网络的全局IP地址的同时,将源端口修改为申请的端口。由此可见,NAT设备需要修改的不只是源IP地址,同时还需修改源端口地址,如图9-3所示。
图9-3 NAPT转换方式示意图
图中,当A计算机(192.168.1.10)访问百度网站(202.108.22.5)时,NAT把A的IP地址转换为公网地址(202.113.19.10,注意不要与路由器的外网地址搞混),同时把A的端口号(50)映射成对外端口号(60)。可以看出,NAT不仅要为每台计算机建立映射表项,也为同台计算机上不同端口的IP数据报建立映射表项。使用NAPT,私网仅需要一个全局IP地址(也可以是多个)就可以实现私网中所有主机与公网的互通。NAPT的缺点是外部网络无法主动直接访问私有网络中的主机。分别处于两个NAT后面的计算机可以借助服务器进行通信,或借助服务器得知对方的对外IP地址和端口,之后再设法直接通信。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。