CN116582516A - 数据传输方法、设备、***、介质及程序产品 - Google Patents
数据传输方法、设备、***、介质及程序产品 Download PDFInfo
- Publication number
- CN116582516A CN116582516A CN202310853569.1A CN202310853569A CN116582516A CN 116582516 A CN116582516 A CN 116582516A CN 202310853569 A CN202310853569 A CN 202310853569A CN 116582516 A CN116582516 A CN 116582516A
- Authority
- CN
- China
- Prior art keywords
- address
- data packet
- cloud
- nat gateway
- virtual machine
- 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 146
- 230000005540 biological transmission Effects 0.000 title claims abstract description 94
- 238000013507 mapping Methods 0.000 claims description 80
- 238000012545 processing Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 20
- 238000013519 translation Methods 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 12
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 description 20
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 238000005129 volume perturbation calorimetry Methods 0.000 description 18
- 238000013508 migration Methods 0.000 description 16
- 230000005012 migration Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种数据传输方法、设备、***、介质及程序产品,可以涉及云技术,该方法包括:第一位置上的第一NAT网关的接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;第一NAT网关将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包;并将第二数据包发送给第二位置上的第二NAT网关;第二NAT网关将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;并将第三数据包发送给第二位置上的第二虚拟机。使得在保证云上和云本地专用集群中的虚拟机之间进行数据传输的同时,可以保证数据安全性。
Description
技术领域
本申请实施例涉及云技术领域,尤其涉及一种数据传输方法、设备、***、介质及程序产品。
背景技术
云本地专用集群是一款分布式云产品,也是一款全托管的基础设施类云产品,通过将公有云的计算、存储、网络等资源设施以软硬件一体的方式部署到客户本地机房,从而可以满足业务数据对安全性和传输的低延时性的需求。而通常业务是运行在虚拟机上的,基于此,将位于云上的虚拟机的业务数据迁移至云本地专用集群中的虚拟机上是非常有必要的。
为了降低数据迁移对当前运行业务的影响,需要保证虚拟机的互联网协议(InternetProtocol,IP)地址不变,即云上的虚拟机与云本地专用集群中的虚拟机的IP地址保持一致。由于虚拟机的IP地址是私有网络(Virtual Private Cloud,VPC)分配的私有IP地址,如果要保证虚拟机的IP地址不变,那么需要在云本地专用集群中建立与云上相同的VPC。而这两个VPC具有相同的网段,由于二者网段相同,因此二者是无法互通的。基于此,数据迁移所关联的数据传输过程,例如包括云上的虚拟机和云本地专用集群中的虚拟机之间的连接建立过程、从云上的虚拟机到云本地专用集群上的虚拟机的数据迁移过程等等将无法实现。
目前采用了基于公网进行的数据传输方法,包括:为云上的虚拟机以及云本地专用集群中的虚拟机均绑定弹性公网 IP(Elastic IP,EIP),基于此,云上的虚拟机和云本地专用集群中的虚拟机可以基于各自的EIP进行数据传输。然而,这种方法需要数据进入公网,导致数据存在一定的安全风险。
发明内容
本申请实施例提供一种数据传输方法、设备、***、介质及程序产品,使得在保证云上和云本地专用集群中的虚拟机之间进行数据传输的同时,可以保证数据安全性。
第一方面,本申请实施例提供一种数据传输方法,该方法应用于第一位置上的第一NAT网关,第一位置为云上或者云本地专用集群处;该方法包括:接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包;并将第二数据包发送给第二位置上的第二NAT网关;其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上;第二NAT网关用于将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;并将第三数据包发送给第二位置上的第二虚拟机。
第二方面,本申请实施例提供一种数据传输方法,该方法应用于第二位置上的第二NAT网关,第二位置为云上或者云本地专用集群处;该方法包括:接收第一位置上的第一NAT网关发送的第二数据包;其中,当第二位置为云上时,第一位置为云本地专用集群处;当第二位置为云本地专用集群处时,第一位置为云上;第二数据包是经过将第一数据包中的第一IP地址转转为第三IP地址得到的数据包;第一数据包是第一位置上的第一虚拟机发送的,且第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;将第三数据包发送给第二位置上的第二虚拟机。
第三方面,本申请实施例提供一种数据传输方法,该方法应用于第一位置上的第一NAT网关,第一位置为云上或者云本地专用集群处;该方法包括:接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;将第一数据包的第一IP地址转换为第三IP地址,并将第一数据包中的第二IP地址转换为第一IP地址,得到第二数据包;将第二数据包通过第二位置上的第二NAT网关转发给第二位置上的第二虚拟机;其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上。
第四方面,本申请实施例提供一种数据传输方法,该方法应用于第二位置上的第二NAT网关,第二位置为云上或者云本地专用集群处;该方法包括:接收第一位置上的第一NAT网关发送的第一数据包;其中,当第二位置为云上时,第一位置为云本地专用集群处;当第二位置为云本地专用集群处时,第一位置为云上;第一数据包是第一位置上的第一虚拟机发送给第一NAT网关的,且第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;将第一数据包的第一IP地址转换为第三IP地址,并将第一数据包中的第二IP地址转换为第一IP地址,得到第二数据包;将第二数据包发送给第二位置上的第二虚拟机。
第五方面,本申请实施例提供一种NAT网关,该NAT网关为第一位置上的第一NAT网关,第一位置为云上或者云本地专用集群处;第一NAT网关包括:收发模块和处理模块;收发模块用于接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;处理模块用于将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包;收发模块还用于将第二数据包发送给第二位置上的第二NAT网关;其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上;第二NAT网关用于将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;并将第三数据包发送给第二位置上的第二虚拟机。
第六方面,本申请实施例提供一种NAT网关,NAT网关为第二位置上的第二NAT网关,第二位置为云上或者云本地专用集群处;第二NAT网关包括:收发模块和处理模块;收发模块用于接收第一位置上的第一NAT网关发送的第二数据包;其中,当第二位置为云上时,第一位置为云本地专用集群处;当第二位置为云本地专用集群处时,第一位置为云上;第二数据包是经过将第一数据包中的第一IP地址转转为第三IP地址得到的数据包;第一数据包是第一位置上的第一虚拟机发送的,且第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;处理模块用于将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;收发模块还用于将第三数据包发送给第二位置上的第二虚拟机。
第七方面,本申请实施例提供一种NAT网关,NAT网关为第一位置上的第一NAT网关,第一位置为云上或者云本地专用集群处;第一NAT网关包括:收发模块和处理模块;收发模块用于接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;处理模块用于将第一数据包的第一IP地址转换为第三IP地址,并将第一数据包中的第二IP地址转换为第一IP地址,得到第二数据包;收发模块还用于将第二数据包通过第二位置上的第二NAT网关转发给第二位置上的第二虚拟机;其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上。
第八方面,本申请实施例提供一种NAT网关,NAT网关为第二位置上的第二NAT网关,第二位置为云上或者云本地专用集群处;第二NAT网关包括:收发模块和处理模块;收发模块用于接收第一位置上的第一NAT网关发送的第一数据包;其中,当第二位置为云上时,第一位置为云本地专用集群处;当第二位置为云本地专用集群处时,第一位置为云上;第一数据包是第一位置上的第一虚拟机发送给第一NAT网关的,且第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;处理模块用于将第一数据包的第一IP地址转换为第三IP地址,并将第一数据包中的第二IP地址转换为第一IP地址,得到第二数据包;收发模块还用于将第二数据包发送给第二位置上的第二虚拟机。
第九方面,本申请实施例提供一种数据传输***,包括位于第一位置上的第一NAT网关和位于第二位置上的第二NAT网关;其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上;第一NAT网关用于:接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包;并将第二数据包发送给第二位置上的第二NAT网关;第二NAT网关用于:将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;将第三数据包发送给第二位置上的第二虚拟机。
第十方面,本申请实施例提供一种电子设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行如第一方面至第四方面中任一方面或其各实现方式中的方法。
第十一方面,本申请实施例提供一种计算机可读存储介质,用于存储计算机程序,计算机程序使得计算机执行如第一方面至第四方面中任一方面或其各实现方式中的方法。
第十二方面,本申请实施例提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如第一方面至第四方面中任一方面或其各实现方式中的方法。
第十三方面,本申请实施例提供一种计算机程序,计算机程序使得计算机如执行如第一方面至第四方面中任一方面或其各实现方式中的方法。
通过本申请实施例提供的技术方案,数据包无需进入公网进行传输,而是通过云上和/或云本地专用集群中的NAT网关对数据包的IP地址进行转换,以实现云上和云本地专用集群中的虚拟机之间的数据传输,从而使得在保证云上和云本地专用集群中的虚拟机之间进行数据传输的同时,可以保证数据安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为基于公网的数据迁移过程的示意图;
图2为本申请实施例提供的一种***架构图;
图3为本申请实施例提供的一种基于分布式云的数据迁移场景的示意图;
图4为本申请实施例提供的一种数据传输方法的交互流程图;
图5为本申请实施例提供的一种数据传输方法的流程图;
图6为本申请实施例提供的另一种数据传输方法的流程图;
图7为本申请实施例提供的另一种数据传输方法的交互流程图;
图8为本申请实施例提供的一种数据传输方法的流程图;
图9为本申请实施例提供的另一种数据传输方法的流程图;
图10为本申请实施例提供的再一种数据传输方法的交互流程图;
图11为本申请实施例提供的一种数据传输方法的流程图;
图12为本申请实施例提供的另一种数据传输方法的流程图;
图13为本申请实施例提供的一种NAT网关1300的示意图;
图14为本申请实施例提供的一种NAT网关1400的示意图;
图15为本申请实施例提供的一种数据传输***1500的示意图;
图16为本申请实施例提供的一种NAT网关1600的示意图;
图17为本申请实施例提供的一种NAT网关1700的示意图;
图18是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本申请技术方案之前,下面将对本申请技术方案的相关知识进行阐述:
一、云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
二、公有云(Public Cloud)通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过互联网(Internet)使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
三、分布式云,是一种基于分布式计算和云计算理念的架构模式,它将计算、存储和网络资源分布在不同的物理或虚拟节点上,通过网络进行协同工作,以提供高性能、高可用性和高可伸缩性的服务。在传统的云计算中,通常是将资源集中在数据中心的一台或几台服务器上,这些服务器通过虚拟化技术提供服务。而在分布式云中,资源可以分布在多个数据中心、多个区域甚至全球的不同地点,通过网络连接起来形成一个整体。
四、专有云网络,如虚拟私有云(Virtual Private Cloud,VPC)是基于企业云构建的一个隔离的网络环境,专有云网络之间逻辑上彻底隔离。专有云网络提供了两个能力,一个能力是用户可以自定义网络拓扑,包括选择自由IP地址范围、划分网段、配置路由表和网关等。另一个能力是通过专线或虚拟专用网络(Virtual Private Network,VPN)与原有数据中心连接,云上和云下的资源使用同一个网络地址规划,实现应用的平滑迁移上云。
每个专有云网络是由一个私网网段、一个路由器和至少一个交换机组成。其中,路由器是专有云网络的枢纽,作为专有云网络中重要的功能组件,它可以连接专有云网络内的各个交换机,同时也是连接专有云网络和其他网络的网关设备。交换机是组成专有云网络的基础网络设备,用来连接不同的云产品实例。
五、云本地专用集群,是一款分布式云产品,也是一款全托管的基础设施类云产品,通过将公有云的计算、存储、网络等资源设施以软硬件一体的方式部署到客户本地机房,从而可以满足业务数据对安全性和传输的低延时性的需求。例如,该云本地专用集群可以是某企业云本地专用集群(Cloud Dedicated Cluster,CDC)。
六、虚拟机,是一类能够通过软件模拟其他***行为,做到虚拟化、跨平台等目的的一类的软件。例如,某企业的(Cloud Virtual Machine,CVM)是一款虚拟机,它是某企业云提供的可扩展的计算服务,该 CVM 包括中央处理器(Central Processing Unit,CPU)、内存、硬盘、网络、安全等,支持用户自定义这些资源,并可以在需求发生变化时轻松地调整它们。
应理解的是,虚拟机也被称为子机,本申请实施例对此不做限制。
七、网络地址转换(Network Address Translation, NAT)网关,是一种支持 IP地址转换服务,提供源网络地址转换(Source Network Address Translation,SNAT) 和目的网络地址转换(Destination Network Address Translation,DNAT)能力,可为VPC内的资源提供安全、高性能的 Internet 访问服务。
八、EIP,是可以独立购买和持有的、某个地域下固定不变的公网 IP 地址。EIP 可以与虚拟机、NAT 网关、弹性网卡和高可用虚拟 IP 绑定,提供访问公网和被公网访问的能力。
九、互联网数据中心(Internet Data Center,IDC),是基于Internet网络,为集中式收集、存储、处理和发送数据的设备提供运行维护的设施基地并提供相关的服务。IDC提供的主要业务包括域名注册查询主机托管(机位、机架、机房出租)、资源出租(如虚拟主机业务、数据存储服务)、***维护(***配置、数据备份、故障排除服务)、管理服务(如带宽管理、流量分析、负载均衡、入侵检测、***漏洞诊断),以及其他支撑、运行服务等。
下面将对本申请实施例所要解决的技术问题、发明构思、***架构和应用场景进行阐述:
目前采用了基于公网进行的数据传输方法,包括:为云上的虚拟机以及云本地专用集群中的虚拟机均绑定EIP,基于此,云上的虚拟机和云本地专用集群中的虚拟机可以基于各自的EIP进行数据传输。
例如,图1为基于公网的数据迁移过程的示意图,如图1所示,云上VPC,其网段为10.6.128.0/24,假设该VPC内的一个虚拟机1的IP地址为10.6.128.1。而云本地专用集群中也存在与云上VPC具有相同网段的VPC,该VPC也具有一个IP地址为10.6.128.1的虚拟机2。如果要将虚拟机1上的数据迁移到虚拟机2上,由于源IP地址和目的IP地址相同,导致数据无法迁移。
基于公网的数据迁移过程可以如下:
(1)、虚拟机1向云上的EIP网关发送数据包,该数据包的源IP地址为10.6.128.1,目的IP地址是虚拟机2所绑定的EIP地址10.23.227.192;
(2)、云上的EIP网关将该数据包的源IP地址转换为虚拟机1所绑定的EIP地址120.238.241.207,并令该数据包进入公网,基于此,该数据包的源IP地址为120.238.241.207,目的IP地址是虚拟机2所绑定的EIP地址10.23.227.192;
(3)、该数据包进入客户IDC内的公网交换机;
(4)、公网交换机将该数据包转发到云本地专用集群中的交换机;
(5)、云本地专用集群中的交换机将该数据包发送给云本地专用集群中的EIP网关;
(6)、云本地专用集群中的EIP网关将该数据包中的目的地址转换为虚拟机2的内网IP地址10.6.128.1,并将该数据包发送给虚拟机2。
基于此,虚拟机1上的数据包被成功迁移至虚拟机2。然而,这种方法需要数据进入公网,导致数据存在一定的安全风险。
为了解决该技术问题,本申请实施例提出通过NAT网关进行IP地址转换,使得数据无需进入公网,从而提高数据安全性。
本申请实施例可以适用于如图2所示的***架构,但不限于此。
示例性的,图2为本申请实施例提供的一种***架构图,如图2所示,该***架构包括两部分:公有云和客户机房,该客户机房可以包括:客户IDC和云本地专用集群。
在一些可实现方式中,在公有云,即云上包括,但不限于:云上VPC、NAT网关、专线网关、入网点(Point of Presence,POP)交换机,云上VPC中可以设置至少一个虚拟机,这些虚拟机与NAT网关连接,NAT网关还与专线网关连接,专线网关还与POP交换机连接。
在一些可实现方式中,客户IDC包括,但不限于:二层交换机、防火墙、公网交换机,该二层交换机分别与云上的POP交换机以及客户IDC内的防火墙连接,该公网交换机与互联网连接。
在一些可实现方式中,云本地专用集群包括:云本地专用集群中的交换机、NAT网关、VPC。其中,云本地专用集群中的交换机分别与客户IDC中的防火墙以及云本地专用集群中的NAT网关连接,云本地专用集群中的交换机还可以与客户IDC中的公网交换机连接,云本地专用集群中的VPC中可以设置至少一个虚拟机,这些虚拟机与云本地专用集群中的NAT网关连接。
应理解的是,图2所示的仅是一种示例性的***架构,实际上,本申请实施例还可以应用于其他***架构,例如,该***架构相对于图2所示的***架构可以不具有如下公网分支:公网交换机以及公网交换机所连接的互联网。
本申请实施例可以应用于基于分布式云的数据迁移场景。例如,图3为本申请实施例提供的一种基于分布式云的数据迁移场景的示意图,如图3所示,该场景涉及公有云和云本地专用集群两部分,其中,从物理角度来讲,云本地专用集群涉及多个机柜,例如图3中的机柜1和机柜2,其中,这些机柜可以位于不同的地理区域,例如,机柜1位于A市,机柜2位于B市,当然,这些机柜也可以位于同一地理区域。下面将要提到的云本地专用集群中的交换机,其可以位于机柜内,下文将要提到的云本地专用集群中的虚拟机、NAT网关也可以布局在该机柜内的某个或者多个物理设备上,本申请实施例对此不做限制。
基于此,假设要将云上的业务***上的数据迁移至云本地专用集群中,首先需要在云本地专用集群中建立一套和云上相同的业务***,包括,但不限于:虚拟机资源、数据库层面上的资源、容器层面上的资源、应用层面上的资源,换句话讲,需要在云本地专用集群中搭建该业务***的基础架构,包括:建立虚拟机、在虚拟机上布局数据库软件、容器层面上的软件、应用层面上的软件等。其中,数据库包括,但不限于:远程字典服务(RemoteDictionaryService,Redis)、MySQL。容器层面上的软件包括,但不限于:K8S集群软件。
进一步地,可以采用如下步骤:
1、通过数据迁移工具将云上的虚拟机的数据迁移到云本地专用集群中的对应虚拟机上;
在一些可实现方式中,该数据迁移工具可以是go2tencentcloud工具,但不限于此。
在一些可实现方式中,待迁移数据可以包括以下至少一项:内存数据、磁盘数据等。
2、通过数据同步工具进行数据同步;
应理解的是,由于在第1步的数据迁移过程中,云上的业务***可能还会产生数据库层面上的数据,而该数据同步过程可以被理解为将在数据迁移过程中产生的数据库层面上的数据迁移至云本地专用集群中的虚拟机上。
在一些可实现方式中,该数据同步工具可以是数据传输服务(Data TransferService,DTS)工具,但不限于此。
3、通过备份还原工具进行备份还原。
应理解的是,由于在第1步的数据迁移过程中,云上的业务***可能还会产生容器层面和/或应用层面上的数据,而该备份还原过程可以被理解为将在数据迁移过程中产生的容器层面和/或应用层面上的数据迁移至云本地专用集群中的虚拟机上。
在一些可实现方式中,该备份还原工具可以是Velero工具,但不限于此。
应理解的是,本申请实施例所提供的数据传输方法可以关联到上述第1步、第2步和第3步中任一步,但不限于此。例如,在第1步中将云上的虚拟机的数据迁移到云本地专用集群中的对应虚拟机上时,涉及到云上的虚拟机向云本地专用集群中的虚拟机发送数据包,并且云本地专用集群中的虚拟机也可以向云上的虚拟机发送用于反馈是否接收到数据包的反馈消息,该反馈消息也可以被理解为数据包。类似的,在进行第2步的数据同步过程、第3步的备份还原过程也均涉及数据传输方法。此外,本申请实施例所提供的数据传输方法还可以关联到云上的虚拟机与云本地专用集群中的对应虚拟机之间的连接建立过程,例如,针对连接请求消息、连接响应消息均可以采用本申请实施例所提供的数据传输方法。
下面将对本申请技术方案进行详细阐述:
图4为本申请实施例提供的一种数据传输方法的交互流程图,该方法可由第一位置上的第一虚拟机、第一位置上的第一NAT网关、第二位置上的第二NAT网关和第二位置上的第二虚拟机执行,其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上。如图4所示,该方法可以包括:
S410:第一虚拟机向第一NAT网关发送第一数据包,其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
在一些可实现方式中,在S410之前,第一虚拟机可以获知第二NAT网关需要做DNAT,即第二NAT网关对获取到的数据包中的目标地址(第二IP地址)转换为第一IP地址,使其可以将数据包传输给第二虚拟机,基于此,第一虚拟机可以基于第一IP地址与第二IP地址的映射关系确定第一数据包的目的IP地址是第一虚拟机。
例如,假设第一虚拟机和第二虚拟机的IP地址均是10.6.128.1,即第一IP地址是10.6.128.1,而第二NAT网关中的DNAT列表包括:168.1010.1→10.6.128.1,其中,168.1010.1是第二IP地址,第一虚拟机可以在执行S410之前,获取该168.1010.1与10.6.128.1的映射关系,基于此,其可以将168.1010.1作为第一数据包的目的IP地址,使得第一数据包的源IP地址和目的IP地址不同,进而可以保证第一数据包的正常传输。
在一些可实现方式中,第一数据包是云上的第一虚拟机向云本地专用集群中的第二虚拟机发送的任一个数据包。例如,该第一数据包可以是用于请求建立第一虚拟机与第二虚拟机之间的连接的数据包。或者,第一数据包是第一虚拟机迁移至第二虚拟机的任何数据包,比如是容器层面上的数据包、应用层面上的数据包、数据库层面上的数据包,又或者从另一个角度来讲,可以包括内存数据包、磁盘数据包。
在另一些可实现方式中,第一数据包是云本地专用集群中的第一虚拟机向云上的第二虚拟机发送的任一个数据包。例如,该第一数据包可以是用于响应数据包,该响应数据包是响应第一虚拟机与第二虚拟机之间的请求连接建立的响应数据包。或者,第一数据包是第二虚拟机发送给第一数据包的反馈数据包,该反馈数据包用于反馈是否正确接收到某个数据包,或者,用于重传某个数据包等。
S420:第一NAT网关将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包;
应理解的是,考虑到后续第二NAT网关要将第二IP地址转换为第一IP地址,导致数据包的源IP地址和目的IP地址相同,使得数据包无法正常传输,基于此,本申请实施例提出第一NAT网关可以将第一数据包的源IP地址,即第一IP地址转换为第三IP地址,得到第二数据包。
在一些可实现方式中,第一NAT网关可以在SNAT列表中查找第一IP地址与第三IP地址的IP地址映射关系;基于第一IP地址与第三IP地址的IP地址映射关系,将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包。
例如,假设第一NAT网关中的SNAT列表包括:10.6.128.1→169.0.0.1,其中,10.6.128.1是第一IP地址,169.0.0.1是第三IP地址,也就是说,第一NAT网关可以将第一数据包中的10.6.128.1转换为169.0.0.1。结合S410的示例,可知第二数据包的源IP地址是169.0.0.1,目的IP地址是168.1010.1。
应理解的是,第二数据包与第一数据包除源IP地址不同以外,其余数据均相同,换句话讲,第二数据包与第一数据包的数据部分是相同的。
S430:第一NAT网关将第二数据包发送给第二NAT网关;
在一些可实现方式中,如果第一NAT网关是云上的NAT网关,那么该第一NAT网关可以将第二数据包通过云上的专线网关发送给云上的POP交换机,接着云上的POP交换机将该第二数据包发送给客户IDC中的二层交换机,该二层交换机再通过防火墙将该第二数据包发送给云本地专用集群中的交换机,该交换机再将该第二数据包发送给云本地专用集群中的第二NAT网关。
S440:第二NAT网关将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;
应理解的是,第二NAT网关将第二数据包中的第二IP地址转换为第一IP地址的目的是:第二NAT网关可以将该第二数据包发送给第二虚拟机,这是因为第二虚拟机的IP地址是第一IP地址。
在一些可实现方式中,第二NAT网关在DNAT列表中查找第二IP地址与第一IP地址的IP地址映射关系;基于第二IP地址与第一IP地址的IP地址映射关系,将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包。
例如,假设第二NAT网关中的DNAT列表包括:168.1010.1→10.6.128.1,其中,10.6.128.1是第一IP地址,168.1010.1是第二IP地址,也就是说,第二NAT网关可以将第二数据包中的168.1010.1转换为10.6.128.1。结合S420的示例,可知第三数据包的源IP地址是169.0.0.1,目的IP地址是10.6.128.1。
应理解的是,第三数据包与第二数据包除目的IP地址不同以外,其余数据均相同,换句话讲,第三数据包与第二数据包的数据部分是相同的。
S450:第二NAT网关将第三数据包发送给第二虚拟机。
应理解的是,由于第三数据包的目的IP地址是第二虚拟机的IP地址,基于此,第二NAT网关可以将第三数据包发送给第二位置上的第二虚拟机。例如,第三数据包的源IP地址是169.0.0.1,目的IP地址是10.6.128.1,而第二虚拟机的IP地址是10.6.128.1,基于此,第二NAT网关可以将第三数据包发送给第二位置上的第二虚拟机。
下面分别对从云上到云本地专用集群的数据传输过程、从云本地专用集群到云上的数据传输过程进行示例性说明:
示例1,以从云上到云本地专用集群的数据传输过程为例,图5为本申请实施例提供的一种数据传输方法的流程图,如图5所示,该方法可以应用于如下数据传输***,该***分为两部分,一部分为云上部分,其可以在某市,一部分为客户机房,其中,该客户机房分为客户IDC和云本地专用集群,在逻辑上,云本地专用集群属于客户IDC的一部分,并且通过云本地专用集群中的交换机和客户IDC中的二层交换机连接,整个客户机房通过专线和云上,即公有云打通,用于VPC之间的互通。在数据传输过程中,云上的虚拟机和云本地专用集群中的虚拟机会相互通信,此处假设云上的第一虚拟机和云本地专用集群中的第二虚拟机的IP地址均为10.6.128.1。
基于此,从云上到云本地专用集群的数据传输过程可以包括如下步骤:
S510:云上的第一虚拟机向云上的第一NAT网关发送第一数据包,该第一数据包的源IP地址为10.6.128.1,目的IP地址为168.10.10.1。
S520:第一NAT网关在SNAT列表中查找到10.6.128.1与169.0.0.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包的10.6.128.1转换为169.0.0.1,得到第二数据包。
S530:第一NAT网关经过专线将第二数据包传输至客户IDC内的二层交换机;
S540:二层交换机将第二数据包通过云本地专用集群中的交换机传送到云本地专用集群中的第二NAT网关;
S550:第二NAT网关在DNAT列表中查找到168.10.10.1与10.6.128.1的IP地址映射关系;基于该IP地址映射关系,将第二数据包中的168.10.10.1转换为10.6.128.1,得到第三数据包。
S560:第二NAT网关将第三数据包发送给云本地专用集群中的第二虚拟机。
应理解的是,第三数据包的源IP地址为169.0.0.1,目的IP地址为10.6.128.1,最终该第三数据包可以被发送至IP地址为访问到10.6.128.1的第二虚拟机。
基于此,在云上的第一虚拟机和云本地专用集群中的第二虚拟机的IP地址均为10.6.128.1的情况下,实现了云上的第一虚拟机和云本地专用集群中的第二虚拟机的通信。
示例2,以从云本地专用集群到云上的数据传输过程为例,图6为本申请实施例提供的另一种数据传输方法的流程图,如图6所示,该方法可以应用于如下数据传输***,该***分为两部分,一部分为云上部分,其可以在A市,一部分为客户机房,其中,该客户机房分为客户IDC和云本地专用集群,在逻辑上,云本地专用集群属于客户IDC的一部分,并且通过云本地专用集群中的交换机和客户IDC中的二层交换机连接,整个客户机房通过专线和云上,即公有云打通,用于VPC之间的互通。在数据传输过程中,云上的虚拟机和云本地专用集群中的虚拟机会相互通信,此处假设云本地专用集群中的第一虚拟机和云上的第二虚拟机的IP地址均为10.6.128.1。
基于此,从云本地专用集群到云上的数据传输过程可以包括如下步骤:
S610:云本地专用集群中的第一虚拟机向云本地专用集群中的第一NAT网关发送第一数据包,该第一数据包的源IP地址为10.6.128.1,目的IP地址为169.0.0.1。
S620:第一NAT网关在SNAT列表中查找到10.6.128.1与168.10.10.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包的10.6.128.1转换为168.10.10.1,得到第二数据包。
S630:第一NAT网关经过云本地专用集群中的交换机将第二数据包传输至客户IDC内的二层交换机;
S640:二层交换机将第二数据包通过专线传输到云上的第二NAT网关;
S650:第二NAT网关在DNAT列表中查找到169.0.0.1与10.6.128.1的IP地址映射关系;基于该IP地址映射关系,将第二数据包中的169.0.0.1转换为10.6.128.1,得到第三数据包。
S660:第二NAT网关将第三数据包发送给云上的第二虚拟机。
应理解的是,第三数据包的源IP地址为168.10.10.1,目的IP地址为10.6.128.1,最终该第三数据包可以被发送至IP地址为访问到10.6.128.1的第二虚拟机。
基于此,在云本地专用集群中的第一虚拟机和云上的第二虚拟机的IP地址均为10.6.128.1的情况下,实现了云本地专用集群中的第一虚拟机和云上的第二虚拟机的通信。
由此可见,当云上的虚拟机访问云本地专用集群中的虚拟机时,云上的NAT网关需要做SNAT,即,将源IP地址转换成一个和云本地专用集群中的虚拟机的IP地址不冲突的IP地址。云本地专用集群中的NAT网关需要做DNAT,即,将数据包中的目的地址转换为云本地专用集群中的虚拟机的IP地址。
同理,当云本地专用集群中的虚拟机访问云上的虚拟机时,云本地专用集群中的NAT网关需要做SNAT,即,将源IP地址转换成一个和云上的虚拟机的IP地址不冲突的IP地址,云上的NAT网关需要做DNAT,即,将目的地址转换为云上的虚拟机的IP地址。
在本申请实施例中,在云上的虚拟机与云本地专用集群中的虚拟机之间进行的数据传输过程中,云上的NAT网关和云本地专用集群中的NAT网关之间传输的数据包的源IP地址和目的IP地址都不是云上的虚拟机与云本地专用集群中的虚拟机的IP地址,而是经过NAT网关转换后的IP地址,从而在数据包无需进入公网的情况下保证云上和云本地专用集群中的虚拟机之间可以进行数据传输,进而使得在保证云上和云本地专用集群中的虚拟机之间进行数据传输的同时,可以保证数据安全性。
此外,本申请实施例所提供的数据传输方法相对于基于公网的数据传输方法,还具体如下有益效果:第一,本申请实施例所提供的数据传输方法是在内网进行的,而内网相对于公网,其网络质量更佳,因此,可以提高数据传输的可靠性。第二,在基于公网的数据传输方法中,需要为云上的虚拟机和云本地专用集群中的虚拟机绑定EIP,而在客户被分配的EIP数量不多,而虚拟机数量较多的情况下,这种为每个虚拟机绑定EIP的方式将无法实现,换句话讲,基于公网的数据传输方法不适用于EIP数量与虚拟机数量不匹配的情况,但本申请实施例所提供的数据传输方法不受该因素的影响。第三,通常如果要向云上的虚拟机绑定EIP是需要付费的,换句话讲,基于公网的数据传输方法会造成数据传输成本较大的问题,但由于本申请实施例所提供的数据传输方法是在内网中进行的,从而无需额外付费,进而可以降低数据传输成本。
在一些可实现方式中,第一NAT网关可以获取批量配置的多组IP地址映射关系。换句话讲,这些IP地址映射关系可以被批量地配置给第一NAT网关。
在本申请实施例中,可以采用如下任一种可实现方式将多组IP地址映射关系批量化地配置给第一NAT网关,但不限于此:
在一些可实现方式中,研发人员可以通过控制台在控制台的界面上对多组IP地址进行批量化配置,以将多组IP地址配置给第一NAT网关。
在一些可实现方式中,该控制台可以是公有云的控制台,其可以被理解为是用于管理公有云的软件***。
在另一些可实现方式中,研发人员也可以通过调用接口的形式对多组IP地址进行批量化配置,以将多组IP地址配置给第一NAT网关。
应理解的是,该接口用于实现对多组IP地址进行批量化配置。该接口也被称为函数,本申请实施例对此不做限制。
在一些可实现方式中,上述多组IP地址映射关系可以应用于DNAT和/或SNAT。
例如,云上的NAT网关可以被批量配置如下IP地址映射关系:
SNAT:
10.6.128.1→169.0.0.1;
10.6.128.2→169.0.0.2;
10.6.128.3→169.0.0.3。
例如,云上的NAT网关可以被批量配置如下IP地址映射关系:
DNAT:
169.0.0.1→10.6.128.1;
169.0.0.2→10.6.128.2;
169.0.0.3→10.6.128.3。
例如,云上的NAT网关可以被批量配置如下IP地址映射关系:
SNAT:
10.6.128.1→169.0.0.1;
10.6.128.2→169.0.0.2;
10.6.128.3→169.0.0.3。
DNAT:
169.0.0.1→10.6.128.1;
169.0.0.2→10.6.128.2;
169.0.0.3→10.6.128.3。
在一些可实现方式中,第二NAT网关可以获取批量配置的多组IP地址映射关系。换句话讲,这些IP地址映射关系可以被批量地配置给第二NAT网关。
在本申请实施例中,可以采用如下任一种可实现方式将多组IP地址映射关系批量化地配置给第二NAT网关,但不限于此:
在一些可实现方式中,研发人员可以通过控制台在控制台的界面上对多组IP地址进行批量化配置,以将多组IP地址配置给第二NAT网关。
应理解的是,关于控制台的解释说明可以参考上文,本申请实施例对此不再赘述。
在另一些可实现方式中,研发人员也可以通过调用接口的形式对多组IP地址进行批量化配置,以将多组IP地址配置给第二NAT网关。
应理解的是,关于接口的解释说明可以参考上文,本申请实施例对此不再赘述。
在一些可实现方式中,上述多组IP地址映射关系可以应用于DNAT和/或SNAT,关于该应用示例可以参考上文,本申请实施例对此不再赘述。
在本申请实施例中,可以向云上的NAT网关和/或云本地专用集群中的NAT网关进行多组IP地址映射关系的批量化配置,从而可以提高IP地址映射关系的配置效率。
图7为本申请实施例提供的另一种数据传输方法的交互流程图,该方法可由第一位置上的第一虚拟机、第一位置上的第一NAT网关、第二位置上的第二NAT网关和第二位置上的第二虚拟机执行,其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上。如图7所示,该方法可以包括:
S710:第一虚拟机向第一NAT网关发送第一数据包,其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
应理解的是,S710与S410相同,关于S710的解释说明可以参考对S410的解释说明,本申请实施例对此不再赘述。
S720:第一NAT网关将第一数据包的第一IP地址转换为第三IP地址,并将第一数据包中的第二IP地址转换为第一IP地址,得到第二数据包;
应理解的是,关于第一NAT网关将第一数据包的第一IP地址转换为第三IP地址的解释说明可以参考对S420的解释说明,本申请实施例对此不再赘述。
应理解的是,关于将第一数据包中的第二IP地址转换为第一IP地址的解释说明可以参考对S440的解释说明,本申请实施例对此不再赘述。
应理解的是,图7对应的实施例与图4对应的实施例不同之处在于,在图7对应的实施例中,数据包的IP地址转换均是由第一NAT网关执行的,而在图4对应的实施例中,数据包的IP地址转换是由第一NAT网关和第二NAT网关联合执行的。
S730:第一NAT网关将第二数据包发送给第二NAT网关;
应理解的是,在图7对应的实施例中,第二NAT网关无需进行IP地址转换,而是直接将第二数据包转发给第二虚拟机即可。
S740:第二NAT网关将第二数据包发送给第二虚拟机。
下面分别对从云上到云本地专用集群的数据传输过程、从云本地专用集群到云上的数据传输过程进行示例性说明:
示例3,以从云上到云本地专用集群的数据传输过程为例,图8为本申请实施例提供的一种数据传输方法的流程图,如图8所示,该方法可以应用于如下数据传输***,该***分为两部分,一部分为云上部分,其可以在某市,一部分为客户机房,其中,该客户机房分为客户IDC和云本地专用集群,在逻辑上,云本地专用集群属于客户IDC的一部分,并且通过云本地专用集群中的交换机和客户IDC中的二层交换机连接,整个客户机房通过专线和云上,即公有云打通,用于VPC之间的互通。在数据传输过程中,云上的虚拟机和云本地专用集群中的虚拟机会相互通信,此处假设云上的第一虚拟机和云本地专用集群中的第二虚拟机的IP地址均为10.6.128.1。
基于此,从云上到云本地专用集群的数据传输过程可以包括如下步骤:
S810:云上的第一虚拟机向云上的第一NAT网关发送第一数据包,该第一数据包的源IP地址为10.6.128.1,目的IP地址为168.10.10.1。
S820:第一NAT网关在SNAT列表中查找到10.6.128.1与169.0.0.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包的10.6.128.1转换为169.0.0.1,并在DNAT列表中查找到168.10.10.1与10.6.128.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包的168.10.10.1转换为10.6.128.1,得到第二数据包。
基于此,该第二数据包的源IP地址是169.0.0.1,目的IP地址是10.6.128.1。
S830:第一NAT网关经过专线将第二数据包传输至客户IDC内的二层交换机;
S840:二层交换机将第二数据包通过云本地专用集群中的交换机传送到云本地专用集群中的第二NAT网关;
S850:第二NAT网关将第二数据包发送给云本地专用集群中的第二虚拟机。
应理解的是,第二数据包的源IP地址为169.0.0.1,目的IP地址为10.6.128.1,最终该第二数据包可以被发送至IP地址为访问到10.6.128.1的第二虚拟机。
基于此,在云上的第一虚拟机和云本地专用集群中的第二虚拟机的IP地址均为10.6.128.1的情况下,实现了云上的第一虚拟机和云本地专用集群中的第二虚拟机的通信。
示例4,以从云本地专用集群到云上的数据传输过程为例,图9为本申请实施例提供的另一种数据传输方法的流程图,如图9所示,该方法可以应用于如下数据传输***,该***分为两部分,一部分为云上部分,其可以在某市,一部分为客户机房,其中,该客户机房分为客户IDC和云本地专用集群,在逻辑上,云本地专用集群属于客户IDC的一部分,并且通过云本地专用集群中的交换机和客户IDC中的二层交换机连接,整个客户机房通过专线和云上,即公有云打通,用于VPC之间的互通。在数据传输过程中,云上的虚拟机和云本地专用集群中的虚拟机会相互通信,此处假设云本地专用集群中的第一虚拟机和云上的第二虚拟机的IP地址均为10.6.128.1。
基于此,从云本地专用集群到云上的数据传输过程可以包括如下步骤:
S910:云本地专用集群中的第一虚拟机向云本地专用集群中的第一NAT网关发送第一数据包,该第一数据包的源IP地址为10.6.128.1,目的IP地址为169.0.0.1。
S920:第一NAT网关在SNAT列表中查找到10.6.128.1与168.10.10.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包的10.6.128.1转换为168.10.10.1,并在DNAT列表中查找到169.0.0.1与10.6.128.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包中的169.0.0.1转换为10.6.128.1,得到第二数据包。
基于此,该第二数据包的源IP地址是168.10.10.1,目的IP地址是10.6.128.1。
S930:第一NAT网关经过云本地专用集群中的交换机将第二数据包传输至客户IDC内的二层交换机;
S940:二层交换机将第二数据包通过专线传输到云上的第二NAT网关;
S950:第二NAT网关将第二数据包发送给云上的第二虚拟机。
应理解的是,第二数据包的源IP地址为168.10.10.1,目的IP地址为10.6.128.1,最终该第二数据包可以被发送至IP地址为访问到10.6.128.1的第二虚拟机。
基于此,在云本地专用集群中的第一虚拟机和云上的第二虚拟机的IP地址均为10.6.128.1的情况下,实现了云本地专用集群中的第一虚拟机和云上的第二虚拟机的通信。
由此可见,当云上的虚拟机访问云本地专用集群中的虚拟机时,云上的NAT网关需要做SNAT,即,将源IP地址转换成一个和云本地专用集群中的虚拟机的IP地址不冲突的IP地址,还需要做DNAT,即,将数据包中的目的地址转换为云本地专用集群中的虚拟机的IP地址。
同理,当云本地专用集群中的虚拟机访问云上的虚拟机时,云本地专用集群中的NAT网关需要做SNAT,即,将源IP地址转换成一个和云上的虚拟机的IP地址不冲突的IP地址,还需要做DNAT,即,将目的地址转换为云上的虚拟机的IP地址。
在一些可实现方式中,第一NAT网关可以获取批量配置的多组IP地址映射关系。换句话讲,这些IP地址映射关系可以被批量地配置给第一NAT网关。
应理解的是,关于批量配置方式的解释说明可以参考上文,本申请实施例对此不再赘述。
图10为本申请实施例提供的再一种数据传输方法的交互流程图,该方法可由第一位置上的第一虚拟机、第一位置上的第一NAT网关、第二位置上的第二NAT网关和第二位置上的第二虚拟机执行,其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上。如图10所示,该方法可以包括:
S1010:第一虚拟机向第一NAT网关发送第一数据包,其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
应理解的是,S1010与S410相同,关于S1010的解释说明可以参考对S410的解释说明,本申请实施例对此不再赘述。
S1020:第一NAT网关将第一数据包发送给第二NAT网关;
应理解的是,在图10对应的实施例中,第一NAT网关无需进行IP地址转换,而是直接将第一数据包转发给第二NAT网关即可。
S1030:第二NAT网关将第一数据包的第一IP地址转换为第三IP地址,并将第一数据包中的第二IP地址转换为第一IP地址,得到第二数据包;
应理解的是,关于第二NAT网关将第一数据包的第一IP地址转换为第三IP地址的解释说明可以参考对S420的解释说明,本申请实施例对此不再赘述。
应理解的是,关于将第一数据包中的第二IP地址转换为第一IP地址解释说明可以参考对S440的解释说明,本申请实施例对此不再赘述。
应理解的是,图10对应的实施例与图4对应的实施例不同之处在于,在图10对应的实施例中,数据包的IP地址转换均是由第二NAT网关执行的,而在图4对应的实施例中,数据包的IP地址转换是由第一NAT网关和第二NAT网关联合执行的。
S1040:第二NAT网关将第二数据包发送给第二位置上的第二虚拟机。
下面分别对从云上到云本地专用集群的数据传输过程、从云本地专用集群到云上的数据传输过程进行示例性说明:
示例5,以从云上到云本地专用集群的数据传输过程为例,图11为本申请实施例提供的一种数据传输方法的流程图,如图11所示,该方法可以应用于如下数据传输***,该***分为两部分,一部分为云上部分,其可以在某市,一部分为客户机房,其中,该客户机房分为客户IDC和云本地专用集群,在逻辑上,云本地专用集群属于客户IDC的一部分,并且通过云本地专用集群中的交换机和客户IDC中的二层交换机连接,整个客户机房通过专线和云上,即公有云打通,用于VPC之间的互通。在数据传输过程中,云上的虚拟机和云本地专用集群中的虚拟机会相互通信,此处假设云上的第一虚拟机和云本地专用集群中的第二虚拟机的IP地址均为10.6.128.1。
基于此,从云上到云本地专用集群的数据传输过程可以包括如下步骤:
S1110:云上的第一虚拟机向云上的第一NAT网关发送第一数据包,该第一数据包的源IP地址为10.6.128.1,目的IP地址为168.10.10.1。
S1120:第一NAT网关经过专线将第一数据包传输至客户IDC内的二层交换机;
S1130:二层交换机将第一数据包通过云本地专用集群中的交换机传送到云本地专用集群中的第二NAT网关;
S1140:第二NAT网关在SNAT列表中查找到10.6.128.1与169.0.0.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包的10.6.128.1转换为169.0.0.1,并在DNAT列表中查找到168.10.10.1与10.6.128.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包的168.10.10.1转换为10.6.128.1,得到第二数据包。
基于此,该第二数据包的源IP地址是169.0.0.1,目的IP地址是10.6.128.1。
S1150:第二NAT网关将第二数据包发送给云本地专用集群中的第二虚拟机。
应理解的是,第二数据包的源IP地址为169.0.0.1,目的IP地址为10.6.128.1,最终该第二数据包可以被发送至IP地址为访问到10.6.128.1的第二虚拟机。
基于此,在云上的第一虚拟机和云本地专用集群中的第二虚拟机的IP地址均为10.6.128.1的情况下,实现了云上的第一虚拟机和云本地专用集群中的第二虚拟机的通信。
示例6,以从云本地专用集群到云上的数据传输过程为例,图12为本申请实施例提供的另一种数据传输方法的流程图,如图12所示,该方法可以应用于如下数据传输***,该***分为两部分,一部分为云上部分,其可以在某市,一部分为客户机房,其中,该客户机房分为客户IDC和云本地专用集群,在逻辑上,云本地专用集群属于客户IDC的一部分,并且通过云本地专用集群中的交换机和客户IDC中的二层交换机连接,整个客户机房通过专线和云上,即公有云打通,用于VPC之间的互通。在数据传输过程中,云上的虚拟机和云本地专用集群中的虚拟机会相互通信,此处假设云本地专用集群中的第一虚拟机和云上的第二虚拟机的IP地址均为10.6.128.1。
基于此,从云本地专用集群到云上的数据传输过程可以包括如下步骤:
S1210:云本地专用集群中的第一虚拟机向云本地专用集群中的第一NAT网关发送第一数据包,该第一数据包的源IP地址为10.6.128.1,目的IP地址为169.0.0.1。
S1220:第一NAT网关经过云本地专用集群中的交换机将第一数据包传输至客户IDC内的二层交换机;
S1230:二层交换机将第一数据包通过专线传输到云上的第二NAT网关;
S1240:第二NAT网关在SNAT列表中查找到10.6.128.1与168.10.10.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包的10.6.128.1转换为168.10.10.1,并在DNAT列表中查找到169.0.0.1与10.6.128.1的IP地址映射关系;基于该IP地址映射关系,将第一数据包中的169.0.0.1转换为10.6.128.1,得到第二数据包。
基于此,该第二数据包的源IP地址是168.10.10.1,目的IP地址是10.6.128.1。
S1250:第二NAT网关将第二数据包发送给云上的第二虚拟机。
应理解的是,第二数据包的源IP地址为168.10.10.1,目的IP地址为10.6.128.1,最终该第二数据包可以被发送至IP地址为访问到10.6.128.1的第二虚拟机。
基于此,在云本地专用集群中的第一虚拟机和云上的第二虚拟机的IP地址均为10.6.128.1的情况下,实现了云本地专用集群中的第一虚拟机和云上的第二虚拟机的通信。
由此可见,当云上的虚拟机访问云本地专用集群中的虚拟机时,云本地专用集群中的NAT网关需要做SNAT,即,将源IP地址转换成一个和云本地专用集群中的虚拟机的IP地址不冲突的IP地址,还需要做DNAT,即,将数据包中的目的地址转换为云本地专用集群中的虚拟机的IP地址。
同理,当云本地专用集群中的虚拟机访问云上的虚拟机时,云上的NAT网关需要做SNAT,即,将源IP地址转换成一个和云上的虚拟机的IP地址不冲突的IP地址,还需要做DNAT,即,将目的地址转换为云上的虚拟机的IP地址。
在一些可实现方式中,第二NAT网关可以获取批量配置的多组IP地址映射关系。换句话讲,这些IP地址映射关系可以被批量地配置给第二NAT网关。
应理解的是,关于批量配置方式的解释说明可以参考上文,本申请实施例对此不再赘述。
图13为本申请实施例提供的一种NAT网关1300的示意图,该NAT网关1300为第一位置上的第一NAT网关,第一位置为云上或者云本地专用集群处;该第一NAT网关包括:收发模块1310和处理模块1320。
收发模块1310用于接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;处理模块1320用于将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包;收发模块1310还用于将第二数据包发送给第二位置上的第二NAT网关;其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上;第二NAT网关用于将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;并将第三数据包发送给第二位置上的第二虚拟机。
在一些可实现方式中,处理模块1320具体用于:在SNAT列表中查找第一IP地址与第三IP地址的IP地址映射关系;基于第一IP地址与第三IP地址的IP地址映射关系,将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包。
在一些可实现方式中,收发模块1310还用于:获取批量配置的多组IP地址映射关系。
在一些可实现方式中,第一数据包的目的IP地址是第一虚拟机基于第一IP地址与第二IP地址的映射关系确定的。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图13所示的NAT网关1300可以执行图4中第一NAT网关对应的方法实施例,并且NAT网关1300中的各个模块的前述和其它操作和/或功能分别为了实现图4中第一NAT网关对应的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的NAT网关1300。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图14为本申请实施例提供的一种NAT网关1400的示意图,该NAT网关1400为第二位置上的第二NAT网关,第二位置为云上或者云本地专用集群处;第二NAT网关包括:收发模块1410和处理模块1420。
收发模块1410用于接收第一位置上的第一NAT网关发送的第二数据包;其中,当第二位置为云上时,第一位置为云本地专用集群处;当第二位置为云本地专用集群处时,第一位置为云上;第二数据包是经过将第一数据包中的第一IP地址转转为第三IP地址得到的数据包;第一数据包是第一位置上的第一虚拟机发送的,且第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址。处理模块1420用于将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包。收发模块1410还用于将第三数据包发送给第二位置上的第二虚拟机。
在一些可实现方式中,处理模块1420具体用于:在DNAT列表中查找第二IP地址与第一IP地址的IP地址映射关系;基于第二IP地址与第一IP地址的IP地址映射关系,将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包。
在一些可实现方式中,收发模块1410还用于:获取批量配置的多组IP地址映射关系。
在一些可实现方式中,第一数据包的目的IP地址是第一虚拟机基于第一IP地址与第二IP地址的映射关系确定的。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图14所示的NAT网关1400可以执行图4中第二NAT网关对应的方法实施例,并且NAT网关1400中的各个模块的前述和其它操作和/或功能分别为了实现图4中第二NAT网关对应的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的NAT网关1400。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图15为本申请实施例提供的一种数据传输***1500的示意图,如图15所示,该***1500包括位于第一位置上的第一NAT网关1510和位于第二位置上的第二NAT网关1520;其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上。
第一NAT网关1510用于:
接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包;并将第二数据包发送给第二位置上的第二NAT网关;
第二NAT网关1520用于:
将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包;
将第三数据包发送给第二位置上的第二虚拟机。
在一些可实现方式中,第一NAT网关1510具体用于:在SNAT列表中查找第一IP地址与第三IP地址的IP地址映射关系;基于第一IP地址与第三IP地址的IP地址映射关系,将第一数据包的第一IP地址转换为第三IP地址,得到第二数据包。
在一些可实现方式中,第一NAT网关1510还用于:获取批量配置的多组IP地址映射关系。
在一些可实现方式中,第一数据包的目的IP地址是第一虚拟机基于第一IP地址与第二IP地址的映射关系确定的。
在一些可实现方式中,第二NAT网关1520具体用于:在DNAT列表中查找第二IP地址与第一IP地址的IP地址映射关系;基于第二IP地址与第一IP地址的IP地址映射关系,将第二数据包中的第二IP地址转换为第一IP地址,得到第三数据包。
在一些可实现方式中,第二NAT网关1520还用于:获取批量配置的多组IP地址映射关系。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图15所示的***1500可以执行图4对应的方法实施例,并且***1500中的各个模块的前述和其它操作和/或功能分别为了实现图4中各个方法中的相应流程,为了简洁,在此不再赘述。
图16为本申请实施例提供的一种NAT网关1600的示意图,该NAT网关1600为第一位置上的第一NAT网关,第一位置为云上或者云本地专用集群处;第一NAT网关包括:收发模块1610和处理模块1620。收发模块1610用于接收第一位置上的第一虚拟机发送的第一数据包;其中,第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;处理模块1620用于将第一数据包的第一IP地址转换为第三IP地址,并将第一数据包中的第二IP地址转换为第一IP地址,得到第二数据包;收发模块1610还用于将第二数据包通过第二位置上的第二NAT网关转发给第二位置上的第二虚拟机;其中,当第一位置为云上时,第二位置为云本地专用集群处;当第一位置为云本地专用集群处时,第二位置为云上。
在一些可实现方式中,处理模块1620具体用于:在SNAT列表中查找第一IP地址与第三IP地址的IP地址映射关系;基于第一IP地址与第三IP地址的IP地址映射关系,将第一数据包的第一IP地址转换为第三IP地址。
在一些可实现方式中,处理模块1620具体用于:在DNAT列表中查找第二IP地址与第一IP地址的IP地址映射关系;基于第二IP地址与第一IP地址的IP地址映射关系,将第二数据包中的第二IP地址转换为第一IP地址。
在一些可实现方式中,收发模块1610还用于:获取批量配置的多组IP地址映射关系。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图16所示的NAT网关1600可以执行图7中第一NAT网关对应的方法实施例,并且NAT网关1600中的各个模块的前述和其它操作和/或功能分别为了实现图7中第一NAT网关对应的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的NAT网关1600。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图17为本申请实施例提供的一种NAT网关1700的示意图,如图17所示,该NAT网关1700为第二位置上的第二NAT网关,第二位置为云上或者云本地专用集群处;第二NAT网关包括:收发模块1710和处理模块1720。
收发模块1710用于接收第一位置上的第一NAT网关发送的第一数据包;其中,当第二位置为云上时,第一位置为云本地专用集群处;当第二位置为云本地专用集群处时,第一位置为云上;第一数据包是第一位置上的第一虚拟机发送给第一NAT网关的,且第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
处理模块1720用于将第一数据包的第一IP地址转换为第三IP地址,并将第一数据包中的第二IP地址转换为第一IP地址,得到第二数据包;
收发模块1710还用于将第二数据包发送给第二位置上的第二虚拟机。
在一些可实现方式中,处理模块1720具体用于:在SNAT列表中查找第一IP地址与第三IP地址的IP地址映射关系;基于第一IP地址与第三IP地址的IP地址映射关系,将第一数据包的第一IP地址转换为第三IP地址。
在一些可实现方式中,处理模块1720具体用于:在DNAT列表中查找第二IP地址与第一IP地址的IP地址映射关系;基于第二IP地址与第一IP地址的IP地址映射关系,将第二数据包中的第二IP地址转换为第一IP地址。
在一些可实现方式中,收发模块1710还用于:获取批量配置的多组IP地址映射关系。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图17所示的NAT网关1700可以执行图10中第二NAT网关对应的方法实施例,并且NAT网关1700中的各个模块的前述和其它操作和/或功能分别为了实现图10中第二NAT网关对应的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的NAT网关1700。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图18是本申请实施例提供的电子设备的示意性框图。
如图18所示,该电子设备可包括:
存储器1810和处理器1820,该存储器1810用于存储计算机程序,并将该程序代码传输给该处理器1820。换言之,该处理器1820可以从存储器1810中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器1820可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该处理器1820可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器1810包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器1810中,并由该处理器1820执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图18所示,该电子设备还可包括:
收发器1830,该收发器1830可连接至该处理器1820或存储器1810。
其中,处理器1820可以控制该收发器1830与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器1830可以包括发射机和接收机。收发器1830还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线***相连,其中,总线***除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (18)
1.一种数据传输方法,其特征在于,所述方法应用于第一位置上的第一网络地址转换NAT网关,所述第一位置为云上或者云本地专用集群处;所述方法包括:
接收所述第一位置上的第一虚拟机发送的第一数据包;其中,所述第一数据包的源互联网协议IP地址为第一IP地址,目的IP地址为第二IP地址;
将所述第一数据包的所述第一IP地址转换为第三IP地址,得到第二数据包;并将所述第二数据包发送给第二位置上的第二NAT网关;
其中,当所述第一位置为所述云上时,所述第二位置为所述云本地专用集群处;当所述第一位置为所述云本地专用集群处时,所述第二位置为所述云上;所述第二NAT网关用于将所述第二数据包中的所述第二IP地址转换为所述第一IP地址,得到第三数据包;并将所述第三数据包发送给所述第二位置上的第二虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一数据包的所述第一IP地址转换为第三IP地址,得到第二数据包,包括:
在源网络地址转换列表中查找所述第一IP地址与所述第三IP地址的IP地址映射关系;
基于所述第一IP地址与所述第三IP地址的IP地址映射关系,将所述第一数据包的所述第一IP地址转换为所述第三IP地址,得到所述第二数据包。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
获取批量配置的多组IP地址映射关系。
4.根据权利要求1或2所述的方法,其特征在于,所述第一数据包的目的IP地址是所述第一虚拟机基于所述第一IP地址与所述第二IP地址的映射关系确定的。
5.一种数据传输方法,其特征在于,所述方法应用于第二位置上的第二NAT网关,所述第二位置为云上或者云本地专用集群处;所述方法包括:
接收第一位置上的第一NAT网关发送的第二数据包;其中,当所述第二位置为所述云上时,所述第一位置为所述云本地专用集群处;当所述第二位置为所述云本地专用集群处时,所述第一位置为所述云上;所述第二数据包是经过将第一数据包中的第一IP地址转转为第三IP地址得到的数据包;所述第一数据包是所述第一位置上的第一虚拟机发送的,且所述第一数据包的源IP地址为所述第一IP地址,目的IP地址为第二IP地址;
将所述第二数据包中的所述第二IP地址转换为所述第一IP地址,得到第三数据包;
将所述第三数据包发送给所述第二位置上的第二虚拟机。
6.根据权利要求5所述的方法,其特征在于,所述将所述第二数据包中的所述第二IP地址转换为所述第一IP地址,得到第三数据包,包括:
在目的网络地址转换列表中查找所述第二IP地址与所述第一IP地址的IP地址映射关系;
基于所述第二IP地址与所述第一IP地址的IP地址映射关系,将所述第二数据包中的所述第二IP地址转换为所述第一IP地址,得到所述第三数据包。
7.根据权利要求5或6所述的方法,其特征在于,还包括:
获取批量配置的多组IP地址映射关系。
8.根据权利要求5或6所述的方法,其特征在于,所述第一数据包的目的IP地址是所述第一虚拟机基于所述第一IP地址与所述第二IP地址的映射关系确定的。
9.一种数据传输方法,其特征在于,所述方法应用于第一位置上的第一NAT网关,所述第一位置为云上或者云本地专用集群处;所述方法包括:
接收所述第一位置上的第一虚拟机发送的第一数据包;其中,所述第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
将所述第一数据包的所述第一IP地址转换为第三IP地址,并将所述第一数据包中的所述第二IP地址转换为所述第一IP地址,得到第二数据包;
将所述第二数据包通过第二位置上的第二NAT网关转发给所述第二位置上的第二虚拟机;
其中,当所述第一位置为所述云上时,所述第二位置为所述云本地专用集群处;当所述第一位置为所述云本地专用集群处时,所述第二位置为所述云上。
10.一种数据传输方法,其特征在于,所述方法应用于第二位置上的第二NAT网关,所述第二位置为云上或者云本地专用集群处;所述方法包括:
接收第一位置上的第一NAT网关发送的第一数据包;其中,当所述第二位置为所述云上时,所述第一位置为所述云本地专用集群处;当所述第二位置为所述云本地专用集群处时,所述第一位置为所述云上;所述第一数据包是所述第一位置上的第一虚拟机发送给所述第一NAT网关的,且所述第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
将所述第一数据包的所述第一IP地址转换为第三IP地址,并将所述第一数据包中的所述第二IP地址转换为所述第一IP地址,得到第二数据包;
将所述第二数据包发送给所述第二位置上的第二虚拟机。
11.一种NAT网关,其特征在于,所述NAT网关为第一位置上的第一NAT网关,所述第一位置为云上或者云本地专用集群处;所述第一NAT网关包括:收发模块和处理模块;
所述收发模块用于接收所述第一位置上的第一虚拟机发送的第一数据包;其中,所述第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
所述处理模块用于将所述第一数据包的所述第一IP地址转换为第三IP地址,得到第二数据包;
所述收发模块还用于将所述第二数据包发送给第二位置上的第二NAT网关;
其中,当所述第一位置为所述云上时,所述第二位置为所述云本地专用集群处;当所述第一位置为所述云本地专用集群处时,所述第二位置为所述云上;所述第二NAT网关用于将所述第二数据包中的所述第二IP地址转换为所述第一IP地址,得到第三数据包;并将所述第三数据包发送给所述第二位置上的第二虚拟机。
12.一种NAT网关,其特征在于,所述NAT网关为第二位置上的第二NAT网关,所述第二位置为云上或者云本地专用集群处;所述第二NAT网关包括:收发模块和处理模块;
所述收发模块用于接收第一位置上的第一NAT网关发送的第二数据包;其中,当所述第二位置为所述云上时,所述第一位置为所述云本地专用集群处;当所述第二位置为所述云本地专用集群处时,所述第一位置为所述云上;所述第二数据包是经过将第一数据包中的第一IP地址转转为第三IP地址得到的数据包;所述第一数据包是所述第一位置上的第一虚拟机发送的,且所述第一数据包的源IP地址为所述第一IP地址,目的IP地址为第二IP地址;
所述处理模块用于将所述第二数据包中的所述第二IP地址转换为所述第一IP地址,得到第三数据包;
所述收发模块还用于将所述第三数据包发送给所述第二位置上的第二虚拟机。
13.一种NAT网关,其特征在于,所述NAT网关为第一位置上的第一NAT网关,所述第一位置为云上或者云本地专用集群处;所述第一NAT网关包括:收发模块和处理模块;
所述收发模块用于接收所述第一位置上的第一虚拟机发送的第一数据包;其中,所述第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
所述处理模块用于将所述第一数据包的所述第一IP地址转换为第三IP地址,并将所述第一数据包中的所述第二IP地址转换为所述第一IP地址,得到第二数据包;
所述收发模块还用于将所述第二数据包通过第二位置上的第二NAT网关转发给所述第二位置上的第二虚拟机;
其中,当所述第一位置为所述云上时,所述第二位置为所述云本地专用集群处;当所述第一位置为所述云本地专用集群处时,所述第二位置为所述云上。
14.一种NAT网关,其特征在于,所述NAT网关为第二位置上的第二NAT网关,所述第二位置为云上或者云本地专用集群处;所述第二NAT网关包括:收发模块和处理模块;
所述收发模块用于接收第一位置上的第一NAT网关发送的第一数据包;其中,当所述第二位置为所述云上时,所述第一位置为所述云本地专用集群处;当所述第二位置为所述云本地专用集群处时,所述第一位置为所述云上;所述第一数据包是所述第一位置上的第一虚拟机发送给所述第一NAT网关的,且所述第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
所述处理模块用于将所述第一数据包的所述第一IP地址转换为第三IP地址,并将所述第一数据包中的所述第二IP地址转换为所述第一IP地址,得到第二数据包;
所述收发模块还用于将所述第二数据包发送给所述第二位置上的第二虚拟机。
15.一种数据传输***,其特征在于,包括位于第一位置上的第一NAT网关和位于第二位置上的第二NAT网关;其中,当所述第一位置为云上时,所述第二位置为云本地专用集群处;当所述第一位置为所述云本地专用集群处时,所述第二位置为所述云上;
所述第一NAT网关用于:
接收所述第一位置上的第一虚拟机发送的第一数据包;其中,所述第一数据包的源IP地址为第一IP地址,目的IP地址为第二IP地址;
将所述第一数据包的所述第一IP地址转换为第三IP地址,得到第二数据包;并将所述第二数据包发送给第二位置上的第二NAT网关;
所述第二NAT网关用于:
将所述第二数据包中的所述第二IP地址转换为所述第一IP地址,得到第三数据包;
将所述第三数据包发送给所述第二位置上的第二虚拟机。
16.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至10中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至10中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310853569.1A CN116582516B (zh) | 2023-07-12 | 2023-07-12 | 数据传输方法、设备、***、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310853569.1A CN116582516B (zh) | 2023-07-12 | 2023-07-12 | 数据传输方法、设备、***、介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116582516A true CN116582516A (zh) | 2023-08-11 |
CN116582516B CN116582516B (zh) | 2023-09-19 |
Family
ID=87534447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310853569.1A Active CN116582516B (zh) | 2023-07-12 | 2023-07-12 | 数据传输方法、设备、***、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116582516B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190227998A1 (en) * | 2016-12-13 | 2019-07-25 | Tencent Technology (Shenzhen) Company Limited | Database data migration method, apparatus, terminal, system, and storage medium |
CN111917893A (zh) * | 2019-05-10 | 2020-11-10 | 华为技术有限公司 | 虚拟私有云与云下数据中心通信、配置方法及相关装置 |
US20220263793A1 (en) * | 2021-02-13 | 2022-08-18 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
CN115442367A (zh) * | 2022-08-23 | 2022-12-06 | ***股份有限公司 | 数据传输方法、虚拟私有云、设备、介质及产品 |
CN116094923A (zh) * | 2023-01-30 | 2023-05-09 | 杭州优云科技有限公司 | 云实例迁移后的网关更新方法及装置和电子设备 |
US20230146880A1 (en) * | 2021-03-12 | 2023-05-11 | Rakuten Mobile, Inc. | Management system and management method |
CN116170406A (zh) * | 2023-01-18 | 2023-05-26 | 阿里云计算有限公司 | 用于实现虚拟机与公网通信的***和方法 |
-
2023
- 2023-07-12 CN CN202310853569.1A patent/CN116582516B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190227998A1 (en) * | 2016-12-13 | 2019-07-25 | Tencent Technology (Shenzhen) Company Limited | Database data migration method, apparatus, terminal, system, and storage medium |
CN111917893A (zh) * | 2019-05-10 | 2020-11-10 | 华为技术有限公司 | 虚拟私有云与云下数据中心通信、配置方法及相关装置 |
US20220263793A1 (en) * | 2021-02-13 | 2022-08-18 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
US20230146880A1 (en) * | 2021-03-12 | 2023-05-11 | Rakuten Mobile, Inc. | Management system and management method |
CN115442367A (zh) * | 2022-08-23 | 2022-12-06 | ***股份有限公司 | 数据传输方法、虚拟私有云、设备、介质及产品 |
CN116170406A (zh) * | 2023-01-18 | 2023-05-26 | 阿里云计算有限公司 | 用于实现虚拟机与公网通信的***和方法 |
CN116094923A (zh) * | 2023-01-30 | 2023-05-09 | 杭州优云科技有限公司 | 云实例迁移后的网关更新方法及装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116582516B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11362986B2 (en) | Resolution of domain name requests in heterogeneous network environments | |
US10547463B2 (en) | Multicast helper to link virtual extensible LANs | |
US10541836B2 (en) | Virtual gateways and implicit routing in distributed overlay virtual environments | |
US9143582B2 (en) | Interoperability for distributed overlay virtual environments | |
CN116235484A (zh) | 层2网络中的基于接口的acl | |
US10680945B1 (en) | Extending overlay networks to edge routers of a substrate network | |
US10389628B2 (en) | Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network | |
CN114025021B (zh) | 一种跨Kubernetes集群的通信方法、***、介质和电子设备 | |
JP2024503321A (ja) | 仮想化されたクラウド環境におけるレイヤ2ネットワークのインターネットグループ管理プロトコル(igmp) | |
KR20140057553A (ko) | 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 | |
US11777897B2 (en) | Cloud infrastructure resources for connecting a service provider private network to a customer private network | |
JP2024503600A (ja) | 仮想化されたクラウド環境におけるレイヤ2ネットワーキングスパンポート | |
US10785056B1 (en) | Sharing a subnet of a logically isolated network between client accounts of a provider network | |
JP2024503322A (ja) | 仮想化されたクラウド環境におけるレイヤ2ネットワーキングストーム制御 | |
JP2024503318A (ja) | 仮想化されたクラウド環境においてアクセス制御リストを使用するレイヤ2ネットワーキング | |
US9929951B1 (en) | Techniques for using mappings to manage network traffic | |
CN116582516B (zh) | 数据传输方法、设备、***、介质及程序产品 | |
CN114679370B (zh) | 一种服务器托管方法、装置、***及存储介质 | |
JP2024507142A (ja) | サービスプロバイダプライベートネットワークを顧客プライベートネットワークに接続するためのクラウドインフラストラクチャリソース | |
CN116897527A (zh) | 用于将服务提供商私有网络连接到客户私有网络的云基础设施资源 | |
CN110875884B (zh) | 一种流量迁移***、一种数据处理方法及装置 | |
US12040915B1 (en) | Systems and methods for using serverless functions to call mainframe application programing interfaces | |
US20240129242A1 (en) | Network link establishment for saas applications in a multi-cloud infrastructure | |
US20240095739A1 (en) | Identity management for virtual private label clouds | |
CN117354309A (zh) | 一种基于lvs的负载均衡***实现源ip透传的实现方法 |
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 |