CN102394947B - IPv4与IPv6的地址翻译方法、装置、系统及ALG设备 - Google Patents

IPv4与IPv6的地址翻译方法、装置、系统及ALG设备 Download PDF

Info

Publication number
CN102394947B
CN102394947B CN201110338494.0A CN201110338494A CN102394947B CN 102394947 B CN102394947 B CN 102394947B CN 201110338494 A CN201110338494 A CN 201110338494A CN 102394947 B CN102394947 B CN 102394947B
Authority
CN
China
Prior art keywords
ipv6
address
ipv4
equipment
data message
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
CN201110338494.0A
Other languages
English (en)
Other versions
CN102394947A (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.)
Ruijie Networks Co Ltd
Original Assignee
Fujian Star Net Communication 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 Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN201110338494.0A priority Critical patent/CN102394947B/zh
Publication of CN102394947A publication Critical patent/CN102394947A/zh
Application granted granted Critical
Publication of CN102394947B publication Critical patent/CN102394947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种IPv4与IPv6的地址翻译方法、装置、系统及ALG设备,该方法包括:接收来自IPv6设备发送给IPv4设备的数据报文;在ALG中,为数据报文分配一个空闲的IPv4端口;根据数据报文中指向IPv6设备的源地址、指向IPv4设备的目的地址,建立分配的IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系;将数据报文中指向IPv6设备的源地址和源端口号分别替换为ALG的IPv4地址和分配的IPv4端口的端口号;通过分配的IPv4端口将替换了源地址和源端口后的数据报文发送给IPv4设备。本发明能够实现IPv4地址与IPv6地址的1∶N的无状态地址映射。

Description

