CN102148773B - 一种IPv6协议和IPv4协议转换的方法及系统 - Google Patents

一种IPv6协议和IPv4协议转换的方法及系统 Download PDF

Info

Publication number
CN102148773B
CN102148773B CN201010108301.8A CN201010108301A CN102148773B CN 102148773 B CN102148773 B CN 102148773B CN 201010108301 A CN201010108301 A CN 201010108301A CN 102148773 B CN102148773 B CN 102148773B
Authority
CN
China
Prior art keywords
packet
address
ipv4
agreement
ipv6
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010108301.8A
Other languages
English (en)
Other versions
CN102148773A (zh
Inventor
周巍
陈利兵
姜智峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201010108301.8A priority Critical patent/CN102148773B/zh
Publication of CN102148773A publication Critical patent/CN102148773A/zh
Application granted granted Critical
Publication of CN102148773B publication Critical patent/CN102148773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种IPv6协议和IPv4协议转换的方法及系统。该方法中提取应用层中携带的IP地址/端口号信息并标记和定位,由协议转换设备完成数据包包头、ICMP报文在IPv4协议和IPv6协议之间进行转换以及数据包的包头中的IP地址/端口号信息和应用层中携带的IP地址/端口号在IPv4协议和IPv6协议之间进行地址映射转换。本发明实现了应用层网络信息进行转换的目的,使得应用程序能够完好的通信;同时这种方法使用的都是现网中成熟的产品设备,不需要再进行设备开发,能够简单快捷的投入建设和使用。

Description

一种IPv6协议和IPv4协议转换的方法及系统
技术领域
本发明涉及互联网,尤其涉及一种IPv6协议和IPv4协议转换的方法及系统。
背景技术
1.IPv6协议(简称IPv6)和IPv4协议(简称IPv4)的互通技术
随着IPv4地址的不断减少以及IPv6技术的不断发展,IPv6取代IPv4成为网络发展的必然趋势。但是,IPv4向IPv6的发展将是一个逐步演进的过程,IPv6和IPv4网络将长期共存,这样就存在一个IPv6和IPv4网络之间进行通信的问题。然而,IPv4和IPv6协议的不兼容性导致了IPv4网络和IPv6网络的互通成为了难题。因此,在IPv6的发展过程中,IPv4和IPv6网络资源的可互访性是我们研究的重点。
现阶段在IPv4、IPv6网络互通问题上,主要有三种方式:
1)双栈技术:
实现IPv6结点与IPv4结点互通的最直接的方式是在IPv6结点中加入IPv4协议栈。具有双协议栈的结点称作“IPv6/v4结点”,这些结点既可以收发IPv4分组,也可以收发IPv6分组。它们可以使用IPv4与IPv4结点互通,也可以直接使用IPv6与IPv6结点互通。但是这样双栈结点仍需要IPv4地址,并没有缓解IPv4地址枯竭的问题。
2)隧道技术:
在IPv6发展初期,必然有许多局部的纯IPv6网络,这些IPv6网络被IPv4骨干网络隔离开来,为了使这些孤立的“IPv6岛”互通,就采取隧道技术的方式来解决。即在IPv6网络与IPv4网络间的隧道入口处,路由器将IPv6的数据分组封装入IPv4中,IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道的出口处再将IPv6分组取出转发给目的节点。以此来穿越现存IPv4因特网的隧道技术将许多个“IPv6孤岛”连接起来,逐步扩大IPv6的实现范围。但是随着网络的不断扩大,需要的隧道也越来越多,使得网络的可扩展性受到了限制。
3)协议转换技术:
其主要思想是需借助于中间的协议转换服务器来实现IPv6与IPv4节点间的通信,此协议转换服务器的主要功能是把网络层协议头进行IPv6与IPv4的转换,以适应对端的协议类型。这种方式可以最直接的实现IPv4网络和IPv6网络的互通。
同时,我们还可以看到,因为现在基于IPv4的网络还是占统治地位,绝大多数结点尤其是服务器都是处在IPv4网络中。现阶段IPv6网络只是作为一个小规模网络接入到基于IPv4的因特网中。因此从IPv6网络向IPv4网络发起连接这种场景是现在各个研究机构研究的重点。NAT64就是这样一种技术。
2.NAT64
NAT64是一项IPv6和IPv4共存演进策略。它使纯IPv6用户可以和纯IPv4服务器建立直接连接,并且支持纯IPv6和纯IPv4节点间的P2P应用。它能够通过对IPv4服务器地址增减IPv6地址前缀和对IPv6用户端的地址映射来达到IPv4/v6包相互转换的目的。DNS64是与NAT64协同工作的域名机制。通过向IPv4地址增加分配给NAT64设备的IPv6前缀来形成IPv6地址,它能将A级资源记录转化为AAAA级资源记录。
NAT64机制在有两个接口的NAT64盒中实现,其中一个接口为IPv4接口,需连接到IPv4网络中,而另一个接口则需连接到IPv6网络中。在IPv6网络中生成的向IPv4网络中节点传送的包将被送到NAT64盒。NAT64盒将对这些包进行翻译然后将它们以IPv4包的形式通过IPv4网络传递给IPv4接收节点。但当IPv4网络中产生的包要向IPv6网络中的节点传递时便不是这样了,它是通过绑带IPv6地址池(其中的地址称为IPv6过渡地址)和IPv4地址池(其中地址称为IPv4过渡地址)来实现的。这种绑定状态是在第一个由IPv6网络产生向IPv4网络传输的包被翻译时产生的。一旦这种绑定状态出现,数据包向任一个方向的传递都是按照这个方式翻译的。这样的结果是NAT64只支持由纯IPv6节点发起的向纯IPv4服务器的通信。
在NAT64解决方案中最重要的部分就是翻译机。NAT64翻译机有两个基本的组成部分,即地址翻译机制和协议翻译机制。从IPv4包头和IPv6包头的协议翻译机制是通过IP/ICMP翻译算法(SIIT)实现的。地址翻译是将IPv6过渡地址映射为IPv4过渡地址,反之亦然。为了形成上述的映射,在NAT64盒中就需要设置上段所提到了两个地址池。由于IPv6丰富的地址资源,可以为每一个IPv4地址提供一个唯一的IPv6地址映射。这种唯一映射的实现方式是在IPv4地址前加入IPv6地址前缀(64::/n)。其中的IPv4地址池是由一系列的IPv4地址组成,一般情况下本地管理员分发的小前缀组成。由于IPv4地址是稀缺的网络资源,IPv4地址池中的地址数量通常很小,不足以给每个IPv6地址一个一一对应的地址映射,所以利用IPv4地址池的地址映射采用动态生成动态释放的策略。不只如此,由于IPv4地址的稀缺性,NAT64中更多的是将IPv6的地址加端口映射为IPv4的地址加端口,而不是将IPv6地址直接映射为IPv4地址,这样可以对有限的IPv4地址池有更高的利用率。
由于NAT64中IPv6地址到IPv4地址映射的动态特性,IPv4地址到IPv6地址映射的静态特性,我们可以非常简单的明白为什么从IPv6节点发起得到IPv4节点的通信更易实现,所以NAT64只支持从IPv6端发起的通信。IPv6通信发起者一般知道或可以推导出代表通信目标IPv4节点的IPv6地址。这些包被NAT64设备拦截并赋予该IPv6节点一个IPv4地址池中的过渡IPv4地址,这样从IPv4节点回传的包就可以被翻译并传给通信发起者。IPv4过渡地址的绑定状态在整个包流动的过程中保持,当流停止时被释放返回地址池,以待其他节点通信时使用。
在进行DNS地址查询时,DNS64会对AAAA记录和A记录进行整合,帮助发起连接的IPv6节点进行DNS查询获得对方的IP地址。当DNS64收到IPv6节点发出的DNS查询请求后,如果查询发现没有可用的AAAA记录(通常是在目的节点是IPv4地址时),DNS会发起一个对A记录的查询,即在IPv4域内的DNS查询。假如A记录被查询得到了,DNS64将把得到的IPv4地址“X”进行地址变换,转成形式为“Pref64:X:SUFFIX”的IPv6地址。此IPv6地址的前缀Pref64和后缀SUFFIX都是IPv6网络设置好的,并保证拥有前缀Pref64的数据包会被路由到NAT64设备。这个合成的IPv6地址将被返回给发起连接的IPv6节点,而IPv6节点将此地址作为目的地址进行连接。而这个目的地址的数据包也将会被路由到NAT64设备,并进行IPv6向IPv4的地址映射。
如图1所示,IPv6网络通过NAT64连接到IPv4网络,IPv6网内的用户A其域名为www.A.com,IP地址为1::3/128;IPv4网内的用户B其域名为www.B.com,IP地址为22.23.24.25。根据NAT64原理,由IPv6用户A发起向IPv4用户B的连接。它首先向DNS64查询域名www.B.com对应的IP地址,DNS发现此域名没有对应的AAAA记录IPv6地址,而有A记录IPv4地址,则说明用户B位于IPv4网络中。于是DNS将用户B的IPv4地址根据IPv6网络的设置转换为Pref64:22.23.24.25:SUFFIX格式的IPv6地址,返回给用户A。用户A则以此地址,向用户B发送数据包,此报文其源地址为1::3/128,源端口号1025;目的地址为Pref64:22.23.24.25:SUFFIX,目的端口号80。根据网络的路由设置,这个数据包将被路由到NAT64设备上。然后NAT64设备会从它的IPv4地址池中找出一个没有使用的IPv4地址加端口,与数据包的源IPv6地址加端口进行映射。在这里,将源IPv6地址加端口转变为IPv4地址加端口22.23.24.110:2000,并将目的IPv6地址进行转化,变为22.23.24.25。然后将这个IPv4报文进行路由,发向目的用户B。
在用户B收到用户A的数据包以后,如果需要它会向用户A进行响应,那么它发送的IPv4报文源IP地址加端口分别为22.23.24.25和80;目的地址加端口为22.23.24.110和2000。此报文被NAT64设备收到,NAT64查询它的映射表,发现应该路由到IPv6网络中,则将报文的源地址加端口转化成Pref64:22.23.24.25:SUFFIX和80;根据映射表,将目的地址加端口转化成1::3/128和1025。这样,就达到了IPv4用户和IPv6用户之间的通信目的了。
3.应用层网关
当网络数据包穿过NAT网关设备时,NAT设备对数据包的IP层进行转换,即根据IP地址的映射对源/目的IP地址进行改变,若使用NAPT,则还将对传输层TCP/UDP的端口及相关字段进行转换。由于网络层和传输层所涉及的协议种类不多,即IP/ICMP/TCP/UDP等少数协议,因此一般的NAT设备仅仅以为数不多的协议翻译功能模块来实现对IP地址和TCP端口无依赖的上层应用层协议透明进行通信的支持,如HTTP协议,在不考虑DNS的时候,NAT设备仅需要对IP地址和TCP端口转换即可支持HTTP穿越NAT,设备进行通信,而对HTTP协议不做任何修改。因此大多数的应用层协议不需要作任何修改即可在NAT环境中使用。
由于历史原因或者功能上的需要,许多应用层协议在设计的时候,在其要传输的负载中以各种方式将IP、TCP或UDP的端口信息记录在其中,提供给接收方使用。由于应用层协议一般不能自动识别当前的网络是否是NAT模式,而且NAT网络模式也不对应用层协议作任何假设。所以,当源主机所属的网络处于NAT网络模式的时候,应用层将IP或者端口等信息写入其负载,如果NAT设备不对其应用层的数据进行处理,目的主机接收到的应用层信息中的IP或者端口信息将可能是无效的,这必然导致应用层协议的错误或者通讯失败。
如图2所示,为了保证类似应用协议能够在不修改协议的基础之上,继续在NAT网络环境中使用,NAT网关设备必须对此类协议具有感知能力,并能够对其负载进行必要的翻译和修改,以保证协议通讯的正确性,这就是应用层网关(ALG)。在目前基于TCP/IP的互联网环境中,虽然存在数目众多的应用层协议,但是符合ALG条件的应用层协议所占的比例较小,因此数量并不多。但是由于各种应用层协议设计的格式和功能都相差较大,因此对于NAT网络设备,必须针对每一种应用层协议提供相应的ALG功能模块。
4.包检测设备
深度包检测DPI(Deep Packet Inspection)技术逐包对数据流进行协议解析,在获取基本IP信息的基础上,深度检测数据流应用层信息(包括Header和Payload),进行特征信息比对(多数采用16进制代码比对),对数据流的类型、状态和内容等进行感知。例如,HTTP应用,端口号80/8080,应用层Header中包含‘Get/www.a.com/index.html’特征信息;Bittorrent应用,端口号随机,应用层Payload中含有16进制代码42 69 74 54 6f 72 72 65 6e 74 20 7072 6f 74 6f 63 6f 6c。
DPI技术可以细分为如下几种数据包检测技术,在进行业务感知时,可以单独或者综合使用。
(1)端口号检测技术
端口检测根据TCP/UDP的端口来识别应用,检测效率高。随着IP网络技术的发展,端口检测技术适用的范围越来越小,但是仍旧有很多传统网络应用协议使用固定的知名端口进行通信。因此对于这一部分的网络应用流量,可以采用端口检测技术进行识别。如:
DNS协议采用53端口;
BGP协议采用179端口;
RPC远程过程调用采用135号端口;
但是,已有一些其他应用,尤其是一些恶意应用,为了穿透防火墙或躲避追踪,也采用一些通用端口例如HTTP/80端口进行通信。因此,在端口检测的基础上,还需要增加一些特征检测的判断和分析,来感知这一部分流量。
(2)报文特征检测技术
当前,许多传统的和新兴的业务应用,如P2P应用、Skype应用等,都采用了端口号隐藏技术,如果单纯依赖端口号检测技术,将无法精确的对这些业务应用进行感知,因此,必须对这些应用采用报文特征检测技术。
报文特征检测技术,大致可以分为两种:
一种是已知应用的感知,例如FTP、HTTP、DNS、SMTP等,这些业务应用具有标准的协议,并规定了特有的消息和命令字以及状态迁移机制,通过对这些专有字段和状态的检测分析,可以精确可靠地感知这些业务应用;
另一种是未公开应用的感知,例如当前多数的P2P协议、IM、VoIP协议等。这些业务应用通常采用私有的消息和命令字,无法得知其协议细节。对这些业务应用的感知需要通过逆向工程分析协议机制,总结归纳出属于该业务应用的报文特征,并通过这些特征字段来感知这些业务应用。
现在DPI设备已经经过了深度研究,很多厂商都已经有了非常成熟的产品,并且在现网中大量使用,这些设备能够分析出互联网中百分之九十以上的流量,并可对这些流量进行相应的操作。
现有的协议地址转换技术只能对IP包进行三四层(网络层、传输层)转换:在转换中,将IPv4和IPv6报文头进行转换,对净荷部分只进行简单的拷贝,并不进行任何操作。但是,现有的网络中有许多应用层的协议,为了实现某些特定功能,则会将IP地址信息和TCP/UDP的端口信息作为通信负载的一部分进行传输。如FTP协议应用层数据中包含了自身的IP地址和端口号;P2P应用中包含了邻居节点的IP地址和端口号。当这样的数据报文通过转换设备时,由于转换设备只对IP网络层和TCP/UDP传输层进行翻译转换,若不对应用层负载中的IP和TCP/UDP端口信息进行相应的处理,则应用层的通信将可能无法完成。后来出现了应用层网关技术,能够对一些特定的应用进行IPv6和IPv4之间的转换,但是现在实现了这个网关的应用协议极少,而且每个协议要单独加载一个应用层网关设备,其扩展性也不佳。
发明内容
为了解决上述的技术问题,提供了一种IPv6协议和IPv4协议转换的方法及系统,其目的在于,借助现有技术中的设备克服现有的IPv6协议和IPv4协议转换的技术方案中存在的缺陷。
本发明提供了一种IPv6协议和IPv4协议转换的方法,
在使用IPv6协议的终端向使用IPv4协议的终端发送数据包时,包括:
步骤1,第一深度包检测设备对该数据包进行深度包检测,将数据包按应用层协议进行分类;对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
步骤2,协议转换设备对可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息和应用层中携带的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端;协议转换设备将不可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,并对不可识别的数据包的包头中的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端;
在使用IPv4协议的终端向使用IPv6协议的终端发送数据包时,包括:
步骤10,第二深度包检测设备对该数据包进行深度包检测,将数据包按应用层协议进行分类;对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
步骤20,协议转换设备对可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息和应用层中携带的IP地址/端口号信息进行IPv4协议到IPv6协议的地址映射转换,将转换后的数据包发送至使用IPv6协议的终端;协议转换设备将不可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,并对不可识别的数据包的包头中的IP地址/端口号信息进行IPv4协议到IPv6协议的地址映射转换,将转换后的数据包发送至使用IPv6协议的终端。
第一深度包检测设备或第二深度包检测设备包括:
流量识别模块,用于识别进入第一深度包检测设备或第二深度包检测设备的数据包,并将数据包进行深度包检测;分析可识别的数据包的协议类型,将可识别的数据包按照协议类型进行分类;将不可识别的数据包单独分类;
应用层信息提取模块,用于对可识别的数据包提取应用层中携带的IP地址/端口号信息并进行标记和定位;
流量控制模块,用于对数据包进行流量控制。
协议转换设备包括:
协议地址转换模块,用于完成IP包头中IP地址/端口号信息的地址映射转换以及数据包包头和ICMP报文的IPv6协议和IPv4协议转换;
应用层信息转换模块,用于根据地址映射表对应用层中携带的IP地址/端口号信息进行IPv6协议和IPv4协议的地址映射转换;
地址映射表模块,用于记录IPv4地址和IPv6地址之间的映射关系;
地址池,用于提供IPv6地址向IPv4地址进行映射时需要使用的IPv4地址,并对该IPv4地址进行管理。
本发明提供了一种IPv6协议和IPv4协议转换的系统,包括第一深度包检测设备、第二深度包检测设备以及协议转换设备;第一深度包检测设备分别与IPv6网络和协议转换设备连接,第二深度包检测设备分别与IPv4网络和协议转换设备连接;
第一深度包检测设备,用于在使用IPv6协议的终端向使用IPv4协议的终端发送数据包时,对该数据包进行深度包检测,将数据包按应用层协议进行分类;对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
第二深度包检测设备,用于在使用IPv4协议的终端向使用IPv6协议的终端发送数据包时,对该数据包进行深度包检测,将数据包按应用层协议进行分类;对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
协议转换设备,用于在使用IPv6协议的终端向使用IPv4协议的终端发送数据包时,协议转换设备对可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息和应用层中携带的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端,并将不可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,对不可识别的数据包的包头中的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端;还用于在使用IPv4协议的终端向使用IPv6协议的终端发送数据包时,对可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息和应用层中携带的IP地址/端口号信息进行IPv4协议到IPv6协议的转换,将转换后的数据包发送至使用IPv6协议的终端,并将不可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,并对不可识别的数据包的包头中的IP地址/端口号信息进行IPv4协议到IPv6协议的地址映射转换,将转换后的数据包发送至使用IPv6协议的终端。
第一深度包检测设备或第二深度包检测设备包括:
流量识别模块,用于识别进入第一深度包检测设备或第二深度包检测设备的数据包,并将数据包进行深度包检测;分析可识别的数据包的协议类型,将可识别的数据包按照协议类型进行分类;将不可识别的数据包单独分类;
应用层信息提取模块,用于对可识别的数据包提取应用层中携带的IP地址/端口号信息并进行标记和定位;
流量控制模块,用于对数据包进行流量控制。
协议转换设备包括:
协议地址转换模块,用于完成IP包头中IP地址/端口号信息的地址映射转换以及数据包包头和ICMP报文的IPv6协议和IPv4协议转换。
应用层信息转换模块,用于根据地址映射表对应用层中携带的IP地址/端口号信息进行IPv6协议和IPv4协议的地址映射转换。
地址映射表模块,用于记录IPv4地址和IPv6地址之间的映射关系。
地址池,用于提供IPv6地址向IPv4地址进行映射时需要使用的IPv4地址,并对该IPv4地址进行管理。
本发明通过现网大规模使用的DPI设备,借助其能对网络中绝大部分流量进行深度包检测的能力,将这些DPI设备安放在IPv4网络和IPv6网络中的协议地址转换设备两端,在对网络流量进行监控的同时,与协议地址转换设备进行互通,通过DPI设备分析得到应用层协议需要转换的IP地址/端口号,再由协议地址转换设备对其进行IPv4到IPv6或者IPv6到IPv4的转换。本发明实现了应用层网络信息进行转换的目的,使得应用程序能够完好的通信;同时这种方法使用的都是现网中成熟的产品设备,不需要再进行设备开发,能够简单快捷的投入建设和使用。
附图说明
图1为现有技术中DNS64结构示意图;
图2为现有技术中应用层网关示意图;
图3为本发明提供的IPv6协议和IPv4协议转换系统结构图;
图4为本发明提供的IPv6协议和IPv4协议转换网络部署示意图;
图5为本发明中提供的IPv6协议和IPv4协议转换流程图。
具体实施方式
本发明使用网络中成熟并大量部署的深度包检测设备,在设备对经过的流量进行识别和控制的同时,提取相应的应用层信息,并将信息在协议转换设备中进行转换,实现IPv4网络和IPv6网络之间的互通。
本发明提供的IPv6协议和IPv4协议转换系统如图3所示,包括深度包检测设备和协议转换设备,其中深度包检测设备由三个模块组成:流量识别模块、应用层信息提取模块和流量控制模块,下面分别进行介绍。
流量识别模块:识别进入设备的所有流量,并将流量进行深度包检测,分析这些数据包的应用层协议类型,将数据包按照协议类型进行分类。因为设备不可能识别所有类型的流量,所以将不可识别的包进行单独分类。数据包由IP报头、TCP/UDP报头、应用层数据组成。
应用层信息提取模块:在识别分析后的流量中寻找需要进行IPv4/IPv6转换的信息,主要是在应用层中携带的一些IP地址/端口号信息,将这些信息进行标记和定位。
流量控制模块:这属于传统的包检测设备功能,即对识别的流量进行分类的控制,包括流量整形、流量限制等操作。
协议转换设备由四个部分组成,包括协议地址转换模块、应用层信息转换模块、地址映射表模块和地址池,下面分别进行介绍:
协议地址转换模块:主要完成数据包包头中IP地址/端口号的地址映射转换以及IP数据包的包头、ICMP报文等的协议转换。
应用层信息转换模块:对深度包检测设备的应用层信息提取模块提取出的应用层信息,根据地址映射表,将应用层中的信息进行相应的转换。
地址映射表模块:记录协议转换设备入口和出口的IPv4/IPv6地址映射关系。
地址池:IPv6地址向IPv4进行映射需要使用IPv4地址,地址池对这部分IPv4地址进行管理。
本发明提供的IPv6协议和IPv4协议转换系统在网络中部署如图4所示,协议转换设备处在IPv6网络和IPv4网络之间,IPv6网络中所有节点都是纯IPv6节点,它们运行的所有业务应用都是基于IPv6地址的;相对的,IPv4网络中所有节点都是纯IPv4节点,它们运行的所有业务应用都是基于IPv4地址的。
对于IPv4地址向IPv6地址的映射,IPv6协议和IPv4协议转换系统采用NAT64的映射方法:IPv6网络中需要设置一个前缀PREF64,这样所有IPv4网络中的IPv4地址X在经过协议转换设备后都映射为PREF64:X:SUFFIX(SUFFIX是IPv6地址后缀)。而从IPv6网络向IPv4网络传输的数据包,即IPv6地址向IPv4地址的映射方法可以采用传统的NAT方式,即:协议转换设备会维护一个IPv4地址池和一张地址映射表,收到一个IPv6报文后,首先查找IPv6地址+端口号是否在映射表中,如有在则按照映射表中的记录转换成IPv4地址+端口;如果没有,则表示是一个新的连接,那么在IPv4地址池中取出一个未用的IPv4地址+端口来对IPv6地址+端口进行替换和映射,然后将报文发到IPv4网络。
对于到达协议转换设备的IPv6侧数据包,在IPv6侧数据包中的IP头,其目的地址肯定是形如PREF64:X:SUFFIX形式的,那么协议转换设备将前后缀去掉作为IPv4包的目的地址;而源地址则根据映射表中的关系进行映射。对数据包中的应用层数据,经过深度包检测设备后进行标记,这些应用层携带IPv6地址可能是:1、形如PREF64:X:SUFFIX的IPv4向IPv6的生成地址,这个地址对应的是IPv4网络中的节点;2、IPv6网络中的原生IPv6地址,这个地址对应的是IPv6网络中的节点。协议转换设备将根据前面介绍的规则将这些IPv6地址映射成IPv4地址。
对到达协议转换设备的IPv4侧数据包,其IP头中目的地址肯定是IPv4/IPv6映射表中的一个IP地址,即由协议转换设备维护的一个IPv4地址/端口对,这个IPv4地址/端口可以映射成IPv6网络中的一个地址/端口对。而IP头中的源地址X则直接转换成PREF64:X:SUFFIX形式。对数据包中的应用层数据,经过深度包检测设备后进行标记,这些应用层携带IPv4地址可能是:1、在转换映射表中有映射项的IPv4地址,这个地址对应着IPv6网络中的节点;2、IPv4网络中的地址,对应着IPv4网络中的结点。协议转换设备将根据前面介绍的规则将这些IPv4地址映射成IPv6地址。
本发明提供的IPv6协议和IPv4协议转换方法如图5所示:
步骤501,流量识别模块对经过的流量进行深度包检测,将数据包按应用层协议进行分类;
步骤502,流量识别模块判断流量是否可以识别,并将可以识别的数据包发送到应用层信息提取模块,不能识别的数据包则直接发到协议地址转换模块。
步骤503,应用层信息提取模块在识别分析后的流量中寻找需要进行IPv4/IPv6转换的信息,主要是在应用层中携带的一些IP地址/端口号信息,将这些信息进行标记和定位。
步骤504,在协议地址转换模块中对所有数据包完成其IP头中IP地址/端口号的地址映射转换以及IP头、ICMP报文等的协议转换。
步骤505,协议地址转换模块判断是否有应用层信息标记,并将含有应用层信息标记的数据包发送到应用层信息转换模块,将不包含应用层信息标记的数据包直接发送出去;
步骤506,对进行标记了的应用层信息中携带的一些IP地址/端口号信息进行转换并发送转换后的数据包。
本发明提供了一种IPv6协议和IPv4协议转换的系统,包括第一深度包检测设备、第二深度包检测设备以及协议转换设备;第一深度包检测设备分别与IPv6网络和协议转换设备连接,第二深度包检测设备分别与IPv4网络和协议转换设备连接;
第一深度包检测设备,用于在使用IPv6协议的终端向使用IPv4协议的终端发送数据包时,对该数据包进行深度包检测,将数据包按应用层协议进行分类;对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
第二深度包检测设备,用于在使用IPv4协议的终端向使用IPv6协议的终端发送数据包时,对该数据包进行深度包检测,将数据包按应用层协议进行分类;对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
协议转换设备,用于在使用IPv6协议的终端向使用IPv4协议的终端发送数据包时,协议转换设备对可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息和应用层中携带的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端,并将不可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,对不可识别的数据包的包头中的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端;还用于在使用IPv4协议的终端向使用IPv6协议的终端发送数据包时,对可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息和应用层中携带的IP地址/端口号信息进行IPv4协议到IPv6协议的转换,将转换后的数据包发送至使用IPv6协议的终端,并将不可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,并对不可识别的数据包的包头中的IP地址/端口号信息进行IPv4协议到IPv6协议的地址映射转换,将转换后的数据包发送至使用IPv6协议的终端。
第一深度包检测设备或第二深度包检测设备包括:
流量识别模块,用于识别进入第一深度包检测设备或第二深度包检测设备的数据包,并将数据包进行深度包检测;分析可识别的数据包的协议类型,将可识别的数据包按照协议类型进行分类;将不可识别的数据包单独分类;
应用层信息提取模块,用于对可识别的数据包提取应用层中携带的IP地址/端口号信息并进行标记和定位;
流量控制模块,用于对数据包进行流量控制。
协议转换设备包括:
协议地址转换模块,用于完成IP包头中IP地址/端口号信息的地址映射转换以及数据包包头和ICMP报文的IPv6协议和IPv4协议转换。
应用层信息转换模块,用于根据地址映射表对应用层中携带的IP地址/端口号信息进行IPv6协议和IPv4协议的地址映射转换。
地址映射表模块,用于记录IPv4地址和IPv6地址之间的映射关系。
地址池,用于提供IPv6地址向IPv4地址进行映射时需要使用的IPv4地址,并对该IPv4地址进行管理。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。

Claims (6)

1.一种IPv6协议和IPv4协议转换的方法,其特征在于,
在使用IPv6协议的终端向使用IPv4协议的终端发送数据包时,包括:
步骤1,第一深度包检测设备对该数据包进行深度包检测,将数据包按应用层协议进行分类;判断流量是否可以识别,对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
步骤2,协议转换设备对可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换;判断是否有应用层信息标记,对可识别的数据包的应用层中携带的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端;协议转换设备将不可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,并对不可识别的数据包的包头中的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端;
在使用IPv4协议的终端向使用IPv6协议的终端发送数据包时,包括:
步骤10,第二深度包检测设备对该数据包进行深度包检测,将数据包按应用层协议进行分类;判断流量是否可以识别,对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
步骤20,协议转换设备对可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息进行IPv4协议到IPv6协议的地址映射转换;判断是否有应用层信息标记,对可识别的数据包的应用层中携带的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv6协议的终端;协议转换设备将不可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,并对不可识别的数据包的包头中的IP地址/端口号信息进行IPv4协议到IPv6协议的地址映射转换,将转换后的数据包发送至使用IPv6协议的终端。
2.如权利要求1所述的IPv6协议和IPv4协议转换的方法,其特征在于,第一深度包检测设备或第二深度包检测设备包括:
流量识别步骤,用于识别进入第一深度包检测设备或第二深度包检测设备的数据包,并将数据包进行深度包检测;分析可识别的数据包的协议类型,将可识别的数据包按照协议类型进行分类;将不可识别的数据包单独分类;
应用层信息提取步骤,用于对可识别的数据包提取应用层中携带的IP地址/端口号信息并进行标记和定位;
流量控制步骤,用于对数据包进行流量控制。
3.如权利要求1所述的IPv6协议和IPv4协议转换的方法,其特征在于,协议转换设备包括:
协议地址转换步骤,用于完成IP包头中IP地址/端口号信息的地址映射转换以及数据包包头和ICMP报文的IPv6协议和IPv4协议转换;
应用层信息转换步骤,用于根据地址映射表对应用层中携带的IP地址/端口号信息进行IPv6协议和IPv4协议的地址映射转换;
地址映射表步骤,用于记录IPv4地址和IPv6地址之间的映射关系;
地址池,用于提供IPv6地址向IPv4地址进行映射时需要使用的IPv4地址,并对该IPv4地址进行管理。
4.一种IPv6协议和IPv4协议转换的系统,其特征在于,包括第一深度包检测设备、第二深度包检测设备以及协议转换设备;第一深度包检测设备分别与IPv6网络和协议转换设备连接,第二深度包检测设备分别与IPv4网络和协议转换设备连接;
第一深度包检测设备,用于在使用IPv6协议的终端向使用IPv4协议的终端发送数据包时,对该数据包进行深度包检测,将数据包按应用层协议进行分类;判断流量是否可以识别,对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
第二深度包检测设备,用于在使用IPv4协议的终端向使用IPv6协议的终端发送数据包时,对该数据包进行深度包检测,将数据包按应用层协议进行分类;判断流量是否可以识别,对于可识别的数据包进行应用层信息提取,标记和定位应用层中携带的IP地址/端口号信息并发送到协议转换设备;将不可识别的数据包直接发送到协议转换设备;
协议转换设备,用于在使用IPv6协议的终端向使用IPv4协议的终端发送数据包时,协议转换设备对可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换;判断是否有应用层信息标记,对可识别的数据包的应用层中携带的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端,并将不可识别的数据包的包头和ICMP报文进行IPv6协议到IPv4协议的转换,对不可识别的数据包的包头中的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv4协议的终端;还用于在使用IPv4协议的终端向使用IPv6协议的终端发送数据包时,对可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,以及对可识别的数据包的包头中的IP地址/端口号信息进行IPv4协议到IPv6协议的转换;判断是否有应用层信息标记,对可识别的数据包的应用层中携带的IP地址/端口号信息进行IPv6协议到IPv4协议的地址映射转换,将转换后的数据包发送至使用IPv6协议的终端,并将不可识别的数据包的包头和ICMP报文进行IPv4协议到IPv6协议的转换,并对不可识别的数据包的包头中的IP地址/端口号信息进行IPv4协议到IPv6协议的地址映射转换,将转换后的数据包发送至使用IPv6协议的终端。
5.如权利要求4所述的IPv6协议和IPv4协议转换的系统,其特征在于,第一深度包检测设备或第二深度包检测设备包括:
流量识别模块,用于识别进入第一深度包检测设备或第二深度包检测设备的数据包,并将数据包进行深度包检测;分析可识别的数据包的协议类型,将可识别的数据包按照协议类型进行分类;将不可识别的数据包单独分类;
应用层信息提取模块,用于对可识别的数据包提取应用层中携带的IP地址/端口号信息并进行标记和定位;
流量控制模块,用于对数据包进行流量控制。
6.如权利要求4所述的IPv6协议和IPv4协议转换的系统,其特征在于,协议转换设备包括:
协议地址转换模块,用于完成IP包头中IP地址/端口号信息的地址映射转换以及数据包包头和ICMP报文的IPv6协议和IPv4协议转换;
应用层信息转换模块,用于根据地址映射表对应用层中携带的IP地址/端口号信息进行IPv6协议和IPv4协议的地址映射转换;
地址映射表模块,用于记录IPv4地址和IPv6地址之间的映射关系;
地址池,用于提供IPv6地址向IPv4地址进行映射时需要使用的IPv4地址,并对该IPv4地址进行管理。
CN201010108301.8A 2010-02-08 2010-02-08 一种IPv6协议和IPv4协议转换的方法及系统 Active CN102148773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010108301.8A CN102148773B (zh) 2010-02-08 2010-02-08 一种IPv6协议和IPv4协议转换的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010108301.8A CN102148773B (zh) 2010-02-08 2010-02-08 一种IPv6协议和IPv4协议转换的方法及系统

Publications (2)

Publication Number Publication Date
CN102148773A CN102148773A (zh) 2011-08-10
CN102148773B true CN102148773B (zh) 2014-03-12

Family

ID=44422783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010108301.8A Active CN102148773B (zh) 2010-02-08 2010-02-08 一种IPv6协议和IPv4协议转换的方法及系统

Country Status (1)

Country Link
CN (1) CN102148773B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428229A (zh) * 2012-05-14 2013-12-04 百度在线网络技术(北京)有限公司 数据中心系统、装置及提供服务的方法
CN104270475B (zh) * 2014-09-03 2017-10-10 武汉烽火网络有限责任公司 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法
CN105681249B (zh) * 2014-11-17 2019-09-13 中国移动通信集团公司 一种网络访问方法和网络转换设备
CN104468864B (zh) * 2014-12-24 2018-05-01 国家电网公司 一种IPv6-in-IPv4隧道包的网络地址转换方法
EP3261314B1 (en) 2015-03-13 2020-07-01 Huawei Technologies Co., Ltd. Access network system, and method and apparatus for processing data packet
CN104735073B (zh) * 2015-03-30 2018-07-06 广州杰赛科技股份有限公司 IPv4-IPv6过渡协议调度方法和装置
CN105450515B (zh) * 2015-11-12 2018-06-12 清华大学 一种针对应用层协议的IPv4/IPv6数据翻译网关及方法
CN105721622A (zh) * 2016-01-21 2016-06-29 重庆邮电大学 一种实现6LoWPAN与IPv4网络互联的方法与装置
CN107911237B (zh) * 2017-11-10 2021-05-04 南京邮电大学 一种基于dpdk的用户空间内数据包快速检测方法
CN107835259A (zh) * 2017-12-15 2018-03-23 睿哲科技股份有限公司 一种基于IPv6解决信息孤岛问题的互联互通装置
CN110062056B (zh) * 2018-01-19 2021-11-02 中兴通讯股份有限公司 网络地址转换方法及装置
CN110943873B (zh) * 2018-09-21 2021-08-17 中移(杭州)信息技术有限公司 一种报文流的处理方法、装置和可读介质
CN110198365B (zh) * 2019-05-27 2022-12-23 杭州迪普科技股份有限公司 一种地址转换检测方法及系统
CN110225150B (zh) * 2019-06-27 2020-09-15 中星科源(北京)信息技术有限公司 不同网络协议间的通信方法、系统和存储介质
CN110798540B (zh) * 2019-10-18 2023-01-20 北京奇艺世纪科技有限公司 一种数据交互方法及装置
CN110636151B (zh) * 2019-10-25 2022-03-22 新华三信息安全技术有限公司 一种报文处理方法、装置、防火墙及存储介质
CN112087532B (zh) * 2020-08-28 2023-04-07 中国移动通信集团黑龙江有限公司 信息获取方法、装置、设备及存储介质
CN112261054B (zh) * 2020-10-23 2022-07-15 重庆邮电大学 基于应用业务服务质量的Ethernet/IP与IPv6协议转换系统及方法
CN115086273A (zh) * 2021-03-16 2022-09-20 中国电信股份有限公司 IPv6单栈网络的NAT64前缀分配方法、装置和DNS64设备
CN114039948A (zh) * 2021-11-26 2022-02-11 中国电信股份有限公司 基于IPv6单栈环境的流量识别方法、装置、介质及电子设备
CN116471338B (zh) * 2023-06-20 2023-09-05 中国电信股份有限公司江西分公司 一种基于SPACE6的协议转换技术的IPv6云转换平台

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056222A (zh) * 2007-05-17 2007-10-17 华为技术有限公司 一种深度报文检测方法、网络设备及系统
CN101136910A (zh) * 2006-08-30 2008-03-05 中国电信股份有限公司 网络地址和协议翻译设备与应用层网关设备
US7391768B1 (en) * 2003-05-13 2008-06-24 Cisco Technology, Inc. IPv4-IPv6 FTP application level gateway
CN101316272A (zh) * 2008-07-09 2008-12-03 南京邮电大学 构建因特网协议版本4和6混合网络的多协议层翻译方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7391768B1 (en) * 2003-05-13 2008-06-24 Cisco Technology, Inc. IPv4-IPv6 FTP application level gateway
CN101136910A (zh) * 2006-08-30 2008-03-05 中国电信股份有限公司 网络地址和协议翻译设备与应用层网关设备
CN101056222A (zh) * 2007-05-17 2007-10-17 华为技术有限公司 一种深度报文检测方法、网络设备及系统
CN101316272A (zh) * 2008-07-09 2008-12-03 南京邮电大学 构建因特网协议版本4和6混合网络的多协议层翻译方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IPv4和IPv6转换网关的研究和设计;王欣;《中国优秀硕士学位论文全文数据库信息科技辑》;20030430(第04期);I136-16 *
王欣.IPv4和IPv6转换网关的研究和设计.《中国优秀硕士学位论文全文数据库信息科技辑》.2003,(第04期),I136-16.

Also Published As

Publication number Publication date
CN102148773A (zh) 2011-08-10

Similar Documents

Publication Publication Date Title
CN102148773B (zh) 一种IPv6协议和IPv4协议转换的方法及系统
CN101247308B (zh) 基于网络处理器实现IPv6穿越IPv4的隧道报文处理方法
CN104734963B (zh) 一种基于SDN的IPv4和IPv6网络互连方法
CN101087296B (zh) 利用网络处理器实现IPv4/IPv6网络协议转换的方法
CN100484083C (zh) 一种地址转换方法及实现该方法的混合地址转换路由器
CN101052022B (zh) 一种虚拟专用网用户访问公网的系统和方法
CN102075438B (zh) 单播数据帧传输方法及装置
CN104010049A (zh) 基于sdn的以太网ip报文封装方法及网络隔离和dhcp实现方法
CN105850102A (zh) 服务链的控制
CN101150566B (zh) 异构网络系统中实现网络地址转换协议转换的装置及方法
JP5506932B2 (ja) 新たなネットワークとインターネットとの相互通信の実現方法、システム及び通信端
CN105553849A (zh) 一种传统ip网络与sptn网络互通方法与系统
CN102946349B (zh) 一种基于OSPF协议的以太网E-Line业务链路发现方法及装置
CN100505686C (zh) 实现移动IPv6节点与IPv4通信伙伴通信的方法
CN104202300A (zh) 基于网络隔离装置的数据通信方法和装置
CN102546349B (zh) 一种报文转发方法和设备
CN102273177A (zh) 邻居发现协议调解
CN100450065C (zh) 一种提供虚拟专用网站点之间通信的方法
CN102006338A (zh) 嵌入式设备支持IPv4/IPv6协议的并发通信方法
CN104639440A (zh) 一种在网络中实现三层转发并封装协议信息的方法和装置
CN102201996B (zh) 网络地址转换环境中报文转发的方法及设备
CN109246016B (zh) 跨vxlan的报文处理方法和装置
CN105515995B (zh) 报文处理方法及装置
CN100539551C (zh) 静态网络地址转换-协议转换的实现方法及网关设备
CN210867778U (zh) 一种能够进行IPv4与IPv6地址转化的系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant