网络地址转换技术原理探析

2011-10-19 05:21姜贵平杨传栋
中国现代教育装备 2011年23期
关键词:因特网IP地址路由器

姜贵平 张 松 杨传栋 王 鲁

1.山东农业大学 山东泰安 271018 2.中共滨州市委宣传部互联网信息研究中心 山东滨州 256603

网络地址转换技术原理探析

姜贵平1张 松2杨传栋1王 鲁1

1.山东农业大学 山东泰安 271018 2.中共滨州市委宣传部互联网信息研究中心 山东滨州 256603

通过具体的网络拓扑结构图,展现了NAT设备对特定数据报进行网络地址转换处理的全过程。

网络地址转换;重叠网络;技术原理

随着因特网的飞速发展,因特网上丰富的资源吸引着越来越多的用户接入因特网,但在快速发展过程中却出现了几个问题,阻碍我们对因特网的正常使用。随着因特网的膨胀式发展,IPv4协议规定的32位IP地址资源越来越少。因特网中基于IP地址的恶意攻击严重威胁着因特网用户,特别是对外提供服务的网络服务器的使用安全。对于网络服务器来说,要接受数量巨大的连接请求,单台计算机不可能负载如此大的流量,为了保证网络服务的畅通,必须多台计算机对连接请求进行负载均衡,同时也起到了冗余备份的目的。网络地址转换技术的产生解决了上述问题。

1 NAT技术原理

网络地址转换(Network Address Translation,NAT)是一种网络层技术,并具有扩展到传输层的特性。NAT设备通过动态改变通过它的数据报的源IP地址和(或)目的IP地址,将内部网络中使用的私有IP地址和在因特网上使用的公有IP地址进行转换,达到将内部网络接入因特网的目的。NAT转换有3种方式:静态方式(Static NAT)、动态方式(Pooled NAT)和端口方式(Port NAT)。

网络地址转换技术原理可以通过下面4个过程展现出来。

1.1 内部地址翻译(Translation Inside Local Address)

当内部网络与外部网络通讯时,需要配置NAT,将内部私有IP地址转换成外部合法IP地址。内部地址翻译的整个过程如图1所示。

图1 内部地址翻译

当内部网络中一台主机访问外部网络资源时,详细过程描述如下:

(1)内部主机192.168.1.2发起一个到外部主机202.194.133.1的连接。

(2)当路由器(NAT设备)接收到以192.168.1.2为源地址的第一个数据报时,引起路由器检查NAT映射表:

①如果配置有关于该地址的静态映射时,就执行第三步。

②如果没有静态映射,就建立动态映射,路由器就从内部全局地址池中选择一个有效的内部全局地址,并在NAT映射表中创建NAT转换记录。这种记录叫做基本记录。

(3)路由器用192.168.1.2对应的NAT转换记录中的内部全局地址,替换数据报源地址,经过转换后,数据报的源地址变为202.194.141.1,然后转发该数据报。

(4)外部主机202.194.133.1接收到数据报后,将向主机202.194.141.1发送响应包。

(5)当路由器接收到目的地址为内部全局地址202.194.141.1的数据报时,将以内部全局地址为关键字查找NAT映射表,根据找到的基本记录将数据报的目的地址转换成192.168.1.2并转发给主机192.168.1.2。

(6)主机192.168.1.2接收到应答包,并继续保持会话。第一步到第五步将一直重复,直到会话结束。

当内部网络中某台主机对外提供网络服务时,网络管理员必须手动建立静态NAT,以方便外部主机主动访问服务器。

1.2 内部全局地址复用(Overloading Inside Global Address)

在内部全局地址复用操作中,NAT设备使用“内部全局地址+TCP/UDP端口号”的形式来区分不同的内部主机。这也是所谓的“端口地址转换(PAT,Port Address Translation)”技术。

内部全局地址复用的整个过程如图2所示。详细过程描述如下:

图2 内部全局地址复用

(1)内部主机192.168.1.2发起一个到外部主机202.194.133.1的连接。

(2)当路由器接收到以192.168.1.2为源地址的第一个数据报时,引起路由器检查NAT映射表:

①如果NAT没有转换记录,路由器就为192.168.1.2作地址转换,并创建一条转换记录。

②如果启用了PAT,就进行另外一次转换,路由器将复用全局地址并保存足够的信息以便能够将全局地址转换回本地地址。PAT的地址转换记录称为扩展记录。

(3)路由器用内部本地地址192.168.1.2对应的NAT转换记录中的内部全局地址,替换数据报源地址,经过转换后,数据报的源地址变为202.194.141.1,然后转发该数据报。

(4)外部主机202.194.133.1接收到数据报后,将向202.194.141.1发送响应包。

(5)当路由器接收到内部全局地址的数据报时,将以内部全局地址202.194.141.1及其端口号、外部全局地址及其端口号为关键字查找NAT映射表,根据NAT映射表中的扩展记录将数据报的目的地址转换成192.168.1.2,并转发数据报给192.168.1.2。

(6)192.168.1.2接收到应答包,并继续保持会话。第一步到第五步将一直重复,直到会话结束。

图2中,外部主机202.194.133.1以为是在跟同一台主机通信,实际上是分别与内部网络两台地址不同的主机通信,它们的内部本地地址分别为192.168.1.2和192.168.1.3。

1.3 TCP负载重分配(TCP Load Distributing)

NAT设备创建一台虚拟主机对外提供TCP服务,该虚拟主机(分配有内部全局地址)对应内部多台实际的主机,当外部主机向虚拟主机通讯时,NAT设备接受外部主机的连接请求,并依据NAT映射表建立与内部主机的连接,把来自外部网络的数据报的目的地址(内部全局地址)按照轮询的原则转换成不同的内部本地地址,将TCP请求定位到不同的内部主机,达到负载分流的目的。

TCP负载重分配的整个过程如图3所示。

图3 TCP负载重分配

图3中,实际提供TCP服务的主机有两台,地址分别为192.168.1.2和192.168.1.3,对外公布了一个虚拟主机地址202.194.141.1,外部网络通过虚拟主机地址202.194.141.1访问TCP服务。以下为NAT设备实现TCP负载重分配过程的详细描述:

(1)外部主机202.194.133.1向虚拟主机202.194.141.1发起FTP连接服务。

(2)路由器(NAT设备)接收到FTP连接请求包,建立一个NAT转换记录,为内部全局地址202.194.141.1分配一个内部实际主机地址192.168.1.2。

(3)路由器用实际的内部主机地址192.168.1.2替换数据报的目的地址,然后将数据报转发到实际主机192.168.1.2。

(4)实际主机192.168.1.2接收到该数据报并发送应答包。

(5)路由器接收到应答包,以内部本地地址及端口号和外部全局地址及端口号为关键字,在NAT映射表查找匹配转换记录。然后将数据报的源地址转换为虚拟主机地址,并转发数据报。

(6)如果再来一个TCP连接请求,路由器将按照轮询分配方式将192.168.1.3的地址作为内部本地地址,替换数据报的目的地址,将该连接请求定位到实际主机192.168.1.3,并建立一个不同的NAT转换记录,从而达到负载均衡的目的。

1.4 处理重叠网络(Handing Overlapping Networks)

两个需要互联的私有网络分配了同样的IP地址,或者一个私有网络和公有网络分配了同样的全局IP地址,这种情况称为地址重叠。两个重叠地址的网络主机之间是不可能通信的,因为它们相互认为对方的主机在本地网络中。

NAT设备如何对重叠地址网络进行地址转换的整个过程如图4所示。

图4 处理重叠网络

详细过程描述如下:(1)内部主机192.168.1.2通过FTP远程登录主机sdau.edu.cn,首先向DNS服务器202.194.133.1发送地址解析请求。该过程包含了内部源地址转换:192.168.1.2→202.194.141.1。

(2)路由器截获DNS应答包,应答包中包含外部主机sdau.edu.cn对应的IP地址192.168.1.5。路由器检查应答包中解析后返回的IP地址是否属于重叠地址(即与内部网络地址相同)。如果是重叠地址,就进行地址转换,图4中将192.198.1.5转换成172.16.198.2,然后将DNS响应包发送给内部网络主机192.168.1.2。

(3)内部主机192.198.1.2获知sdau.edu.cn主机的IP地址为172.16.198.2,就向172.16.198.2的TCP 21号端口发送连接请求包。请求包的源地址是192.168.1.2,目的地址是172.16.198.2。

(4)路由器接收到该TCP连接请求包,就建立转换映射记录,内部本地地址为192.198.1.2,内部全局地址为202.194.141.1,外部本地地址为172.16.198.2,外部全局地址为192.198.1.5。

(5)根据NAT映射记录,将数据报的源地址转换为202.194.141.1,目标地址置换为192.198.1.5,然后将数据报发送给外部主机192.198.1.5。

(6)外部主机sdau.edu.cn接收到数据报,发送确认包给内部主机。第一步到第六步将一直重复,直到会话结束。

2 结束语

通过对网络地址转换技术原理的学习可以看到,NAT技术不仅完美地解决了IPv4协议中IP地址不足的问题,而且还能有效避免来自外部网络的攻击,隐藏并保护内部网络中的计算机;同时NAT技术还可以实现TCP流量的负载均衡,对于Web,FTP服务器等需要处理大量连接请求的服务器来说,保证了网络服务的畅通,不失为一种很好的解决途径。对于在大型局域网中常见的重叠网络地址问题,NAT技术也提供了很好的解决方案,通过在路由器上配置NAT就可以实现拥有重叠地址的两个网络的正常访问。正因为NAT技术拥有上述功能,即便IPv6协议全面应用,NAT技术也不会就此被淘汰。

[1] 姜贵平,武装,姜贵君,等.局域网组建与管理实训教程[M].北京:清华大学出版社,2007

[2] 吴企渊.计算机网络(第2版)[M].北京:清华大学出版社,2004

[3] 福建星网锐捷网络有限公司网络大学.实用网络技术配置指南进阶篇[M].北京:北京希望电子出版社,2005

[4] Cisco System公司Cisco Networking Academy Program著.天津大学,电子科技大学,中山大学译.Cisco Networking Academy Program CCNA 3 and 4[M].北京:人民邮电出版社,2005

[5] 姜贵平,姜贵君,张松,等.网络地址转换技术实验的设计与实现[J].实验科学与技术,2008,6(3):54~58

[6] 刘风华,丁贺龙,张永平.关于NAT技术的研究与应用[J].计算机工程与设计,2006,27(10):1814~1817

An analysis of the principle of network address translation technology

Jiang Guiping1, Zhang Song2, Yang Chuandong1, Wang Lu1
1.Shandong agricultural university, Taian, 271018, China 2. The internet information research centre ,the public information department, municipal party committee, the CPC, Binzhou city, Binzhou, 256603, China

The article took the form of texts and pictures to reveal the process that NAT device carries out the network address translation for specif c data gram with an aid of concrete topology maps of network.

network address translation; overlapping networks; technical principle

2011-04-19 稿件编号:1104109

姜贵平,本科,实验师。

猜你喜欢
因特网IP地址路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
铁路远动系统几种组网方式IP地址的申请和设置
公安网络中IP地址智能管理的研究与思考
上网
揭开“接入因特网”的神秘面纱
《IP地址及其管理》教学设计
NASA成功测试首套太空因特网