IPv4与IPv6的地址翻译方法、装置、系统及ALG设备
技术领域
本发明涉及网络通信,特别地涉及一种IPv4与IPv6的地址翻译方法、装置、系统及应用层网关(ALG,Application Layer Gateway)设备。
背景技术
目前,网际协议版本4(IPv4,Internet Protocol Version 4)是现代互联网的核心协议。但随着Internet的日益膨胀,现有的IPv4地址十分紧缺,已经影响到物联网等新型网络的应用。网际协议版本6(IPv6,Internet Protocol Version6)是为了解决IPv4的不足而重新设计的一套网络层协议。
在IPv6成为主流协议之前,使用IPv6协议栈的网络希望能与以IPv4为支撑的Internet进行正常通信,或者IPv6“孤岛”能与IPv4网络互通、访问IPv4的现有资源信息,IPv4/IPv6互通技术能实现IPv4/IPv6间的信息高效无缝传递。
目前,IPv6“孤岛”访问IPv4网络通信方法包括双栈技术和翻译技术,其中,翻译技术主要包括无状态IP/ICMP转换(SIIT,Stateless IP/ICMPTranslation)技术、网络地址翻译和协议翻译技术(NAT-PT,Network AddressTranslation-Protocol Translation)、有状态NAT64协议转换技术。在SIIT技术中,使用特定的IPv4地址空间和特定的IPv6地址格式进行转换,有多少IPv6地址就需要有等量的IPv4地址与之对应,IPv6地址与IPv4地址形成1∶1的映射关系。在NAT-PT技术中,使用一个IPv4地址池为IPv6地址进行映射,并为后续报文提供透明路由,IPv6地址与IPv4地址形成1∶1的映射关系。有状态NAT64协议转换技术提供了一种有状态的IPv4/IPv6协议转换机制,IPv6地址与IPv4地址形成1∶1的映射关系,并且在进行IPv4/IPv6数据报文转换时必须基于每个传输控制协议(TCP,Transmission Control Protocol)/用户数据包协议(UDP,User Datagram Protocol)/控制报文协议(ICMP,Internet ControlMessage Protocol)流的状态。
此外,IVI技术中提供了两种地址转换模式,无状态的1∶1转换和有状态的1∶N转换。1∶1的无状态地址转换通过一段特殊的IPv6地址与IPv4地址进行唯一映射,可以同时支持IPv4和IPv6发起的通信。1∶N的有状态地址转换可以实现IPv4地址的利用和IPv6对IPv4地址的单向互通。
可见,目前在IPv4/IPv6互通的地址翻译技术中,尤其是小型IPv6网络中IPv6设备访问IPv4网络中的IPv4设备时,存在进行映射的IPv4地址资源有限、IPv6设备访问受限的问题。
发明内容
有鉴于此,本发明实施例提供了一种IPv4与IPv6的地址翻译方法,用以解决相关技术中IPv6设备访问IPv4网络中的IPv4设备时,存在进行映射的IPv4地址资源有限、IPv6设备访问受限的问题。
相应的,本发明实施例还提供了一种IPv4与IPv6的地址翻译装置、系统和应用层网关ALG设备。
本发明实施例技术方案如下:
一种IPv4与IPv6的地址翻译方法,包括:接收来自IPv6设备发送给IPv4设备的数据报文;在应用层网关设备ALG中,为数据报文分配一个空闲的IPv4端口;根据数据报文中指向IPv6设备的源地址、指向IPv4设备的目的地址,建立分配的IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系;将数据报文中指向IPv6设备的源地址和源端口号分别替换为ALG的IPv4地址和分配的IPv4端口的端口号;通过分配的IPv4端口将替换了源地址和源端口号后的数据报文发送给IPv4设备。
一种IPv4与IPv6的地址翻译方法,包括:接收来自IPv4设备发送给IPv6设备的数据报文;根据数据报文中指向应用层网关设备ALG的目的端口号、指向IPv4设备的源地址、以及预先建立的ALG的IPv4端口号与IPv6设备地址和IPv4设备地址之间的映射关系,找到与指向ALG的目的端口号和指向IPv4设备的源地址相对应的IPv6设备地址;将数据报文中指向ALG的目的地址替换为找到的IPv6设备地址;将替换了目的地址后的数据报文发送给IPv6设备。
一种IPv4与IPv6的地址翻译装置,包括:接收单元,用于接收来自IPv6设备发送给IPv4设备的数据报文;分配单元,用于在应用层网关设备ALG中,为数据报文分配一个空闲的IPv4端口;映射单元,用于根据接收单元接收到的数据报文中指向IPv6设备的源地址、指向IPv4设备的目的地址、和分配单元分配的IPv4端口,建立分配的IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系;替换单元,用于将接收单元接收到的数据报文中指向IPv6设备的源地址和源端口号分别替换为ALG的IPv4地址和分配单元分配的IPv4端口的端口号;发送单元,用于通过分配单元分配的IPv4端口,将由替换单元替换了源地址和源端口后的数据报文发送给IPv4设备。
一种IPv4与IPv6的地址翻译装置,包括:接收单元,用于接收来自IPv4设备发送给IPv6设备的数据报文;查找单元,用于根据数据报文中指向应用层网关设备ALG的目的端口号、指向IPv4设备的源地址、以及预先建立的ALG的IPv4端口号与IPv6设备地址和IPv4设备地址之间的映射关系,找到与指向ALG的目的端口号和指向IPv4设备的源地址相对应的IPv6设备地址;替换单元,用于将接收单元接收到的数据报文中指向ALG的目的地址替换为找到的IPv6设备地址;发送单元,用于将由替换单元替换了目的地址后的数据报文发送给IPv6设备。
一种应用层网关设备,包括如上的IPv4与IPv6的地址翻译装置。
一种IPv4与IPv6的地址翻译系统,包括IPv6设备、IPv4设备和应用层网关设备ALG,其中:IPv6设备,用于将第一数据报文发送给ALG,并接收来自ALG的第二数据报文;IPv4设备,用于接收来自ALG的第一数据报文,并发送第二数据报文给ALG;ALG,用于接收来自IPv6设备的第一数据报文;在ALG中,为第一数据报文分配一个空闲的IPv4端口;根据第一数据报文中指向IPv6设备的源地址、指向IPv4设备的目的地址,建立分配的IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系;将第一数据报文中指向IPv6设备的源地址和源端口号分别替换为ALG的IPv4地址和分配的IPv4端口的端口号;通过分配的IPv4端口将替换了源地址和源端口后的第一数据报文发送给IPv4设备;以及,接收来自IPv4设备的第二数据报文;根据第二数据报文中指向ALG的目的端口号、指向IPv4设备的源地址、以及预先建立的ALG的IPv4端口号与IPv6设备地址和IPv4设备地址之间的映射关系,找到与指向ALG的目的端口号和指向IPv4设备的源地址相对应的IPv6设备地址;将第二数据报文中指向ALG的目的地址替换为找到的IPv6设备地址;将替换了目的地址后的第二数据报文发送给IPv6设备。
根据本发明实施例,在IPv6设备访问IPv4设备时,将应用层网关设备ALG的IPv4地址作为IPv6设备的IPv6地址的代理,在IPv6设备向IPv4设备发送数据报文时,由ALG建立IPv6设备的地址与ALG的IPv4端口之间的映射关系,并将ALG的IPv4地址作为IPv6设备与IPv4通信的源地址;在IPv4设备向IPv6设备发送数据报文时,将ALG的IPv4地址作为与IPv4设备通信的目的地址,并根据已建立的映射关系找到IPv6设备的地址后,将数据报文的目的地址替换为IPv6设备的地址,能由ALG实现IPv6设备和IPv4设备之间通信的地址翻译,以及实现ALG的IPv4地址与IPv6设备的IPv6地址的1∶N的无状态地址映射,从而能够实现IPv6设备对全球资源的访问,解决目前IPv4/IPv6互通的地址翻译技术中进行映射的IPv4地址资源有限、IPv6设备访问受限的问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本发明实施例运行的系统环境的结构示意图;
图2为本发明实施例的IPv4与IPv6的地址翻译方法的工作流程图;
图3为本发明实施例的IPv4与IPv6的地址翻译装置的结构示意图;
图4为本发明实施例的IPv4与IPv6的地址翻译方法的另一工作流程图;
图5为本发明实施例的IPv4与IPv6的地址翻译装置的另一结构示意图;
图6为本发明实施例的应用场景示意图。
具体实施方式
以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
针对相关技术中IPv4和IPv6地址映射时IPv4地址资源有限、IPv6设备访问受限的问题,尤其是针对小型IPv6网络访问IPv4资源受限的问题,本发明实施例提出了一种IPv4与IPv6的地址翻译的解决方案,该方案通过将ALG作为IPv6设备与IPv4设备通信的中间代理,在ALG上实现地址翻译和报文转发的功能,能够实现ALG的IPv4地址与IPv6设备的IPv6地址的1∶N的无状态地址映射,从而能够实现IPv6设备对全球资源的访问,解决相关技术中的上述问题。
图1示出了本发明实施例运行的系统环境,如图1所示,该系统包括:小型IPv6网络中的IPv6设备、IPv4网络中的IPv4设备、连接IPv6网络和IPv4网络的应用层网关ALG。IPv4设备具有全球可访问的IPv4地址,IPv6设备具有全球可访问的IPv6地址(或称为全球可路由的IPv6地址),ALG具有全球可访问的IPv6地址和IPv4地址。ALG和IPv6设备的IPv6地址为在IPv6网络中预先分配的地址,该IPv6地址如表1所示,本发明实施例将IPv6地址格式的32~39比特位作为主机标识符N,又N=FF被IVI标准占用,则本实施例可使用00~FE作为主机标识符N,另根据标准0~31比特位为运营商前缀、40~71比特位为ALG的IPv4地址、72~127比特位为后缀,这样构成IPv6地址;例如,可将N=00分配给ALG,ALG就具有唯一标识的IPv6地址,该IPv6地址全球可路由,同理,对IPv6设备也如此分配地址,这样,IPv6网络中最多可以配置254台IPv6设备。IPv6设备与ALG通信时使用ALG的IPv6地址,IPv4设备与ALG通信时使用ALG的IPv4地址。当处于小型IPv6网络中的IPv6设备要访问IPv4网络中的IPv4设备时,由ALG作为IPv6设备的代理来转发IPv6设备和IPv4设备问通信的数据报文。
表1
  0~31   32~39   40~71   72~127
  运营商前缀   主机标识符N   ALG的IPv4地址   后缀
