IP地址耗尽促成了CIDR的开发,但CIDR开发的首要意图是为了有用的运用现有的internet地址。而一起依据RFC 1631(IP Network Address Translator)开发的NAT却能够在多重的internet子网中运用相同的IP,用来削减注册IP地址的运用。
NAT路由技能使得一个私有网络能够通过internet注册IP衔接到外部国际,坐落inside网络和outside网络中的NAT路由器在发送数据包之前,担任把内部IP翻译成外部合法地址。内部网络的主机不可能一起于外部网络通讯,所以只要一部分内部地址需求翻译。
NAT的翻译能够采纳静态翻译(static translation)和动态翻译(dynamic translation)两种。静态翻译将内部地址和外部地址1对1对应。当NAT需求承认哪个地址需求翻译,翻译时选用哪个地址pool时,就运用了动态翻译。选用portmultiplexing技能,或改动外出数据的源port技能能够将多个内部IP地址暗射到同一个外部地址,这便是PAT(port address translator)。当暗射一个外部IP到内部地址时,能够运用TCP的load distribution技能。运用这个特征时,内部主机依据round-robin机制,将外部进来的新衔接定向到不同的主机上去。留意:load distributiong只要在暗射外部地址到内部的时分才有用。
NAT运用的几种状况:
a,衔接到internet,但却没有满足的合法地址分配给内部主机。
b,更改到一个需求重新分配地址的ISP。
c,有相同的IP地址的两个internat兼并。
d,想支撑负载均衡(主机)。
选用NAT后,一个最首要的改动便是你失去了端对端IP的traceability,也便是说,从此你不能再通过NAT运用ping和traceroute,其次便是从前的一些IP对IP的程序不再能够正常运转,潜在的不易被观察到的缺陷便是增加了网络延时。NAT能够支撑大部分IP协议,但有几个协议需求留意,首要tftp,rlogin,rsh,rcp和ip multicast都被NAT支撑,其次便是bootp,snmp和NAT路由器更新悉数给拒绝了。NAT的几个相关概念:
Inside Local IP address: 指定于内部网络的主机地址,大局仅有,但为私有地址。
Inside Global IP address: 代表一个或更多内部IP到外部国际的合法IP。
Outside Global IP address: 外部网络主机的合法IP。
Outside Local IP address: 外部网络的主机地址,看起来是内部网络的,私有地址。
Simple Translation Entry: 暗射IP到另一个地址的Entry。
Extended Translation Entry:暗射IP地址和端口到另一个pair的Entry。
a,内部地址翻译(Translation inside local addresses):
这是比较通用的一种办法,将内部IP1对1的翻译成外部地址。
在内部主机衔接到外部网络时,当第一个数据包抵达NAT路由器时,router查看它的NAT表,因为是NAT是静态装备的,故能够查询出来(simply entry),然后router将数据包的内部部分IP(源地址)更换成内部大局地址,再转发出去。外部主机承受到数据包用承受到的内部大局地址来呼应,NAT承受到外部回来的数据包,再依据NAT表把地址翻译成内部部分IP,转发曩昔。
b,内部大局地址复用(overloading inside glogal addresses)
运用地址和端口pair将多个内部地址暗射到比较少的外部地址。这也是所谓的PAT。和内部地址翻译相同,NAT router相同也担任查表和翻译内部IP地址,仅有的差异便是因为运用了overloading,router将复用相同的内部大局IP地址,并存储满足的信息以差异它和其他地址,这样查询出来的是extended entry。NAT router和外部主机的通讯选用翻译过的内部大局地址,故同一般的通讯没有不同,router到内部主机通讯时,相同要查NAT表。
c,TCP负载重分配(TCP load distributing)和以上两种操作不同,这是NAT由外到内的翻译,所以那种认为WEB server一定要放置到NAT外部的说法是过错的。
作业原理:外部主机向虚拟主机(界说为内部大局地址)通讯,NAT router承受外部主机的恳求并依据NAT表树立与内部主机的衔接,把内部大局地址(意图地址)翻译成内部部分地址,并转发数据包到内部主机,内部主机承受包并作出呼应。NAT router再运用内部部分地址和端口查询数据表,依据查询到的外部地址和端口做出呼应。此刻,假如同一主机再做第二个衔接,NAT router将依据NAT表将树立与另一虚拟主机的衔接,并转发数据。
d,处理堆叠网络。
这种办法首要用于两个intranet的互连,相同给咱们处理两个堆叠网络供给了办法。它的完成要求DNS server的支撑(用于差异两个不同的主机)。
1,主机A要求向主机C树立衔接,先象DNS server做地址查询。
2,NAT router截获DNS的呼应,假如地址有堆叠,将翻译回来的地址。它将创立一个simply entry把堆叠的外部大局地址(意图地址)翻译成外部部分地址。
3,NAT路由器转发DNS呼应到主机A,它现已把主机C的地址(外部大局地址)翻译成外部部分地址。
4,当NAT路由器承受到主机C的数据包时,它将树立内部部分、大局,外部大局、部分地址间的转化,主机A将由内部部分地址(源地址)翻译成内部大局地址,主机C将由外部大局地址(意图地址)翻译成外部部分地址。
发布者:博子