深入了解NAT技术

    作者:课课家教育更新于: 2017-04-11 16:18:37

    NAT,即NetworAddressTranslation,可译为网络地址转换或网络地址翻译。

      当前的Internet面临两大问题,即可用IP地址的短缺和路由表的不断增大,这使得众多用户的接入出现困难。

      使用NAT技术可以使一个机构内的所有用户通过有限的数个(或1个)合法IP地址访问Internet,从而节省了Internet上的合法IP地址;另一方面,通过地址转换,可以隐藏内网上主机的真实IP地址,从而提高网络的安全性。

      在CCNA阶段,主要考察NAT的基本技术,应试者应掌握下述的NAT术语和几个典型的地址转换类型。

          NAT(NetworkAddressTranslation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。

      这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

      另外,这种通过使用少量的公有IP地址代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC1632中有对NAT的说明。

    NAT功能

      NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机

      1.宽带分享:这是NAT主机的最大功能。

      2.安全防护:NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公共IP,所以Client端的PC当然就具有一定程度的安全了,外界在进行portscan(端口扫描)的时候,就侦测不到源Client端的PC。

      NAT实现方式

      NAT的实现方式有三种,即静态转换StaticNat、动态转换DynamicNat和端口多路复用OverLoad。

      静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

      动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

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

      ALG(ApplicationLevelGateway),即应用程序级网关技术:传统的NAT技术只对IP层和传输层头部进行转换处理,但是一些应用层协议,在协议数据报文中包含了地址信息。为了使得这些应用也能透明地完成NAT转换,NAT使用一种称作ALG的技术,它能对这些应用程序在通信时所包含的地址信息也进行相应的NAT转换。例如:对于FTP协议的PORT/PASV命令、DNS协议的"A"和"PTR"queries命令和部分ICMP消息类型等都需要相应的ALG来支持。

      如果协议数据报文中不包含地址信息,则很容易利用传统的NAT技术来完成透明的地址转换功能,通常我们使用的如下应用就可以直接利用传统的NAT技术:HTTP、TELNET、FINGER、NTP、NFS、ARCHIE、RLOGIN、RSH、RCP等。

      NAT相关介绍

      NAT的技术背景

      要真正了解NAT就必须先了解现在IP地址的适用情况,私有IP地址是指内部网络或主机的IP地址,公有IP地址是指在因特网上全球唯一的IP地址。RFC1918为私有网络预留出了三个IP地址块,如下:

      A类:10.0.0.0~10.255.255.255

      B类:172.16.0.0~172.31.255.255

      C类:192.168.0.0~192.168.255.255

      上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP或注册中心申请而在公司或企业内部自由使用。[1]

      随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术。

      虽然NAT可以借助于某些代理服务器来实现,但考虑到运算成本和网络性能,很多时候都是在路由器上来实现的。

      NAPT

      NAPT(NetworkAddressPortTranslation),即网络端口地址转换,可将多个内部地址映射为一个合法公网地址,但以不同的协议端口号与不同的内部地址相对应,也就是<内部地址+内部端口>与<外部地址+外部端口>之间的转换。NAPT普遍用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT也被称为“多对一”的NAT,或者叫PAT(PortAddressTranslations,端口地址转换)、地址超载(addressoverloading)。

      NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。NAPT算得上是一种较流行的NAT变体,通过转换TCP或UDP协议端口号以及地址来提供并发性。除了一对源和目的IP地址以外,这个表还包括一对源和目的协议端口号,以及NAT盒使用的一个协议端口号。

      NAPT的主要优势在于,能够使用一个全球有效IP地址获得通用性。主要缺点在于其通信仅限于TCP或UDP。当所有通信都采用TCP或UDP,NAPT允许一台内部计算机访问多台外部计算机,并允许多台内部主机访问同一台外部计算机,相互之间不会发生冲突。[2]

      NAT穿透方法

      目前常用的针对UDP的NAT穿透(NATTraversal)方法主要有:STUN、TURN、ICE、uPnP等。其中ICE方式由于其结合了STUN和TURN的特点,所以使用最为广泛。针对TCP的NAT穿透技术目前仍为难点。实用的技术仍然不多。

      NAT工作原理

      借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求

      配置NAT

      在配置NAT(网络地址转换)之前,首先需要了解内部本地地址和内部全局地址的分配情况。根据不同的需求,执行以下不同的配置任务。

      内部源地址NAT配置

      内部源地址NAPT配置

      重叠地址NAT配置

      TCP负载均衡

      NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作。Nat-工作流程1

      ①如图这个client(终端)的gateway(网关)设定为NAT主机,所以当要连上Internet的时候,该封包就会被送到NAT主机,这个时候的封包Header之sourceIP(源IP)为192.168.1.100;

    NAT技术你真正了解吗?_NAT技术_交换机配置_网络工程师_课课家教育

      ②而透过这个NAT主机,它会将client的对外联机封包的sourceIP(192.168.1.100)伪装成ppp0(假设为拨接情况)这个接口所具有的公共IP,因为是公共IP了,所以这个封包就可以连上Internet了,同时NAT主机并且会记忆这个联机的封包是由哪一个(192.168.1.100)client端传送来的;Nat工作流程2

      ③由Internet传送回来的封包,当然由NAT主机来接收了,这个时候,NAT主机会去查询原本记录的路由信息,并将目标IP由ppp0上面的公共IP改回原来的192.168.1.100;

    由Internet传送回来的封包,当然由NAT主机来接收了,这个时候,NAT主机会去查询原本记录的路由信息,并将目标IP由ppp0上面的公共IP改回原来的192.168.1.100;

      ④最后则由NAT主机将该封包传送给原先发送封包的Client[2]。

    最后则由NAT主机将该封包传送给原先发送封包的Client[2]。

    最后则由NAT主机将该封包传送给原先发送封包的Client[2]。

      企业实现NAT的常用方式

      在企业网络中,NAT的实现方式有三种,即静态转换NAT、动态转换NAT以及端口多路复用(PAT)。下面的章节里将一一介绍。

      1.静态转换

      静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。私有地址和公有地址的对应关系由管理员手工指定。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问,并使该设备在外部用户看来变得“不透明”。

      2.动态转换

      动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对并不是一一对应的,而是随机的。所有被管理员授权访问外网的私有IP地址可随机转换为任何指定的公有IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。每个地址的租用时间都有限制。这样,当ISP提供的合法IP地址略少于网络内部的计算机数量时,可以采用动态转换的方式。

      3.端口多路复用(PortaddressTranslation,PAT)

      通过使用端口多路复用,可以达到一个公网地址对应多个私有地址的一对多转换。在这种工作方式下,内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,来自不同内部主机的流量用不同的随机端口进行标示,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

          总结:这篇文章,把NAT技术讲的差不多了,如果你刚接触这个,不是很明白,可以先学一些基础的。如果你上面都学会了,想了解更深的知识,你可已登陆课课家,这里的知识很全面,会对你有很大的帮助的。

课课家教育

未登录

1