具体地,当IPv6设备对IPv4设备发起访问请求后,ALG收到IPv6设备发送给IPv4设备的第一数据报文,ALG分配一个空闲的IPv4端口,根据第一数据报文中指向IPv4设备的目的地址和目的端口,建立该分配的IPv4端口号与IPv6设备地址、IPv4设备地址之间映射关系,ALG将第一数据报文中的指向IPv6设备的源地址和源端口号替换成ALG自身的IPv4地址和分配的IPv4端口的端口号,并通过分配的IPv4端口、将替换后的第一数据报文发送给IPv4设备;对于ALG接收到的IPv4设备发送给IPv6设备的第二数据报文,ALG根据已建立的映射关系(即IPv6设备地址、ALG的IPv4端口、IPv4设备地址之间的映射关系)找到IPv6设备地址,将第二数据报文中指向ALG的目的地址替换成IPv6设备地址,并将替换后的第二数据报文发送给IPv6设备。
优选地,上述所指的IPv6设备的地址可以是IPv6设备的IPv6地址、或者是IPv6网络中预先分配给IPv6设备的主机标识符N。
下面详细说明本发明实施例的工作原理。
图2示出了根据本发明实施例的IPv4与IPv6的地址翻译方法的工作流程图,该方法包括如下步骤:
步骤21、ALG接收来自IPv6设备发送给IPv4设备的第一数据报文;
步骤22,ALG为第一数据报文分配一个空闲的IPv4端口;
步骤23、根据第一数据报文中指向IPv6设备的源地址、指向IPv4设备的目的地址,建立分配的IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系;
一种较优的方式,读取第一数据报文中指向IPv6设备的源地址、指向IPv4设备的目的地址和目的端口的端口号;记录读取的源地址、分配的IPv4端口的端口号、读取的目的地址和目的端口号、协议类型构成映射关系,其中,指向IPv6设备的源地址包括:IPv6设备的IPv6地址或预先分配给IPv6设备的主机标识符N;
步骤24、将第一数据报文中指向IPv6设备的源地址和源端口替换为ALG的IPv4地址和分配的IPv4端口的端口号;
步骤25、将替换了源地址和源端口的第一数据报文发送给所述IPv4设备。
为实现上述功能,本发明实施例这里的IPv4与IPv6的地址翻译装置可以通过硬件实现,也可以通过下述软件程序实现。即ALG中包括本发明实施例这里提出的IPv4与IPv6的地址翻译装置。
图3示出了根据本发明实施例的IPv4与IPv6的地址翻译装置的结构,如图3所示,该装置包括:第一接收单元31、分配单元32、映射单元33、第一替换单元34、第一发送单元35。一种较优的方式,映射单元33还包括读取模块331、记录模块332。下面对图3所示装置的工作原理进行说明。
如图3所示,第一接收单元31接收到来自IPv6设备的第一数据报文后,分配单元32查找到一个空闲的IPv4端口,将该IPv4端口分配给第一数据报文;
映射单元33中的读取模块331与第一接收单元31连接,读取第一接收单元31接收到的第一数据报文中指向IPv6设备的源地址、指向IPv4设备的目的地址和目的端口,并把读取到的源地址、目的地址和目的端口发送给映射单元33的记录模块332;记录模块332与分配单元32、读取模块331连接,将从分配单元32获取的分配的IPv4端口号、从读取模块321获取的指向IPv6设备的源地址、指向IPv4设备的目的地址和目的端口、以及协议类型建立映射关系;其中,指向IPv6设备的源地址包括:IPv6设备的IPv6地址或预先分配给IPv6设备的主机标识符N;
第一替换单元34与第一接收单元31、分配单元32连接,将从第一接收单元31中获得的第一数据报文中的源地址替换为ALG的IPv4地址,将源端口号替换为从分配单元32获取的IPv4端口的端口号;
第一发送单元35与第一替换单元34连接,将第一替换单元34替换了源地址和源端口的第一数据报文发送给IPv4设备。
通过图2和图3所示的方案,在IPv6设备访问IPv4设备过程,ALG建立IPv6设备地址、ALG的IPv4端口、IPv4设备地址这三者间的映射关系,将IPv6设备发送给IPv4设备的第一数据报文中的源地址和源端口替换为ALG的IPv4地址和IPv4端口,并将数据报文发送给IPv4设备,能够实现ALG作为IPv6设备代理的功能,实现IPv6设备对IPv4设备的访问。
图4示出了根据本发明实施例的IPv4与IPv6的地址翻译方法的另一工作流程,该方法包括如下步骤:
步骤41、ALG接收来自IPv4发送给IPv6设备的第二数据报文;
步骤42、ALG根据第二数据报文中指向ALG的目的端口号、指向IPv4设备的源地址、以及预先建立的ALG的IPv4端口号与IPv6设备地址和IPv4设备地址之间的映射关系,找到该第二数据报文中与指向所述ALG的目的端口号和指向IPv4设备的源地址相对应的IPv6设备地址;
步骤43、ALG将第二数据报文中指向ALG的目的地址替换为找到的IPv6设备地址;
一种较优的方式,ALG对找到的IPv6设备地址的类型进行判断;在找到的IPV6设备地址为IPv6设备的IPv6地址的情况下,将第一数据报文中指向ALG的目的地址替换为找到的IPv6地址;在找到的IPV6设备地址为IPv6设备的主机标识符N的情况下,将主机标识符N填充到IPv6地址格式的第32至39比特位,并在第0至31比特位填充运营商前缀,在第40至71比特位填充ALG的IPv4地址,在第72至127比特位填充后缀,得到对应IPv6设备的IPv6地址,并将第一数据报文中指向ALG的目的地址替换为填充后得到的对应IPv6设备的IPv6地址;按照IPv6地址的格式填充得到的IPv6地址如表1所示;
步骤44、ALG将替换了目的地址的第二数据报文发送给IPv6设备。
为实现上述功能,本发明实施例这里的IPv4与IPv6的地址翻译装置可以通过硬件实现,也可以通过下述软件程序实现。即ALG中包括本发明实施例这里提出的IPv4与IPv6的地址翻译装置。
图5示出了根据本发明实施例的IPv4与IPv6的地址翻译装置的另一结构,如图5所示,该装置包括:第二接收单元51、查找单元52、第二替换单元53、第二发送单元54。一种较优的方式,第二替换单元53还包括判别模块531、填充模块532、替换模块533。下面对图5所示装置的工作原理进行说明。
ALG的第二接收单元51通过IPv4端口接收到来自IPv4设备的第二数据报文;
查找单元52与第二接收单元51、图3所示装置的映射单元33连接,从映射单元33中查找到已建立的ALG的IPv4端口、IPv4设备地址、IPv6设备地址这三者间的映射关系,根据第二接收单元51接收到的第二数据报文中的指向ALG的目的端口号、指向IPv4设备的源地址,在映射关系中找到IPv6设备地址;
第二替换单元53的判别模块531与查找单元52连接,对从查找单元52获取的IPv6设备地址进行判别,在IPv6设备的地址为IPv6设备的IPv6地址的情况下,将IPv6地址发送到替换模块533,在IPv6设备的地址为IPv6设备的主机标识符N的情况下,将主机标识符N发送到填充模块532;
填充模块532与判别模块531连接,来自判别模块531的IPv6设备的主机标识符N填充到IPv6地址格式的第32至39比特位,在第0至31比特位填充运营商前缀,在第40至71比特位填充ALG自身的IPv4地址,在第72至127比特位填充后缀,得到IPv6设备的IPv6地址(如表1所示),并将该IPv6地址发送给替换模块433;
替换模块533与第二接收单元51连接、判别模块531、填充模块532连接,将第二接收单元51接收到的第二数据报文中的目的地址替换为来自判别模块531的或填充模块532的IPv6设备的IPv6地址。
第二发送单元54与替换模块533连接,第二发送单元将由第二替换单元53替换后的第二数据报文发送给IPv6设备。
通过图4和图5所示的方案,在IPv4设备向IPv6设备发送第二数据报文的过程中,ALG根据已建立的映射关系找到IPv6设备地址,将第二数据报文中的指向ALG的目的地址替换为IPv6设备地址,并将第二数据报文发送给IPv6设备,能够实现ALG作为IPv6设备代理的功能,实现对IPv4设备与IPv6设备的数据通信。
综合图2和图4所示的IPv4与IPv6的地址翻译方法的工作流程,以及图3和图5所示的IPv4与IPv6的地址翻译装置,可见,本发明实施例通过建立ALG的IPv4端口与IPv6设备地址和IPv4设备地址之间的映射关系,能够实现ALG的IPv4地址与IPv6设备的IPv6地址的1∶N的无状态地址映射;通过将第一数据报文中的源地址和源端口替换为ALG的IPv4地址和IPv4端口、将替换后的第一数据报文发送给IPv4设备,将第二数据报文中的目的地址替换为IPv6设备的IPv6地址、将替换后的第二数据报文发送给IPv6设备,能够实现IPv6设备对IPv4设备的访问,能够实现IPv6设备对全球资源的访问;从而能够解决相关技术中IPv4和IPv6地址映射时IPv4地址资源有限、IPv6设备访问受限的问题。
以下对本发明实施例的具体应用进行说明,以进一步地说明本发明的技术方案。
图6示出了本发明实施例的应用场景,在该场景中,ALG连接IPv6网络和IPv4网络,IPv4网络中至少包括IPv4设备A、B、域名系统(DNS,DomainName System)IPv6,IPv4网络中至少包括IPv4设备DNS IPv4、服务器IPV4C。IPv6网络中的设备B要通过IPv4网络中的服务器C访问IPv6网络中的设备A,设备B的IPv6地址是0:0:1780:1010:2000::1,ALG的IPv4地址是120.1.1.2,服务器C的IPv4地址是120.1.1.1。
以下对IPv6设备B的地址为IPv6地址和主机标识符的情况进行分别说明。
情形(一)IPv6设备B的地址为IPv6地址
设备B对服务器C的访问流程如下。
步骤1、B向本地的IPv6DNS发送关于设备A的AAAA记录查询;
步骤2、本地的IPv6DNS将AAAA记录返回给设备A;
步骤3、A发送一个TCP SYN数据报文给服务器C,目的地址为120.1.1.1,目的端口为80,源地址为0:0:1780:1010:2000::1,该报文首先被ALG的IPv6接口接收到;
步骤4、ALG为TCP SYN报文分配一个分配的IPv4端口2048,读取TCPSYN数据报文中的目的地址、目的端口、和源地址,建立一个映射关系条目,该条目如表2所示:
表2
  源地址   源端口   目的地址   目的端口   协议
  0:0:1780:1010:2000::1   2048   120.1.1.1   80   TCP
