CN104270475B - 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法 - Google Patents
基于NAT64实现IPv4网络与IPv6网络互通的系统及方法 Download PDFInfo
- Publication number
- CN104270475B CN104270475B CN201410444590.7A CN201410444590A CN104270475B CN 104270475 B CN104270475 B CN 104270475B CN 201410444590 A CN201410444590 A CN 201410444590A CN 104270475 B CN104270475 B CN 104270475B
- Authority
- CN
- China
- Prior art keywords
- ipv4
- ipv6
- nat64
- address
- submodule
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000013519 translation Methods 0.000 claims abstract description 49
- 238000013507 mapping Methods 0.000 claims abstract description 44
- 238000012795 verification Methods 0.000 claims description 21
- 230000003068 static effect Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 11
- 239000012634 fragment Substances 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 3
- 230000007935 neutral effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000005314 correlation function Methods 0.000 abstract description 3
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 210000004209 hair Anatomy 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000003637 basic solution Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/251—Translation of Internet protocol [IP] addresses between different IP versions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于NAT64实现IPv4网络与IPv6网络互通的系统及方法,涉及IPv6过渡技术领域,该方法包括以下步骤:确保NAT64模块连接IPv4网络及IPv6网络,实现NAT64功能的全局使能和接口使能;NAT64模块接收网络侧发来的数据报文,根据数据报文的协议版本,更新动态表建立维护子模块的地址映射信息,获取翻译后的地址五元组;NAT64模块对IPv4报文头部和IPv6报文头部进行协议翻译;IPv4/IPv6报文转发子模块将完成地址翻译和协议翻译的新数据报文根据目的地址转发出去。本发明能在现有数通产品上完整地实现NAT64相关功能,有效减小设备性能的损耗和系统资源的使用,提高工作效率。
Description
技术领域
本发明涉及IPv6过渡技术领域,具体是涉及一种基于NAT64实现IPv4网络与IPv6网络互通的系统及方法。
背景技术
IPv6(Internet Protocol Version 6,因特网协议版本6)是解决IPv4(InternetProtocol Version 4,因特网协议版本4)地址耗尽问题的根本解决方案,但是由于现有IPv4用户存量很大,并且绝大部分现网不支持IPv6应用,因此使得现网从IPv4向IPv6演进的难度较大。
为了保证用户和业务的平稳过渡,预计整个演进周期将是个长期的过程,也就是说IPv6将会与IPv4长期共存。因此,IPv6过渡方案显得尤为重要。我们通常所说的IPv6过渡技术一般分为三大类:双栈、隧道、NAT-PT(Network Address Translation-ProtocolTranslation,附带协议转换的网络地址转换)技术。然而每种机制都不是普遍适用的,都只适用于某一种或几种特定的网络情况,而且常常需要和其他技术组合使用。
2011年IETF(Internet Engineering Task Force,Internet工程任务组)发布RFC(Request For Comments,请求评议)6146和RFC6147,重新设计一项新的解决方案NAT64(Network Address and Protocol Translation from IPv6Clients to IPv4Servers,由IPv6客户端到IPv4服务器附带协议转换的网络地址转换)与DNS64(DNS Extensions forNetwork Address Translation from IPv6Clients to IPv4Servers,适用NAT64的扩展域名系统)技术。
当前,IPv6和IPv4技术共存于互联网中,并且互联网中的大部分内容只对IPv4可用,但IPv6用户同样需要访问IPv4内容,这是通过NAT64以及相关技术实现的。
NAT64是一种有状态的网络地址与协议转换技术,一般只支持IPv6网络侧用户发起连接访问IPv4侧网络资源。但NAT64也支持手工配置静态映射关系,实现IPv4网络主动发起连接访问IPv6网络。NAT64技术实现了IPv6包与IPv4包之间的互相转换。NAT64可实现TCP(Transmission Control Protocol,传输控制协议)、UDP(User Data Protocol,用户数据报协议)、ICMP(Internet Control Message Protocol,Internet控制报文协议)协议下的IPv6与IPv4网络地址和协议转换。NAT64一般与DNS64协同工作,不需要在IPv6客户端或IPv4服务器端做任何修改。
隧道技术的缺点是需要额外的隧道配置,效率低下;NAT-PT的资源消耗较大,严重影响设备的运行性能。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于NAT64实现IPv4网络与IPv6网络互通的系统及方法,能在现有数通产品上完整地实现NAT64相关功能,同时有效减小设备性能的损耗和系统资源的使用,提高工作效率,对设备运行性能或网络环境未造成不良影响。
本发明提供一种基于NAT64实现IPv4网络与IPv6网络互通的系统,包括NAT64模块、网管接口、底层数据收发接口和配置数据同步接口,所述NAT64模块分别与网管接口、底层数据收发接口和配置数据同步接口相连,所述NAT64模块包括NAT64配置子模块、动态表建立维护子模块及IPv4/IPv6报文转发子模块,NAT64配置子模块与动态表建立维护子模块相连,动态表建立维护子模块与IPv4/IPv6报文转发子模块相连;NAT64配置子模块、动态表建立维护子模块均与网管接口相连,动态表建立维护子模块还与配置数据同步接口相连,IPv4/IPv6报文转发子模块、配置数据同步接口均与底层数据收发接口相连;
所述NAT64配置子模块用于:进行NAT64功能的全局配置和接口配置;
所述动态表建立维护子模块用于:建立和维护动态地址映射表,在产生新会话时创建映射,在会话中维护映射,在会话结束后删除映射;
所述IPv4/IPv6报文转发子模块用于:对接收到的报文进行NAT64的地址翻译和协议翻译,再将经过NAT64的地址翻译和协议翻译后的报文从正确接口转发。
在上述技术方案的基础上,所述NAT64配置子模块进行NAT64功能的全局配置和接口配置包括:NAT64功能使能、IPv6转换前缀、静态地址映射表、IPv4地址池及其使能、最大会话个数。
在上述技术方案的基础上,所述NAT64模块具备一个IPv6地址池和一个IPv4地址池,IPv6地址池用于在IPv6网络中表示IPv4地址,IPv4地址池用于在IPv4网络中代表IPv6地址;在IPv6网络中表示IPv4地址的IPv6地址由三个部分构成:IPv6前缀、被嵌入的IPv4地址以及可变长度后缀。
在上述技术方案的基础上,所述IPv6地址池包含一个或多个IPv6前缀。
在上述技术方案的基础上,所述IPv6前缀主要包括三个特性:
(1)前缀索引值:数据类型为16bit无符号整型,在地址翻译时通过前缀索引值进行选择使用;
(2)前缀:以数组形式存储IPv6前缀;
(3)前缀长度:可变前缀长度。
在上述技术方案的基础上,所述前缀长度为32、40、48、56、64或96位。
在上述技术方案的基础上,所述IPv4地址池由同一个子网段下的连续IPv4地址构成,除了静态手工配置的情况,地址映射全都是动态的,并且在实际应用中采取IPv6传输地址到IPv4传输地址的映射;所述IPv4地址池主要包括:(1)地址池索引值;(2)起始IPv4地址、终止IPv4地址以及子网掩码;(3)单个IPv4地址同时共用于会话的数量;(4)TCP、UDP会话的端口号和ICMP的标识符。
在上述技术方案的基础上,所述IPv4/IPv6报文转发子模块在双栈协议栈中定义翻译所需的各种头部的结构体,主要包括以下几种:
struct ip6_hdr:表示IPv6头部;
struct ip6_frag:表示IPv6分片头部;
struct icmp6_hdr:表示ICMPv6头部;
struct ip:表示IPv4头部;
struct ippseudo:表示用于TCP协议的IPv4伪头部;
struct icmp2_hdr:表示ICMPv4头部。
本发明还提供一种适用于上述系统的基于NAT64实现IPv4网络与IPv6网络互通的方法,包括以下步骤:
A、确保NAT64模块连接IPv4网络及IPv6网络,实现NAT64功能的全局使能和接口使能;
B、NAT64模块接收网络侧发来的数据报文,根据数据报文的协议版本,更新动态表建立维护子模块的地址映射信息,获取翻译后的地址五元组:IPv4/IPv6报文转发子模块判断接收到的数据报文是否为新会话,若数据报文为IPv4协议版本的新会话且无静态地址映射存在,IPv4/IPv6报文转发子模块直接抛弃该数据报文;若数据报文为IPv6协议版本的新会话,动态表建立维护子模块创建一个新的地址映射;当数据报文为非新会话时,IPv4/IPv6报文转发子模块根据已存在的地址映射表,将收到数据报文的源传输地址和目的传输地址转换成映射表中对应的另一协议版本的形式;
C、NAT64模块对IPv4报文头部和IPv6报文头部进行协议翻译:
当IPv4/IPv6报文转发子模块收到一个由IPv4网络发往IPv6网络的数据包时,IPv4/IPv6报文转发子模块会将IPv4头部翻译为IPv6头部,原始IPv4头部被移除并替换成一个IPv6头部;若报文的传输层协议是该IPv4/IPv6报文转发子模块所支持的,传输层的校验和进行重计算,包的数据字段不用修改;
当IPv4/IPv6报文转发子模块收到的是一个目的地为IPv4网络的IPv6数据包时,IPv4/IPv6报文转发子模块需要将IPv6头部翻译为IPv4头部,原始IPv6头部将被移除并替换成一个新的IPv4头部;ICMPv6、TCP、UDP和数据报拥塞控制协议DCCP头部都包含有校验和,若地址映射算法不是校验和中立的,则在翻译前计算出校验和的值,并且对ICMP和传输层头部进行更新;
对于TCP和UDP报文,只翻译IP头;对ICMP报文,翻译IP头和ICMP头;若地址翻译算法非校验和中立,则对含有伪头部的TCP、ICMP报文以及校验和不为0的UDP报文的传输层头部进行重计算和更新;若报文为分片报文,则进行分片报文的相应处理;
D、IPv4/IPv6报文转发子模块将完成地址翻译和协议翻译的新数据报文根据目的地址转发出去。
在上述技术方案的基础上,步骤A包括以下步骤:NAT64配置子模块进行NAT64功能的全局配置和接口配置:NAT64功能使能、IPv6转换前缀、静态地址映射表、IPv4地址池及其使能、最大会话个数。
与现有技术相比,本发明的优点如下:
本发明结合现有数通产品的硬件平台资源状况和软件平台特性,能在现有数通产品上完整地实现NAT64相关功能,同时有效减小设备性能的损耗和系统资源的使用,提高工作效率,对设备运行性能或网络环境未造成不良影响。
附图说明
图1是本发明实施例中基于NAT64实现IPv4网络与IPv6网络互通的系统的结构框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种基于NAT64实现IPv4网络与IPv6网络互通的系统,包括NAT64模块、网管接口、底层数据收发接口和配置数据同步接口,NAT64模块分别与网管接口、底层数据收发接口和配置数据同步接口相连,NAT64模块与网管接口、底层数据收发接口和配置数据同步接口协同工作,才能在数通设备上实现完整的NAT64功能。
NAT64模块包括NAT64配置子模块、动态表建立维护子模块及IPv4/IPv6报文转发子模块,NAT64配置子模块与动态表建立维护子模块相连,动态表建立维护子模块与IPv4/IPv6报文转发子模块相连。NAT64配置子模块、动态表建立维护子模块均与网管接口相连,动态表建立维护子模块还与配置数据同步接口相连,IPv4/IPv6报文转发子模块、配置数据同步接口均与底层数据收发接口相连。
NAT64配置子模块用于:进行NAT64功能的全局配置和接口配置:NAT64功能使能、IPv6转换前缀、静态地址映射表、IPv4地址池及其使能、最大会话个数等,NAT64功能在全局下和接口下都需要使能。
动态表建立维护子模块用于:建立和维护动态地址映射表,在产生新会话时创建映射,在会话中维护映射,在会话结束后删除映射。
IPv4/IPv6报文转发子模块用于:对接收到的报文进行NAT64的地址翻译和协议翻译,再将经过NAT64的地址翻译和协议翻译后的报文从正确接口转发。IPv4/IPv6报文转发子模块是实现IPv4网络与IPv6网络通信的关键组成部分。
为了创建地址映射,NAT64模块必须具备一个IPv6地址池(用于在IPv6网络中表示IPv4地址)和一个IPv4地址池(用于在IPv4网络中代表IPv6地址)。
在IPv6网络中表示IPv4地址的IPv6地址由三个部分构成:IPv6前缀、被嵌入的IPv4地址以及可变长度后缀(后缀一般设为0)。
IPv6地址池包含一个或多个IPv6前缀。
IPv6前缀主要包括三个特性:
(1)前缀索引值:数据类型为16bit无符号整型,前缀索引值可能有多个,在地址翻译时通过前缀索引值进行选择使用;
(2)前缀:以数组形式存储IPv6前缀,前缀最长为96位;
(3)前缀长度:可变前缀长度,前缀长度可以为32、40、48、56、64或96位。
IPv4地址池通常由同一个子网段下的连续IPv4地址构成。由于IPv4地址空间锐减,IPv4地址池很小,无法建立与IPv6地址的一对一映射。因此,除了静态手工配置的情况,地址映射全都是动态的,并且在实际应用中采取IPv6传输地址到IPv4传输地址的映射,也就是说,IP地址和端口号都要参与翻译。
IPv4地址池主要包括:(1)地址池索引值;(2)起始IPv4地址、终止IPv4地址以及子网掩码;(3)单个IPv4地址同时共用于会话的数量;(4)TCP、UDP会话的端口号和ICMP的标识符。
IPv4/IPv6报文转发子模块在双栈协议栈中定义翻译所需的各种头部的结构体,主要包括以下几种:
struct ip6_hdr:表示IPv6头部;
struct ip6_frag:表示IPv6分片头部;
struct icmp6_hdr:表示ICMPv6头部;
struct ip:表示IPv4头部;
struct ippseudo:表示用于TCP协议的IPv4伪头部;
struct icmp2_hdr:表示ICMPv4头部。
本发明实施例提供一种适用于上述系统的基于NAT64实现IPv4网络与IPv6网络互通的方法,包括以下步骤:
A、确保NAT64模块连接IPv4网络及IPv6网络,实现NAT64功能的全局使能和接口使能。NAT64模块连接IPv4或IPv6网络,不仅需要在全局使能NAT64功能,还需要在运行NAT64功能的接口使能NAT64功能。NAT64配置子模块进行NAT64功能的全局配置和接口配置:NAT64功能使能、IPv6转换前缀、静态地址映射表、IPv4地址池及其使能、最大会话个数等。
B、NAT64模块接收网络侧发来的数据报文,根据数据报文的协议版本,更新动态表建立维护子模块的地址映射信息,获取翻译后的地址五元组。
IPv4/IPv6报文转发子模块判断接收到的数据报文是否为新会话,若数据报文为IPv4协议版本的新会话且无静态地址映射存在,IPv4/IPv6报文转发子模块直接抛弃该数据报文;若数据报文为IPv6协议版本的新会话,动态表建立维护子模块创建一个新的地址映射;当数据报文为非新会话时,IPv4/IPv6报文转发子模块根据已存在的地址映射表,将收到数据报文的源传输地址(源IP地址与源端口号)和目的传输地址(目的IP地址与目的端口号)转换成映射表中对应的另一协议版本的形式。
C、NAT64模块对IPv4报文头部和IPv6报文头部进行协议翻译。
目前,NAT64模块支持单播UDP、TCP和ICMP报文通信。
当IPv4/IPv6报文转发子模块收到一个由IPv4网络发往IPv6网络的数据包时,IPv4/IPv6报文转发子模块会将IPv4头部翻译为IPv6头部。原始IPv4头部被移除并替换成一个IPv6头部。若报文的传输层协议是该IPv4/IPv6报文转发子模块所支持的,那么传输层的校验和可能需要重计算。包的数据字段不用修改。
当IPv4/IPv6报文转发子模块收到的是一个目的地为IPv4网络的IPv6数据包时,IPv4/IPv6报文转发子模块需要将IPv6头部翻译为IPv4头部。原始IPv6头部将被移除并替换成一个新的IPv4头部。由于ICMPv6(Internet Control Message Protocol Version 6,第六版互联网控制信息协议)、TCP、UDP和DCCP(Datagram Congestion Control Protocol,数据报拥塞控制协议)头部都包含有校验和,因此,若地址映射算法不是校验和中立的,则必须在翻译前计算出校验和的值,并且对ICMP和传输层头部进行更新。
一般情况,对于TCP和UDP报文只需翻译IP头即可,对ICMP报文,不仅需要翻译IP头,同时还应翻译ICMP头。
另外,若地址翻译算法非校验和中立,则对含有伪头部的TCP、ICMP报文以及校验和不为0的UDP报文的传输层头部进行重计算和更新。
若报文为分片报文,则进行分片报文的相应处理。
D、IPv4/IPv6报文转发子模块将完成地址翻译和协议翻译的新数据报文根据目的地址转发出去。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。
Claims (10)
1.一种基于NAT64实现IPv4网络与IPv6网络互通的系统,包括NAT64模块、网管接口、底层数据收发接口和配置数据同步接口,所述NAT64模块分别与网管接口、底层数据收发接口和配置数据同步接口相连,其特征在于:所述NAT64模块包括NAT64配置子模块、动态表建立维护子模块及IPv4/IPv6报文转发子模块,NAT64配置子模块与动态表建立维护子模块相连,动态表建立维护子模块与IPv4/IPv6报文转发子模块相连;NAT64配置子模块、动态表建立维护子模块均与网管接口相连,动态表建立维护子模块还与配置数据同步接口相连,IPv4/IPv6报文转发子模块、配置数据同步接口均与底层数据收发接口相连;
所述NAT64配置子模块用于:进行NAT64功能的全局配置和接口配置;
所述动态表建立维护子模块用于:建立和维护动态地址映射表,在产生新会话时创建映射,在会话中维护映射,在会话结束后删除映射;
所述IPv4/IPv6报文转发子模块用于:对接收到的数据报文进行NAT64的地址翻译和协议翻译,再将经过NAT64的地址翻译和协议翻译后的数据报文从正确接口转发;
所述系统基于实现IPv4网络与IPv6网络互通时,用于:
确保NAT64模块连接IPv4网络及IPv6网络,实现NAT64功能的全局使能和接口使能;
NAT64模块接收网络侧发来的数据报文,根据数据报文的协议版本,更新动态表建立维护子模块的地址映射信息,获取翻译后的地址五元组:IPv4/IPv6报文转发子模块判断接收到的数据报文是否为新会话,若数据报文为IPv4协议版本的新会话且无静态地址映射存在,IPv4/IPv6报文转发子模块直接抛弃该数据报文;若数据报文为IPv6协议版本的新会话,动态表建立维护子模块创建一个新的地址映射;当数据报文为非新会话时,IPv4/IPv6报文转发子模块根据已存在的地址映射表,将收到数据报文的源传输地址和目的传输地址转换成映射表中对应的另一协议版本的形式;
NAT64模块对IPv4报文头部和IPv6报文头部进行协议翻译:
当IPv4/IPv6报文转发子模块收到一个由IPv4网络发往IPv6网络的数据报文时,IPv4/IPv6报文转发子模块会将IPv4头部翻译为IPv6头部,原始IPv4头部被移除并替换成一个IPv6头部;若数据报文的传输层协议是该IPv4/IPv6报文转发子模块所支持的,传输层的校验和进行重计算,数据报文的数据字段不用修改;
当IPv4/IPv6报文转发子模块收到的是一个目的地为IPv4网络的IPv6数据报文时,IPv4/IPv6报文转发子模块需要将IPv6头部翻译为IPv4头部,原始IPv6头部将被移除并替换成一个新的IPv4头部;ICMPv6、TCP、UDP和数据报拥塞控制协议DCCP头部都包含有校验和,若地址映射算法不是校验和中立的,则在翻译前计算出校验和的值,并且对ICMP和传输层头部进行更新;
对于TCP和UDP数据报文,只翻译IP头;对ICMP数据报文,翻译IP头和ICMP头;若地址翻译算法非校验和中立,则对含有伪头部的TCP、ICMP数据报文以及校验和不为0的UDP数据报文的传输层头部进行重计算和更新;若数据报文为分片数据报文,则进行分片数据报文的相应处理;
IPv4/IPv6报文转发子模块将完成地址翻译和协议翻译的新数据报文根据目的地址转发出去。
2.如权利要求1所述的基于NAT64实现IPv4网络与IPv6网络互通的系统,其特征在于:所述NAT64配置子模块进行NAT64功能的全局配置和接口配置包括:NAT64功能使能、IPv6转换前缀、静态地址映射表、IPv4地址池及其使能、最大会话个数。
3.如权利要求1所述的基于NAT64实现IPv4网络与IPv6网络互通的系统,其特征在于:所述NAT64模块具备一个IPv6地址池和一个IPv4地址池,IPv6地址池用于在IPv6网络中表示IPv4地址,IPv4地址池用于在IPv4网络中代表IPv6地址;在IPv6网络中表示IPv4地址的IPv6地址由三个部分构成:IPv6前缀、被嵌入的IPv4地址以及可变长度后缀。
4.如权利要求3所述的基于NAT64实现IPv4网络与IPv6网络互通的系统,其特征在于:所述IPv6地址池包含一个或多个IPv6前缀。
5.如权利要求3所述的基于NAT64实现IPv4网络与IPv6网络互通的系统,其特征在于:所述IPv6前缀包括三个特性:
(1)前缀索引值:数据类型为16bit无符号整型,在地址翻译时通过前缀索引值进行选择使用;
(2)前缀:以数组形式存储IPv6前缀;
(3)前缀长度:可变前缀长度。
6.如权利要求5所述的基于NAT64实现IPv4网络与IPv6网络互通的系统,其特征在于:所述前缀长度为32、40、48、56、64或96位。
7.如权利要求3所述的基于NAT64实现IPv4网络与IPv6网络互通的系统,其特征在于:所述IPv4地址池由同一个子网段下的连续IPv4地址构成,除了静态手工配置的情况,地址映射全都是动态的,并且在实际应用中采取IPv6传输地址到IPv4传输地址的映射;所述IPv4地址池包括:(1)地址池索引值;(2)起始IPv4地址、终止IPv4地址以及子网掩码;(3)单个IPv4地址同时共用于会话的数量;(4)TCP、UDP会话的端口号和ICMP的标识符。
8.如权利要求1所述的基于NAT64实现IPv4网络与IPv6网络互通的系统,其特征在于:所述IPv4/IPv6报文转发子模块在双栈协议栈中定义翻译所需的各种头部的结构体,包括以下几种:
struct ip6_hdr:表示IPv6头部;
struct ip6_frag:表示IPv6分片头部;
struct icmp6_hdr:表示ICMPv6头部;
struct ip:表示IPv4头部;
struct ippseudo:表示用于TCP协议的IPv4伪头部;
struct icmp2_hdr:表示ICMPv4头部。
9.适用于权利要求1至8中任一项所述系统的基于NAT64实现IPv4网络与IPv6网络互通的方法,其特征在于,包括以下步骤:
A、确保NAT64模块连接IPv4网络及IPv6网络,实现NAT64功能的全局使能和接口使能;
B、NAT64模块接收网络侧发来的数据报文,根据数据报文的协议版本,更新动态表建立维护子模块的地址映射信息,获取翻译后的地址五元组:IPv4/IPv6报文转发子模块判断接收到的数据报文是否为新会话,若数据报文为IPv4协议版本的新会话且无静态地址映射存在,IPv4/IPv6报文转发子模块直接抛弃该数据报文;若数据报文为IPv6协议版本的新会话,动态表建立维护子模块创建一个新的地址映射;当数据报文为非新会话时,IPv4/IPv6报文转发子模块根据已存在的地址映射表,将收到数据报文的源传输地址和目的传输地址转换成映射表中对应的另一协议版本的形式;
C、NAT64模块对IPv4报文头部和IPv6报文头部进行协议翻译:
当IPv4/IPv6报文转发子模块收到一个由IPv4网络发往IPv6网络的数据报文时,IPv4/IPv6报文转发子模块会将IPv4头部翻译为IPv6头部,原始IPv4头部被移除并替换成一个IPv6头部;若数据报文的传输层协议是该IPv4/IPv6报文转发子模块所支持的,传输层的校验和进行重计算,数据报文的数据字段不用修改;
当IPv4/IPv6报文转发子模块收到的是一个目的地为IPv4网络的IPv6数据报文时,IPv4/IPv6报文转发子模块需要将IPv6头部翻译为IPv4头部,原始IPv6头部将被移除并替换成一个新的IPv4头部;ICMPv6、TCP、UDP和数据报拥塞控制协议DCCP头部都包含有校验和,若地址映射算法不是校验和中立的,则在翻译前计算出校验和的值,并且对ICMP和传输层头部进行更新;
对于TCP和UDP数据报文,只翻译IP头;对ICMP数据报文,翻译IP头和ICMP头;若地址翻译算法非校验和中立,则对含有伪头部的TCP、ICMP数据报文以及校验和不为0的UDP数据报文的传输层头部进行重计算和更新;若数据报文为分片数据报文,则进行分片数据报文的相应处理;
D、IPv4/IPv6报文转发子模块将完成地址翻译和协议翻译的新数据报文根据目的地址转发出去。
10.如权利要求9所述的基于NAT64实现IPv4网络与IPv6网络互通的方法,其特征在于:步骤A包括以下步骤:NAT64配置子模块进行NAT64功能的全局配置和接口配置:NAT64功能使能、IPv6转换前缀、静态地址映射表、IPv4地址池及其使能、最大会话个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410444590.7A CN104270475B (zh) | 2014-09-03 | 2014-09-03 | 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410444590.7A CN104270475B (zh) | 2014-09-03 | 2014-09-03 | 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104270475A CN104270475A (zh) | 2015-01-07 |
CN104270475B true CN104270475B (zh) | 2017-10-10 |
Family
ID=52161964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410444590.7A Active CN104270475B (zh) | 2014-09-03 | 2014-09-03 | 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104270475B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453664A (zh) * | 2016-12-16 | 2017-02-22 | 广东睿哲科技股份有限公司 | 一种基于虚拟IPv4地址池的IPv4终端、IPv6服务互通业务负载均衡系统 |
CN107682472A (zh) * | 2017-10-24 | 2018-02-09 | 睿哲科技股份有限公司 | 基于RTSP 反向代理的IPv4与IPv6互通方法、装置及系统 |
CN107835198B (zh) * | 2017-12-13 | 2020-11-24 | 睿哲科技股份有限公司 | IPv4-IPv6互通场景中进行PPTP穿越的方法、装置及电子设备 |
CN109218219A (zh) * | 2018-10-15 | 2019-01-15 | 迈普通信技术股份有限公司 | 一种负载均衡方法、装置、网络设备及存储介质 |
CN109688240A (zh) * | 2018-12-24 | 2019-04-26 | 睿哲科技股份有限公司 | IPv4组播和IPv6组播互相转换装置和设备 |
CN112261054B (zh) * | 2020-10-23 | 2022-07-15 | 重庆邮电大学 | 基于应用业务服务质量的Ethernet/IP与IPv6协议转换系统及方法 |
CN112532641B (zh) * | 2020-12-07 | 2023-04-28 | 四川光慧新能源科技有限公司 | 一种充电桩内部模块连接的通信方法 |
CN113630378B (zh) * | 2021-06-29 | 2022-08-19 | 清华大学 | 基于ICMP限速的IPv6网络入网源地址验证部署测量方法和装置 |
CN113783974B (zh) * | 2021-09-09 | 2023-06-13 | 烽火通信科技股份有限公司 | 一种动态下发map域规则的方法及装置 |
CN113746954B (zh) * | 2021-09-22 | 2023-06-13 | 烽火通信科技股份有限公司 | 一种nat地址块二次分配迅速回收的方法和装置 |
CN113923188B (zh) * | 2021-12-08 | 2022-03-08 | 北京英迪瑞讯网络科技有限公司 | 用于IPv6/IPv4访问的无状态灵活映射算法 |
CN114745456A (zh) * | 2022-05-13 | 2022-07-12 | 咪咕音乐有限公司 | 报文处理方法、装置及网络地址转换设备 |
CN116566943A (zh) * | 2023-07-12 | 2023-08-08 | 明阳时创(北京)科技有限公司 | 一种音视频流轻量级直转中继方法及系统 |
CN118316904B (zh) * | 2024-06-11 | 2024-08-20 | 深圳市光联世纪信息科技有限公司 | 一种基于nat64技术的双栈设备数据交互方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431477A (zh) * | 2008-12-17 | 2009-05-13 | 清华大学 | 端到端运营商级和园区网路由器组合的IPv4/IPv6分组转换方法 |
CN102148773A (zh) * | 2010-02-08 | 2011-08-10 | 中国联合网络通信集团有限公司 | 一种IPv6协议和IPv4协议转换的方法及系统 |
CN102907072A (zh) * | 2010-02-26 | 2013-01-30 | 瑞典爱立信有限公司 | 利用NAT64启用IPv6移动性 |
CN103428303A (zh) * | 2012-05-22 | 2013-12-04 | 中兴通讯股份有限公司 | IPv6主机访问IPv4服务器的方法及系统 |
CN103634216A (zh) * | 2013-11-04 | 2014-03-12 | 汉柏科技有限公司 | 一种基于nat64的数据报文转发方法和转发设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356045B2 (en) * | 2002-10-22 | 2008-04-08 | Cisco Technology, Inc. | Shared port address translation on a router behaving as NAT & NAT-PT gateway |
-
2014
- 2014-09-03 CN CN201410444590.7A patent/CN104270475B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431477A (zh) * | 2008-12-17 | 2009-05-13 | 清华大学 | 端到端运营商级和园区网路由器组合的IPv4/IPv6分组转换方法 |
CN102148773A (zh) * | 2010-02-08 | 2011-08-10 | 中国联合网络通信集团有限公司 | 一种IPv6协议和IPv4协议转换的方法及系统 |
CN102907072A (zh) * | 2010-02-26 | 2013-01-30 | 瑞典爱立信有限公司 | 利用NAT64启用IPv6移动性 |
CN103428303A (zh) * | 2012-05-22 | 2013-12-04 | 中兴通讯股份有限公司 | IPv6主机访问IPv4服务器的方法及系统 |
CN103634216A (zh) * | 2013-11-04 | 2014-03-12 | 汉柏科技有限公司 | 一种基于nat64的数据报文转发方法和转发设备 |
Non-Patent Citations (5)
Title |
---|
DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers;M. Bagnulo等;《IETF RFC6147》;20110430;全文 * |
IP/ICMP Translation Algorithm;X. Li等;《IETF RFC6145》;20110430;全文 * |
IPv4至IPv6过渡技术方案的设计与实施;王中震;《中国优秀硕士学位论文全文数据库》;20130315(第3期);正文第30-35页、第44页 * |
IPv6 Addressing of IPv4/IPv6 Translators;C. Bao等;《IETF RFC6052》;20101031;全文 * |
Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers;M. Bagnulo等;《IETF RFC6146》;20110430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104270475A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104270475B (zh) | 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法 | |
Wu et al. | Transition from IPv4 to IPv6: A state-of-the-art survey | |
JP4130962B2 (ja) | ネットワーク上のデスティネーションへ送信されたデータの経路決めをするドメイン名を使用するためのシステムおよび方法 | |
CN104734963B (zh) | 一种基于SDN的IPv4和IPv6网络互连方法 | |
CN102904976B (zh) | 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法 | |
US9185072B2 (en) | Stateless NAT44 | |
JP5239618B2 (ja) | アドレス変換装置、方法及びプログラム、並びにノード | |
CN101227373B (zh) | 基于无状态映射的IPv4和IPv6网互通的方法 | |
KR100694209B1 (ko) | IPv4망과 IPv6망간의 ISATAP 터널링 시스템 및그 방법 | |
CN100484083C (zh) | 一种地址转换方法及实现该方法的混合地址转换路由器 | |
CN101316272A (zh) | 构建因特网协议版本4和6混合网络的多协议层翻译方法 | |
CN1333568C (zh) | 基于过渡机制的IPv6网和IPv4网间互通的方法 | |
US20060146870A1 (en) | Transparent communication with IPv4 private address spaces using IPv6 | |
CN102025600B (zh) | 一种数据传输、接收的方法及系统及路由器 | |
CN103856581B (zh) | 一种用户侧设备的翻译封装自适应方法 | |
CN102938735A (zh) | 使用路由通告携带选项下发nat64地址前缀的方法 | |
CN108494751B (zh) | 高效使用IPv4公有地址的方法及装置 | |
CN104584517A (zh) | 在数据中心中使用的用于将IPv4分组在IPv6网络上路由的方法和网络节点 | |
CN105933235B (zh) | 数据通信方法及装置 | |
US20150032898A1 (en) | Method for establishing a virtual community network connection and a system for implementing said method | |
CN105515995B (zh) | 报文处理方法及装置 | |
JP2011061541A (ja) | アドレス変換・プロトコル変換システム、並びに、トランスレータ装置及びトランスレータプログラム | |
CN100490445C (zh) | Nat-pt网关中pat模式下icmp差错报文的转换方法 | |
CN105516382A (zh) | Ipv4网络与ipv6物联网节点的通信方法及系统 | |
JP2009207182A (ja) | パケット生成方法およびその機能を有する情報処理装置並びにパケット生成プログラムを記録した記録媒体 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190114 Address after: 430074 No. 6, High-tech Fourth Road, Donghu High-tech Development Zone, Wuhan City, Hubei Province Patentee after: Fenghuo Communication Science &. Technology Co., Ltd. Address before: 430074 Guandong Optical Communication Industry Building, No. 5 Donghu High-tech Dongxin Road, Wuhan City, Hubei Province Patentee before: Wuhan Fenghuo Network Co., Ltd. |
|
TR01 | Transfer of patent right |