NAT是一种地址转换的技术,工做在路由器上,内部网络想要访问因特网时能够通过NAT转换为一个外部网络,安装有NAT的路由器叫作NAT路由器。安全
由于目前的ip地址很稀缺,不能知足一人一个(A,B,C类)ip地址的奢侈需求,NAT解决了这个问题,但也有它的利弊之处。服务器
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。网络
1>静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,能够实现外部网络对内部网络中某些特定设备(如服务器)的访问。ide
2>动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不肯定的,是随机的,全部被受权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址能够进行转换,以及用哪些合法地址做为外部地址时,就能够进行动态转换。动态转换可使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。能够采用动态转换的方式。spa
3>端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的全部主机都可共享一个合法外部IP地址实现对Internet的访问,从而能够最大限度地节约IP地址资源。同时,又可隐藏网络内部的全部主机,有效避免来自internet的***。所以,目前网络中应用最多的就是端口多路复用方式。设计
NAT工做原理以下图所示;htm
NAT的利弊:进程
优势:ip
1>:由于NAT会有外部地址和内部地址之分,它对主机有必定的保护做用。资源
2>:他解决了目前ip地址紧张的局面。
3>:宽带分享,这是NAT的最大做用。
局限性:
(1)NAT违反了IP地址结构模型的设计原则。IP地址结构模型的基础是每一个IP地址均标识了一个网络的链接。Internet的软件设计就是创建在这个前提之上,而NAT使得有不少主机可能在使用相同的地址,如10.0.0.1。
(2)NAT使得IP协议从面向无链接变成面向链接。NAT必须维护专用IP地址与公用IP地址以及端口号的映射关系。在TCP/IP协议体系中,若是一个路由器出现故障,不会影响到TCP协议的执行。由于只要几秒收不到应答,发送进程就会进入超时重传处理。而当存在NAT时,最初设计的TCP/IP协议过程将发生变化,Internet可能变得很是脆弱。
(3)NAT违反了基本的网络分层结构模型的设计原则。由于在传统的网络分层结构模型中,第N层是不能修改第N+1层的报头内容的。NAT破坏了这种各层独立的原则。
(4)有些应用是将IP地址插入到正文的内容中,例如标准的FTP协议与IP Phone协议H.323。若是NAT与这一类协议一块儿工做,那么NAT协议必定要作适当地修正。同时,网络的传输层也可能使用TCP与UDP协议以外的其余协议,那么NAT协议必须知道而且作相应的修改。因为NAT的存在,使得P2P应用实现出现困难,由于P2P的文件共享与语音共享都是创建在IP协议的基础上的。
(5)NAT同时存在对高层协议和安全性的影响问题。RFC对NAT存在的问题进行了讨论。NAT的反对者认为这种临时性的缓解IP地址短缺的方案推迟了Ipv6迁移的进程,而并无解决深层次的问题,他们认为是不可取的。