CN114945013A - 数据转发方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据转发方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114945013A CN114945013A CN202210470479.XA CN202210470479A CN114945013A CN 114945013 A CN114945013 A CN 114945013A CN 202210470479 A CN202210470479 A CN 202210470479A CN 114945013 A CN114945013 A CN 114945013A
- Authority
- CN
- China
- Prior art keywords
- address
- data packet
- prefix
- ipv6
- destination
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013519 translation Methods 0.000 claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000014616 translation Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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
-
- 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/2546—Arrangements for avoiding unnecessary translation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种数据转发方法、装置、电子设备及计算机可读存储介质,涉及互联网通信技术领域。该方法包括:接收第一IPv6数据包,第一IPv6数据包的网络地址包括第一源地址和第一目的地址,第一目的地址包括网络地址转换NAT前缀和目的IPv4地址;根据目的IPv4地址确定对应的XLAT前缀,将第一目的地址中的NAT前缀转换为目的IPv4地址对应的XLAT前缀;将第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,从而得到第一IPv6数据包转换网络地址后的第二IPv6数据包;基于第二IPv6数据包的目的地址转发第二IPv6数据包。此种方式,提高了数据的转发效率。
Description
技术领域
本公开涉及互联网通信技术领域,尤其涉及一种数据转发方法、装置、电子设备及计算机可读存储介质。
背景技术
在互联网通信技术中,网络地址转换(Network Address Translation,NAT),在保证IPv4(Internet Protocol version 4,互联网通信协议第四版)网络,与IPv6(InternetProtocol version 6,互联网通信协议第六版)网络互通中发挥了重要作用,而网络地址的转换会直接影响数据的转发。
相关技术中,用于访问IPv4服务器的IPv6数据包,在接入纯IPv6骨干网络的过程中需要经过多次网络地址转换。IPv6数据包在IPv6终端产生后被路由至NAT64路由器。NAT64路由器将IPv6数据包转换为IPv4数据包,之后,经IPv4网络将该IPv4数据包发往IPv6骨干网络对应的边缘路由器。边缘路由器接收到该IPv4数据包后,将该IPv4数据包转换为可通过IPv6骨干网络的新的IPv6数据包。
然而,用于访问IPv4服务器的IPv6数据包在接入纯IPv6骨干网络的过程中,经过了多次网络地址转换,使得数据转发效率低,而且多次网络地转换更容易使数据包的网络地址出现错误,且出现错误后不易确定错误出现在哪一次网络地址转换。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种数据转发方法、装置、电子设备及计算机可读存储介质,至少在一定程度上克服由于相关技术中数据转发效率低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种数据转发方法,包括:
接收第一IPv6数据包,所述第一IPv6数据包的网络地址包括第一源地址和第一目的地址,所述第一目的地址包括网络地址转换NAT前缀和目的IPv4地址;
根据所述目的IPv4地址确定对应的XLAT前缀,将所述第一目的地址中的NAT前缀转换为所述目的IPv4地址对应的XLAT前缀;
将所述第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,从而得到所述第一IPv6数据包转换网络地址后的第二IPv6数据包;
基于所述第二IPv6数据包的目的地址转发所述第二IPv6数据包。
在本公开的一个实施例中,所述根据所述目的IPv4地址确定对应的XLAT前缀之前,还包括:从所述第一目的地址中确定出所述NAT前缀;根据所述NAT前缀,从所述第一目的地址中确定出所述目的IPv4地址。
在本公开的一个实施例中,所述参考XLAT前缀为本地XLAT前缀;或者,所述参考XLAT前缀为所述目的IPv4地址对应的XLAT前缀。
在本公开的一个实施例中,所述方法还包括:在接收到用于反馈所述第二IPv6数据包的第三IPv6数据包的情况下,将所述第三IPv6数据包的第二目的地址转换为所述第一源地址,将所述第三IPv6数据包的第二源地址中包括的XLAT前缀转换为所述NAT前缀,从而得到所述第三IPv6数据包转换网络地址后的第四IPv6数据包。
在本公开的一个实施例中,所述方法还包括:接收待识别IPv6数据包;确定所述待识别IPv6数据包的目的端口号,以及所述待识别IPv6数据包的源地址;基于所述目的端口号与所述待识别IPv6数据包的源地址,确定所述待识别IPv6数据包为所述第三IPv6数据包。
在本公开的一个实施例中,所述第二源地址中包括的XLAT前缀为所述目的IPv4地址对应的XLAT前缀;或者,所述第二源地址中包括的XLAT前缀为本地XLAT前缀。
在本公开的一个实施例中,所述方法还包括:基于所述第四IPv6数据包的目的地址转发所述第四IPv6数据包。
根据本公开的另一个方面,提供一种数据转发装置,包括:
接收模块,用于接收第一IPv6数据包,所述第一IPv6数据包的网络地址包括第一源地址和第一目的地址,接收模块,用于接收第一IPv6数据包,所述第一IPv6数据包的网络地址包括第一源地址和第一目的地址,所述第一目的地址包括网络地址转换NAT前缀和目的IPv4地址;
第一确定模块,用于根据所述目的IPv4地址确定对应的XLAT前缀;
转换模块,用于将所述第一目的地址中的NAT前缀转换为所述目的IPv4地址对应的XLAT前缀;
所述转换模块,还用于将所述第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,从而得到所述第一IPv6数据包转换网络地址后的第二IPv6数据包;
转发模块,用于基于所述第二IPv6数据包的目的地址转发所述第二IPv6数据包。
在本公开的一个实施例中,所述装置还包括:
第二确定模块,用于从所述第一目的地址中确定出所述NAT前缀;
所述第二确定模块,还用于根据所述NAT前缀,从所述第一目的地址中确定出所述目的IPv4地址。
在本公开的一个实施例中,所述参考XLAT前缀为本地XLAT前缀;或者,所述参考XLAT前缀为所述目的IPv4地址对应的XLAT前缀。
在本公开的一个实施例中,所述所述转换模块,还用于在接收到用于反馈所述第二IPv6数据包的第三IPv6数据包的情况下,将所述第三IPv6数据包的第二目的地址转换为所述第一源地址,将所述第三IPv6数据包的第二源地址中包括的XLAT前缀转换为所述NAT前缀,从而得到所述第三IPv6数据包转换网络地址后的第四IPv6数据包。
在本公开的一个实施例中,所述装置还包括:
所述接收模块,还用于接收待识别IPv6数据包;
第三确定模块,用于确定所述待识别IPv6数据包的目的端口号,以及所述待识别IPv6数据包的源地址;
所述第三确定模块,还用于基于所述目的端口号与所述待识别IPv6数据包的源地址,确定所述待识别IPv6数据包为所述第三IPv6数据包。
在本公开的一个实施例中,所述第二源地址中包括的XLAT前缀为所述目的IPv4地址对应的XLAT前缀;或者,所述第二源地址中包括的XLAT前缀为本地XLAT前缀。
在本公开的一个实施例中,所述转发模块,还用于基于所述第四IPv6数据包的目的地址转发所述第四IPv6数据包。
根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的数据转发方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据转发方法。
本公开的实施例所提供的技术方案,接收到具有第一源地址和第一目的地址的第一IPv6数据后,将第一目的地址中包括的NAT前缀转换为目的IPv4地址对应的XLAT前缀,将第一源地址转换为参考XLAT地址与本地IPv4地址池中的一个IPv4地址的组合地址,从而得到第一IPv6数据包转换网络地址后的第二IPv6数据包,使得用于访问IPv4服务器的数据包在接入纯IPv6骨干网络的过程中,网络地址只转换了一次,减少了数据包接入纯IPv6骨干网络的过程中数据包的转发的次数、数据转发效率高。
进一步地,降低了数据包的网络地址出错的概率,且由于网络地址只转换了一次,所以在数据包的网络地址出错后更容易确定错误原因。
进一步地,基于本公开的实施例所提供的技术方案,使得从IPv6单栈网络发出的、用于访问IPv4服务器的数据包在接入纯IPv6骨干网络时,实现了从IPv6数据包直接到IPv6数据包的转换,消除了IPv6单栈网络与IPv6骨干网络对接过程中IPv4网络的出现,从而减轻了连接IPv6单栈网络与IPv6骨干网络的网络中间设备,由于额外配置IPv4协议带来的配置和运维的复杂度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出一种IPv6单栈网络与纯IPv6骨干网络的对接方式示意图;
图2示出本公开实施例中一种数据转发系统示意图;
图3示出本公开一个实施例的数据转发方法的流程图;
图4示出本公开另一个实施例的数据转发方法的流程图;
图5示出本公开一个实施例的IPv6单栈网络与纯IPv6骨干网络的对接方式示意图;
图6示出本公开一个实施例的数据包传输过程示意图;
图7示出本公开一个实施例的数据转发装置示意图;
图8示出本公开另一实施例的电子设备的结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
随着互联网通信技术的发展,IPv4网络正在逐步向IPv6网络过渡。在IPv6单栈网络中,终端不再被分配IPv4地址,而只被分配IPv6地址,且在终端只具有IPv6地址的情况下支持该终端的IPv4业务和IPv6业务。其中,只被分配IPv6地址的终端可以叫做IPv6终端。纯IPv6骨干网络仅支持IPv6的编址、路由和转发的服务,并在纯IPv6骨干网络的边缘适配IPv4协议,提供IPv4的连接和转发服务。
相关技术中,在纯IPv6骨干网络下,IPv6终端产生的、用于访问IPv4服务器的数据包,在接入纯IPv6骨干网络的过程中,数据包的网络地址需要经过多次转换。
IPv6终端生成用于访问IPv4服务器的数据包的过程如下。首先,IPv6终端向DNS(Domain Name Server,域名服务器)64服务器发起域名解析请求。然后,DNS64服务器接收到该域名解析请求后,根据该域名查询对应的网络地址。由于该域名对应的服务器为IPv4服务器,所以DNS64对该域名的查询结果为A记录(域名对应的网络地址为IPv4地址时得到的记录为A记录),DNS64再根据查询得到的A记录和NAT64对应的NAT前缀合成AAAA记录。之后,DNS64将合成的AAAA记录返回给IPv6终端。IPv6终端以该AAAA记录中IPv4服务器的IPv4地址和NAT前缀组成的IPv6地址为目的地址生成IPv6数据包。此时,该IPv6数据包的源地址为IPv6终端的IPv6地址,目的地址为NAT前缀+IPv4服务器对应的IPv4地址。
IPv6终端生成用于访问IPv4服务器的IPv6数据包后,该IPv6数据包进入纯IPv6骨干网络的过程,可以从图1中体现。图1中,APPv4指的是支持IPv4协议的应用程序,APPv6指的是支持IPv6协议的应用程序,CLAT(Communication Line Adapter for Teletype)为电传通信线路适配器,IPv6接入指的是连接IPv6终端的IPv6路由器,NAT64为实现IPv6地址与IPv4地址转换的路由器,XLAT为纯IPv6骨干网络边缘的XLAT功能,IPv4路由器为支持IPv4协议的路由器,IPv6路由器为支持IPv6协议的路由器。
首先,该IPv6数据包从IPv6终端路由至NAT64路由器,NAT64路由器接收到该数据包后,将该数据包的源地址转换为NAT64的本地IPv4地址池中的一个IPv4地址,并将该数据包的目的地址中的NAT前缀去除,从而得到IPv4数据包。此时,该IPv4数据包的源地址为NAT64对应的一个IPv4地址,目的地址为IPv4服务器对应的IPv4地址。
然后,NAT64服务器根据IPv4数据包的目的地址,将该IPv4数据包路由至IPv4网络边缘的IPv4路由器,再经IPv4网络传输后,该的IPv4数据包由IPv4网络边缘的IPv4路由器传输至纯IPv6骨干网络边缘的边缘路由器,该边缘路由器根据XLAT功能,为该IPv4数据包的源地址添加该边缘路由器对应的XLAT前缀,为该IPv4数据包的目的地址添加IPv4服务器对应的XLAT前缀,从而得到可以经纯IPv6骨干网络传输的新的IPv6数据包。
上述过程中,IPv6终端产生的数据包在进入纯IPv6骨干网络的过程中,网络地址经过两次转换,数据包的转发效率低,而两次网络地址转换更容易使数据包的网络地址出现错误,且出现错误后不易确定错误出现在哪一次网络地址转换。而且,由于数据包存在IPv6数据包-IPv4数据包-新的IPv6数据包的变化,所以用于转发IPv4数据包的中间网络设备需要额外配置IPv4协议,进而导致中间设备的运维的复杂度较高。
对此,本公开提供了一种数据转发方法,该方法可以使得用于访问IPv4服务器的数据包在接入纯IPv6骨干网络的过程中,网络地址只转换一次,增加了数据转发的效率,降低了数据包的网络地址出错的概率;网络地址只转换了一次,在数据包的网络地址出错后更容易确定错误原因。此外,实现了IPv6终端产生的、访问IPv4服务器的数据包在接入纯IPv6骨干网络的过程中,由IPv6数据包直接到新的IPv6数据包的转换,消除了数据包接入纯IPv6骨干网络中IPv4网络的出现,从而减轻网络中间设备由于额外配置IPv4协议带来的配置和运维的复杂度。
图2示出了可以应用于本公开实施例的数据转发方法或数据转发装置的示例性系统架构的示意图。
如图2所示,系统架构可以包括:IPv6终端201、第一IPv6路由器202、网络设备203和第二IPv6路由器204。
其中,IPv6终端201具备对应的IPv6地址,能够生成用于访问IPv4业务的IPv6数据包。第一IPv6路由器202和第二IPv6路由器204可以转发IPv6数据包。网络设备203可以接收IPv6数据包,对接收到的IPv6数据的网络地址进行转换,并将转换网络地址后得到的新的IPv6数据包发往其他路由器。
在一个实施例中,网络设备203具有XLAT控制面模块2031、MD(Mapping Database,地图数据库)模块2032、XLAT数据包转发模块2033、本地IPv4地址池2034、IPv6路由引擎模块2035、RD(Routing Database,路径表)模块2036、IPv6数据包转发模块2037、XLAT转换策略配置模块2038和PD(Policy Database,策略库)模块2039。
其中,XLAT控制面模块2031可以与其它路由器交互XLAT信息(IPv4地址块和对应的XLAT前缀等)。MD模块2032中存放了网络地址和端口映射关系,且MD模块2032中包含网络设备103对应的NAT前缀信息。XLAT数据包转发模块2033可以根据MD模块2032中的映射关系,处理数据包完成网络地址和端口转换。本地IPv4地址池2034存储了至少一个IPv4公网地址信息的。IPv6路由引擎模块2035可以与其它路由器交换路由信息。RD模块2036中存储了路由信息。IPv6数据包转发模块2037可以根据数据包的目的地址查询路由表获得下一跳和接口信息,并从相应的接口转发数据包。XLAT转换策略配置模块2038可以检测对网络地址转换方式的配置,对应生成对应的网络地址转换策略,并将网络地址转换策略存放在PD模块2039中。
其中,IPv6终端101、第一IPv6路由器102、网络设备103、第二IPv6路由器104之间通过网络实现通信,该网络可以是有线网络,也可以是无线网络,本申请在此不做限制。
在一个实施例中,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
IPv6终端101可以是支持IPv6协议的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、增强现实设备、虚拟现实设备等,本申请在此不做限制。
第一IPv6路由器102、第二IPv6路由器104可以是任意具备转发IPv6数据包功能的路由器,本申请在此不做限制。
在一个实施例中可选地,网络设备103可以是具备上述功能的NAT66路由器。
本领域技术人员可以知晓,图1中的IPv6终端101、第一IPv6路由器102、网络设备103、第二IPv6路由器104的数量仅仅是示意性的,根据实际需要,可以具有任意数目的IPv6终端101、第一IPv6路由器102、网络设备103和第二IPv6路由器104。本公开实施例对此不作限定。
下面结合附图及实施例对本示例实施方式进行详细说明。
本公开实施例中提供了一种数据转发方法,该方法可以由任意具备计算处理能力的电子设备执行。例如,该具备计算处理能力的电子设备可以是网络设备。
图3示出本公开实施例中一种数据转发方法流程图,如图3所示,本公开实施例中提供的数据转发方法包括步骤S301和步骤S304。
步骤S301,网络设备接收第一IPv6数据包。
在一些实施例中,第一IPv6数据包由IPv6终端生成,用于访问IPv4服务器。根据上述对相关技术的介绍可知,第一IPv6数据包的网络地址包括第一源地址和第一目的地址。其中,第一源地址为生成第一IPv6数据包的IPv6终端的IPv6地址;第一目的地址包括NAT前缀和目的IPv4地址,目的IPv4地址为IPv4服务器的IPv4地址,NAT前缀为是网络设备对应的NAT前缀。
第一IPv6数据包的第一目的地址对应的NAT前缀为网络设备对应的NAT前缀,该第一IPv6数据包会被路由至网络设备。在一个实施例中,网络设备接收第一IPv6数据包,包括:接收路由而来的、由IPv6终端产生的、用于访问IPv4服务器的第一IPv6数据包。
步骤S302,网络设备根据目的IPv4地址确定对应的XLAT前缀,将第一目的地址中的NAT前缀转换为目的IPv4地址对应的XLAT前缀。
其中,目的IPv4地址对应的XLAT前缀为IPv4服务器对应的XLAT前缀。第一目的地址包括NAT前缀和目的IPv4地址,在使用目的IPv4地址之前,需要从第一目的地址中确定出IPv4地址。在一个实施例中,网络设备根据目的IPv4地址确定对应的XLAT前缀之前,还包括:从第一目的地址中确定出NAT前缀;根据NAT前缀,从第一目的地址中确定出目的IPv4地址。
由于第一目的地址包括的NAT前缀为网络设备的NAT前缀,而网络设备的NAT前缀是存储在网络设备中的信息,在一个实施例中,从第一目的地址中确定出NAT前缀,包括:从第一目的地址中确定出与网络设备的NAT前缀相同的NAT前缀。确定第一目的地包括的NAT前缀后,即可根据该NAT前缀从第一目的地址中确定出目的IPv4地址,在一个实施例中,根据NAT前缀,从第一目的地址中确定出目的IPv4地址,包括:除去第一目的地址中与NAT前缀相同的部分,得到目的IPv4地址。
例如,网络设备的NAT前缀为2001:db8:1::/96,第一目的地址为2001:db8:1::203.0.113.1,除去第一目的地址中与NAT前缀相同的部分后得到的目的IPv4地址为203.0.113.1,该目的IPv4地址即为需要访问的IPv4服务器的IPv4地址。
网络设备得到目的IPv4地址后,即可使用目的IPv4地址确定对应的XLAT前缀。关于网络设备如何根据目的IPv4确定对应的XLAT前缀,本公开实施例不做限制,示例性地,可根据目的IPv4地址查询XLAT前缀表,从XLAT前缀表中确定目的IPv4地址对应的XLAT前缀。其中,XLAT前缀表中至少记录有目的IPv4地址对应的XLAT前缀。在另一个实施例中,根据目的IPv4地址,依据BGP(Border Gateway Protocol,边界网关协议)的方式来确定目的IPv4地址对应的XLAT前缀。
网络设备确定出目的IPv4地址对应的XLAT前缀后,可直接将第一目的地址包括的NAT前缀转换为目的IPv4地址对应的XLAT前缀。例如,第一目的地址为2001:db8:1::203.0.113.1,目的IPv4地址对应的XLAT前缀为2001:db8:2::/96,将第一目的地址中的NAT前缀转换为目的IPv4地址对应的XLAT前缀后,得到的新的目的地址为2001:db8:2::203.0.113.1。
步骤S303,网络设备将第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,从而得到第一IPv6数据包转换网络地址后的第二IPv6数据包。
任一参考XLAT前缀为网络设备可以获取的XLAT前缀;本地IPv4地址池为网络设备对应的IPv4地址池,本地IPv4地址池中具有至少一个IPv4地址。在一个实施例中,参考XLAT前缀为本地XLAT前缀,本地XLAT前缀为网络设备对应的本地XLAT前缀;或者,参考XLAT前缀为目的IPv4地址对应的XLAT前缀。
当参考XLAT前缀为本地XLAT前缀时,网络设备将第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,包括:从本地IPv4地址池中选取出一个IPv4地址;将选取出的IPv4地址与本地XLAT前缀进行组合,得到组合地址;将第一源地址转换为组合地址。例如,本地XLAT前缀为2001:db8:3::/96,从本地IPv4地址池中选取出的IPv4地址为192.0.2.33,则第一源地址转换后新的源地址为2001:db8:3::192.0.2.33。
当参考XLAT前缀为目的IPv4地址对应的XLAT前缀时,网络设备将第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,包括:从本地IPv4地址池中选取出一个IPv4地址;将选取出的IPv4地址与目的IPv4地址对应的XLAT前缀进行组合,得到组合地址;将第一源地址转换为组合地址。例如,目的IPv4地址对应的XLAT前缀为2001:db8:2::/96,从本地IPv4地址池中选取出的IPv4地址为192.0.2.33,则第一源地址转换后新的源地址为2001:db8:2::192.0.2.33。
需要说明的是,参考XLAT前缀为目的IPv4地址对应的XLAT前缀时,若先对第一IPv6数据包的源地址进行转换,则在转换源地址前网络设备需要获取目的IPv4地址对应的XLAT前缀,之后,再转换第一目的地址时网络设备无需再重新获取目的IPv4地址对应的XLAT前缀。反之,若先对第一IPv6数据包的第一目的地址进行转换,则再转换第一源地址时,网络设备同样无需再重新获取目的IPv4地址对应的XLAT前缀。
当参考XLAT前缀为除了目的IPv4地址对应的XLAT前缀与本地XLAT前缀之外的、可获取的其他XLAT前缀时,该其他XLAT前缀与本地IPv4地址池中的一个IPv4地址组合得到的组合地址中,IPv4地址部分依然可以指示网络设备。接收第二IPv6数据包的路由器,依然可以根据该组合地址中包括的IPv4地址来确定反馈时的目的地址。
完成对第一IPv6数据包的第一源地址和第一目的地址的转换后,得到了第二IPv6数据包。需要说明的是,第一源地址与第二IPv6数据包的源地址之间的映射关系被网络设备记录,以便于接收到对第二IPv6数据包的反馈后,将该反馈返回给生成第一IPv6数据包的IPv6终端。
当第二IPv6数据包的目的地址对应的XLAT前缀为网络设备对应的本地XLAT前缀时,可以使接收第二IPv6数据包的路由器能够直接根据第二IPv6数据包的源地址得到反馈时的目的地址,有利于路由器进行反馈时目的地址的确定。当第二IPv6数据包的目的地址对应的XLAT前缀为目的IPv4地址对应的XLAT前缀时,可以使接收第二IPv6数据包的路由器能够直接根据第二IPv6数据包的源地址和目的地址中相同的XLAT前缀部分,识别出IPv4服务器的目的IPv4地址,也就是说,第二IPv6数据包的目的地址的XLAT前缀为目的IPv4地址对应的XLAT前缀时,有利于路由器解析出目的IPv4地址。示例性地,该路由器为IPv4服务器对应的纯IPv6骨干网络的边缘路由器。
步骤S304,网络设备基于第二IPv6数据包的目的地址转发第二IPv6数据包。
在一个实施例中,网络设备基于第二IPv6数据包的目的地址转发第二IPv6数据包,包括:根据第二IPv6数据包的目的地址,查找路由表确定第二IPv6数据包下一跳对应的地址;将第二IPv6数据包发往下一跳对应的地址指示的路由器。
在一个实施例中,如图4所示,得到第二IPv6数据包之后,还包括步骤S405和步骤S406。
步骤S405,网络设备在接收到用于反馈第二IPv6数据包的第三IPv6数据包的情况下,将第三IPv6数据包的第二目的地址转换为第一源地址,将第三IPv6数据包的第二源地址中包括的XLAT前缀转换为NAT前缀,从而得到第三IPv6数据包转换网络地址后的第四IPv6数据包。
第二IPv6数据包经纯IPv6骨干网络传输,并在纯IPv6骨干网络边缘由边缘路由器转换为IPv4数据包,之后,该IPv4数据包被路由至目的IPv4地址对应的IPv4服务器。IPv4服务器接收到该IPv4数据包后生成相应的反馈IPv4数据包,该反馈IPv4数据包经纯IPv6骨干网络的边缘路由器转换为第三IPv6数据包,并经纯IPv6骨干网络传输至网络设备。
网络设备可以接收第三IPv6数据包,也可以接收其他IPv6数据包,因而,在网络设备接收到IPv6数据包后,需要确定接收到的IPv6数据包是否为第三IPv6数据包。关于如何确定接收到的IPv6数据包是否为第三IPv6数据包本公开实施例不做限制,任何一种可以确定接收到的IPv6数据包是否为第三IPv6数据包的方式均可应用在此。示例性地,网络设备在对第三IPv6数据包的网络地址进行处理之前,还包括:接收待识别IPv6数据包;确定待识别IPv6数据包的对应的目的端口号,以及待识别IPv6数据包的源地址;基于该目的端口号与待识别IPv6数据包的源地址,确定待识别IPv6数据包为第三IPv6数据包。
在互联网通信领域,数据包在发送时对应有发送端的端口号和接收端的端口号。例如,第二IPv6数据包对应的源端口号为5001,目的端口号为10,则第三IPv6数据包的源端口号应为10,目的端口号应为5001。
待识别IPv6数据包的目的端口号,以及源地址可以直接从待识别IPv6数据包中解析出。在一个实施例中,网络设备基于该目的端口号与待识别IPv6数据包的源地址,确定待识别IPv6数据包为第三IPv6数据包,包括:当待识别IPv6数据包的目的端口号与第二IPv6数据包的源端口号相同、且待识别IPv6数据包的源地址中包括的IPv4地址,与第二IPv6数据包的目的地址中包括的IPv4地址相同的情况下,确定待识别IPv6数据包为第三IPv6数据包。
网络设备在接收到用于反馈第二IPv6数据包的第三IPv6数据包的情况下,根据第一IPv6数据包与第二IPv6数据包之间的映射关系,将第三IPv6数据包的第二目的地址转换为第一源地址。例如,第二目的地址为2001:db8:3::192.0.2.33,第一源地址为240e::1,则将第二目的地址转换为第一源地址后,第三IPv6数据包新的目的地址为240e::1。
在一个实施例中,网络设备在将第三IPv6数据包的第二源地址中包括的XLAT前缀转换为NAT前缀之前,还包括:确定第二源地址中包括的目的IPv4地址;根据IPv4地址确定第二源地址中包括的XLAT前缀。之后,将第二源地址中包括的XLAT前缀转换为网络设备对应的NAT前缀,从而得到第三IPv6数据包转换网络地址后的第四IPv6数据包。
需要说明的是,第二源地址中包括的XLAT前缀为目的IPv4地址对应的XLAT前缀;或者,第二源地址中包括的XLAT前缀为本地XLAT前缀,本地XLAT前缀为网络设备对应的本地前缀。
例如,第二源地址中包括的XLAT前缀为目的IPv4地址对应的XLAT前缀时,第二源地址为2001:db8:2::203.0.113.1,NAT前缀为2001:db8:1::/96,将第三IPv6数据包的第二源地址中包括的XLAT前缀转换为NAT前缀得到的新的源地址为2001:db8:1::203.0.113.1,该地址与第一IPv6数据包中的目的地址相同。
例如,第二源地址中包括的XLAT前缀为本地XLAT前缀时,第二源地址为2001:db8:3::203.0.113.1,NAT前缀为2001:db8:1::/96,将第三IPv6数据包的第二源地址中包括的XLAT前缀转换为NAT前缀得到的新的源地址为2001:db8:1::203.0.113.1,该地址与第一IPv6数据包中的目的地址相同。
步骤S406,网络设备基于第四IPv6数据包的目的地址转发第四IPv6数据包。
在一个实施例中,基于第四IPv6数据包的目的地址转发第四IPv6数据包,包括:根据第四IPv6数据包的目的地址查找路由表,确定出第四IPv6数据包下一跳的地址,将第四IPv6数据包发往下一跳的地址对应的路由器。
基于本公开提供的数据转发方法,使得IPv6单栈网络与纯IPv6骨干网络的对接方式,从如图1所示的对接方式转变为如图5所示的对接方式。图5中,NAT66为本公开实实施例中网络设备的一种。
在图5所示的IPv6单栈网络与纯IPv6骨干网络的对接方式下,数据包的传输过程如图6所示,在图6中,IPv6终端对应的IPv6地址为240e::1,网络设备为NAT66路由器且NAT66路由器对应的NAT前缀为2001:db8:1::/96,NAT66路由器配置的本地IPv4地址池中的一个IPv4地址为192.0.2.33,NAT66路由器对应的本地XLAT前缀为2001:db8:3::/96,需要访问的IPv4服务器的IPv4地址为203.0.113.1,IPv4服务器对应的XLAT前缀为2001:db8:2::/96。
IPv6终端产生用于访问IPv4服务器的第一数据包,第一数据包的源地址为IPv6终端的IPv6地址240e::1。第一数据包的目的地址包括NAT66对应的NAT前缀和IPv4服务器的IPv4地址,为2001:db8:1::203.0.113.1。
第一数据包被路由至NAT66路由器,NAT66路由器将第一数据包的源地址转换为IPv4服务器对应的XLAT前缀和本地地址池中的一个IPv4地址的组合,转换后的源地址为2001:db8:2::192.0.2.33。NAT66路由器将第一数据包的目的地址中的NAT前缀转换为IPv4服务器对应的XLAT前缀,转换后的目的地址为2001:db8:2::203.0.113.1,从而得到第一数据包转换网络地址后的第二数据包。
第二数据包被NAT66路由器发往下一跳对应的路由器,再经纯IPv6骨干网络传输后,在纯IPv6骨干网络边缘的、具备XLAT功能的边缘路由器处被转换为IPv4数据包,并发往IPv4服务器。IPv4服务器接收到IPv4数据包后,生成对应的反馈IPv4数据包,并将反馈IPv4数据包路由至纯IPv6骨干网络边缘的边缘路由器。经边缘路由器处理后,该反馈IPv4数据包被转换为第三数据包,第三数数据包的源地址包括NAT66路由器对应的本地XLAT前缀和IPv4服务器的IPv4地址2001:db8:3::203.0.113.1,目的地址包括NAT66路由器对应的本地XLAT前缀和NAT66路由器对应的一个IPv4地址2001:db8:3::192.0.2.33。
经纯IPv6骨干网络传输后,第三数据包被NAT66路由器接收,NAT66路由器将第三数据包的源地址中包括的本地XLAT前缀转换为NAT前缀,转换后的源地址为2001:db8:1::203.0.113.1。NAT66路由器将第三数据包的目的地址转换为IPv6终端的IPv6地址,转换后的目的地址为240e::1,从而得到第三数据包转换网络地址后的第四数据包。
NAT66路由器根据第四数据包的目的地址,将第四数据包发往IPv6终端。
在一些实施例中,网络设备同样支持IPv6终端访问IPv6服务器。
本公开的实施例所提供的方法,接收到具有第一源地址和第一目的地址的第一IPv6数据后,将第一目的地址中包括的NAT前缀转换为目的IPv4地址对应的XLAT前缀,将第一源地址转换为参考XLAT地址与本地IPv4地址池中的一个IPv4地址的组合地址,从而得到第一IPv6数据包转换网络地址后的第二IPv6数据包,使得用于访问IPv4服务器的数据包在接入纯IPv6骨干网络的过程中,网络地址只转换了一次,减少了数据包接入纯IPv6骨干网络的过程中数据包的转发的次数,数据转发效率高。
进一步地,降低了数据包的网络地址出错的概率,且由于网络地址只转换了一次,所以在数据包的网络地址出错后更容易确定错误原因。
进一步地,基于本公开的实施例所提供的技术方案,使得从IPv6单栈网络发出的、用于访问IPv4服务器的数据包在接入纯IPv6骨干网络时,实现了从IPv6数据包直接到IPv6数据包的转换,消除了IPv6单栈网络与IPv6骨干网络对接过程中IPv4网络的出现,从而减轻了连接IPv6单栈网络与IPv6骨干网络的网络中间设备,由于额外配置IPv4协议带来的配置和运维的复杂度。
基于同一发明构思,本公开实施例中还提供了一种数据转发装置,如下面的实施例所述。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
图7示出本公开实施例中一种数据转发装置示意图,如图7所示,该装置包括:
接收模块701,用于接收第一IPv6数据包,第一IPv6数据包的网络地址包括第一源地址和第一目的地址,接收模块,用于接收第一IPv6数据包,第一IPv6数据包的网络地址包括第一源地址和第一目的地址,第一目的地址包括网络地址转换NAT前缀和目的IPv4地址;
第一确定模块702,用于根据目的IPv4地址确定对应的XLAT前缀;
转换模块703,用于将第一目的地址中的NAT前缀转换为目的IPv4地址对应的XLAT前缀;
转换模块703,还用于将第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,从而得到第一IPv6数据包转换网络地址后的第二IPv6数据包;
转发模块704,用于基于第二IPv6数据包的目的地址转发第二IPv6数据包。
在本公开的一个实施例中,该装置还包括:
第二确定模块705,用于从第一目的地址中确定出NAT前缀;
第二确定模块705,还用于根据NAT前缀,从第一目的地址中确定出目的IPv4地址。
在本公开的一个实施例中,参考XLAT前缀为本地XLAT前缀;或者,参考XLAT前缀为目的IPv4地址对应的XLAT前缀。
在本公开的一个实施例中,该装置还包括:
转换模块703,还用于在接收到用于反馈第二IPv6数据包的第三IPv6数据包的情况下,将第三IPv6数据包的第二目的地址转换为第一源地址,将第三IPv6数据包的第二源地址中包括的XLAT前缀转换为NAT前缀,从而得到第三IPv6数据包转换网络地址后的第四IPv6数据包。
在本公开的一个实施例中,该装置还包括:
接收模块701,还用于接收待识别IPv6数据包;
第三确定模块706,用于确定待识别IPv6数据包的对应的目的端口号,以及待识别IPv6数据包的源地址;
第三确定模块706,还用于基于目的端口号与待识别IPv6数据包的源地址,确定待识别IPv6数据包为第三IPv6数据包。
在本公开的一个实施例中,第二源地址中包括的XLAT前缀为目的IPv4地址对应的XLAT前缀;或者,第二源地址中包括的XLAT前缀为本地XLAT前缀。
在本公开的一个实施例中,转发模块704,还用于基于第四IPv6数据包的目的地址转发第四IPv6数据包。
本公开的实施例所提供的技术方案,接收到具有第一源地址和第一目的地址的第一IPv6数据后,将第一目的地址中包括的NAT前缀转换为目的IPv4地址对应的XLAT前缀,将第一源地址转换为参考XLAT地址与本地IPv4地址池中的一个IPv4地址的组合地址,从而得到第一IPv6数据包转换网络地址后的第二IPv6数据包,使得用于访问IPv4服务器的数据包在接入纯IPv6骨干网络的过程中,网络地址只转换了一次,减少了数据包接入纯IPv6骨干网络的过程中数据包的转发的次数,数据转发效率高。
进一步地,降低了数据包的网络地址出错的概率,且由于网络地址只转换了一次,所以在数据包的网络地址出错后更容易确定错误原因。
进一步地,基于本公开的实施例所提供的技术方案,使得从IPv6单栈网络发出的、用于访问IPv4服务器的数据包在接入纯IPv6骨干网络时,实现了从IPv6数据包直接到IPv6数据包的转换,消除了IPv6单栈网络与IPv6骨干网络对接过程中IPv4网络的出现,从而减轻了连接IPv6单栈网络与IPv6骨干网络的网络中间设备,由于额外配置IPv4协议带来的配置和运维的复杂度。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图8来描述根据本公开的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备840(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本公开上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围由所附的权利要求指出。
Claims (10)
1.一种数据转发方法,其特征在于,包括:
接收第一IPv6数据包,所述第一IPv6数据包的网络地址包括第一源地址和第一目的地址,所述第一目的地址包括网络地址转换NAT前缀和目的IPv4地址;
根据所述目的IPv4地址确定对应的XLAT前缀,将所述第一目的地址中的NAT前缀转换为所述目的IPv4地址对应的XLAT前缀;
将所述第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,从而得到所述第一IPv6数据包转换网络地址后的第二IPv6数据包;
基于所述第二IPv6数据包的目的地址转发所述第二IPv6数据包。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目的IPv4地址确定对应的XLAT前缀之前,还包括:
从所述第一目的地址中确定出所述NAT前缀;
根据所述NAT前缀,从所述第一目的地址中确定出所述目的IPv4地址。
3.根据权利要求1或2所述的方法,其特征在于,所述参考XLAT前缀为本地XLAT前缀;
或者,所述参考XLAT前缀为所述目的IPv4地址对应的XLAT前缀。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到用于反馈所述第二IPv6数据包的第三IPv6数据包的情况下,将所述第三IPv6数据包的第二目的地址转换为所述第一源地址,将所述第三IPv6数据包的第二源地址中包括的XLAT前缀转换为所述NAT前缀,从而得到所述第三IPv6数据包转换网络地址后的第四IPv6数据包。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收待识别IPv6数据包;
确定所述待识别IPv6数据包的目的端口号,以及所述待识别IPv6数据包的源地址;
基于所述目的端口号与所述待识别IPv6数据包的源地址,确定所述待识别IPv6数据包为所述第三IPv6数据包。
6.根据权利要求4所述的方法,其特征在于,所述第二源地址中包括的XLAT前缀为所述目的IPv4地址对应的XLAT前缀;
或者,所述第二源地址中包括的XLAT前缀为本地XLAT前缀。
7.根据权利要求4-6任一所述的方法,其特征在于,所述方法还包括:
基于所述第四IPv6数据包的目的地址转发所述第四IPv6数据包。
8.一种数据转发装置,其特征在于,包括:
接收模块,用于接收第一IPv6数据包,所述第一IPv6数据包的网络地址包括第一源地址和第一目的地址,所述第一目的地址包括网络地址转换NAT前缀和目的IPv4地址;
第一确定模块,用于根据所述目的IPv4地址确定对应的XLAT前缀;
转换模块,用于将所述第一目的地址中的NAT前缀转换为所述目的IPv4地址对应的XLAT前缀;
所述转换模块,还用于将所述第一源地址转换为参考XLAT前缀和本地IPv4地址池中的一个IPv4地址的组合地址,从而得到所述第一IPv6数据包转换网络地址后的第二IPv6数据包;
转发模块,用于基于所述第二IPv6数据包的目的地址转发所述第二IPv6数据包。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7中任意一项所述的数据转发方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任意一项所述的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210470479.XA CN114945013B (zh) | 2022-04-28 | 2022-04-28 | 数据转发方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210470479.XA CN114945013B (zh) | 2022-04-28 | 2022-04-28 | 数据转发方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114945013A true CN114945013A (zh) | 2022-08-26 |
CN114945013B CN114945013B (zh) | 2023-10-27 |
Family
ID=82906255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210470479.XA Active CN114945013B (zh) | 2022-04-28 | 2022-04-28 | 数据转发方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114945013B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931658A (zh) * | 2009-06-26 | 2010-12-29 | 中国移动通信集团公司 | 具有IPv4应用的IPv6主机进行通信的方法与装置 |
CN102904976A (zh) * | 2012-10-23 | 2013-01-30 | 清华大学 | 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法 |
CN103856581A (zh) * | 2014-03-26 | 2014-06-11 | 清华大学 | 一种用户侧设备的翻译封装自适应算法 |
CN105208140A (zh) * | 2014-06-30 | 2015-12-30 | 中国电信股份有限公司 | 用于发送数据的方法、装置和系统 |
WO2016202059A1 (zh) * | 2015-06-19 | 2016-12-22 | 中兴通讯股份有限公司 | 一种访问IPv6网络的方法及网关 |
CN109218467A (zh) * | 2018-11-15 | 2019-01-15 | 锐捷网络股份有限公司 | 一种网络地址转换方法及芯片 |
US10880264B1 (en) * | 2018-10-16 | 2020-12-29 | Juniper Networks, Inc. | Customer-side and provider-side translation of Internet Protocol addresses without pre-shared prefixes |
CN113949744A (zh) * | 2020-07-17 | 2022-01-18 | 瞻博网络公司 | 使用端口控制协议通信的动态互联网协议转换 |
-
2022
- 2022-04-28 CN CN202210470479.XA patent/CN114945013B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931658A (zh) * | 2009-06-26 | 2010-12-29 | 中国移动通信集团公司 | 具有IPv4应用的IPv6主机进行通信的方法与装置 |
CN102904976A (zh) * | 2012-10-23 | 2013-01-30 | 清华大学 | 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法 |
CN103856581A (zh) * | 2014-03-26 | 2014-06-11 | 清华大学 | 一种用户侧设备的翻译封装自适应算法 |
CN105208140A (zh) * | 2014-06-30 | 2015-12-30 | 中国电信股份有限公司 | 用于发送数据的方法、装置和系统 |
WO2016202059A1 (zh) * | 2015-06-19 | 2016-12-22 | 中兴通讯股份有限公司 | 一种访问IPv6网络的方法及网关 |
US10880264B1 (en) * | 2018-10-16 | 2020-12-29 | Juniper Networks, Inc. | Customer-side and provider-side translation of Internet Protocol addresses without pre-shared prefixes |
CN109218467A (zh) * | 2018-11-15 | 2019-01-15 | 锐捷网络股份有限公司 | 一种网络地址转换方法及芯片 |
CN113949744A (zh) * | 2020-07-17 | 2022-01-18 | 瞻博网络公司 | 使用端口控制协议通信的动态互联网协议转换 |
Non-Patent Citations (4)
Title |
---|
H3C: "NPTv6典型配置举例", pages 1 - 12, Retrieved from the Internet <URL:https://www.h3c.com/cn/d_202202/1553552_30005_0.htm> * |
H3C: "对比文件公开时间", pages 1, Retrieved from the Internet <URL:https://www.h3c.com/cn/Service/Document_Software/Document_Center/Home/Security/00-Public/Configure/Operation_Manual/H3C_WCG(V7)/08/> * |
何炜;王立荣;: "基于NAT-PT及6to4隧道的数据包协同调度算法设计", 工业控制计算机, no. 05 * |
张千里;姜彩萍;王继龙;李星;: "IPv6地址结构标准化研究综述", 计算机学报, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
CN114945013B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114124817B (zh) | 基于边缘计算的通信方法、装置、介质及电子设备 | |
CN111131037B (zh) | 基于虚拟网关的数据传输方法、装置、介质与电子设备 | |
US10122676B2 (en) | System and method for suppressing DNS requests | |
CN111262784B (zh) | 报文转发方法、报文转发装置、存储介质及电子设备 | |
US20170353331A1 (en) | System And Method For Suppressing DNS Requests | |
JP2022551147A (ja) | メッセージ転送及びドメイン名アドレスクエリ | |
US20100085984A1 (en) | Method and ip translator for translating protocol to support compatibility between networks each employing different types of protocols | |
CN111314450A (zh) | 数据的传输方法、装置、电子设备和计算机存储介质 | |
CN114518969A (zh) | 进程间通信方法、系统、存储介质和计算机设备 | |
CN108881247B (zh) | 报文转换方法、装置、网关设备及存储介质 | |
CN114945013B (zh) | 数据转发方法、装置、电子设备及计算机可读存储介质 | |
CN115225606B (zh) | 一种容器云平台的跨网络协议的域名访问方法和系统 | |
CN113497764B (zh) | 业务路由方法、系统、计算机存储介质和电子设备 | |
CN114025370B (zh) | 数据报文传输方法、介质、系统和计算设备 | |
JP2019522416A (ja) | Dnsリクエストの抑制のためのシステム及び方法 | |
JP4811884B2 (ja) | 異なるインターネット通信スタック・インスタンスの間でデータ・パケットを経路指定するための方法及び装置 | |
CN111988221B (zh) | 数据传输方法、数据传输装置、存储介质与电子设备 | |
CN102546845B (zh) | 业务访问方法、装置及系统 | |
CN113114565B (zh) | 数据报文转发方法及装置、存储介质及电子设备 | |
CN117061276A (zh) | 组播地址的生成方法、装置、设备及介质 | |
CN116846840A (zh) | 多域纯IPv6网络中业务流量的交互方法、装置、设备和介质 | |
JP2014120828A (ja) | アドレス変換方法、及びアドレス変換装置 | |
CN117176688A (zh) | 寻址方法、装置、电子设备及计算机可读存储介质 | |
CN116319044A (zh) | Ip地址拦截方法、装置、电子设备和可读介质 | |
CN117857527A (zh) | 基于http协议的本地代理实现虚拟机访问元数据服务的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |