10.3.2 NAT的基本功能
NAT功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中,比如Cisco路由器中已经加入这一功能。网络管理员只需在路由器的IOS中设置NAT功能,就可以实现对内部网络的屏蔽。其他如Linux中的IP伪装(IP Masquerade),FreeBSD中的NATD或者Windows 98中的Sygate软件和Windows 2000/2003都包含了这一功能。
NAT的基本功能有如下几项。
1.内部地址翻译
这是比较通用的一种方法,将内部IP一对一地翻译成外部合法的IP地址,即进行静态地址转换。在内部主机连接到外部网络时,当第一个数据包到达路由器,路由器会检查它的NAT表,因为NAT是静态配置的,故可以查询出来simply entry,然后路由器会将数据包的内部局部IP(源地址)更换成内部全局地址,再转发出去。外部逐句接收到数据包后用接收到的内部全局地址来响应,NAT接收到外部回来的数据包,再根据NAT表把地址翻译成内部局部IP,转发过去。
2.内部全局地址复用
使用地址和端口pair将多个内部地址映射到比较少的外部地址,这就是所谓的PAT,即进行动态地址转换。与内部地址翻译一样,NAT router也负责查表和翻译内部IP地址,唯一的区别就是由于使用了overloading,router将复用同样的内部全局IP地址,并存储足够的信息以区分它和其他地址,这样查询出来的是extended entry。
NAT router和外部主机的通信采用翻译过的内部全局地址,故与一般的通信没有差别,路由器到内部主机通信时,同样要查NAT表。
3.TCP负载重分配
与以上两种操作不同,TCP负载重分配是NAT由外到内的翻译,即进行网络地址端口转换。
其工作原理是:外部主机想虚拟逐句(定义外内部全局地址)通信,NAT router接收外部主机的请求并依据NAT表建立与内部主机的连接,把内部全局地址(目的地址)翻译成内部局部地址,并转发数据包到内部主机,内部主机接收包并作出响应。NAT router再使用内部地址和端口查询数据表,根据查询到的内部地址和端口作出响应。
此时,如果同一主机再作出第二个连接,NAT router将根据NAT表建立于另一虚拟主机的来连接,并转发数据。
4.处理重叠网络
这种方法主要用于两个Internet的互联,同样给用户处理两个重叠网络提供了方法。它的实现要求DNS sever的支持。实现原理如下:
(1)主机A要求向主机C建立连接,先向DNS server做地址查询;
(2)NAT router截获DNS响应,如果地址有重叠,将翻译返回的地址。它将建立一个simply entry把重叠的外部全局地址(目的地址)翻译成外部局部地址;
(3)路由器转发DNS响应到主机A,它已经把主机C的地址(外部全局地址)翻译成内部局部地址;
(4)当路由转发DNS接收到主机C的数据包时,它将建立内部局部和全局、外部全局和局部地之间的转换,主机A将由内部局部地址(源地址)翻译成内部全局地址,主机C将由外部全局地址(目的地址)翻译成外部局部地址;
(5)主机C接收数据包并继续通信。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。