CN111629084B - 数据传输方法和装置、存储介质及电子设备 - Google Patents

数据传输方法和装置、存储介质及电子设备 Download PDF

Info

Publication number
CN111629084B
CN111629084B CN202010738792.8A CN202010738792A CN111629084B CN 111629084 B CN111629084 B CN 111629084B CN 202010738792 A CN202010738792 A CN 202010738792A CN 111629084 B CN111629084 B CN 111629084B
Authority
CN
China
Prior art keywords
address
protocol type
data packet
network
server
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
CN202010738792.8A
Other languages
English (en)
Other versions
CN111629084A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010738792.8A priority Critical patent/CN111629084B/zh
Publication of CN111629084A publication Critical patent/CN111629084A/zh
Application granted granted Critical
Publication of CN111629084B publication Critical patent/CN111629084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据传输方法和装置、存储介质及电子设备。其中,该方法包括:在第一母机上获取第一网络中的第一客户端发送的第一数据包,在第一母机上将第一数据包中的源地址由第一协议类型的第一地址转换为第二协议类型的第一地址,并将第一数据包中的目的地址由第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,在第一母机上将第二数据包通过第二母机发送给第一服务器,以通过上述数据传输方式,根据第一客户端发送的数据包消息,使得第一客户端获取由第一服务器提供的服务。本发明解决了网络接入方案复杂,成本较高的技术问题。

Description

