NAT是RFC1631提出来的,和CIDR类似,可以减缓IPv4地址的耗尽,作用还有网络迁移,服务器的负载均衡上以及虚拟服务器上也有很大的作用。


NAT的基本概念

NAT基本的功能就是将企业内部的私有地址转换成公网地址,从而达到减缓ipv4地址的利用。

NAT(网络地址转换)_NAT

例如上图,pc0在内网,pc1是外网的一台主机,当pc0向pc1发送数据包时,数据包需要穿过一台运行了NAT的路由器,此NAT路由器就是将数据包中源地址10.0.0.1改为可以在公网路由的公网地址203.10.5.23,当pc1向pc0应答数据包时候,数据包的目地地址为203.10.5.23,到达NAT路由器时,路由器将目地地址改为10.0.0.1,从而达到pc0.

NAT的操作对于终端来说都是透明的

路由器将NAT的世界分为内部和外部,内部通常是企业内部,外部网络通常是ISP,CISCO设备将地址划分本地地址(local)和全局地址(global),具体分为如下4类

  • IL(inside local 内部本地地址):分配给内部设备使用的地址,通常是私有地址,不会被外部设备知道。

  • IG(inside global 内部全局地址):内部设备被外部所知道的地址,通常是运营商分配的地址。

  • OL(outside local 外部本地地址):外部设备被内部设备所知道的地址。

  • OG(outdise global 外部全局地址):分配给外部设备的地址,这些地址内部设备不会知道。

NAT的类型

静态NAT,动态NAT,基于端口的NAT(也叫PAT)

静态NAT是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是不变的,某个私有IP地址只转换为某个公有IP地址。用静态NAT,可以实现外部网络对内部网络中某些特定设备例如服务器的访问。
动态NAT是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,指定一个公有地址池,所有的私有IP地址可随机转换为任何指定地址池的公有IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。当ISP提供的共有IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

基于端口的NAT(PAT)是指改变外出数据包的源端口并进行端口转换.采用端口多路复用方式。内部网络的所有主机可共享一个合法的公有IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是基于端口的NAT(也叫PAT)。