步骤5、ALG将TCP SYN数据报文中的源地址替换为自身的IPv4地址120.1.1.2,将源端口替换为2048;
步骤6、ALG将替换后的TCP SYN数据报文送至IPv4端口2048,IPv4端口2048通过IPv4路由将TCP SYN报文发送至服务器C;
步骤7、服务器C从IPv4端口80接收到TCP SYN数据报文后,反馈一个TCP SYN+ACK数据报文给B,该报文被首先发送到ALG,该报文的目的地址为120.1.1.2,目的端口为2048,源地址为120.1.1.1,源端口为80;
步骤8、ALG根据TCP SYN+ACK数据报文中的源地址、源端口、目的地址、目的端口,以及如表1所示的已建立的映射关系条目,找到该数据报文的实际目的地为IPv6设备B;
步骤9、ALG将TCP SYN+ACK数据报文中目的地址替换为B的IPv6地址0:0:1780:1010:2000::1,并通过IPv6路由、按照该IPv6地址将该数据报文发送给B。
情形(二)IPv6设备B的地址为主机标识符
在该中情形下,步骤1至步骤8与上述情形一中的步骤1至步骤8相同,这里不再赘述,相区别的是,所涉及的设备B的IPv6地址为主机标识符。
步骤9,ALG将设备B的主机标识符N填充到IPv6地址格式的第32至39比特位,在第0至31比特位填充运营商前缀,在第40至71比特位填充ALG自身的IPv4地址,在第72至127比特位填充后缀,得到IPv6设备的IPv6地址;将这一IPv6地址替换到TCP SYN+ACK数据报文中目的地址中,并通过IPv6路由、按照该IPv6地址将该数据报文发送给B。
在上述场景中,通过ALG进行IPv6和IPv4之间的地址翻译(即建立映射关系)和替换报文地址并转发报文,能够实现IPv6设备A和IPv4设备C、IPv4设备C和IPv6设备B之间的通信,能够实现ALG的IPv4地址与IPv6设备A、B的IPv6地址的1∶2的无状态地址映射,从而能够实现IPv6设备A、B对全球资源的访问。
综上所述,根据本发明实施例提供的技术方案,在IPv6设备与IPv4设备通信的过程中,将ALG的IPv4地址作为IPv6设备的IPv6地址的代理,并由ALG转发IPv6设备和IPv4设备间的数据报文,在ALG设备上能够实现地址翻译和报文转发,从而能够实现ALG的IPv4地址与IPv6设备的IPv6地址的1∶N的无状态地址映射,能够实现IPv6设备对全球资源的访问。
相比于相关技术中地址翻译技术,本发明实施例的技术方案,能够实现1∶N的无状态地址映射,在不增加参与映射的IPv4地址的情况下,能够扩大参与映射的IPv6地址的范围,能够提高IPv4地址资源的利用率。并且,本发明实施例不依赖于传输控制协议的状态,能够提高IPv6和IPv4之间互访的响应速度、提高地址翻译的可靠性、提高数据传输的可靠性。此外,本发明实施例在ALG上实现地址翻译报文转发功能,相比于相关技术中专门配置的NAT-PT服务器或IVI地址转换路由器来实现地址翻译功能,能够节省硬件配置,优化网络配置,提高网络资源利用率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种IPv4与IPv6的地址翻译方法,其特征在于,包括:
接收来自IPv6设备发送给IPv4设备的数据报文;
在应用层网关设备ALG中,为所述数据报文分配一个空闲的IPv4端口;
根据所述数据报文中指向所述IPv6设备的源地址、指向所述IPv4设备的目的地址,建立分配的所述IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系;
将所述数据报文中指向所述IPv6设备的源地址和源端口号分别替换为所述ALG的IPv4地址和分配的所述IPv4端口的端口号;
通过分配的所述IPv4端口将替换了源地址和源端口号后的数据报文发送给所述IPv4设备;
接收来自IPv4设备发送给IPv6设备的数据报文;
根据所述数据报文中指向应用层网关设备ALG的目的端口号、指向所述IPv4设备的源地址、以及预先建立的ALG的IPv4端口号与IPv6设备地址和IPv4设备地址之间的映射关系,找到与指向所述ALG的目的端口号和指向IPv4设备的源地址相对应的IPv6设备地址;
将所述数据报文中指向所述ALG的目的地址替换为找到的IPv6设备地址;
将替换了目的地址后的所述数据报文发送给所述IPv6设备。
2.根据权利要求1所述的IPv4与IPv6的地址翻译方法,其特征在于,根据所述数据报文中指向所述IPv6设备的源地址、指向所述IPv4设备的目的地址,建立分配的所述IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系,包括:
读取所述数据报文中指向所述IPv6设备的源地址、指向所述IPv4设备的目的地址和目的端口号;
记录读取的源地址、分配的所述端口的IPv4端口号、读取的目的地址和目的端口号、协议类型构成映射关系,其中,指向所述IPv6设备的源地址包括:所述IPv6设备的IPv6地址或预先分配给所述IPv6设备的主机标识符N,其中,N为自然数。
3.根据权利要求1所述的IPv4与IPv6的地址翻译方法,其特征在于,将所述数据报文中指向所述ALG的目的地址替换为找到的IPv6设备地址,包括:
对找到的IPv6设备地址的类型进行判断;
在找到的IPV6设备地址为IPv6设备的IPv6地址的情况下,将所述数据报文中指向所述ALG的目的地址替换为找到的IPv6地址;
在找到的IPV6设备地址为IPv6设备的主机标识符N的情况下,将所述主机标识符N填充到IPv6地址格式的第32至39比特位,并在第0至31比特位填充运营商前缀,在第40至71比特位填充所述ALG的IPv4地址,在第72至127比特位填充后缀,得到对应IPv6设备的IPv6地址;将所述数据报文中指向所述ALG的目的地址替换为填充后得到的对应IPV6设备的IPv6地址。
4.一种IPv4与IPv6的地址翻译装置,其特征在于,包括:
接收单元,用于接收来自IPv6设备发送给IPv4设备的数据报文;
分配单元,用于在应用层网关设备ALG中,为所述数据报文分配一个空闲的IPv4端口;
映射单元,用于根据所述接收单元接收到的所述数据报文中指向所述IPv6设备的源地址、指向所述IPv4设备的目的地址、和所述分配单元分配的所述IPv4端口,建立分配的所述IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系;
替换单元,用于将所述接收单元接收到的所述数据报文中指向所述IPv6设备的源地址和源端口号分别替换为所述ALG的IPv4地址和所述分配单元分配的所述IPv4端口的端口号;
发送单元,用于通过所述分配单元分配的所述IPv4端口,将由所述替换单元替换了源地址和源端口后的数据报文发送给所述IPv4设备;
所述接收单元,还用于接收来自IPv4设备发送给IPv6设备的数据报文;
查找单元,用于根据所述数据报文中指向应用层网关设备ALG的目的端口号、指向所述IPv4设备的源地址、以及预先建立的ALG的IPv4端口号与IPv6设备地址和IPv4设备地址之间的映射关系,找到与指向所述ALG的目的端口号和指向IPv4设备的源地址相对应的IPv6设备地址;
所述替换单元,还用于将所述接收单元接收到的所述数据报文中指向ALG的目的地址替换为找到的所述IPv6设备地址;
所述发送单元,还用于将由所述替换单元替换了目的地址后的所述数据报文发送给所述IPv6设备。
5.根据权利要求4所述的IPv4与IPv6的地址翻译装置,其特征在于,所述映射单元包括:
读取模块,用于读取所述接收单元接收到的所述数据报文中指向所述IPv6设备的源地址、指向所述IPv4设备的目的地址和目的端口号;
记录模块,用于记录读取的源地址、分配的所述IPv4端口的端口号、读取的所述目的地址和目的端口号、协议类型构成映射关系,其中,指向所述IPv6设备的所述源地址包括:所述IPv6设备的IPv6地址或预先分配给所述IPv6设备的主机标识符N,其中,N为自然数。
6.根据权利要求4所述的IPv4与IPv6的地址翻译装置,其特征在于,所述替换单元包括:判别模块、填充模块、替换模块;
所述判别模块,用于对所述查找单元查找到的所述IPv6设备地址进行判别,在找到的IPv6设备地址为IPv6设备的IPv6地址的情况下,将IPv6设备的IPv6地址发送到所述替换模块,在找到的IPv6设备地址为IPv6设备的主机标识符N的情况下,将所述主机标识符N发送到所述填充模块;
所述填充模块,用于将来自所述判别模块的所述主机标识符N填充到IPv6地址格式的第32至39比特位,在第0至31比特位填充运营商前缀,在第40至71比特位填充所述ALG的所述IPv4地址,在第72至127比特位填充后缀,得到对应IPv6设备的IPv6地址,并将该填充得到的所述IPv6地址发送给所述替换模块;
所述替换模块,用于将所述接收单元接收到的所述数据报文中指向所述ALG的目的地址替换为来自所述判别模块的或来自所述填充模块的对应IPv6设备的IPv6地址。
7.一种应用层网关设备,其特征在于,包括如权利要求4~6任一权利要求所述的IPv4与IPv6的地址翻译装置。
8.一种IPv4与IPv6的地址翻译系统,其特征在于,包括IPv6设备、IPv4设备和应用层网关设备ALG,其中:
所述IPv6设备,用于将第一数据报文发送给所述ALG,并接收来自所述ALG的第二数据报文;
所述IPv4设备,用于接收来自所述ALG的所述第一数据报文,并发送第二数据报文给所述ALG;
所述ALG,用于接收来自所述IPv6设备的所述第一数据报文;在ALG中,为所述第一数据报文分配一个空闲的IPv4端口;根据所述第一数据报文中指向所述IPv6设备的源地址、指向所述IPv4设备的目的地址,建立分配的所述IPv4端口的端口号与IPv6设备地址和IPv4设备地址之间的映射关系;将所述第一数据报文中指向所述IPv6设备的源地址和源端口号分别替换为所述ALG的IPv4地址和分配的所述IPv4端口的端口号;通过分配的所述IPv4端口将替换了源地址和源端口号后的第一数据报文发送给所述IPv4设备;以及,接收来自所述IPv4设备的第二数据报文;根据所述第二数据报文中指向ALG的目的端口号、指向所述IPv4设备的源地址、以及预先建立的ALG的IPv4端口号与IPv6设备地址和IPv4设备地址之间的映射关系,找到与指向所述ALG的目的端口号和指向IPv4设备的源地址相对应的IPv6设备地址;将所述第二数据报文中指向所述ALG的目的地址替换为找到的IPv6设备地址;将替换了目的地址后的所述第二数据报文发送给所述IPv6设备。
CN201110338494.0A 2011-10-31 2011-10-31 IPv4与IPv6的地址翻译方法、装置、系统及ALG设备 Active CN102394947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110338494.0A CN102394947B (zh) 2011-10-31 2011-10-31 IPv4与IPv6的地址翻译方法、装置、系统及ALG设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110338494.0A CN102394947B (zh) 2011-10-31 2011-10-31 IPv4与IPv6的地址翻译方法、装置、系统及ALG设备