数据传输方法和装置、存储介质及电子设备
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据传输方法和装置、存储介质及电子设备。
背景技术
目前相关技术中,不同的网络之间传输数据通过预定的协议地址进行传输,例如,在上述网络为虚拟私有网络(Virtual Private Cloud,VPC)时,不同虚拟私有云网络间完全逻辑隔离,地址段也可能重叠。当前一个虚拟私有网络需要向另外一个虚拟私有网络提供网络数据传输服务,一般可以采用FULLNAT的方式进行地址映射实现。
目前技术方案是基于FULLNAT转换实现VPC间内网服务接入,存在以下缺陷:
1、FULLNAT转换需要维护不同客户端与对应端口的映射关系,为有状态的转换,考虑到故障场景,需要有会话同步机制保障客户端与服务节点之间连接的连续性。
2、FULLNAT转换过程中并发连接数受到服务提供者提供的转换后源地址范围限制。
3、FULLNAT转换会引入复杂的流量扩容模型,进而导致服务接入性能瓶颈。
因此,基于FULLNAT转换实现VPC间内网服务接入,其存在VPC服务接入方案复杂,成本较高的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据传输方法和装置、存储介质及电子设备,以至少解决网络接入方案复杂,成本较高的技术问题。
根据本发明实施例的一个方面,提供了一种数据传输方法,包括:在第一母机上获取所述第一网络中的第一客户端发送的第一数据包,其中,所述第一数据包中的源地址为所述第一客户端在所述第一网络中的第一协议类型的第一地址,所述第一数据包中的目的地址为第二网络中的第一服务器在所述第一网络中所映射的第一协议类型的第二地址,所述第一服务器提供目标服务;在所述第一母机上将所述第一数据包中的所述源地址由所述第一协议类型的第一地址转换为第二协议类型的第一地址,并将所述第一数据包中的所述目的地址由所述第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,其中,所述第二协议类型的第一地址是通过预留的第二协议类型的网段的前缀、所述第一网络的第一标识、以及所述第一协议类型的第一地址所表示的第二协议类型的地址,所述第二协议类型的第二地址为所述第一服务器为所述目标服务所监听的第二协议类型的地址;在所述第一母机上将所述第二数据包通过第二母机发送给所述第一服务器,其中,所述第二母机为所述第二网络的母机。
根据本发明实施例的另一方面,还提供了一种数据传输装置,包括:
获取模块,用于在第一母机上获取所述第一网络中的第一客户端发送的第一数据包,其中,所述第一数据包中的源地址为所述第一客户端在所述第一网络中的第一协议类型的第一地址,所述第一数据包中的目的地址为第二网络中的第一服务器在所述第一网络中所映射的第一协议类型的第二地址,所述第一服务器提供目标服务;
转换模块,用于在所述第一母机上将所述第一数据包中的所述源地址由所述第一协议类型的第一地址转换为第二协议类型的第一地址,并将所述第一数据包中的所述目的地址由所述第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,其中,所述第二协议类型的第一地址是通过预留的第二协议类型的网段的前缀、所述第一网络的第一标识、以及所述第一协议类型的第一地址所表示的第二协议类型的地址,所述第二协议类型的第二地址为所述第一服务器为所述目标服务所监听的第二协议类型的地址;
发送模块,用于在所述第一母机上将所述第二数据包通过第二母机发送给所述第一服务器,其中,所述第二母机为所述第二网络的母机。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据传输方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过计算机程序执行上述的数据传输方法。
在本发明实施例中,采用在第一母机上获取第一网络中的第一客户端发送的第一数据包,在第一母机上将第一数据包中的源地址由第一协议类型的第一地址转换为第二协议类型的第一地址,并将第一数据包中的目的地址由第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,在第一母机上将第二数据包通过第二母机发送给第一服务器的方式,替代了相关技术中使用FULLNAT的方式进行地址映射实现多个网络之间的数据传输,解决了相关技术中存在的网络服务接入方案复杂,成本较高的技术问题,达到了通过监听第二类型协议地址即可对其他网络提供其他网络所需的内网服务,摒弃了复杂的有状态的FULLNAT映射,简化了转换机制方案,消除了状态同步场景,提升了转换效率,并且可以在母机上分布式实现,去除了集中式网关,消除网关带来的性能瓶颈和复杂的扩容模型,同时缩减了网关成本消耗。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据传输方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的数据传输方法的流程示意图;
图3是根据本发明实施例的一种可选的数据传输方法的示意图;
图4是根据本发明实施例的另一种可选的数据传输方法的示意图;
图5是根据本发明实施例的另一种可选的数据传输方法的流程示意图;
图6是根据本发明实施例的又一种可选的数据传输方法的示意图;
图7是根据本发明实施例的又一种可选的数据传输方法的流程示意图;
图8是根据本发明实施例的又一种可选的数据传输方法的流程示意图;
图9是根据本发明实施例的又一种可选的数据传输方法的流程示意图;
图10是根据本发明实施例的一种可选的数据传输装置的结构示意图;
图11是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
虚拟私有云(VPC):是云上构建的专属网络空间,为用户在虚拟云上的资源提供网络服务,不同虚拟私有云之间完全逻辑隔离。
私有连接(Private Link):私有连接是云上虚拟私有网络之间进行内网服务访问的网络通道。利用私有连接,可以让虚拟私有网络之间通过内网进行单向服务互访。
Underlay: 云基础架构层,用于承载用户流量的传统的IP网络,提供IP包的转发。
Overlay: 虚拟化网络层,用于对物理网络进行隧道叠加,逻辑划分为虚拟网络分片,满足基于用户的个性化需求。
云计算(cloud computing)是一种计算模式,指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing )、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(UtilityComputing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统 (以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
私有云(Private Cloud)是将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源。创建私有云,除了硬件资源外,一般还有云设备(IaaS,Infrastructure as a Service,基础设施即服务)软件。
私有云计算同样包含云硬件、云平台、云服务三个层次。不同的是,云硬件是用户自己的个人电脑或服务器,而非云计算厂商的数据中心。云计算厂商构建数据中心的目的是为千百万用户提供公共云服务,因此需要拥有几十上百万台服务器。私有云计算,对个人来说只服务于亲朋好友,对企业来说只服务于本企业员工以及本企业的客户和供应商,因此个人或企业自己的个人电脑或服务器已经足够用来提供云服务。
公有云(Public Cloud)通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过 Internet 使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
混合云(Hybrid Cloud)融合了公有云(Public Cloud)和私有云(PrivateCloud),是近年来云计算的主要模式和发展方向。私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。
下面结合实施例对本发明进行说明:
根据本发明实施例的一个方面,提供了一种数据传输方法,可选地,作为一种可选的实施方式,上述数据传输方法可以但不限于应用于如图1所示的环境中。
根据本发明实施例的一个方面,提供了一种数据传输方法,可选地,在本实施例中,上述数据传输方法可以应用于如图1所示的由服务器101和用户终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为用户终端或用户终端上安装的客户端提供服务,目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络,用户终端103可以是配置有目标客户端的终端,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器,数据传输的应用程序107通过用户终端103进行显示,可通过终端上配置的数据传输的应用程107的入口,使用上述数据传输服务,上述仅是一种示例,本实施例中对此不作任何限定。
上述服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可选地,作为一种可选的实施方式,如图2所示,上述数据传输方法包括:
S202,在第一母机上获取第一网络中的第一客户端发送的第一数据包,其中,第一数据包中的源地址为第一客户端在第一网络中的第一协议类型的第一地址,第一数据包中的目的地址为第二网络中的第一服务器在第一网络中所映射的第一协议类型的第二地址,第一服务器提供目标服务;
S204,在第一母机上将第一数据包中的源地址由第一协议类型的第一地址转换为第二协议类型的第一地址,并将第一数据包中的目的地址由第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,其中,第二协议类型的第一地址是通过预留的第二协议类型的网段的前缀、第一网络的第一标识、以及第一协议类型的第一地址所表示的第二协议类型的地址,第二协议类型的第二地址为第一服务器为目标服务所监听的第二协议类型的地址;
S206,在第一母机上将第二数据包通过第二母机发送给第一服务器,其中,第二母机为第二网络的母机。
可选地,在本实施例中,上述目标服务可以包括但不限于云内网服务,按照服务范围可以分为全局服务,网络内服务等。
可选地,在本实施例中,上述第一协议类型可以包括但不限于IPv4协议,第二协议类型可以包括但不限于IPv6协议。
可选地,在本实施例中,上述网络可以包括但不限于云上租户使用的虚拟私有网络,可以在云上实现网络层面的逻辑隔离,在虚拟网络中购买资源,保证虚拟网络中的资源互访隔离。
下面以上述网络为虚拟私有云网络、第一网络为第一VPC、第二网络为第二VPC、上述第一协议类型为IPv4协议、上述第二协议类型为IPv6协议、用户终端为云上虚拟机为例,对本实施例进行进一步说明:
可选地,在本实施例中,上述全局服务可以包括但不限于服务被映射至云上所有VPC中的服务,换言之,所有VPC中的客户端可以使用相同的保留网段地址访问该全局服务。
可选地,在本实施例中,上述数据传输方法可以通过包括但不限于使用API(应用程序接口,Application Programming Interface)来实现控制或操作。
可选地,在本实施例中,上述母机为上述VPC所属的实体机,上述客户端可以包括但不限于视频客户端、即时通信客户端、浏览器客户端、教育客户端等,上述服务器可以包括但不限于提供上述服务的服务节点等。
可选地,在本实施例中,上述第一协议类型的第一地址为第一IPv4地址,上述第二协议类型的第一地址为第一IPv6地址,上述第一协议类型的第二地址为第二IPv4地址,第二协议类型的第二地址为第二IPv6地址,上述在第一母机上将第一数据包中的源地址由第一IPv4地址转换为第一IPv6地址,并将第一数据包中的目的地址由第二IPv4地址转换为第二IPv6地址可以包括但不限于按照云上母机进行分布式实现,还可以使用集中式网关来实现。
可选地,在本实施例中,上述第一IPv6地址是通过预留的IPv6网段的前缀、第一VPC的第一标识、以及第一IPv4地址所表示的IPv6地址,例如,保留一段/64 IPv6 IP,先将上述服务映射成上述第一VPC内的IPv4 VIP。在客户端发出IPv4包,将源地址配置为上述客户端的IPv4地址,目的地址为IPv4 VIP,将上述第一数据包转换成上述第二数据包可以包括但不限于将源IPv6配置为由保留网段,VPC ID和源IPv4地址组合而成,前64位为保留网段,主机地址的前32位为VPC ID,后32为原有IPv4地址,组合出来的IPv6源地址全网唯一。目的IPv6地址被转换为服务器监听的IPv6地址,进而提供为IPv4客户端接入IPv6私有连接,以实现获取上述全局服务的能力。
例如,将上述IPv6网段的前缀设置为ZZ,VPC ID设置为10,IPv4设置为10.1.1.1,则上述对应的IPv6地址则为ZZ:VPCID 10:10.1.1.1。
上述仅是一种示例,具体数值以及IP地址的设置方式可以通过预定算法实现,本发明对此不做具体限定。
图3是根据本发明实施例的又一种可选的数据传输方法的示意图,如图3所示,其中,在云上保留公有IPv6网段ZZ::/64用于内网服务访问。第二VPC中的第一服务器提供上述目标服务,第一服务器监听在的IPv6 VIP Y,Y属于第二VPC的IPv6 CIDR(ClasslessInter-Domain Routing,无类别域间路由)。该服务在第一VPC中被映射成IPv4地址169.254.1.1,服务节点即为上述第一服务器,VM(Virtual Machine,虚拟机)即为运行上述VPC的虚拟机,VPC-A对应于上述第一VPC,VPC-B对应于上述第二VPC,上述第一VPC与第二VPC通过私有连接进行数据交换,上述仅是一种示例,本发明对此不做具体限定。
可选地,在本实施例中,图3中第一VPC和第二VPC通过私有连接进行互相访问,私有连接是云上虚拟私有网络之间进行内网服务访问的网络通道。利用私有连接,可以让虚拟私有网络之间通过内网进行服务互访,保证数据不暴露在公共 网络中,从而提高与云应用程序共享的数据的安全性。
可选地,在本实施例中,上述步骤S202至步骤S206为上述第一客户端获取服务的上行数据传输方法,下行数据传输方法可以但不限于与上述上行数据传输方法相同或者不同。
通过本实施例,采用在第一虚拟私有云VPC的第一母机上获取第一VPC中的第一客户端发送的第一数据包,在第一母机上将第一数据包中的源地址由第一IPv4地址转换为第一IPv6地址,并将第一数据包中的目的地址由第二IPv4地址转换为第二IPv6地址,得到第二数据包,在第一母机上将第二数据包通过第二母机发送给第一服务器的方式,替代了相关技术中使用FULLNAT的方式进行地址映射实现多个VPC之间的数据传输,解决了相关技术中存在的VPC服务接入方案复杂,成本较高的技术问题,达到了通过监听IPv6地址即可对其他VPC提供其他VPC所需的内网云服务,摒弃了复杂的有状态的FULLNAT映射,简化了转换机制方案,消除了状态同步场景,提升了转换效率,并且可以在母机上分布式实现,去除了集中式网关,消除网关带来的性能瓶颈和复杂的扩容模型,同时缩减了网关成本消耗。
在一个可选的实施例中,在第一母机上将第一数据包中的源地址由第一IPv4地址转换为第一IPv6地址,并将第一数据包中的目的地址由第二IPv4地址转换为第二IPv6地址,得到第二数据包之前,上述方法还包括:在第一母机上的目标表中查找与第一IPv4对应的第一IPv6地址,并在目标表中查找与第二IPv4地址对应的第二IPv6地址。
可选地,在本实施例中,上述第一母机上的目标表可以包括但不限于预设的NAT64表,上述目标表中存储一个或者多个客户端ID以及与其对应的第一IPv4地址、第一IPv6地址,上述目标表还可以包括但不限于存储第二IPv4地址、第二IPv6地址以及其他相关信息。上述目标表由第一母机,也即,对应于客户端的母机来实现维护与更新。
需要说明的是,还可以在NAT64表中仅记录IPv4地址和IPv6地址的对应关系,进而查找与第一IPv4对应的第一IPv6地址,并在目标表中查找与第二IPv4地址对应的第二IPv6地址。
通过本实施例,通过预设算法根据上述对应关系实现获取相对应的IPv4地址与IPv6地址,上述预设算法可以包括但不限于当前或者未来能够实现转换不同协议类型之间的地址转换的算法,因此,能够达到缩小上述目标表的表项,节约内存资源的技术效果。
在一个可选的实施例中,上述方法还包括:在第一母机上获取第一IPv4和第一IPv6地址;在第一服务器提供目标服务的情况下,在第一母机上获取第二IPv4地址和第二IPv6地址;在第一母机上的目标表中记录具有对应关系的第一IPv4和第一IPv6地址,以及具有对应关系的第二IPv4地址和第二IPv6地址。
可选地,在本实施例中,上述第一IPv4地址对应于上述第一客户端在对应VPC中的IPv4地址,上述第一IPv6地址对应于上述第一客户端基于前述对应关系将上述第一IPv4转换后的IPv6地址,上述第二IPv4地址对应于上述第一服务器基于前述对应关系将上述第二IPv6地址转换后的IPv4地址,上述第二IPv6地址对应于上述第一服务器所监听的IPv6地址。
可选地,在本实施例中,图4是根据本发明实施例的另一种可选的数据传输方法的示意图,如图4所示,NAT64表中记录有与第一IPv4地址402对应的第一IPv6地址404,与第二IPv4地址406对应的第二IPv6地址408。
通过本实施例,服务器只需要监听IPv6地址即可以对其他VPC提供v4访问内网云服务。
在一个可选的实施例中,在第一母机上将第二数据包通过第二母机发送给第一服务器,包括:在第一母机上将第二数据包封装为第三数据包,其中,第三数据包中的源地址为第一母机的IP地址,第三数据包中的目的地址为第二母机的IP地址,第三数据包中包括第二数据包;在第一母机上将第三数据包发送给第二母机;在第二母机上将第三数据包解封装为第二数据包,并根据第二数据包中的第二IPv6地址,将第二数据包发送给第一服务器。
可选地,在本实施例中,上述第一客户端为通过IPv6进行服务访问的客户端,上述第二数据包经客户端所在母机上查找预设的子母机路由表,母机发出overlay封装后的第三数据包,其中,外层源地址和目的地址为上述第一客户端和第一服务器所在母机的地址,内层包不变;在上述第三数据包通过云上underlay路由转发至服务器所在母机后,解除overlay封装,根据内层数据包的目的IPv6地址被发送到上述第一服务器。
通过本实施例,可以解决相关技术中存在的VPC服务接入方案复杂,成本较高的技术问题,达到简化转换机制,消除状态同步场景,提升转换效率的技术效果。
在一个可选的实施例中,图5是根据本发明实施例的另一种可选的数据传输方法的流程示意图,如图5所示,在第一母机上将第二数据包通过第二母机发送给第一服务器之后,上述方法还包括:
S502,在第一母机上获取第一服务器通过第二母机发送的第四数据包,其中,第四数据包中的源地址为第二IPv6地址,第四数据包中的目的地址为第一IPv6地址;
S504,在第一母机上将第四数据包中的源地址由第二IPv6地址转换为第二IPv4地址,并将第四数据包中的目的地址由第一IPv6地址转换为第一IPv4地址,得到第五数据包;
S506,在第一母机上将第五数据包发送给第一客户端。
可选地,在本实施例中,图6是根据本发明实施例的又一种可选的数据传输方法的示意图,如图6所示,上述第四数据包为上述第一服务器根据接收到的第二数据包生成的响应数据包,将第四数据包中的源地址由第二IPv6地址602转换为第二IPv4地址604,并将第四数据包中的目的地址由第一IPv6地址606转换为第一IPv4地址608,得到第五数据包,进而实现服务器生成针对客户端的响应数据包。
可选地,在本实施例中,如图3所示,第二母机为VPC-B所属虚拟机的母机,第一母机为VPC-A所属虚拟机的母机,通过将第四数据包中的源地址由第二IPv6地址ZZ::VPCIDA:10.1.1.1转换为第二IPv4地址10.1.1.1,并将第四数据包中的目的地址由第一IPv6地址Y转换为第一IPv4地址169.254.1.1,得到第五数据包,进而实现服务器向客户端的返回响应数据包。
通过本实施例,能够有效地针对上述第一客户端发出的请求数据包(对应于前述的第一数据包)生成对应的响应数据包(对应于前述的第四数据包),再基于相同的预设算法进行源地址和目的地址的转换,上述预设算法可以包括但不限于当前或者未来能够实现转换不同协议类型之间的地址转换的算法,进而,解决了相关技术中存在的VPC服务接入方案复杂,成本较高的技术问题,达到了提升转换效率,缩减成本消耗的技术效果。
在一个可选的实施例中,在第一母机上将第四数据包中的源地址由第二IPv6地址转换为第二IPv4地址,并将第四数据包中的目的地址由第一IPv6地址转换为第一IPv4地址,得到第五数据包之前,方法还包括:在第一母机上的目标表中查找与第二IPv6地址对应的第二IPv4地址,并在目标表中查找与第一IPv6地址对应的第一IPv4地址。
通过本实施例,在发送响应数据包的过程中,上述目标表还可以包括但不限于由上述第一母机实现维护与更新,换言之,在第一vpc中的第一客户端发送请求服务的数据包时完成上述目标表的维护,在后续响应数据包进行回复的过程中,直接查询上述目标表,达到了提升转换效率,缩减成本消耗的技术效果。
在一个可选的实施例中,在第一母机上获取第一服务器通过第二母机发送的第四数据包,包括:在第二母机上将第四数据包封装为第六数据包,其中,第六数据包中的源地址为第二母机的IP地址,第六数据包中的目的地址为第一母机的IP地址,第六数据包中包括第四数据包;在第二母机上将第六数据包发送给第一母机;在第一母机上将第六数据包解封装为第四数据包。
可选地,在本实施例中,上述第一客户端为通过IPv6进行服务访问的客户端,直接使用VPC内IPv6地址进行访问,达到无需进行地址转换,就能够实现不同VPC之间获取服务的能力。
在一个可选的实施例中,上述方法还包括:在第一服务器提供的目标服务为全局服务的情况下,在目标表中记录具有对应关系的第一IPv4地址和第一IPv6地址,以及具有对应关系的第二IPv4地址和第二IPv6地址,其中,第二IPv4地址为第一服务器在除第二VPC之外的多个VPC中所映射的相同地址,多个VPC包括第一VPC。
可选地,在本实施例中,在上述目标服务为全局服务的情况下,上述第一服务器可以将该服务映射为所有VPC内的隐藏网段地址,其中,上述隐藏网段地址可以包括但不限于上述第一IPv6地址和第二IPv6地址。
通过本实施例,可以将第一服务器的服务映射在所有VPC隐藏网段,进而实现所有VPC均能通过同一个IPv6地址获取该服务,达到简便转换流程,节约成本的技术效果。
在一个可选的实施例中,上述方法还包括:在第一服务器提供的目标服务为VPC内服务的情况下,在目标表中记录具有对应关系的第一IPv4地址和第一IPv6地址,以及具有对应关系的第二IPv4地址和第二IPv6地址,其中,第二IPv4地址为第一服务器在第一VPC中所映射的地址。
可选地,在本实施例中,在上述目标服务为VPC内服务的情况下,根据目标服务名称,指定的第一VPC将该服务映射成VPC内私有地址。服务端可以根据白名单或者审批机制决定是否接受访问者VPC访问,达到安全验证的技术效果。
在一个可选的实施例中,上述方法还包括:在第一服务器提供的目标服务为VPC内服务的情况下,在目标表中记录具有对应关系的第三IPv4地址和第三IPv6地址,以及具有对应关系的第四IPv4地址和第二IPv6地址,其中,第三IPv4地址为第三VPC中的第二客户端的地址,第三IPv6地址是通过预留的IPv6网段的前缀、第三VPC的第二标识、以及第三IPv4地址所表示的IPv6地址,第四IPv4地址为第一服务器在第三VPC中所映射的地址。
可选地,在本实施例中,图7是根据本发明实施例的又一种可选的数据传输方法的示意图,如图7所示,在上述目标服务为VPC内服务的情况下,该流程步骤包括:
S702,在第一虚拟私有云VPC的第一母机上获取第一VPC中的第一客户端发送的第一数据包,其中,第一数据包中的源地址为第一客户端在第一VPC中的第一IPv4地址,第一数据包中的目的地址为第二VPC中的第一服务器在第一VPC中所映射的第二IPv4地址,第一服务器提供VPC内服务,VPC内服务用于表示在第一VPC为多个的情况下,根据预定规则确定与多个第一VPC对应的多个第二IPv4地址;
S704,在第一母机上将第一数据包中的源地址由第一IPv4地址转换为第一IPv6地址,并将第一数据包中的目的地址由第二IPv4地址转换为第二IPv6地址,得到第二数据包,其中,第一IPv6地址是通过预留的IPv6网段的前缀、第一VPC的第一标识、以及第一IPv4地址所表示的IPv6地址,第二IPv6地址为第一服务器为VPC内服务所监听的IPv6地址,预留的IPv6网段用于除第二VPC之外的VPC中的客户端访问VPC内服务;
S706,在第一母机上将第二数据包通过第二母机发送给第一服务器,其中,第二母机为第二VPC的母机。
可选地,在本实施例中,上述第一服务器为提供VPC内服务的服务器,上述VPC内服务可以包括但不限于一个或多个客户端按需创建服务映射,其中,第一VPC和第三VPC均需要获取第二VPC中的第一服务器提供的服务,可以但不限于上述将第二IPv6地址设置为相同的第二IPv6地址。
通过本实施例,采用在第一虚拟私有云VPC的第一母机上获取第一VPC中的第一客户端发送的第一数据包,在第一母机上将第一数据包中的源地址由第一IPv4地址转换为第一IPv6地址,并将第一数据包中的目的地址由第二IPv4地址转换为第二IPv6地址,得到第二数据包,在第一母机上将第二数据包通过第二母机发送给第一服务器的方式,替代了相关技术中使用FULLNAT的方式进行地址映射实现针对VPC内服务时,多个VPC之间的数据传输,解决了相关技术中存在的VPC服务接入方案复杂,成本较高的技术问题,达到了通过监听对应于不同VPC的IPv6地址即可对不同VPC提供其所需的对应内网云服务,简化了转换机制方案,消除了状态同步场景,提升了转换效率。
在一个可选的实施例中,在第一母机上将第一数据包中的源地址由第一IPv4地址转换为第一IPv6地址,并将第一数据包中的目的地址由第二IPv4地址转换为第二IPv6地址,得到第二数据包之前,上述方法还包括:在第一母机上的目标表中查找与第一IPv4对应的第一IPv6地址,并在目标表中查找与第二IPv4地址对应的第二IPv6地址。
可选地,在本实施例中,上述第一VPC和第三VPC均需要获取VPC内服务,上述在目标表中查找与第二IPv4地址对应的第二IPv6地址可以包括但不限于查找与上述多个第二IPv4地址对应的同一个第二IPv6地址。
通过本实施例,可以针对上述第一VPC和第三VPC配置相同的第二IPv6地址,进而通过监听第二IPv6地址,以实现根据不同VPC的需求,实现上述IP地址的转换,达到简化转换流程,提升转换效率,缩减成本消耗的技术效果。
在一个可选的实施例中,上述方法还包括:在第一母机上获取第一IPv4和第一IPv6地址;在第一服务器提供VPC内服务的情况下,在第一母机上获取第二IPv4地址和第二IPv6地址;在第一母机上的目标表中记录具有对应关系的第一IPv4和第一IPv6地址,以及具有对应关系的第二IPv4地址和第二IPv6地址。
可选地,在本实施例中,上述目标表可以但不限于由一个母机维护多个目录表,一个目标表中记录有具有对应关系的多个第一IPv4和多个第一IPv6地址,以及具有对应关系的多个第二IPv4地址和对应的第二IPv6地址。
上述仅是一种示例,具体可以包括但不限于上述一种或者多种的组合,本实施例对此不做具体限定。
在一个可选的实施例中,在第一母机上将第二数据包通过第二母机发送给第一服务器,包括:在第一母机上将第二数据包封装为第三数据包,其中,第三数据包中的源地址为第一母机的IP地址,第三数据包中的目的地址为第二母机的IP地址,第三数据包中包括第二数据包;在第一母机上将第三数据包发送给第二母机;在第二母机上将第三数据包解封装为第二数据包,并根据第二数据包中的第二IPv6地址,将第二数据包发送给第一服务器。
可选地,在本实施例中,上述第一客户端为通过IPv6获取服务的属于多个VPC的客户端,上述第二数据包经客户端所在母机上查找预设的子母机路由表,母机发出overlay封装后的第三数据包,其中,外层源地址为上述多个客户端所对应的原地址,目的地址为上述第一服务器所在母机的地址,内层包不变;在上述第三数据包通过云上underlay路由转发至服务器所在母机后,解除overlay封装,根据内层数据包的目的IPv6地址被发送到上述第一服务器。
通过本实施例,可以解决相关技术中存在的VPC服务接入方案复杂,成本较高的技术问题,达到简化转换机制,消除状态同步场景,提升转换效率的技术效果。
在一个可选的实施例中,在第一母机上将第二数据包通过第二母机发送给第一服务器之后,所述方法还包括:
在第一母机上获取第一服务器通过第二母机发送的第四数据包,其中,第四数据包中的源地址为第二IPv6地址,第四数据包中的目的地址为第一IPv6地址;
在第一母机上将第四数据包中的源地址由第二IPv6地址转换为第二IPv4地址,并将第四数据包中的目的地址由第一IPv6地址转换为第一IPv4地址,得到第五数据包;
在第一母机上将第五数据包发送给第一客户端。
可选地,在本实施例中,上述第四数据包为上述第一服务器根据接收到的第二数据包生成的响应数据包,先将上述第四数据包的目的地址设置为上述第一母机所对应的IPv6地址,其中,在上述第一VPC为多个的情况下,上述第一母机可以为对应于上述多个第一VPC的多个母机,再将第四数据包中的源地址由第二IPv6地址分别转换为对应于多个第一VPC的第二IPv4地址,并将第四数据包中的目的地址由第一IPv6地址分别转换为对应于多个第一VPC的第一IPv4地址,得到第五数据包,进而实现服务器生成针对客户端的响应数据包。
通过本实施例,能够有效地针对上述多个第一客户端发出的请求数据包(对应于前述的第一数据包)生成对应的响应数据包(对应于前述的第四数据包),再基于相同的预设算法进行源地址和目的地址的转换,上述预设算法可以包括但不限于当前或者未来能够实现转换不同协议类型之间的地址转换的算法,进而,解决了相关技术中存在的VPC服务接入方案复杂,成本较高的技术问题,达到了提升转换效率,缩减成本消耗的技术效果。
在一个可选的实施例中,在第一母机上将第四数据包中的源地址由第二IPv6地址转换为第一IPv4地址,并将第四数据包中的目的地址由第一IPv6地址转换为第一IPv4地址,得到第五数据包之前,上述方法还包括:在第一母机上的目标表中查找与第二IPv6地址对应的第二IPv4地址,并在目标表中查找与第一IPv6地址对应的第一IPv4地址。
通过本实施例,在发送响应数据包的过程中,上述目标表还可以包括但不限于由上述第一母机实现更新,在第一VPC为多个的情况下,通过对应于多个第一VPC的第一母机更新,通过预设算法获取上述第一IPv4和第一IPv6的对应关系,并基于映射表获取第二IPv4和第二IPv6的映射关系,进而更新上述目标表,上述预设算法可以包括但不限于当前或者未来能够实现转换不同协议类型之间的地址转换的算法,进而,在后续响应数据包进行回复的过程中,直接查询上述目标表,达到了提升转换效率,缩减成本消耗的技术效果。
在一个可选的实施例中,在第一母机上将第四数据包中的源地址由第二IPv6地址转换为第二IPv4地址,并将第四数据包中的目的地址由第一IPv6地址转换为第一IPv4地址,得到第五数据包之前,方法还包括:
在第一母机上的目标表中查找与第二IPv6地址对应的第二IPv4地址,并在目标表中查找与第一IPv6地址对应的第一IPv4地址。
可选地,在本实施例中,上述第一客户端为通过IPv6进行服务访问的客户端,在第一VPC为多个的情况下,分别直接使用VPC内IPv6地址进行访问,达到无需进行地址转换,就能够实现不同VPC之间获取服务的能力。
下面结合具体的实施例对本发明作进一步说明:
以针对全局服务为例,图8是根据本发明实施例的又一种可选的数据传输方法的流程示意图,如图8所示,如客户端仅支持IPv4地址,可以使用IPv4地址访问该服务,该流程步骤如下:
S802,VPC A(对应于上述第一网络)中客户端(对应于上述第一客户端)发出的数据包(对应于上述第一数据包)源地址为10.1.1.1(对应于上述第一IPv4地址),目的地址为169.254.1.1(对应于上述第二IPv4地址)。
S804,数据包经客户端所在母机上查找NAT64表和子母机路由表,母机发出overlay封装数据包,外层源地址和目的地址为客户端和服务器所在母机的地址,内层包被转为IPv6数据包,源地址为ZZ:VPCID A:10.1.1.1(对应于上述第一IPv6地址),目的地址为Y(对应于上述第二IPv6地址)。
S806,该数据包通过云上underlay路由转发至服务器所在母机后,解除overlay封装,根据内层数据包的目的IPv6地址被发送到服务器。
S808,服务器发送响应数据包。响应数据包的源地址为Y, 目的地址ZZ:VPC ID A:10.1.1.1。
S810,服务器母机收到该包后,经过子母机路由表查找,发出overlay封装数据包。外层源地址和目的地址为服务器和客户端所在母机地址,内层数据包不变,仍为IPv6数据包。
S812,该数据包通过云上underlay路由转发至客户端所在母机,解除overlay封装后,反向查找NAT64表,内层数据包被转为IPv4数据包,其中,源地址为169.254.1.1,目的地址为10.1.1.1。
图9是根据本发明实施例的又一种可选的数据传输方法的流程示意图,如图9所示,如客户端仅支持IPv6地址,可以使用IPv6地址直接访问该服务,该流程步骤如下:
S902,VPC A(对应于前述第一网络)中客户端(对应于前述第一客户端)发出的数据包源地址IPv6地址X,目的地址为Y。
S904,数据包(对应于前述第一数据包)经客户端所在母机上查找子母机路由表,母机发出overlay封装数据包(对应于前述第三数据包),外层源地址和目的地址为客户端和服务器所在母机的地址,内层包不变。
S906,数据包通过云上underlay路由转发至服务器所在母机后,解除overlay封装,根据内层数据包的目的IPv6地址被发送到服务节点(对应于前述第二数据包发送至第二母机)。
S908,服务器发送响应数据包。响应数据包的源地址为Y, 目的地址为X。
S910,服务器母机收到该包后,经过子母机路由表查找,发出overlay封装数据包。外层源地址和目的地址为服务器和客户端所在母机地址,内层数据包不变。
S912,该数据包通过云上underlay路由转发至客户端所在母机,解除overlay封装后,根据内层IPv6目的地址X直接被发送至客户端。
通过本实施例,在云上VPC间的IPv6地址不重叠,为保证VPC间的安全隔离,不同VPC子机默认无法通过IPv6地址进行互访。针对内网服务场景,需要显式使能访问者VPC对服务IPv6 VIP的服务级别访问,客户端只能访问使能后的IPv6 VIP,同时需要禁止服务节点主动访问客户端。
无论客户端是否通过IPv4还是IPv6进行服务访问,在子机迁移的场景下,子机自身的IPv4和IPv6地址不变,母机上的NAT64表项不变。只是子母机路由表发生变化,从客户到服务器的外层封装会发生变化,客户端和服务器之间的连接关系不受影响。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述数据传输方法的数据传输装置。如图10所示,该装置包括:
获取模块1002,用于在第一母机上获取第一网络中的第一客户端发送的第一数据包,其中,第一数据包中的源地址为第一客户端在第一网络中的第一协议类型的第一地址,第一数据包中的目的地址为第二网络中的第一服务器在第一网络中所映射的第一协议类型的第二地址,第一服务器提供目标服务;
转换模块1004,用于在第一母机上将第一数据包中的源地址由第一协议类型的第一地址转换为第二协议类型的第一地址,并将第一数据包中的目的地址由第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,其中,第二协议类型的第一地址是通过预留的第二协议类型的网段的前缀、第一网络的第一标识、以及第一协议类型的第一地址所表示的第二协议类型的地址,第二协议类型的第二地址为第一服务器为目标服务所监听的第二协议类型的地址;
发送模块1006,用于在第一母机上将第二数据包通过第二母机发送给第一服务器,其中,第二母机为第二网络的母机。
在一个可选的实施例中,上述装置还用于:在第一母机上将第一数据包中的源地址由第一协议类型的第一地址转换为第二协议类型的第一地址,并将第一数据包中的目的地址由第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包之前,在第一母机上的目标表中查找与第一协议类型的第一对应的第二协议类型的第一地址,并在目标表中查找与第一协议类型的第二地址对应的第二协议类型的第二地址。
在一个可选的实施例中,上述装置还用于:在第一母机上获取第一协议类型的第一地址和第二协议类型的第一地址;在第一服务器提供目标服务的情况下,在第一母机上获取第一协议类型的第二地址和第二协议类型的第二地址;在第一母机上的目标表中记录具有对应关系的第一协议类型的第一地址和第二协议类型的第一地址,以及具有对应关系的第一协议类型的第二地址和第二协议类型的第二地址。
在一个可选的实施例中,发送模块1006包括:
第一处理单元,用于在第一母机上将第二数据包封装为第三数据包,其中,第三数据包中的源地址为第一母机的协议地址,第三数据包中的目的地址为第二母机的协议地址,第三数据包中包括第二数据包;
第一发送单元,用于在第一母机上将第三数据包发送给第二母机;
第二处理单元,用于在第二母机上将第三数据包解封装为第二数据包,并根据第二数据包中的第二协议类型的第二地址,将第二数据包发送给第一服务器。
在一个可选的实施例中,上述装置还用于:在第一母机上将第二数据包通过第二母机发送给第一服务器之后,在第一母机上获取第一服务器通过第二母机发送的第四数据包,其中,第四数据包中的源地址为第二协议类型的第二地址,第四数据包中的目的地址为第二协议类型的第一地址;在第一母机上将第四数据包中的源地址由第二协议类型的第二地址转换为第一协议类型的第二地址,并将第四数据包中的目的地址由第二协议类型的第一地址转换为第一协议类型的第一地址,得到第五数据包;在第一母机上将第五数据包发送给第一客户端。
在一个可选的实施例中,上述装置还用于:在第一母机上将第四数据包中的源地址由第二协议类型的第二地址转换为第一协议类型的第二地址,并将第四数据包中的目的地址由第二协议类型的第一地址转换为第一协议类型的第一地址,得到第五数据包之前,在第一母机上的目标表中查找与第二协议类型的第二地址对应的第一协议类型的第二地址,并在目标表中查找与第二协议类型的第一地址对应的第一协议类型的第一地址。
在一个可选的实施例中,获取模块1006包括:
第三处理单元,用于在第二母机上将第四数据包封装为第六数据包,其中,第六数据包中的源地址为第二母机的协议地址,第六数据包中的目的地址为第一母机的协议地址,第六数据包中包括第四数据包;
第二发送单元,用于在第二母机上将第六数据包发送给第一母机;
第四处理单元,用于在第一母机上将第六数据包解封装为第四数据包。
在一个可选的实施例中,上述装置还用于:在第一服务器提供的目标服务为全局服务的情况下,在目标表中记录具有对应关系的第一协议类型的第一地址和第二协议类型的第一地址,以及具有对应关系的第一协议类型的第二地址和第二协议类型的第二地址,其中,第一协议类型的第二地址为第一服务器在除第二网络之外的多个网络中所映射的相同地址,多个网络包括第一网络。
在一个可选的实施例中,上述装置还用于:在第一服务器提供的目标服务为VPC内服务的情况下,在目标表中记录具有对应关系的第一协议类型的第一地址和第二协议类型的第一地址,以及具有对应关系的第一协议类型的第二地址和第二协议类型的第二地址,其中,第一协议类型的第二地址为第一服务器在第一网络中所映射的地址。
在一个可选的实施例中,上述装置还用于:在第一服务器提供的目标服务为VPC内服务的情况下,在目标表中记录具有对应关系的第一协议类型的第三地址和第二协议类型的第三地址,以及具有对应关系的第一协议类型的第四地址和第二协议类型的第二地址,其中,第一协议类型的第三地址为第三网络中的第二客户端的地址,第二协议类型的第三地址是通过预留的第二协议类型的网段的前缀、第三网络的第二标识、以及第一协议类型的第三地址所表示的第二协议类型的地址,第一协议类型的第四地址为第一服务器在第三网络中所映射的地址。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据传输方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端为例来说明。如图11所示,该电子设备包括存储器1102和处理器1104,该存储器1102中存储有计算机程序,该处理器1104被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在第一母机上获取第一网络中的第一客户端发送的第一数据包,其中,第一数据包中的源地址为第一客户端在第一网络中的第一协议类型的第一地址,第一数据包中的目的地址为第二网络中的第一服务器在第一网络中所映射的第一协议类型的第二地址,第一服务器提供目标服务;
S2,在第一母机上将第一数据包中的源地址由第一协议类型的第一地址转换为第二协议类型的第一地址,并将第一数据包中的目的地址由第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,其中,第二协议类型的第一地址是通过预留的第二协议类型的网段的前缀、第一网络的第一标识、以及第一协议类型的第一地址所表示的第二协议类型的地址,第二协议类型的第二地址为第一服务器为目标服务所监听的第二协议类型的地址;
S3,在第一母机上将第二数据包通过第二母机发送给第一服务器,其中,第二母机为第二网络的母机。
可选地,本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图11中所示更多或者更少的组件(如网络接口等),或者具有与图11所示不同的配置。
其中,存储器1102可用于存储软件程序以及模块,如本发明实施例中的数据传输方法和装置对应的程序指令/模块,处理器1104通过运行存储在存储器1102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据传输。方法。存储器1102可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1102可进一步包括相对于处理器1104远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1102具体可以但不限于用于虚拟私有云的IP地址、端口等信息。作为一种示例,如图11所示,上述存储器1102中可以但不限于包括上述数据传输装置中的获取模块1002、转换模块1004以及发送模块1006。此外,还可以包括但不限于上述数据传输装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1106为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1108,用于显示上述虚拟云之间的传输数据;和连接总线1110,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本发明实施例的又一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述虚拟私有云中进行数据传输的各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在第一母机上获取第一网络中的第一客户端发送的第一数据包,其中,第一数据包中的源地址为第一客户端在第一网络中的第一协议类型的第一地址,第一数据包中的目的地址为第二网络中的第一服务器在第一网络中所映射的第一协议类型的第二地址,第一服务器提供目标服务;
S2,在第一母机上将第一数据包中的源地址由第一协议类型的第一地址转换为第二协议类型的第一地址,并将第一数据包中的目的地址由第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,其中,第二协议类型的第一地址是通过预留的第二协议类型的网段的前缀、第一网络的第一标识、以及第一协议类型的第一地址所表示的第二协议类型的地址,第二协议类型的第二地址为第一服务器为目标服务所监听的第二协议类型的地址;
S3,在第一母机上将第二数据包通过第二母机发送给第一服务器,其中,第二母机为第二网络的母机。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种数据传输方法,其特征在于,包括:
在第一母机上获取第一网络中的第一客户端发送的第一数据包,其中,所述第一数据包中的源地址为所述第一客户端在所述第一网络中的第一协议类型的第一地址,所述第一数据包中的目的地址为第二网络中的第一服务器在所述第一网络中所映射的第一协议类型的第二地址,所述第一服务器提供目标服务,所述第一客户端为所述第一网络中的客户端,所述第一服务器为所述第二网络中的服务器;
在所述第一母机上将所述第一数据包中的所述源地址由所述第一协议类型的第一地址转换为第二协议类型的第一地址,并将所述第一数据包中的所述目的地址由所述第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,其中,所述第二协议类型的第一地址是通过预留的第二协议类型的网段的前缀、所述第一网络的第一标识、以及所述第一协议类型的第一地址所表示的第二协议类型的地址,所述第二协议类型的第二地址为所述第一服务器为所述目标服务所监听的第二协议类型的地址;
在所述第一母机上将所述第二数据包通过所述第二网络的第二母机发送给所述第一服务器。
2.根据权利要求1所述的方法,其特征在于,在所述第一母机上将所述第一数据包中的所述源地址由所述第一协议类型的第一地址转换为第二协议类型的第一地址,并将所述第一数据包中的所述目的地址由所述第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包之前,所述方法还包括:
在所述第一母机上的目标表中查找与所述第一协议类型的第一地址对应的所述第二协议类型的第一地址,并在所述目标表中查找与所述第一协议类型的第二地址对应的所述第二协议类型的第二地址。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一母机上获取所述第一协议类型的第一地址和所述第二协议类型的第一地址;
在所述第一服务器提供所述目标服务的情况下,在所述第一母机上获取所述第一协议类型的第二地址和所述第二协议类型的第二地址;
在所述第一母机上的所述目标表中记录具有对应关系的所述第一协议类型的第一地址和所述第二协议类型的第一地址,以及具有对应关系的所述第一协议类型的第二地址和所述第二协议类型的第二地址。
4.根据权利要求1所述的方法,其特征在于,在所述第一母机上将所述第二数据包通过第二母机发送给所述第一服务器,包括:
在所述第一母机上将所述第二数据包封装为第三数据包,其中,所述第三数据包中的源地址为所述第一母机的协议地址,所述第三数据包中的目的地址为所述第二母机的协议地址,所述第三数据包中包括所述第二数据包;
在所述第一母机上将所述第三数据包发送给所述第二母机;
在所述第二母机上将所述第三数据包解封装为所述第二数据包,并根据所述第二数据包中的所述第二协议类型的第二地址,将所述第二数据包发送给所述第一服务器。
5.根据权利要求1所述的方法,其特征在于,在所述第一母机上将所述第二数据包通过第二母机发送给所述第一服务器之后,所述方法还包括:
在所述第一母机上获取所述第一服务器通过所述第二母机发送的第四数据包,其中,所述第四数据包中的源地址为所述第二协议类型的第二地址,所述第四数据包中的目的地址为所述第二协议类型的第一地址;
在所述第一母机上将所述第四数据包中的所述源地址由所述第二协议类型的第二地址转换为所述第一协议类型的第二地址,并将所述第四数据包中的所述目的地址由所述第二协议类型的第一地址转换为所述第一协议类型的第一地址,得到第五数据包;
在所述第一母机上将所述第五数据包发送给所述第一客户端。
6.根据权利要求5所述的方法,其特征在于,在所述第一母机上将所述第四数据包中的所述源地址由所述第二协议类型的第二地址转换为所述第一协议类型的第二地址,并将所述第四数据包中的所述目的地址由所述第二协议类型的第一地址转换为所述第一协议类型的第一地址,得到第五数据包之前,所述方法还包括:
在所述第一母机上的所述目标表中查找与所述第二协议类型的第二地址对应的所述第一协议类型的第二地址,并在所述目标表中查找与所述第二协议类型的第一地址对应的所述第一协议类型的第一地址。
7.根据权利要求5所述的方法,其特征在于,在所述第一母机上获取所述第一服务器通过所述第二母机发送的第四数据包,包括:
在所述第二母机上将所述第四数据包封装为第六数据包,其中,所述第六数据包中的源地址为所述第二母机的协议地址,所述第六数据包中的目的地址为所述第一母机的协议地址,所述第六数据包中包括所述第四数据包;
在所述第二母机上将所述第六数据包发送给所述第一母机;
在所述第一母机上将所述第六数据包解封装为所述第四数据包。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一服务器提供的所述目标服务为全局服务的情况下,在所述第一母机上的目标表中记录具有对应关系的所述第一协议类型的第一地址和所述第二协议类型的第一地址,以及具有对应关系的所述第一协议类型的第二地址和所述第二协议类型的第二地址,其中,所述第一协议类型的第二地址为所述第一服务器在除所述第二网络之外的多个网络中所映射的相同地址,所述多个网络包括所述第一网络。
9.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一服务器提供的所述目标服务为网络内服务的情况下,在所述第一母机上的目标表中记录具有对应关系的所述第一协议类型的第一地址和所述第二协议类型的第一地址,以及具有对应关系的所述第一协议类型的第二地址和所述第二协议类型的第二地址,其中,所述第一协议类型的第二地址为所述第一服务器在所述第一网络中所映射的地址。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在所述第一服务器提供的所述目标服务为网络内服务的情况下,在所述目标表中记录具有对应关系的第一协议类型的第三地址和第二协议类型的第三地址,以及具有对应关系的第一协议类型的第四地址和所述第二协议类型的第二地址,其中,所述第一协议类型的第三地址为第三网络中的第二客户端的地址,所述第二协议类型的第三地址是通过所述预留的第二协议类型的网段的前缀、所述第三网络的第二标识、以及所述第一协议类型的第三地址所表示的第二协议类型的地址,所述第一协议类型的第四地址为所述第一服务器在所述第三网络中所映射的地址。
11.一种数据传输装置,其特征在于,包括:
获取模块,用于在第一母机上获取第一网络中的第一客户端发送的第一数据包,其中,所述第一数据包中的源地址为所述第一客户端在所述第一网络中的第一协议类型的第一地址,所述第一数据包中的目的地址为第二网络中的第一服务器在所述第一网络中所映射的第一协议类型的第二地址,所述第一服务器提供目标服务;
转换模块,用于在所述第一母机上将所述第一数据包中的所述源地址由所述第一协议类型的第一地址转换为第二协议类型的第一地址,并将所述第一数据包中的所述目的地址由所述第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包,其中,所述第二协议类型的第一地址是通过预留的第二协议类型的网段的前缀、所述第一网络的第一标识、以及所述第一协议类型的第一地址所表示的第二协议类型的地址,所述第二协议类型的第二地址为所述第一服务器为所述目标服务所监听的第二协议类型的地址;
发送模块,用于在所述第一母机上将所述第二数据包通过第二母机发送给所述第一服务器,其中,所述第二母机为所述第二网络的母机。
12.根据权利要求11所述的装置,其特征在于,所述装置还用于:
在所述第一母机上将所述第一数据包中的所述源地址由所述第一协议类型的第一地址转换为第二协议类型的第一地址,并将所述第一数据包中的所述目的地址由所述第一协议类型的第二地址转换为第二协议类型的第二地址,得到第二数据包之前,在所述第一母机上的目标表中查找与所述第一协议类型的第一对应的所述第二协议类型的第一地址,并在所述目标表中查找与所述第一协议类型的第二地址对应的所述第二协议类型的第二地址。
13.根据权利要求12所述的装置,其特征在于,所述装置还用于:
在所述第一母机上获取所述第一协议类型的第一地址和所述第二协议类型的第一地址;
在所述第一服务器提供所述目标服务的情况下,在所述第一母机上获取所述第一协议类型的第二地址和所述第二协议类型的第二地址;
在所述第一母机上的所述目标表中记录具有对应关系的所述第一协议类型的第一地址和所述第二协议类型的第一地址,以及具有对应关系的所述第一协议类型的第二地址和所述第二协议类型的第二地址。
14.一种计算机可读的存储介质,计算机可读的存储介质包括存储的程序,其中,程序运行时执行权利要求1至10任一项中所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行权利要求1至10任一项中所述的方法。
CN202010738792.8A 2020-07-28 2020-07-28 数据传输方法和装置、存储介质及电子设备 Active CN111629084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010738792.8A CN111629084B (zh) 2020-07-28 2020-07-28 数据传输方法和装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010738792.8A CN111629084B (zh) 2020-07-28 2020-07-28 数据传输方法和装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN111629084A CN111629084A (zh) 2020-09-04
CN111629084B true CN111629084B (zh) 2020-11-03

Family

ID=72272360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010738792.8A Active CN111629084B (zh) 2020-07-28 2020-07-28 数据传输方法和装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN111629084B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150314B (zh) * 2021-03-31 2023-08-25 腾讯科技(深圳)有限公司 跨网络域的数据包传输方法和装置、存储介质及电子设备
CN116527639A (zh) * 2022-01-24 2023-08-01 华为云计算技术有限公司 一种地址空间推荐方法、装置及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827040A (zh) * 2009-03-05 2010-09-08 冲电气网络株式会社 信息转换装置、信息转换方法、信息转换程序及中继装置
CN103024096A (zh) * 2012-12-13 2013-04-03 北京邮电大学 一种在cgn网络中快速互联网访问的方法
CN106170025A (zh) * 2015-05-22 2016-11-30 苹果公司 使用IPv4文本标识符经仅支持IPv6网络的通信
CN107835259A (zh) * 2017-12-15 2018-03-23 睿哲科技股份有限公司 一种基于IPv6解决信息孤岛问题的互联互通装置
CN108347493A (zh) * 2017-01-25 2018-07-31 华为技术有限公司 混合云管理方法、装置和计算设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751686B2 (en) * 2011-10-05 2014-06-10 Cisco Technology, Inc. Forwarding IPv6 packets based on shorter addresses derived from their IPv6 destination addresses
CN106375493B (zh) * 2016-10-10 2020-12-18 腾讯科技(深圳)有限公司 一种跨网络通信的方法以及代理服务器
CN110213391B (zh) * 2019-07-12 2021-09-28 腾讯科技(深圳)有限公司 一种网络协议地址的配置方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827040A (zh) * 2009-03-05 2010-09-08 冲电气网络株式会社 信息转换装置、信息转换方法、信息转换程序及中继装置
CN103024096A (zh) * 2012-12-13 2013-04-03 北京邮电大学 一种在cgn网络中快速互联网访问的方法
CN106170025A (zh) * 2015-05-22 2016-11-30 苹果公司 使用IPv4文本标识符经仅支持IPv6网络的通信
CN108347493A (zh) * 2017-01-25 2018-07-31 华为技术有限公司 混合云管理方法、装置和计算设备
CN107835259A (zh) * 2017-12-15 2018-03-23 睿哲科技股份有限公司 一种基于IPv6解决信息孤岛问题的互联互通装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IPv6地址结构标准化研究综述;张千里 等;《计算机学报》;20190103;第42卷(第6期);第1384-1405页 *

Also Published As

Publication number Publication date
CN111629084A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
US11277471B2 (en) Managing replication of computing nodes for provided computer networks
US11477076B2 (en) Network accessible service for hosting a virtual computer network of virtual machines over a physical substrate network
US11563681B2 (en) Managing communications using alternative packet addressing
US11509577B2 (en) Linking resource instances to virtual network in provider network environments
US10033691B1 (en) Adaptive resolution of domain name requests in virtual private cloud network environments
US9736016B2 (en) Managing failure behavior for computing nodes of provided computer networks
US8595378B1 (en) Managing communications having multiple alternative destinations
JP2015095894A (ja) 仮想ローカルエリアネットワークのクラウドアプライアンスを管理するための管理サーバおよびその管理方法
CN111629084B (zh) 数据传输方法和装置、存储介质及电子设备
WO2021087865A1 (zh) 寻址方法、寻址系统以及寻址装置
CN110875884B (zh) 一种流量迁移系统、一种数据处理方法及装置
CN117354309A (zh) 一种基于lvs的负载均衡系统实现源ip透传的实现方法
CN116132542A (zh) 容器网络管理方法、容器网络插件以及相关设备

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028595

Country of ref document: HK