NAT技术

时间:2006-07-12 21:21:01  来源:本站搜集整理  作者:Eric
1.背景:

随着Internet的飞速发展,越来越多的用户加入到互联网的使用中。目前全球上网人数已经超过4亿,到2005年将达到10亿,2010年达到30亿。而目前的4.8亿移动电话用户到2003年也会猛增到10亿。

如此惊人的增长速度,使得网络本身的发展遇到了障碍,最主要的两个问题是:

一:路由表的快速增长。有数据表明,1990年,只有大约5000条路由被存放在路由表中,到1995年,这个数字达到了35,000,而2000年则达到了120,000条,而且这个数值会保持60%~100%的增长率。这使得大量的网络设备由于处理速度跟不上而很快被淘汰。

二: IP地址即将耗尽。现在广泛采用的IPv4设计于1981年,使用32位二进制数。从95年开始全球的IP地址以平均每年6000万~8000万的速度被消耗。直到目前,IPv4所提供的40亿个地址以被用去了一半。有专家预测,2005年,全球地址将全部用完。

面对这些问题,业界提供了大量的解决方案。对于路由表膨胀的问题,可以使用VLSM,CIDR等技术以及各种路由协议的特性来缓解。

而对于IP地址的耗尽问题,IPv6应该是最终的解决手段。但是,由于现有网络都是使用IPv4,几乎所有的现有设备都不支持IPv6,要升级设备需要大量的资金,而且改造整个网络也是一项浩大而且复杂的工程。同时,虽然亚太和欧洲地区的地址资源稀缺,但是美国拥有充沛的地址资源,所以很多大型美国厂商如cisco等并不急于推行IPv6。各种因素的作用,延缓了IPv6的实施。所以IPv6的全面实现还需要一段很长的时间。

这样,就需要一种过渡的解决手段,来暂时的解决IP地址耗尽的问题。

2.NAT技术的出现及简介

NAT(Network address translation)(RFC 1631中作出规定)作为这样一种过渡解决手段,可以用来减少对全球合法注册地址的需求。简单的说,NAT就是在内部专用网络中使用内部地址(不可路由),而当内部节点要与外界网络发生联系时,就在边缘路由器或者防火墙处,将内部地址替换成全局地址——合法地址(可路由),从而在外部公共网上正常使用。

这里需要解释一下,内部地址,是指在内部网络中分配给节点的私有IP地址,这个地址只能在内部网络中使用,不能被路由。虽然内部地址可以随机挑选,但是通常使用的是RFC 1918中定义的专用地址:10.0.0.0~10.255.255.255,172.16.0.0~172.16.255.255,192.168.0.0~192.168.255.255。全局地址,是指合法的IP地址,它是由NIC或者网络服务提供商分配的地址,对外代表一个或多个内部局部地址,是全球统一的可寻址的地址(可路由)。

NAT的主要作用是节约地址空间。在任一时刻,如果内部网络中只有少数节点与外界建立连接,那么就只有少数的内部地址需要被转化成全局地址,可以减少对合法地址的需求。同时,还可以使多个内部节点共享一个外部地址,使用端口进行区分(NAPT),这样就能更有效的节约合法地址。

除了节约地址,NAT还能简化配置,增加网络规划的灵活性。使用NAT,可以在规划地址时有更大的灵活性,从而简化内部网的设计。另外,当两个有地址重叠的私有内部网要连接在一起时,可以使用NAT来防止地址冲突,而避免逐个改变节点的地址这个繁杂的工作。
NAT地址转换有两种主要类型:静态转换(Static Translation),动态转换(Dynamic Translations)。

静态转换是最简单的一种转换方式,它在NAT表中为每一个需要转换的内部地址创建了固定的转换条目,映射了唯一的全局地址。内部地址与全局地址一一对应。每当内部节点与外界通信时,内部地址就会转化为对应的全局地址。

动态转换,增加了网络管理的复杂性,但也提供了很大的灵活性。它将可用的全局地址地址集定义成NAT池(NAT pool)。对于要与外界进行通信的内部节点,如果还没有建立转换映射,边缘路由器或者防火墙将会动态的从NAT池中选择全局地址对内部地址进行转化。每个转换条目在连接建立时动态建立,而在连接终止时会被回收。这样,网络的灵活性大大增强了,所需要的全局地址进一步的减少。值得注意的是,当NAT池中的全局地址被全部占用以后,以后的地址转换的申请会被拒绝。这样会造成网络连通性的问题。所以应该使用超时操作选项来回收NAT池的全局地址。另外,由于每次的地址转换是动态的,所以同一个节点在不同的连接中的全局地址是不同的,这会使snmp的操作复杂化。

端口地址转换(NAPT—Network address port translatin),是动态转换的一种变形。它可以使多个内部节点共享一个全局IP地址,而使用源和目的的TCP/UDP的端口号来区分NAT表中的转换条目及内部地址。这样,就更节省了地址空间。比如说,假设内部节点10.1.1.3,10.1.1.2都用源端口1723向外发送数据包。NAPT路由器把这两个内部地址都转换成全局地址192.168.2.2,而使用不同的源端口号:1492,1723。当接收方收到的源端口号为1492,则返回的数据包在边缘网关处,目的地址和端口被转换为10.1.1.3:1723;而接收到的源端口号为1723的,目的被映射到10.1.1.2:1723。

NAPT可以使整个局域网都使用一个IP地址来联入Internet,所以它常常用在小型办公室/家庭办公室(SOHO)中,作与外部公共网络的连接。
在以上的映射转换中,只使用了IP地址的转换条目被称为简单条目,而包含IP地址和TCP/UDP端口号的转换条目被称为扩展条目。

以上所有的地址转换功能,都是由防火墙或者边缘路由器(即连接内部网络和公用网络的路由器)完成的,而对于通信的各节点,无论是内部还是外部的,都是透明的。

那么NAT具体用在哪些地方呢?

外向的NAT,常常用在共享一个IP地址发出流向外部网络的数据流,而不接受外部网络向内部网络发出的连接请求的地方,比如多节点用户、远程的工作点、小型商业用户等。具体的说,就是通过ISDN、DSL(Digital subscriber Line)、cable modem连接的小型局域网。双向的静态NAT/NAPT常被安装有防火墙的大型企业使用。另外,当ISP的地址发生变化,如果企业不想改变自己的地址规划,也会用到NAT技术。

NAT使用的几种情况:
  a,连接到internet,但却没有足够的合法地址分配给内部主机。
  b,更改到一个需要重新分配地址的ISP。
  c,有相同的IP地址的两个internat合并。
  d,想支持负载均衡(主机)。

相关文章

    无相关信息

文章评论

共有  1  位网友发表了评论 此处只显示部分留言 点击查看完整评论页面