浅析NAT技术

2022-09-11

随着Internet的飞速发展, 越来越多的用户加入到互联网的使用中。如此惊人的增长速度, 使得网络本身的发展遇到了障碍, 最主要的两个问题是:一是路由表的快速增长;二是IP地址即将耗尽。

面对这两个问题是有解决方案的。例如对于路由表膨胀的问题, 可以使用VLSM, CIDR等技术以及各种路由协议的特性来解决。针对IP地址的耗尽的问题IPv6应该是最终的解决手段。但是, 由于现有网络都是使用IPv4, 几乎现在所有的设备都不支持IPv6, 要升级设备需要大量的资金, 而且改造整个网络也是一项浩大而且复杂的工程。另外一个方面, 亚太和欧洲地区的地址资源的确稀缺, 但是美国却拥有足够的地址资源, 所以很多大型美国厂商如Cisco等并不急于推行IPv6。因此我们就需要一种过渡的解决方法, 来暂时的解决IP地址耗尽的问题。

1 NAT技术的出现及简介

NAT技术就是针对上面所提到的问题而初选的一种解决手段, 用来减少对全球合法注册地址的需求。简单的说, NAT技术就是在内部专用网络中使用内部地址, 而当内部节点要与外界网络连接时, 将内部地址转换成外部的合法地址, 并且能在外部公共网上正常使用。

NAT技术这里涉及到两个名词:内部地址和全局地址。内部地址就是指在内部网络中分配给各个节点的私有地址, 这个地址只能在内网中使用。而内部地址是可以随机挑选的, 只要符合RFC 1918协议中定义的那些专用地址。全局地址, 是指合法的IP地址, 它是由网络服务提供商分配的地址, 对外代表一个或多个内部地址, 是全球统一的可寻址的地址。

简单的说, NAT的主要作用就是节约地址空间。首先, 如果内部网络中只有少数节点要与外界建立连接, 那么就只有少数的内部地址需要被转化成全局地址, 从而减少对合法地址的需求。另外, 还可以让多个内部节点共享一个外部地址, 而使用端口进行区分, 从而能更有效的节约合法地址。

除了节约地址, NAT还能增加网络规划的灵活性, 简化配置。首先, 当两个有地址重叠的私有内部网要连接在一起时, 可以使用NAT来防止地址冲突, 避免逐个改变节点的地址的工作, 其次使用NAT, 可以在规划地址时有更大的灵活性, 从而简化内部网的设计。

至于NAT的类型一共有三种:静态N A T (S t a t i c N A T) 、动态N A T (P o o l e d N A T) 、网络地址端口转换N A P T (P o r tLevel NAT) 。其中静态NAT设置起来最为简单和容易实现, 内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址, 但是这样会占用较多的外部地址。而动态NAT则是在外部网络中定义了一系列的合法地址, 采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上, 这样的方法占用的外部地址最少。根据不同的需要, 三种NAT方法各有利弊。

网络地址端口转换NAPT是人们比较熟悉的一种转换方式, 普遍应用于接入设备中。它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同, 它将内部连接映射到外部网络中的一个单独的IP地址上, 同时在该地址上加上一个由NAT设备选定的TCP端口号。

而动态地址NAT只是转换IP地址, 它为每一个内部的IP地址分配一个临时的外部IP地址, 主要应用于拨号, 对于频繁的远程连接也可以采用动态NAT。当远程用户连接上之后, 动态NAT就会分配给他一个IP地址, 用户断开时, 这个IP地址就会被释放, 留给后面的人使用。

在Internet网中使用NAPT时, 所有不同的TCP或者UDP流看起来就好像来自同一个IP地址。在小型的局域网中, 通过从网络服务提供商那里申请的一个IP地址, 将多个连接通过NAPT接入Internet网。实际上许多远程访问设备支持基于PPP的动态IP地址。这样, 网络服务商甚至不需要支持NAPT, 就可以做到多个内部IP地址共用一个外部IP地址连上外部网络, 虽然这样会导致信道的拥塞, 但考虑到节省的ISP上网费用和易管理的特点, 用NAPT还是很值得的。这种方式一般在公司的局域网中使用的较多。

2 在Internet中使用NAT技术

上面我们提到, NAT技术可以让你局域网中的所有机器经由一台通往因特网的服务器连出去, 而且只需要注册该服务器的一个IP就够了。在以往没有NAT技术以前, 我们必须在服务器上安装socket, 并且所有的客户端都必须要支援socket, 才能够经过服务器的socket连线出去。但是这样处理的话, 通常只有telnet/ftp等支持socket其它的程式都不能使用;而且使用socket的速度比较慢。这样就促使我们使用NAT技术, 这样客户端不需要做任何的更动, 只需要把gateway设到该服务器上就可以了, 而且所有的程式都可以使用。最简单的NAT设备有两条网络连接:一条连接到Internet, 另一条连接到专用网络。专用网络中使用私有IP地址的主机, 通过直接向NAT设备发送数据包连接到Internet网上。与路由器不同, NAT设备实际上是先对包头进行修改, 将专用网络的源地址变为NAT设备自己的地址, 而路由器仅在将数据包转发到目的地前读取目的地址和源地址。

3 在使用NAT时需要考虑到的问题

首先, 使用NAT地址转换会使路由器对数据包进行处理时的延时增大。由于路由器的CPU必须对每个数据包都要进行检查, 同时对需要改变地址信息的数据包还要进行操作, 因此会加大运行的负载。其次, 路由器要使用NAT技术, 必须处于处理机交换的工作模式, 这样也会降低运行的性能。另一方面, NAT隐藏了端到端的地址, 使得我们对数据包的跟踪变的比较困难。而且, 正是由于这个原因, 使得一些内嵌的IP地址在应用中也会产生问题。还有, 如果使用IPSec进行加密, 则只能把NAT放在受保护的VPN内部, 或者使用具有NAT功能的IPSec设备。因为IPSec规定IP地址不能被改变。如果改变了IP地址, 就会破坏VPN的功能。因此是矛盾的。

摘要:本文主要针对NAT技术, 分析了它出现的背景, 原理, 以及类型。同时介绍了NAT技术的应用策略, 提出了在使用NAT技术时应该要考虑到的一些问题。

关键词:NAT,转换,IP地址

参考文献

[1] 洪钧, 李爱军, 徐勇积.软交换技术的应用及面临的主要问题[J].电信技术, 2002 (1) .

[2] 毕厚杰, 李秀川.IMS与下一代网络[M].人民邮电出版社, 2006, 12.

[3] 陈建亚, 余浩.软交换与下一代网络[M].北京邮电大学出版社.

[4] 杨放春, 孙其博.软交换与IMS技术[M].北京邮电大学出版社.

上一篇:抽油机冲次自动调节技术研究与应用下一篇:压力容器安全附件——安全阀的管理和应用