Publications (2)

Publication Number Publication Date
CN102394947A CN102394947A (zh) 2012-03-28
CN102394947B true CN102394947B (zh) 2014-01-22

Family

ID=45862151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110338494.0A Active CN102394947B (zh) 2011-10-31 2011-10-31 IPv4与IPv6的地址翻译方法、装置、系统及ALG设备

Country Status (1)

Country Link
CN (1) CN102394947B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904976B (zh) * 2012-10-23 2015-02-18 清华大学 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法
CN102938795B (zh) * 2012-11-16 2016-02-24 赛尔网络有限公司 通过隧道和地址转换实现IPv6地址访问IPv4资源的方法
CN103051544B (zh) * 2012-12-27 2016-03-30 华为技术有限公司 实现IPv4私网接入IPv6网络的方法及接入设备
CN104488250A (zh) * 2014-03-19 2015-04-01 华为终端有限公司 报文传输的方法、装置及服务器
CN105681249B (zh) * 2014-11-17 2019-09-13 中国移动通信集团公司 一种网络访问方法和网络转换设备
CN106534398A (zh) * 2016-11-14 2017-03-22 赛尔网络有限公司 一种用于IPv6网络的装置及方法
CN110798540B (zh) * 2019-10-18 2023-01-20 北京奇艺世纪科技有限公司 一种数据交互方法及装置
CN117395139B (zh) * 2023-12-13 2024-02-27 广州嘉为科技有限公司 一种双栈网络主机纳管系统、方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691665A (zh) * 2004-04-21 2005-11-02 华为技术有限公司 一种IPv4网络与IPv6网络通信的实现方法
CN102132545A (zh) * 2008-06-30 2011-07-20 法国电信公司 在因特网协议版本6域中接收来自因特网协议版本4域的数据分组的方法、以及相关联的装置和接入设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716163B1 (ko) * 2004-12-23 2007-05-10 삼성전자주식회사 IPv4망과 IPv6망 간의 멀티캐스팅을 위한 터널링방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691665A (zh) * 2004-04-21 2005-11-02 华为技术有限公司 一种IPv4网络与IPv6网络通信的实现方法
CN102132545A (zh) * 2008-06-30 2011-07-20 法国电信公司 在因特网协议版本6域中接收来自因特网协议版本4域的数据分组的方法、以及相关联的装置和接入设备

Also Published As

Publication number Publication date
CN102394947A (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
CN102394947B (zh) IPv4与IPv6的地址翻译方法、装置、系统及ALG设备
CN101447935B (zh) 数据包转发方法、系统及设备
US8351430B2 (en) Routing using global address pairs
CN101656761B (zh) 地址变换装置、方法、名称解决系统、方法以及节点
KR101501963B1 (ko) Ipv4망과 신규망의 상호 연동 실현 방법 및 시스템
CN101321111A (zh) 通信方法和设备、服务器、及计算机可读记录介质
CN102938735B (zh) 使用路由通告携带选项下发nat64地址前缀的方法
CN102938795B (zh) 通过隧道和地址转换实现IPv6地址访问IPv4资源的方法
CN101325580B (zh) 基于nat-pt的ftp应用层网关的实现方法
CN102904976B (zh) 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法
CN1965515A (zh) 用于使IPv4私有网络中的节点经由IPv6接入网络到达IPv4公共网络节点的布置
CN101931658B (zh) 具有IPv4应用的IPv6主机进行通信的方法与装置
JP2013532438A (ja) IPv4アプリケーションのための4TO6ネットワークスタック
CN102572008A (zh) 通信业务处理方法与系统、网关设备
CN102739809A (zh) DNS64数据库、服务器、系统和IPv4/IPv6通信方法
Chauhan et al. A survey on next generation Internet Protocol: IPv6
CN102204191A (zh) 一种报文转发方法和网间路由装置
CN104038422A (zh) 报文转发方法和网关
CN103167483B (zh) 一种基于隧道的数据转发方法、设备及系统
CN101431477B (zh) 端到端运营商级和园区网路由器组合的IPv4/IPv6分组转换方法
CN103118145A (zh) 基于DNS的IPv4-over-IPv6多隧道自动建立方法
CN102447747A (zh) 一种与私有网络的交互方法、装置及系统
US20150200909A1 (en) Network and a routing method thereof
Jayanthi et al. Transition and mobility management in the integrated IPv4 and IPv6 network-A systematic review
JP3646936B2 (ja) IPv6無線LAN環境でのIPv4管理方法および管理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee after: RUIJIE NETWORKS Co.,Ltd.

Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd.