浅谈基于NAT-PT的网络转换技术

时间:2022-06-28 03:18:35

浅谈基于NAT-PT的网络转换技术

摘要:IPv6和IPv4共存到完全过渡将是一个逐步实现的长期过程,因此IPv6地址域的节点不可避免地要和IPv4地址域的节点实现互相通信,由于两种协议报文无论在地址空间还是在报头格式上都不兼容,因此纯IPv4节点和纯IPv6节点之间必须经过网络地址和协议的转换(NAT-PT)才能实现通信。NAT-PT(网络地址翻译-协议翻译)是网络地址翻译(NAT)、协议翻译(PT)以及应用级网关(ALG)的有机结合。这三种技术协同工作,使得IPv4与IPv6网络能够互相通信。该文简要介绍了基于NAT-PT的网络转换技术的原理和体系结构。

关键词:IPv6;NAT-PT

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)26-6358-02

The Research of Technologies Based on NAT-PT Conversion of the Network

SHI Jing-jing

(Department of Computer Science, Gansu Institute of Political Science and Law, Lanzhou 730070, China)

Abstract: Though IPv6 is a identified "final plan", there will be a long way from IPv4 to IPv6. Pure IPv4 node and pure IPv6 node can not communicate each other because there are lots of differences between the two protocols. NAT-PT(Network Address Transitio-Protocol Transition) is a way for them to compatible with each other. This paper introduces the NAT-PT technology, basic principles, architecture and module division, at this stage from IPv4 to IPv6 transition mechanism, the tunnel and NAT - PT combined to achieve the transition program.

Key words: IPv6; NAT-PT

与IPv4相比,IPv6作为下一代互联网的基础协议,具有很多优势。首先,IPv6解决了IP地址数量短缺的问题;其次,IPv6对IPv4协议中诸多不完善之处进行了较大的改进,其中最为显著的就是将IPSec集成到协议内部,利用IPSec实现网络层的加密和认证,使IPSec不再单独存在,而是作为IPv6协议固有的一部分贯穿于IPv6的各个应用领域。

IPv6协议的一个重要设计目标就是实现与IPv4的兼容。由于IPv6和IPv4共存到完全过渡将是一个逐步实现的长期过程,因此IPv6地址域的节点不可避免地要和IPv4地址域的节点实现互相通信,由于两种协议报文无论在地址空间还是在报头格式上都不兼容,因此纯IPv4节点和纯IPv6节点之间必须经过网络地址和协议的转换(NAT-PT)才能实现通信。

1 NAT-PT技术的基本原理

NAT-PT(网络地址翻译-协议翻译)是网络地址翻译(NAT)、协议翻译(PT)以及应用级网关(ALG)的有机结合。这三种技术协同工作,使得IPv4与IPv6网络能够互相通信。

NAT-PT的基本原理是:IPv4/IPv6地址映射(NAT)和对IPv4/IPv6分组进行的基于语意一致性的翻译(Protocol Translation)。其协议翻译(PT)部分采用了SIIT(State-less IP/ICMP Translation无状态IP/ICMP转换)技术中的协议翻译方法,主要包括了IPv4/IPv6首部字段互译、ICMPv4/ICMPv6首部字段互译和ICMPv4/ICMPv6差错报文互译。这种翻译是基于语意一致的,不能保证翻译后的信息完整性,对两种协议共有的信息或经计算可得的信息进行了翻译,对只在一种协议中存在的信息采取了丢弃的方式。

NAT模块的主要功能是实现IPv6与IPv4之间的地址映射和地址翻译。该模块分为IPv4-IPv6 NAT模块和IPv6-IPv4 NAT模块。PT模块的功能是实现IPv6数据报文和IPv4数据报文之间的相互转化。该模块又可以分为IPv4-IPv6 PT模块、IPv6-IPv4 PT模块。ALG模块的主要功能是实现对应用协议的翻译。为了方便系统的可扩展性(既添加新的ALG而不影响原有的ALG功能和导致代码的改动),我们把ALG模块分为两部分:ALG的管理功能模块和ALG的具体应用协议模块。ALG的管理功能模块可以通过定义函数ALG_manager来实现,它负责管理所有的具体应用协议。具体应用协议模块,目前实现的主要有DNS-ALG。

2 IPv6下过渡问题的提出

无可置疑,经过20多年的发展和完善,基于IPv4的互连网络在各个领域内得到了空前的发展。由于人们对生活质量要求的不断提高和完善,各新型业务不断涌现,如移动通信语音及视频通信等。这样,本来IP地址就匮乏的现状进一步加剧,并带来了路由表急剧膨胀,对网络服务质量要求的提高以及网络安全性的进一步加强。而这些都是IPv4存在的问题。所以,IPv6正是为解决这些问题而产生的。其优越的特性为互联网的更好地进一步发展提供了支持。虽说IPv6有很多优点,但我们又不能完全丢弃现有的IPv4网络,而完全使用IPv6网络。因为当前的IPv4网络投资巨大,而且新的技术的成长与不断完善也需要很长的时间,同时,社会各界对IPv6地认识和接受也需要时间。所以说,IPv4和IPv6并存现象将会持续很长的一段时间已成必然。

2.1 现阶段从IPv4到IPv6的过渡机制

目前已有多种策略和技术方案完成从IPv4到IPv6的过渡,基本过渡技术中成熟的技术包括双协议栈技术、隧道技术和协议转换这三种。

1) 双协议栈(Dual Stack)技术

这种技术的特点是每个节点同时支持IPv4和IPv6两种协议栈。由于IPv6和IPv4是功能相近的网络层协议,并且两者都应用于相同的物理平台,而且加载于其上的传输层协议TCP和UDP也没有任何区别,因此支持双协议栈的节点既能与支持IPv4协议的节点通信,又能与支持IPv6协议的节点通信。其协议栈模型可构造如图2-3所示。双协议栈的工作方式如下:链路层接收到数据报,拆开并检查报头。如果IPv4/IPv6头中的第一个字段,即IP包的版本号是4,则使用IPv4;如果应用程序使用的目的地址是IPv6中的IPv4兼容地址,则同样使用IPv4,所不同的是,此时IPv6就封装在IPv4当中;如果应用程序使用的目的地址是一个非IPv4兼容的IPv6地址,那么此时将使用IPv6,而且很可能此时要采用隧道等机制来进行路由传输;如果应用程序使用域名来作为目标地址,那么此时先要从DNS服务器那里得到相应的IPv4/IPv6地址,然后根据地址的情况进行相应的处理。

2) 隧道(Tunneling)技术

随着IPv6的发展,出现许多局部的IPv6网络,这些网络被IPv4网络隔离开,为了使这些孤立的“IPv6岛”可以互通,必须采用隧道技术。隧道技术将IPv6的分组封装到IPv4的分组中即把整个IPv6数据报变成IPv4据报的数据部分,封装后的分组通过IPv4网络进行传播,分组报头的协议域设置为41,指示这个分组的负载是一个IPv6分组,隧道的终止节点将这些数据报进行解封和还原,取出IPv6数据报并将其转发给相应的目的节点。这其中IPv4数据报的源地址和目的地址分别是隧道入口和出口的IPv4地址。利用隧道技术,IPv6分组被作为无结构无意义的数据封装在IPv4数据报中,在IPv4网络中传输。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求,因而非常容易实现。但是隧道技术不能实现IPv4主机和IPv6主机的直接通信。而且隧道配置及管理比较繁琐,在复杂的网络条件下对终端用户变得不可能。它的优点是能够提供跨越纯IPv4网络的IPv6连接,管理员可以清楚地知道并控制与本机相连的隧道。本质上来说,隧道只是把IPv4网络作为一种传输介质。

3) 网络地址转换/协议转换NAT-PT技术

网络地址转换/协议转换技术是一种纯IPv4终端和纯IPv6终端之间的互通方式,也就是说,原IPv4用户终端不需要进行升级改造,所有包括地址、协议在内的转换工作都由网络设备来完成。在这种情况下,网关路由器要向IPv6域中一个路由前缀,凡是具有该前缀的IPv6包都被送往网关路由器。NAT-PT网关路由器应具有IPv4地址池,在从IPv6域向IPv4中转发包时使用(也可以通过端口复用的方式使多个IPv6用户公用一个IPv4临时地址)。此外,NAT-PT通过与SIIT(State-less IP/ICMP Translation,无状态IP/ICMP转换)协议转换和传统的IPv4下的动态的网络地址转换(NAT)以及适当的应用层网关ALG(Application Level Gateway)相结合,实现了只安装IPv6的主机与只安装IPv4主机的大部分应用的相互通信。

2.2 隧道和NAT-PT相结合过渡方案的实现

上面讨论的过渡技术都只能针对某一特定类型的网络和某一时期的网络结构。它们的适用范围较小。鉴于这些限制,我们提出了一种新的过渡方案来弥补它们的不足。

混合网络1,2指的是使用IPv4和IPv6两种网络类型的混合网。它们之间的通信分为四种情况:IPv4与IPv4之间的通信;IPv6与IPv6之间的通信;IPv4与IPv6之间的通信;IPv6与IPv4之间的通信。下面我们来分别进行讨论。

1) IPv4与IPv4之间的通信

这种通信方式是最原始的通信方式。此时,NAT-PT1和NAT-PT2都不起作用。而在经过双协议栈路由器1和2时,使用的是IPv4协议栈。

2) IPv6与IPv6之间的通信

由于IPv6技术的推广,基于IPv6技术的网络也逐渐增多,此时,它们之间就要通过现有的占主要地位的IPv4网络进行传输。它们之间相互通信时,同样,NAT-PT1和NAT-PT2都不起作用。然后再按照前面所介绍的隧道方式进行通信即可。

3) IPv4与IPv6之间的通信

这种通信方式在经过NAT-PT1时,需要将IPv4地址由NAT-PT转换为IPv6地址,然后再经过双协议栈路由器1时,对数据包进行封装后通过IPv4网络,再在双协议栈路由器2上解封为IPv6,由于此时数据包已经是IPv6数据包了,所以NAT-PT2不起作用。从而数据包成功的传给了IPv6网络。

4) IPv6与IPv4之间的通信

同样,当IPv6数据包到达NAT-PT1时,它不起作用。然后经过双协议栈路由器1进行封装,由隧道方式通过网络到达双协议栈路由器2,并被解封为IPv6数据包,再通过NAT-PT2转换为IPv4数据包。从而和目的方建立了通信。通过上面的讨论我们能发现,这种混合的过渡技术可以解决IPv4与IPv6之间的混合通信问题。这种方案可以在现阶段及其今后的很长一段时间内使用。因为IPv4与IPv6之间的过渡需要很长的一段时间。在当今的IPv6网络不多的现阶段,这一方案可以很好的应用。而在将来,当IPv6网络发展到和IPv4网络差不多的情况时,也可以同样的使用。即使在今后,当IPv6网络比IPv4网络还多的情况下,也可以使用这一方案。所以说,这种方案的使用周期很长。而当到最后,完全发展为IPv6网络时,这一过渡期也不存在了,也就不需要过渡方案了。

3 小结

本文对NAT-PT技术的基本原理、体系结构及其模块的划分进行了阐述,提出了IPv6下的过渡问题、现阶段从IPv4到IPv6的过渡机制,并介绍和分析了隧道和NAT-PT相结合的过渡方案。

参考文献:

[1] Camarillo G.SIP揭秘[M].白建军,彭晖,田敏,等译.北京:人民邮电出版社,2003.

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

[3] 强雷,叶华.SIP在下一代网络中的应用模型[J].网络与规划,2004(3).

[4] 张磊.下一代网络中SIP协议的应用[J].北京电子,2005(7).

[5] 赵慧玲.2005年全球电信行业热点技术发展趋势[J].通信世界,2005(1).

[6] 赵慧玲,叶华.以软交换技术为核心的下一代网络技术[M].北京:人民邮电出版社,2002.

[7] 朱航,须德.基于SIP的多媒体业务穿越网络地址转换/防火墙研究与设计[J].北京交通大学学报,29(2).

上一篇:对大学计算机基础教学的几点思考 下一篇:一种异构无线网络智能垂直切换模型及其仿真分...