CN111698338B - 一种数据传输的方法和计算机系统 - Google Patents

一种数据传输的方法和计算机系统 Download PDF

Info

Publication number
CN111698338B
CN111698338B CN201910199742.4A CN201910199742A CN111698338B CN 111698338 B CN111698338 B CN 111698338B CN 201910199742 A CN201910199742 A CN 201910199742A CN 111698338 B CN111698338 B CN 111698338B
Authority
CN
China
Prior art keywords
network
subnet
network segment
server
vpc
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
CN201910199742.4A
Other languages
English (en)
Other versions
CN111698338A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910199742.4A priority Critical patent/CN111698338B/zh
Priority to EP20773427.8A priority patent/EP3883217A4/en
Priority to PCT/CN2020/073023 priority patent/WO2020186925A1/zh
Publication of CN111698338A publication Critical patent/CN111698338A/zh
Priority to US17/373,025 priority patent/US11451509B2/en
Application granted granted Critical
Publication of CN111698338B publication Critical patent/CN111698338B/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
    • 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/256NAT traversal
    • 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/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • 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
    • 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/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • 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/2521Translation architectures other than single NAT servers
    • 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/2521Translation architectures other than single NAT servers
    • H04L61/2535Multiple local networks, e.g. resolving potential IP address conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种数据传输的方法和计算机系统。该方法包括:确定第一网段和第二网段重叠,该第一网段是运行在VPC上的目标服务器所处的子网的网段,该第二网段是希望访问该目标服务器的电子设备所处的子网的网段。在该VPC中创建至少两个子网,该至少两个子网中任意一个与第一网段、第二网段均不重叠。该至少两个子网用于转发数据包。当目标服务器向电子设备发送数据包时,先后经由该至少两个子网中的网络接口的转发后到达电子设备。由于该至少两个子网的网段与第一网段、第二网段均不重叠,数据包在该至少两个子网的任意一个子网的网络接口上都可被转发到具有唯一IP地址的下一个节点,从而实现数据包在电子设备和目标服务器间的正确传输。

Description

一种数据传输的方法和计算机系统
技术领域
本申请涉及云计算领域,并且更具体地,涉及数据传输的方法和计算机系统。
背景技术
随着信息技术的发展,目前很多公司都在全国或全球范围内设立了分支机构或子公司。各个地区或国家的分支机构和子公司希望通过网络实现业务的部署和连接。为了降低成本,用户希望将数据中心部署在云端,以方便各分支机构和子公司的云下用户访问。该数据中心例如可以是应用中心、业务中心、服务中心等。
虚拟私有云(virtual private cloud,VPC)可以为用户提供安全、私密的网络环境。云下的用户例如可以通过VPN连接等方式接入VPC,以访问云端的数据中心。
然而,由于不同区域的电信网络运营商不同,这些电信网络运营商所提供的因特网协议(Internet protocal,IP)网段之间与云下服务器的IP网段重叠也是一个大概率事件。一旦IP地址重叠,就有可能使得数据包不能被正确发送,从而影响用户体验,甚至给用户造成巨大的经济损失。
发明内容
本申请提供一种数据传输的方法和计算机系统,以期实现数据包的正确传输,提高用户体验。
第一方面,提供了一种数据传输的方法。该方法包括:确定第一网段和第二网段重叠;该第一网段是目标服务器所处的子网包括的网段,该目标服务器是运行在第一虚拟私有云VPC中的服务器,该第一网段从属于第一VPC包括的网段;该第二网段是第一电子设备所处的子网包括的网段;在第一VPC中创建至少两个子网,该至少两个子网中任意一个子网包括的网段与第一网段和第二网段均不重叠;当目标服务器向第一电子设备发送数据包时,该至少两个子网中的网络接口用于先后转发该数据包,使得该数据包经由至少两次转发后发送至该第一电子设备。
应理解,该方法可以由运行在第一VPC中的服务器执行。例如可以是上述目标服务器,也可以是其他服务器,本申请对此不作限定。
基于上述技术方案,在第一电子设备与目标服务器发生网段重叠的情况下,在第一VPC中创建至少两个子网,来实现第一电子设备与软件系统的互联互通。由于该至少两个子网中任意一个子网包括的网段与第一电子设备所处的网段、目标服务器所处的网段均不重叠,可以使得数据包在传输的过程中,能够找到唯一的目的IP地址,从而可以实现数据包在第一电子设备和软件系统之间的正确传输,有利于提高用户体验。并且,本申请所提供的技术方案并不需要新建目标服务器,也不需要在其他目标服务器(如新建的服务器)上部署软件系统,成本较小,周期较短。
结合第一方面,在某些可能的实现方式中,该数据包经由至少两个网络接口中的每个网络接口进行IP地址转换后被转发,该至少两个网络接口与上述至少两个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
具体来说,上述至少两个子网的每个子网中的网络接口用于根据预先确定的路由对接收到的数据包进行IP地址转换,以使得来自目标服务器的数据包先后经由该至少两个子网中的每个子网中的IP地址转换后被转发到达第一电子设备。
相应地,该至少两个子网的每个子网中的网络接口用于根据预先确定的路由对接收到的数据包进行IP地址转换,以使得来自第一电子设备的数据包依次经由该至少两个子网中的每个子网中的IP地址转换后被转发到达目标服务器。
其中,通过对目的网络地址进行转换,可以使得来自第一电子设备的数据包经上述新创建的至少两个子网的转发后到达目标服务器,或者,使得来自目标服务器的数据包经上述新创建的至少两个子网的转发后到达第一电子设备。
通过对源网络地址进行转换,可以进一步获得数据包的回程路径。例如,目标服务器在接收到来自第一电子设备的数据包后,可以沿回程路径向第一电子设备反馈响应消息;或者,第一电子设备在接收到来自目标服务器的数据包后,可以沿回程路径向目标服务器反馈响应消息。
应理解,IP地址转换例如可以由网络地址转换(network address translation,NAT)软件实现,也可以由目的网络地址转换(destination network addresstranslation,DNAT)软件和源网络地址转换(source network address translation,SNAT)软件共同实现,或者,也可以由其它可实现相同或相似功能的软件或硬件实现。本申请对此不作限定。
结合第一方面,在某些可能的实现方式中,所述至少两个网络接口配置在目标服务器上。
将该至少两个网络接口配置在目标服务器上,这样可以减少对服务器资源的浪费。该目标服务器上可以新增与新创建的至少两个子网对应的至少两个网络接口,每个网络接口的IP地址从属于所对应的子网。
结合第一方面,在某些可能的实现方式中,该方法还包括:在该第一VPC中创建该第二服务器;在该第二服务器上配置该至少两个网络接口。
将该至少两个网络接口配置在第二服务器上,也就是配置在与目标服务器不同的服务器上。这可以满足用户不希望重启目标服务器的需求,有利于提高用户体验。该第二服务器上可以配置与新创建的至少两个子网对应的至少两个网卡,每个网卡的IP地址从属于所对应的子网。
结合第一方面,在某些可能的实现方式中,所述至少两个网卡为主用网卡,该方法还包括:在该第一VPC中创建第三服务器;在该第三服务器上配置至少两个备用网络接口,该至少两个备用网络接口与至少两个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。该第三服务器可以作为上述目标服务器或第二服务器的备用服务器。该第三服务器配置的网络接口为备用网络接口。上述目标服务器或第二服务器配置的网络接口为主用网络接口。通过为IP地址从属同一子网的主用网络接口和备用网络接口设置同一浮动IP,可以实现主备高可用,从而可以获得高可靠性的服务,有利于提高用户体验。
结合第一方面,在某些可能的实现方式中,所述方法还包括:确定第三网段与该第一网段重叠,该第三网段为第二电子设备所处的子网包括的网段;在第二VPC中创建至少两个子网,该第二VPC与该第一VPC之间具有通信连接,该至少两个子网中的任意一个子网与该第一网段、该第二网段和该第三网段均不重叠;当该目标服务器向该第二电子设备发送数据包时,该至少两个子网的网络接口用于先后转发该数据包,使得该数据包经由至少两次转发后发送至该第二电子设备。
进一步地,在多个电子设备希望接入同一目标服务器的情况下,多个电子设备之间可能出现网段重叠。在此情况下,可以创建新的VPC,即上述第二VPC,并在新创建的第二VPC中创建至少两个子网,该第二VPC创建的至少两个子网与上述第一网段和第二网段均不重叠,从而可以使得任意两个网段重叠的电子设备可以通过不同的路径与目标服务器实现互联互通,传输数据。
因此,本申请实施例为多个电子设备需要接入目标服务器的场景下,目标服务器与电子设备发生网段重叠以及电子设备之间发生网段重叠均提供了相应的技术方案,以实现电子设备与目标服务器的互联互通,从而实现一个中心连接任意多个用户。
第二方面,提供了一种数据传输的方法。该方法包括:确定第四网段和第五网段重叠,该第四网段为第三电子设备所处的子网包括的网段,该第五网段为第四电子设备所处的子网包括的网段,该第四电子设备与目标服务器具有网络连接关系;该目标服务器为运行在第一虚拟私有云VPC中的服务器,该第一网络接口的IP地址从属第一网段,该第一网段从属于该第一VPC包括的网段;在第三VPC中创建至少一个子网,该第三VPC与第一VPC之间具有通信连接,该至少一个子网中的任意一个子网与第一网段、第四网段和第五网段均不重叠;当该目标服务器向该第三电子设备发送数据包时,该至少一个子网中的网络接口用于转发该数据包,使得该数据包经由至少一次转发后发送至该第三电子设备。
应理解,该方法可以由运行在第一VPC中的服务器执行。例如可以是上述目标服务器,也可以是其他服务器,本申请对此不作限定。
基于上述技术方案,在访问目标服务器的多个电子设备发生网段重叠的情况下,为新接入的第三电子设备创建新的VPC,并在新创建的VPC中创建新的子网,来实现第三电子设备与目标服务器的互联互通。由于新创建的VPC中的子网包括的网段与第四电子设备所处的网段和目标服务器所处的网段不重叠,可以使得数据包在传输的过程中,能够找到唯一的目的地址,从而可以实现数据包在第三电子设备和目标服务器之间的正确传输,有利于提高用户体验。并且,本申请所提供的技术方案并不需要新建目标服务器,也不需要在其他目标服务器(如新建的服务器)上部署软件系统,成本较小,周期较短。
结合第二方面,在某些可能的实现方式中,该数据包经由至少两个网络接口中的每个网络接口进行IP地址转换后被转发,该至少两个网络接口与该至少两个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
具体来说,上述至少一个子网的每个子网中的网络接口用于根据预先确定的路由对接收到的数据包进行IP地址转换,以使得来自目标服务器的数据包先后经由该至少一个子网中的每个子网中的IP地址转换后被转发到达第三电子设备。
相应地,该至少一个子网的每个子网中的网络接口用于根据预先确定的路由对接收到的数据包进行IP地址转换,以使得来自第三电子设备的数据包依次经由该至少一个子网中的每个子网中的IP地址转换后被转发到达目标服务器。
其中,通过对目的网络地址进行转换,可以使得来自第三电子设备的数据包经上述新创建的至少一个子网的转发后到达目标服务器,或者,使得来自目标服务器的数据包经上述新创建的至少一个子网的转发后到达第三电子设备。
通过对源网络地址进行转换,可以进一步获得数据包的回程路径。例如,目标服务器在接收到来自第三电子设备的数据包后,可以沿回程路径向第三电子设备反馈响应消息;或者,第三电子设备在接收到来自目标服务器的数据包后,可以沿回程路径向目标服务器反馈响应消息。
应理解,上述数据包转发模块例如可以由NAT软件实现,也可以由DNAT软件和SNAT软件共同实现,或者,也可以由其它可实现相同或相似功能的软件或硬件实现。本申请对此不作限定。
结合第二方面,在某些可能的实现方式中,该方法还包括:创建第三VPC。
应理解,该第三VPC可以是新创建的,也可以是原本就有的,本申请对此不作限定。
结合第二方面,在某些可能的实现方式中,该方法还包括:在该第三VPC中创建第四服务器;在该第四服务器上配置该至少一个网络接口。
即,在新创建的第三VPC中创建第四服务器,该服务器上可配置与新创建的至少一个子网对应的至少一个网络接口,每个网络接口的IP地址从属于所对应的子网。
结合第二方面,在某些可能的实现方式中,所述至少一个网卡为主用网卡,该方法还包括:在第三VPC中创建第五服务器;在该第五服务器上配置至少一个备用网络接口,该至少一个备用网络接口与至少一个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
该第五服务器可以作为上述第一服务器或的备用服务器。该第五服务器配置的网络接口为备用网络接口。上述第一服务器配置的网络接口为主用网络接口。通过为IP地址从属同一子网的主用网络接口和备用网络接口设置同一浮动IP,可以实现主备高可用,从而可以获得高可靠性的服务,有利于提高用户体验。
第三方面,提供了一种计算机系统,该计算机系统包括可用于实现上述第一方面及第一方面任意种可能实现方式的模块。
具体地,该计算机系统包括确定模块和创建模块;所述确定模块用于:确定第一网段和第二网段重叠,所述第一网段是目标服务器所处的子网包括的网段,所述目标服务器是运行在第一虚拟私有云VPC中的服务器,所述第一网段从属于所述第一VPC包括的网段,所述第二网段是第一电子设备所处的子网包括的网段;所述创建模块用于:在所述第一VPC中创建至少两个子网,所述至少两个子网中任意一个子网包括的网段与所述第一网段和所述第二网段均不重叠;当所述目标服务器向所述第一电子设备发送数据包时,所述至少两个子网中的网络接口用于先后转发所述数据包,使得所述数据包经由至少两次转发后发送至所述第一电子设备。
结合第三方面,在第三方面的某些实现方式中,所述数据包经由至少两个网络接口中的每个网络接口进行IP地址转换后被转发,所述至少两个网络接口与所述至少两个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
结合第三方面,在第三方面的某些实现方式中,所述至少两个网络接口配置在所述目标服务器上。
结合第三方面,在第三方面的某些实现方式中,所述创建模块还用于:在所述第一VPC中创建所述第二服务器;所述计算机系统还包括配置模块,所述配置模块用于:在所述第二服务器上配置所述至少两个网络接口。
结合第三方面,在第三方面的某些实现方式中,与所述至少两个子网对应的网络接口为主用网络接口,所述创建模块还用于:在所述第一VPC中创建第三服务器;所述配置模块还用于:在所述第三服务器上配置至少两个备用网络接口,所述至少两个备用网络接口与至少两个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
结合第三方面,在第三方面的某些实现方式中,所述确定模块还用于:确定第三网段与所述第一网段重叠,所述第三网段为第二电子设备所处的子网包括的网段;所述创建模块还用于:在第二VPC中创建至少两个子网,所述第二VPC与所述第一VPC之间具有通信连接,所述至少两个子网中的任意一个子网与所述第一网段、所述第二网段和所述第三网段均不重叠;当所述目标服务器向所述第二电子设备发送数据包时,所述至少两个子网的网络接口用于先后转发所述数据包,使得所述数据包经由至少两次转发后发送至所述第二电子设备。
第四方面,提供了一种计算机系统,该计算机系统包括可用于实现上述第二方面及第二方面任意一种可能实现方式的模块。
具体地,该计算机系统包括确定模块和创建模块。所述确定模块用于:确定第四网段和第五网段重叠,所述第四网段为第三电子设备所处的子网包括的网段,所述第五网段为第四电子设备所处的子网包括的网段,所述第四电子设备与目标服务器具有网络连接关系,所述目标服务器为运行在第一虚拟私有云VPC中的服务器,所述第一网络接口的IP地址从属第一网段,所述第一网段从属于所述第一VPC包括的网段;所述创建模块用于:在第三VPC中创建至少一个子网,所述第三VPC与所述第一VPC之间具有通信连接,所述至少一个子网中的任意一个子网与所述第一网段、所述第四网段和所述第五网段均不重叠;当所述目标服务器向所述第三电子设备发送数据包时,所述至少一个子网中的网络接口用于转发所述数据包,使得所述数据包经由至少一次转发后发送至所述第三电子设备。
结合第四方面,在第四方面的某些实现方式中,所述数据包经由至少一个网络接口中的每个网络接口进行IP地址转换后被转发,所述至少一个网络接口与所述至少一个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
结合第四方面,在第四方面的某些实现方式中,所述创建模块还用于:创建所述第三VPC。
结合第四方面,在第四方面的某些实现方式中,所述创建模块还用于:在所述第三VPC中创建所述第四服务器;所述计算机系统还包括配置模块,所述配置模块用于:在所述第四服务器上配置与所述至少一个子网对应的至少一个网络接口。
结合第四方面,在第四方面的某些实现方式中,与所述至少一个子网对应的至少一个网络接口为主用网络接口,所述创建模块还用于:在第三VPC中创建第五服务器;所述配置模块还用于:在所述第五服务器上配置至少一个备用网络接口,所述至少一个备用网络接口与至少一个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
第五方面,提供了一种计算机系统。该计算机系统包括处理器、存储器和通信接口。
该存储器可以用于存储该计算机系统的程序代码和数据。因此,该存储器可以是处理器内部的存储单元,也可以是与处理器独立的外部存储单元,还可以是包括处理器内部的存储单元和与处理器独立的外部存储单元的部件。
存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(randomaccess memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。存储器可用于存储一组程序代码,以便于处理器调用存储器中存储的程序代码以实现本发明实施例中涉及的接收模块和/或处理模块的功能。
处理器可以由一个或者多个通用处理器构成,例如可以是中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含多个微处理器组合,DSP和微处理器的组合等等。处理器可用于运行相关的程序代码中处理功能的程序。也就是说,处理器执行程序代码可以实现处理模块的功能。其中,关于各模块的具体功能可参见前述第三方面中的相关阐述。
应理解,处理器还可以是包括至少一台计算设备的处理器的集合,本申请对此不做具体限定。
在一种可能的实施方式中,所述至少一个计算设备的处理器共同用于运行相关的程序代码,以实现本申请上述第三方面或第四方面中各模块的功能。
在另一种可能的实施方式中,每个计算设备的处理器可单独用于运行相关的程序代码,以实现本申请上述第三方面或第四方面中各模块的功能。
通信接口可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/设备进行通信。
所述处理器用于从存储器中调用并运行该计算机程序,使得所述计算机系统执行第一方面或或第二方面以及第一方面或第二方面中任一种可能实现方式中的方法。
第六方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
附图说明
图1是适用于本申请实施例提供的数据传输的方法的通信系统的示意图;
图2是多个电子设备接入服务器上的软件系统的示意图;
图3是本申请一实施例提供的数据传输的方法的示意性流程图;
图4和图5是本申请实施例提供的在第一VPC提供的目标服务器上运行的软件系统与第一电子设备传输数据的示意图;
图6是本申请实施例提供的主用服务器和备用服务器的示意图;
图7是本申请实施例提供的第一电子设备、第二电子设备分别与目标服务器上运行的软件系统传输数据的示意图;
图8是本申请另一实施例提供的数据传输的方法的示意性流程图;
图9是本申请实施例提供的第三电子设备、第四电子设备分别与目标服务器上运行的软件系统传输数据的示意图;
图10是本申请实施例提供的计算机系统的示意性框图;
图11是本申请实施例提供的计算机系统的另一示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
首先,对本申请中涉及到的一些术语做简单说明。
1、公有云:通常是指第三方提供商为用户提供的能够使用的云。用户可以通过互联网访问服务。目前常见的公有云例如有华为云、阿里云、亚马逊网络服务(Amazon webservice,AWS)等。
2、虚拟专用网络(virtual private network,VPN):简单地说,VPN就是在公用网络上建立专用网络,进行加密通讯。由于整个VPN的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架设在公用网络服务商所提供的网络平台上的逻辑网络,因此将其称为虚拟网络。
在本申请实施例中,VPN可用于在虚拟私有云(virtual private cloud,VPC)的云上系统和云下的服务器之间建立安全、加密的通信隧道。当云下的用户需要通过本地服务器访问VPC中的云上系统中的资源时,或者VPC中的云上系统需要访问云下服务器中的资源时,可以通过VPN技术来实现两端的互联互通。具体地,可以分别在VPC中的云上系统和云下服务器中之间建立VPN连接或云专线等。本申请对于云上系统与云下服务器之间的网络连接的具体形式不做限定。
其中,VPN连接是一种基于Internet隧道技术、可用于构建VPN网关和用户网关之间的安全、可靠的加密通道。当前协议中,VPN连接支持IP安全(IP security,IP sec)VPN协议。
3、虚拟私有云(VPC):也称虚拟专用云。VPC是运行在公有云上、将一部分公有云资源为某个用户隔离出来给这个用户私有使用的资源的集合。VPC可以由公有云管理,运行在公共资源上,但又可以保证每个用户之间的资源是隔离,用户在使用的时候不受其他用户的影响,感觉像是在使用自己的私有云一样。因此称之为虚拟私有云。
VPC基于安全的隧道网络技术,如上所述的VPN技术,可提供安全、隔离的网络环境。用户可以完全掌握自己的虚拟网络,包括创建子网、配置路由表、设置安全组和申请弹性带宽/IP等。
两个VPC之间的网络连接可以称为VPC对等连接。
4、弹性云主机:也可以称为弹性云服务器(elastic cloud server,ECS)。弹性云主机例如可以是由中央处理单元(central processing unit,CPU)、网卡、内存、镜像、磁盘等组成,是一种可随时获取、可弹性伸缩的云服务器。弹性云主机创建成功后,就可以像使用本地个人计算机(personal computer,PC)或物理服务器一样,在云上使用弹性云主机。通过和其他产品、服务组合,弹性云主机可以实现计算、存储、网络、镜像安装等功能。
5、软件系统:在本申请实施例中,软件系统是运行在VPC提供的弹性云主机上的系统。公有云可以提供弹性云主机,该弹性云主机运行在VPC环境中。该弹性云主机中可以部署相应的应用程序(application,APP),以实现相应的功能。因此,该云上系统也可以称为云上应用程序、云上应用系统。
由于一个公司在各个地区的分支机构或子公司均可通过网络访问该云上系统,该云上系统也就相当于这个公式的数据中心。该数据中心例如可以是应用中心、业务中心、服务中心等。本申请对此不作限定。
6、子网(subnet)和网段:在Internet中可以利用IP地址来区分不同的主机。IP地址是以网络号和主机号来表示网络上的主机的,只有在一个网络号下的计算机之间才能“直接”互通,不同网络号的计算机要通过网关才能互通。但这样的划分在某些情况下显得并不十分灵活。为此IP网络还可以划分为更小的网络,称为子网。换句话说,子网是对IP网络的一种逻辑划分。子网可以通过子网掩码来区分。子网掩码可以用来判断任意两个IP地址是否属于同一子网。
在本申请实施例中,一个VPC可以包括一个网段。不同VPC之间的网段互不重叠。
一个VPC也可以划分为更小粒度的网络。一个VPC中更小粒度的网络也可以称为子网。子网是用来管理弹性云主机网络平面的一个网络,可以提供IP地址管理、域名系统(domain name system,DNS)服务。每个子网也可以包括一个网段,每个网段可以由多个IP地址组成。一个子网包括的网段可以理解为是这个子网的IP地址的范围。作为VPC中更小粒度的网络划分,一个子网的网段从属于VPC包括的网段。换句话说,一个子网的网段可以看成是VPC包括的网段的一个子集。
同一VPC中不同子网的网段互不重叠。同一VPC的所有子网内的弹性云服务器均可以进行通信。
当弹性云主机运行在VPC上时,该弹性云主机中可以配置一个或多个网络接口,每个网络接口配置有一个IP地址,该IP地址是从属该VPC包括的某一子网网段的IP地址。可以理解的是,该弹性云主机中的任意一个网络接口的IP地址都从属于该VPC包括的网段。
此外,子网可以通过子网掩码来区分。子网掩码可以用来判断任意两个IP地址是否属于同一子网。对于任意两个给定的IP地址,可以由子网掩码来确定该两个IP地址是否属于同一子网。
7、私有IP地址:也可以称为内部IP地址。或者,也可简称为私有IP、内部IP。私有IP是在本地局域网上的IP。与之对应的是公有IP(或称公网IP)。本申请实施例中涉及的IP地址均可以为私有IP地址。
8、浮动(floating)IP地址:在本申请实施例中,两个弹性云主机可以在同一个子网可以设定一个相同的IP地址。当用户访问该IP地址时,具体运行哪台弹性云主机可以由系统指定。该两台弹性云主机中的一台可以被指定为主用弹性云主机,另一台可以被指定为备用弹性云主机。软件可以设置在主用弹性云主机正常运行的情况下,将备用弹性云主机设置为宕机状态;并可以在主用弹性云主机宕机的情况下,启用备用弹性云主机。由于该两个弹性云主机在同一子网中共用同一个浮动IP地址,对于用户来说,就好像是同一个弹性云主机在提供服务一样。换句话说,用户只需要使用这个浮动IP,任何一台弹性云主机宕机了,就可以把这个浮动IP地址主动切换到另外一台机器上。需要说明的是,浮动IP地址也属于私有IP地址。
为便于理解本申请实施例,下面首先结合图1详细说明适用于本申请实施例提供的方法的通信系统。图1是适用于本申请实施例提供的数据传输的方法的通信系统100的示意图。如图所示,该通信系统100可以包括:一个或多个电子设备101和一个或多个VPC 102。
其中,电子设备101例如可以是云下服务器,或者也可以称为本地服务器、远端服务器等。电子设备101还可以是其他通信设备。本申请对此不作限定。
各VPC之间可以通过VPC对等连接实现互联互通。电子设备可以通过VPN连接等网络连接与VPC中的服务器互联互通。应理解,图中仅为示例,示出了一个电子设备和一个VPC连接的场景。但这不应对本申请构成任何限定,本申请对于该通信系统中所包含的VPC的数量和电子设备的数量以及彼此之间的连接关系均不做限定。
电子设备和VPC中的服务器之间可以通过例如VPN连接实现互通。VPN连接具体可以建立在云下的VPN网关103和云上的VPN网关104之间。
其中,云下的VPN网关103可以通过路由器连接至电子设备101。图中虽未示出,但本领域的技术人员可以理解。电子设备可以是运行在某一子网中的服务器。VPN网关103可经由路由器、子网网关等网络节点与电子设备101连接。
VPC中可以包含一个或多个子网,如图中示出的子网1和子网2。每个子网可对应一个网段。各网段之间互不重叠。VPC有对应的网关,如图中示出的VPC网关105。VPC中的每个子网也都有各自对应的网关,如图中示出的网关106和网关107。各子网的网关可以通过VPC网关105与VPN网关104连接。
其中,VPN网关是分别在VPC和云下建立的出口网关设备,如图中示出的VPN网关103和VPN网关104。通过VPN网关,可建立VPC和电子设备或VPC与VPC之间的安全可靠的加密通信。可选地,VPN网关可以兼具防火墙和路由的功能。
各子网的网关是各子网的出口网关设备,如图中示出的网关106和网关107。通过各子网的网关,可以建立各子网之间的互联互通。VPC网关是VPC的出口网关设备,通过VPC网关,可以建立VPC之间以及VPC与云下的互联互通。可选地,VPC网关可以兼具防火墙和路由的功能。
VPC中的服务器例如可以是弹性云主机,或者称弹性云服务器。本申请对此不作限定。
VPC中的服务器可以是预先配置好的,也可以是临时从公有云中申请的。VPC中可以运行一个或多个服务器。如图中示出的服务器1至服务器4。应理解,图中示出的四台服务器仅为示例,不应对本申请构成任何限定。本申请对于VPC中运行的服务器的数量不作限定。此外,图中对服务器的编号仅为便于区分而定义,也不应对本申请构成任何限定。
在本申请实施例中,软件系统可以运行在预先配置好的一台服务器上,如图中示出的服务器1。该软件系统例如可以是公司的数据中心。其他服务器,如图中示出的服务器2至服务器4,还可以用于部署不同的软件,例如数据库等。本申请对此不作限定。
由于各地或各国的分支机构或子公司都希望能够与软件系统互联互通。因此希望能够实现一个中心连接任意多个用户。然而,由于不同区域的电信网络运营商不同,所提供的IP网段与电子设备的IP网段重叠是一个大概率事件。一旦IP地址重叠,就有可能使得数据包不能被正确发送,从而影响用户体验,甚至给用户造成巨大的经济损失。
图2示出了多个电子设备接入同一服务器上的软件系统的一例。如图所示,电子设备1所处的子网1包括网段1,电子设备2所处的子网2包括网段2,电子设备3的子网3包括网段3,用于运行该软件系统的服务器所处的子网也为子网2,也包括网段2。也就是说,电子设备2的子网2与软件系统所处的子网2的网段发生重叠。若将电子设备2与软件系统之间直接通过VPN连接互联,则数据包在电子设备2和软件系统之间传输时,数据包中的一个目的地址,可能对应了两个节点。换句话说,一个目的地址并不能对应唯一的一个节点。因此,数据包可能会被错误地转发。电子设备2与软件系统中的任意一端可能均无法正确接收到来自对端的数据包。
因此,若要实现互联互通,可能需要创建新的VPC并创建新的数据中心。例如,针对电子设备2,创建新的VPC,该新创建的VPC的子网可以包括网段4,以避免与电子设备2的子网网段发生网段重叠。可以理解,由于电子设备的数量很多,多个电子设备与软件系统的网段重叠是一个大概率事件。若对每次网段重叠均采用相同的方式来处理,可能会造成巨大的成本和较长的部署周期。
有鉴于此,本申请提供一种数据传输的方法,能够实现一个中心连接任意多个用户,以保证数据包的正确传输。同时,实现成本较低,部署周期较短。
下面结合附图详细说明本申请实施例提供的方法。
需要说明的是,本申请实施例所提供的方法可以由服务器执行,具体可以由部署在服务器上的软件通过执行相应的指令来实现。该软件例如可以是在该服务器上创建的虚拟机上部署的软件。该服务器例如可以是VPC提供的服务器,或者说,该服务器可以是运行在VPC中的服务器。该VPC中运行有软件系统,该软件系统例如可以部署在上述服务器上,也可以部署在该VPC提供的另一服务器上。本申请对此不作限定。
在一种实现方式中,上述服务器为弹性云主机,或者称,弹性云服务器。
下文中为方便区分和说明,将用于执行本申请实施例提供的方法的服务器记作第一服务器;将运行有上述软件系统的服务器记作目标服务器;该第一服务器和目标服务器可以运行在同一VPC中,该VPC例如可以记作第一VPC。访问该软件系统的电子设备可以记作第一电子设备。该第一电子设备可以是上文所列举的云下服务器,也可以是其他通信设备。本申请对此不作限定。
图3是本申请实施例提供的数据传输的方法300的示意性流程图。如图所示,该方法300可以包括步骤310至步骤340。
在步骤310中,确定第一网段和第二网段重叠。
其中,该第一网段可以是目标服务器所处的子网包括的网段。该子网例如记作第一子网,该第一子网包括第一网段。该目标服务器上运行有软件系统。云下的电子设备可以根据配置在该目标服务器上的网络接口的IP地址来实现对软件系统的访问。为便于区分和说明,将该配置在目标服务器上可用于实现对软件系统访问的网络接口记作第一网络接口。
应理解,网络接口例如可以是网卡或其他具有网络接口的功能的软件和/或硬件。本申请对此不作限定。
如前所述,该目标服务器运行在第一VPC中,故该第一网段从属于第一VPC所包括的网段。
该第二网段是第一电子设备所处的子网包括的网段。该子网例如可以记作第二子网,该第二子网包括第二网段。在本申请实施例中,该第一电子设备希望通过网络连接访问上述目标服务器上的软件系统。或者说,该第一电子设备希望接入该软件系统。
例如,图2中所示的第一VPC中的子网2为第一子网的一例,该子网2包括的网段2为第一网段的一例。图2中所示的电子设备1、电子设备2和电子设备3为第一电子设备的几例。图2中所示的云下的子网1、子网2和子网3为第二子网的几例,与此对应的网段1、网段2和网段3为第二网段的几例。
这里,目标服务器处于第一子网,可以是指,该目标服务器的IP地址从属于第一子网所包括的网段,或者说,该第二网段包括目标服务器的IP地址。该目标服务器的IP地址具体可以是配置在该目标服务器上的网络接口的IP地址。
第一电子设备处于第二子网,可以是指,第一电子设备的IP地址属于第二子网所包括的第二网段,或者说,该第二网段包括第一电子设备的IP地址。第一电子设备的IP地址具体可以是第一电子设备的网络接口的IP地址。下文为了简洁,省略对相同或相似情况的说明。
可选地,第一服务器可以预先获取第一网段和第二网段。该第一网段例如可以是由工作人员预先输入到第一服务器中。第二网段也可以是由工作人员预先输入到第一服务器中,或者,还可以基于用户新增的电子设备访问软件系统的需求,临时在用户界面弹出对话框,以便工作人员输入。
下文示出了输入网段的一例:192.168.0.0/16。其中,192.168.0.0为IP地址,16为子网掩码。该IP地址是以“0”开头的IP地址,则代表可以配合后面的子网掩码来确定一个网段。192.168.*.*是默认的私网IP。当前默认的私网IP例如还可以是172.16.*.*。本申请对此不做限定。
应理解,上述IP地址可以为私网IP地址,也可以为公网IP地址,本申请对此不作限定。此外,根据IP地址和子网掩码确定网段的具体方法可以参考现有技术,为了简洁,本申请中省略对具体方法的详细说明。
可选地,在该第一服务器获取到第一网段和第二网段之后,可以判断该第二网段是否与第一网段发生重叠。
具体地,每个网段可以是多个IP地址的集合。判断第一网段和第二网段是否发生重叠,也就是判断第一网段中的IP地址与第二网段中的IP地址是否有重复,或者说,第一网段中的IP地址的集合与第二网段中的IP地址的集合是否有交集。若第一网段中的IP地址与第二网段中的IP地址没有重复,即,交集为空集。则可以认为第一网段和第二网段未发生重叠。相反,若第一网段中的IP地址与第二网段中的IP地址有重复,即,交集不为空。则可以认为第一网段和第二网段发生重叠。当第一网段和第二网段发生重叠时,可以是部分重叠,也可以是全部重叠。本申请对此不作限定。
若第二网段未与第一网段发生重叠,则第一服务器可以直接在第一电子设备的VPN网关与第一VPC中的VPN网关之间建立VPN连接。建立VPN连接的具体实现过程可以与现有技术相同,为了简洁,这里省略对该过程的详细说明。
这里,需要说明的是,第一服务器在第一电子设备的VPN网关与VPC中的VPN网关之间建立VPN连接,具体可以通过调用应用程序接口(application programming interface,API)来实现。通过调用API接口,可以运行预先编写的程序,或,调用相关软件,如VPN软件,以实现VPN连接的自动创建。此外,API接口例如可以是由公有云提供的,运行在第一VPC中的第一服务器可以通过调用相应API接口来实现不同的功能。
还需要说明的是,第一电子设备的VPN网关并不从属第一电子设备。该第一电子设备的VPN网关还可作为其他电子设备的VPN网关,与第一VPC中的VPN网关通过VPN连接实现互通。第一电子设备的VPN网关可以理解为是云下的VPN网关。
若第二网段与第一网段发生重叠,则可以执行步骤320:在该第一VPC中创建至少两个子网,该至少两个子网中的任意一个子网的网段与上述第一网段和第二网段均不重叠。
当目标服务器向第一电子设备发送数据包时,该至少两个子网中的网络接口用于先后转发该数据包,使得该数据包经由至少两次转发后发送至第一电子设备。更具体地说,当目标服务器中的软件系统向第一电子设备发送数据包时,该至少两个子网中的网络接口用于先后转发该数据包,使得该数据包经由至少两次转发后发送至第一电子设备。
相应地,当第一电子设备向目标服务器发送数据包时,该至少两个子网中的网络接口用于先后转发该该数据包,使得该数据包经由至少两次转发后发送至目标服务器。更具体地说,当第一电子设备向目标服务器中运行的软件系统发送数据包时,该至少两个子网中的网络接口用于先后转发该数据包,使得该数据包经由至少两次转发后发送至目标服务器中的软件系统。
为便于理解和说明,下面结合图2中示出的场景,来详细说明本申请提供的数据传输的具体方法。如前所述,图2示出的云上的子网2(即,第一子网的一例)与云下的子网2(即,第二子网的一例)的网段均为网段2,也就是说,云上的子网2与云下的子网2的网段发生了重叠。
图4和图5示出了在第一VPC提供的目标服务器上运行的软件系统与第一电子设备传输数据的示意图。如图所示,第一服务器在该第一VPC中新创建了两个子网。下文中为方便区分和说明,该新创建的两个子网例如可以记作子网5和子网6(即,至少两个子网的一例),子网5包括的网段例如可以记作网段5,子网6包括的网段例如可以记作网段6。在本申请实施例中,网段5和网段6均不与网段2重叠。因此,该子网5和子网6可以连接于目标服务器所处的第一子网(如图中所示的云上子网2)和第一电子设备所处的第二子网(如图中所示的云下子网2)之间。软件系统可以通过该新创建的两个子网实现与第一电子设备的互联。图4和图5中的箭头示例性地示出了数据包由第一电子设备发送至软件系统的路径。下文中会结合附图数据包的转发路径,这里暂且省略对该具体内容的详细说明。
应理解,图中仅为示例,示意性地示出了新创建的两个子网,但这不应对本申请构成任何限定。新创建的子网个数可以是两个,也可以是两个以上。
在创建了上述至少两个子网之后,第一电子设备与软件系统之间传输的数据包的路由便可以确定。例如,该路由可以由第一服务器根据新创建的子网的互联关系确定,也可以由工作人员手动输入。本申请对此不作限定。确定好的路由例如可以以路由表的形式保存在各子网的网络接口中,以便于各子网在接收到数据包时,基于预先确定的路由转发数据包。
如图所示,由软件系统发送至第一电子设备的数据包可先后经由子网5和子网6的网络接口的转发到达第一电子设备;由第一电子设备发送至软件系统的数据包可先后经由子网6和子网5的网络接口的转发到达软件系统。并且,可以通过设置安全组策略,使得第一子网(如图中云上子网2)的网关禁止接收来自子网6的数据包。图中为便于理解,以子网6的网卡2与云上子网2的网关之间的连接被断开示意。为了简洁,下文中省略对相同或相似情况的说明。
应理解,上文中仅为示例,示意性地示出了数据包由软件系统发送至第一电子设备的路径以及由第一电子设备发送至软件系统的路径,但这不应对本申请构成任何限定。例如,由软件系统发送至第一电子设备的数据包也可以先后经由子网6和子网5的网络接口的转发后到达第一电子设备;由第一电子设备发送至软件系统的数据包也可以先后经由子网5和子网6的网络接口的转发后到达软件系统。本申请对此不作限定。
需要说明的是,在本申请实施例中,第一服务器在第一VPC中创建至少两个子网具体可以由该第一服务器调用API接口实现。通过调用API接口,可以运行预先编写的程序,或,调用相关软件,以实现子网的自动创建。在子网的创建过程中,API接口可以通过用户界面向工作人员呈现对话框,以便工作人员输入该至少两个子网中每个子网的网段。该至少两个子网的网段也可以由第一服务器根据预先获取的各子网(例如上述第一子网和第二子网等)的网段确定。本申请对此不作限定。
可选地,数据包经由至少两个网络接口中的每个网络接口进行IP地址转换后被转发,至少两个网络接口与上述至少两个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
换句话说,每个子网网段包括所对应的网络接口的IP地址。网络接口可以通过对接收到的数据包进行网络地址转换(network address translation,NAT)来转发数据包。其中,该网络地址例如可以是IP地址。
例如,通过该至少两个网络接口进行至少两次IP地址转换后,可以使得来自软件系统的数据包先后经由至少两个子网中的每个子网的数据包转发模块的转发到达第一电子设备;和/或,来自第一电子设备中的数据包先后经由该至少两个子网中的每个子网中的数据包转发模块的转发到达软件系统。
应理解,网络地址转换具体可以包括目的网络地址转换(destination networkaddress translation,DNAT)和源网络地址转换(source network address translation,SNAT)。其中,DNAT可用于转换接收该数据包的目的地址,如目的IP地址;SNAT可用于转换发送该数据包的源地址,如源IP地址。
上述至少两个网络接口中的每个网络接口可以根据上述预先确定的路由对接收到的数据包进行网络地址转换。该网络地址转换的功能具体可以由DNAT软件和SNAT软件共同实现,也可以由NAT软件实现,或者,也可以由其它可实现相同或相似功能的软件或硬件实现。本申请对此不作限定。下文中,为方便说明将用于实现网络地址转换功能的模块记作NAT。
对于每个网络接口来说,在接收到数据包之后,可以将根据预先确定的路由确定该数据包的目的IP地址,并可以根据发送该数据包的节点的IP地址确定该数据包的源IP地址。网络接口在确定了目的IP地址和源IP地址之后,可以将该目的IP地址和源IP地址输入NAT,由NAT来实现对该数据包的IP地址转换。对于每个子网来说,NAT可以部署在各子网中的服务器上,以便各子网中的服务器在接收到数据包时对数据包的进行目的IP地址转换,从而将数据包转发出去。此外,各子网中的服务器在接收到该数据包时还可以对进行源IP地址转换,以便确定回程路由。
可选地,上述至少两个网络接口配置在同一服务器。
当至少两个网络接口配置在同一服务器上时,该至少两个子网可以共用一个NAT来进行IP地址转换,也可以各自使用独立的NAT来进行IP地址转换。
作为一个实施例,该至少两个网络接口配置在目标服务器上。
可选地,该方法还包括:该第一服务器在该目标服务器上配置该至少两个网络接口。也就是说,该第一服务器上可以新增至少两个网卡,以与该至少两个子网对应。每个网卡的IP地址从属于该至少两个网卡中的一个。该至少两个子网中的每个子网的网络接口在接收到数据包时,可以分别将该数据包发送至NAT进行一次IP地址转换,进行了IP地址转换的数据包被返回至网络接口,网络接口可以根据进行了IP地址转换后的目的IP地址,将数据包转发至下一个目的IP地址。
如前所述,该目标服务器上除了原本配置的网络接口(例如记作第一网络接口)之外,还增加了至少两个网络接口,以与新创建的至少两个子网对应。即,可选地,该方法还包括:在目标服务器上增加至少两个网络接口,该至少两个网络接口的IP地址分别从属于上述至少两个子网。或者说,该至少两个网络接口的IP地址与上述至少两个子网一一对应。
再考虑到该目标服务器上原本配置的第一网络接口,该目标服务器中配置有至少三个网络接口,该至少三个网络接口的IP地址分别从属于至少三个子网,且该至少三个子网的网段互不重叠。如图4所示,该目标服务器可配置三个网络接口,如图中所示的网卡0(即,第一网络接口的一例)以及网卡1和网卡2(即,上述至少两个网络接口的一例)。该三个网卡可以分别从属三个不同的子网,即,子网2、子网5和子网6。
作为另一个实施例,上述至少两个网络接口配置在第二服务器上。
可选地,该方法还包括:在第一VPC中创建第二服务器;并在该第二服务器上配置至少两个网络接口。该至少两个网络接口的IP地址从属于新创建的至少两个子网。
其中,该第二服务器可以是独立于目标服务器的另一服务器,且该第二服务器与目标服务器之间具有网络连接关系。在该第二服务器上配置至少两个网络接口,则由目标服务器发送的数据包可以经由第二服务器上的至少两个网络接口的转发到达第一电子设备;由第一电子设备发送的数据包可以经由第二服务器上的至少两个网络接口的转发到达目标服务器。
如图5所示,该第二服务器中可以配置两个网络接口,该两个网络接口可以分别从属于两个不同的子网,即,子网5和子网6。由于通过网络接口进行IP地址转换并转发数据包的具体过程与上文所述相似,为了简洁,这里不再赘述。
基于图4和图5的示例可以看到,新创建的至少两个子网与第一子网(如图中所示的子网2)可对应于同一服务器,也可以对应于不同的服务器。本领域的技术人员可以理解,若要在目标服务器上增加网络接口,需要重启该目标服务器。因此可以根据用户的需求来决定在目标服务器上增加网络接口还是需要新创建一服务器,并在新创建的服务器(如,第二服务器)上配置两个或两个以上的网络接口来转发数据包,以实现第一电子设备与软件系统的互联互通。
应理解,该第二服务器可以是基于用户的需求临时创建的服务器,也可以是原本运行在该第一VPC上的服务器。若在该第一VPC上原先就运行有多个服务器,也可以考虑将其中的一台服务器用作第二服务器。并直接在该服务器上配置与至少两个子网对应的至少两个网络接口。本申请对此不作限定。
还应理解,将同一服务器运行在新创建的至少两个子网(如图4和图5中的子网5和子网6)中仅为一种可能的实现方式,而不应对本申请构成任何限定。在新创建的每个子网中也可以分别运行一台服务器。即,上述第二服务器的数量并不限于一台,也可以为至少两台,本申请对此不作限定。与此对应地,上述NAT可以是上述至少两个子网的网络接口共用一个NAT,也可以是各子网的网络接口分别使用各自的NAT,本申请对此不作限定。
下面仍以图4和图5为例,对软件系统与第一电子设备之间传输的数据包的路由以及转发过程做更进一步地说明。需要说明的是,图中为便于理解,示出了由第一电子设备发送数据包至软件系统的过程中数据包的转发路径。由软件系统发送数据包至第一电子设备的过程中数据包的转发路径与之相反,为了简洁,图中并未示出。但本领域的技术人员可以根据下文的描述得出相应的转发路径。
当软件系统向第一电子设备发送数据包时,该软件系统可以通过目标服务器上的第一网络接口(如图中的网络接口0)将该数据包的目的地址设置为从属于子网5的网络接口的IP地址。这里,为方便区分和说明,将子网5中的网络接口记作网络接口1,将该网络接口1的IP地址记作IP地址1。该网络接口1例如可以是目标服务器中新增的网络接口,如图4中所示;也可以是另一服务器上的网络接口,如图5中所示。本申请对此不作限定。
该数据包可以通过运行软件系统的目标服务器上的网络接口0被转发至子网5的网关,进而由子网5的网关转发至网络接口1上。网络接口1可以将该数据包的目的地址设置为从属于子网6的网络接口的IP地址。即,完成了该数据包的第一次网络地址转换。这里,为方便区分和说明,将子网6中的网络接口记作网络接口2,将该网络接口2的IP地址记作IP地址2。该网络接口2例如可以是目标服务器中新增的另一网络接口,如图4中所示;也可以是另一服务器上的网络接口,如图5中所示。本申请对此不作限定。
该数据包可以通过网络接口1被转发至子网6的网关,进而由子网6的网关转发至网络接口2上。网络接口2可以将该数据包的目的地址设置为第一电子设备的IP地址。即,完成了对该数据包的第二次网络地址转换。这里,为方便区分和说明,将第一电子设备的IP地址记作IP地址3。该IP地址3也就是第一电子设备所处的子网2的网关的IP地址。
该数据包可以通过网络接口2被转发至云下子网2的网关,进而由云下子网2的网关转发至第一电子设备。数据包在经由网络接口2被转发至云下子网2的网关时,例如可以依次经过云上子网6的网关、VPC网关、云上的VPN网关、VPN连接、云下的VPN网关以及云下的路由器等网络节点。由于数据包在云上和云下之间传输时,所经由的路径可以与现有技术相同。为了简洁,这里不做详细说明。后文中省略对相同或相似情况的说明。
由此,通过对数据包进行两次网络地址转换,可以将软件系统发送的数据包送达第一电子设备。应理解,图中仅为示例,并未示出该数据包所经过的每一个节点,但这不应对本申请构成任何限定。本领域的技术人员可以理解,通过对该数据包进行两次网络地址转换,可以将软件系统发送的数据包送达第一电子设备。
当第一电子设备向软件系统发送数据包时,该第一电子设备可以通过网络接口将数据包的目的地址设置为从属于子网6的网络接口的IP地址。如前所述,从属于子网6的网络接口记作网络接口2,该网络接口2的IP地址记作IP地址2。该网络接口2可以是目标服务器中新增的网络接口,如图4中所示;也可以是另一服务器上的网络接口,如图5中所示。本申请对此不作限定。
该数据包可以通过第一电子设备所处的子网2的网络接口被转发至子网6的网关,进而由子网6的网关转发到网络接口2上。网络接口2可以将该数据包的目的地址设置为从属于子网5的网络接口的IP地址。即,完成了该数据包的第一次网络地址转换。如前所述,从属于子网5的网络接口记作网络接口1,该网络接口1的IP地址记作IP地址1。该网络接口1可以是目标服务器中新增的网络接口,如图4中所示;也可以是另一服务器上的网络接口,如图5中所示。本申请对此不作限定。
该数据包可以通过网络接口2被转发至子网5的网关,进而由子网5的网关转发到网络接口1上。网络接口1可以将该数据包的目的地址设置为网络接口0的IP地址。即,完成了该数据包的第二次网络地址转换。如前所述,该网络接口0的IP地址即为用于运行软件系统的目标服务器的IP地址。
由此,通过对数据包进行两次网络地址转换,可以将第一电子设备发送的数据包送达软件系统。应理解,图中仅为示例,并未示出该数据包所经过的每一个节点,但这不应对本申请构成任何限定。本领域的技术人员可以理解,通过对该数据包进行两次网络地址转换,可以实现将第一电子设备发送的数据包送达软件系统。
还应理解,上文结合图4和图5,以新创建了两个子网为例来说明数据包的转发过程。可以理解的是,当新创建的子网个数为N(N≥2,且N为整数)时,对数据包进行目的地址转换的次数也为N。
基于上述技术方案,在第一电子设备与软件系统发生网段重叠的情况下,在第一VPC中创建至少两个子网,来实现第一电子设备与软件系统的互联互通。由于该至少两个子网中任意一个子网包括的网段与第一电子设备所处的网段、第一网络接口的IP地址从属的网段均不重叠,可以使得数据包在传输的过程中,能够找到唯一的目的IP地址,从而可以实现数据包在第一电子设备和软件系统之间的正确传输。
为了提高可靠性,可以进一步为上述至少两个子网配置主用网络接口和备用网络接口。该主用网络接口和备用网络接口可以配置在不同的服务器上,但在同一个子网内配置有一个相同的浮动IP地址。
可选地,上述至少两个网络接口为主用网络接口。该方法还包括:
步骤330,第一服务器在第一VPC中创建第三服务器;
步骤340,第一服务器在该第三服务器配置至少两个备用网络接口,一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
可选地,该方法还包括:第一服务器为每个主用网络接口及其对应的备用网络接口分配同一浮动IP地址。
具体地,该至少两个备用网络接口的IP地址可以与上述至少两个子网对应。每个备用网络接口的IP地址从属于所对应的子网的网段。由此,在新创建的至少两个子网中,每个子网上都运行有目标服务器(或第二服务器)和第三服务器。该目标服务器(或第二服务器)可提供主用网络接口,第三服务器可提供备用网络接口。也就是说,第一服务器可以为每个主用网络接口配置一个备用网络接口。
第一服务器可以为每个子网中的主用网络接口和备用网络接口设置一个浮动IP地址。该浮动IP地址可以理解为是该主用网络接口和备用网络接口的对外IP。也就是说,一个主用网络接口和对应的备用网络接口可以共用同一个浮动IP地址。
需要说明的是,该浮动IP地址仍然从属于子网。如,子网5中的主用网络接口和备用网络接口可使用同一浮动IP地址,该浮动IP地址从属于子网5的网段。子网6中的主用网络接口和备用网络接口可使用另一浮动IP地址,该浮动IP地址从属于子网6的网段。
与主用网络接口相对应,配置了该主用网络接口的服务器(即,上述目标服务器或第二服务器)可以称为主用服务器;与备用网络接口相对应,配置了该备用网络接口的服务器(即,上述第三服务器)可以称为备用服务器。当用户访问该某一浮动IP地址时,主用服务器正常工作,备用服务器可设置为宕机状态;在主用服务器宕机的情况下,备用服务器被设置为正常工作。换句话说,用户只需要使用这个浮动IP地址,任何一台服务器宕机了,就可以把这个浮动IP地址主动切换到另外一台服务器上。因此,用户访问该浮动IP地址时,总有一个服务器可正常工作,为用户提供服务。这看起来就好像是一个服务器在工作。从而实现了主备高可用。
在新创建的至少两个子网中,每个子网中都可以配置一个主用网络接口和一个备用网络接口。即,每个新创建的子网都有一个浮动IP地址。如前所述,每个子网中均可以运行一台服务器。而每个子网都可以配置一个主用网络接口和一个备用网络接口,因此,在每个子网中可以运行一台主用服务器和一台备用服务器。
由于同一服务器可以运行在新创建的至少两个子网中,因此,在考虑主备高可用的情况下,同一台主用服务器可以运行在新创建的至少两个子网中,同一台备用服务器也可以运行在新创建的至少两个子网中。从而在实现高可靠服务的同时,也提高了资源利用率。
应理解,该第三服务器可以是基于用户的需求临时创建的服务器,也可以是原本运行在该第一VPC上的服务器。若在该第一VPC上原先就运行有多个服务器,也可以考虑将其中的一台服务器用作第三服务器。并直接在该服务器上配置与至少两个子网对应的至少两个网络接口。本申请对此不作限定。
图6示出了主用服务器和备用服务器的一例。其中,主用服务器例如可以是上文所述的目标服务器或第二服务器,图6示出了目标服务器为主用服务器的一例。备用服务器可以是新创建的一台服务器。图6示出了第三服务器为备用服务器的一例。
在子网5中,主用服务器和备用服务器分别配置有至少两个网络接口。主用服务器的网络接口和备用服务器的网络接口的浮动IP地址例如可以记作浮动IP地址1;在子网6中,主用服务器的网络接口和备用服务器的网络接口的浮动IP地址例如可以记作浮动IP地址2。则浮动IP地址1可以从属于子网5的网段,浮动IP地址2可以从属于子网6的网段。可以看到,主用服务器在子网5中的网络接口的浮动IP地址与备用服务器在子网5中的网络接口的浮动IP地址相同。主用服务器在子网6中的网络接口的浮动IP地址与备用服务器在子网6中的网络接口的浮动IP地址也相同。
应理解,图中仅为示例,示出了两个子网上运行同一台主用服务器和同一台备用服务器的情况。但这不应对本申请构成任何限定。本领域的技术人员可以理解,主用和备用可以是由系统指定的,例如在本申请实施例中可以由第一服务器指定或工作人员指定。主用和备用仅仅是相对而言的两个概念,主用服务器和备用服务器可以配置相同的硬件资源和软件资源,提供相同的服务。因此,对于新创建的至少两个子网中的一个子网来说,被指定的主用服务器也可以是另一个子网的备用服务器。例如,子网6的主用服务器可以是子网5的备用服务器,子网5的主用服务器可以是子网6的备用服务器。
还应理解,图中仅为示例,仅示出了各网络接口的浮动IP地址,但这不应对本申请构成任何限定。例如,在一种实现方式中,第一服务器可以为同一子网中的主用网络接口和备用网络接口设置三个私有IP地址,其中一个私有IP地址可作为浮动IP地址,另两个私有IP地址可分别作为主用网络接口的IP地址和备用网络接口的IP地址。
除了电子设备与软件系统的网段发生重叠,电子设备之间也可能发生网段重叠。本申请针对电子设备之间的网段重叠也提供了相应的技术方案。
可选地,该方法还包括:确定第三网段与第一网段重叠。
该第三网段可以是希望访问该软件系统的电子设备所处的网段。为方便区分和说明,将该电子设备记作第二电子设备,该电子设备所处的子网记作第三子网,该第三子网包括的网段为第三网段。
可选地,该方法还包括:判断第三网段与第二网段是否发生重叠。
在第三网段与第二网段未发生重叠的情况下,可选地,该方法还包括:在第二电子设备的VPN网关与第一VPC中的VPN网关之间建立VPN连接。建立VPN连接的具体实现过程可以与现有技术相同,为了简洁,这里省略对该过程的详细说明。
在第三网段与第二网段发生重叠的情况下,可选地,该方法还包括:创建第二VPC,并在该第二VPC中创建至少两个子网。该第二VPC与第一VPC之间具有通信连接,且该第二VPC中创建的至少两个子网与第一网段和第三网段均不重叠。
如前所述,两个VPC之间的网段不重叠。因此,在第二VPC中创建的至少两个子网必然与第一VPC中的任意一个子网的网段不发生重叠。此外,该第二VPC中创建的至少两个子网也不与第三网段重叠。因此,当目标服务器向第二电子设备发送数据包时,该至少两个子网的网络接口可用于先后转发该数据包,使得该数据包经由至少两次转发后被发送至第二电子设备。
需要说明的是,第一服务器创建第二VPC以及在第二VPC中创建子网也可以通过调用API来实现。如前所述,该API接口可以是由公有云提供的。第一服务器可以调用相应的API接口来创建第二VPC,并在第二VPC中创建至少两个子网。
可选地,该数据包经由至少两个网络接口中的每个网络接口进行IP地址转换后被转发,该至少两个网络接口与第二VPC中的上述至少两个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
相应地,当第二电子设备向目标服务器发送数据包时,该至少两个子网的网络接口可用于先后转发数据包,使得该数据包经由至少两次转发后被发送至目标服务器。
可选地,该数据包经由至少两个网络接口中的每个网络接口进行IP地址转换后被转发,该至少两个网络接口与第二VPC中的上述至少两个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
如前所述,该至少两个子网的每个子网的网络接口可以共用同一NAT进行IP地址转换,也可以由各自的NAT进行IP地址转换。本申请对此不作限定。
图7示出了第一电子设备、第二电子设备分别与目标服务器上运行的软件系统传输数据的示意图。如图所示,第一电子设备与软件系统的互联关系与图4中所示意的互联关系相同。由于上文已经结合图4做了详细说明,为了简洁,这里不再赘述。第二VPC中新创建的至少两个子网例如可以包括子网8和子网9(即,第二VPC中的至少两个子网的一例)。该子网8和子网9的网段均不与第一VPC的网段重叠,也不与第二电子设备所处的第三网段重叠。
因此,由软件系统发送至第二电子设备的数据包可以先后经由子网8和子网9的转发后被发送至第三子网中的第二电子设备。该数据包先后在子网8和子网9进行了一次网络地址转换。其具体过程与数据包经由子网5和子网6被发送至第一电子设备的具体过程相似,为了简洁,这里不再赘述。
由第二电子设备发送至软件系统的数据包可以先后经由子网9和子网8的转发后被发送至第一子网中的软件系统。数据包先后在子网9和子网8中进行了一次网络地址转换。其具体过程与数据包经由子网6和子网5被发送至软件系统的具体过程相似,为了简洁,这里不再赘述。
应理解,第二电子设备和软件系统实现互联互通的具体过程可以与上文步骤310至步骤320所述的具体过程相似,为了简洁,这里不再赘述。
基于上述技术方案,在第二电子设备与第一电子设备发生网段重叠的情况下,为第二电子设备创建新的VPC,并在新创建的VPC中创建新的子网,来实现第二电子设备与软件系统的互联互通。由于新创建的VPC中的子网包括的网段与第一电子设备所处的网段、软件系统所处的网段均不重叠,可以使得数据包在传输的过程中,能够找到唯一的目的地址,从而可以实现数据包在第二电子设备和软件系统之间的正确传输。
因此,本申请实施例为多个电子设备需要接入软件系统的场景下,软件系统与电子设备发生网段重叠以及电子设备之间发生网段重叠均提供了相应的技术方案,以实现电子设备与软件系统的互联互通,从而实现一个中心连接任意多个用户。并且,本申请所提供的技术方案并不需要新建软件系统,成本较小,周期较短。
此外,本申请还提供了一种方法,在电子设备之间发生网段重叠的情况下,实现各电子设备与软件系统的互联互通,进而实现一个中心连接任意多个用户。
需要说明的是,本申请实施例所提供的方法可以为上文所述的第一服务器执行,具体可以由部署在服务器上的软件通过执行相应的指令来实现。该软件例如可以是在该服务器上创建的虚拟机上部署的软件。该服务器例如可以是VPC提供的服务器,或者说,该服务器可以是运行在VPC中的服务器。该VPC中运行有软件系统,该软件系统例如可以部署在上述服务器上,也可以部署在该VPC提供的另一服务器上。本申请对此不作限定。
可选地,该目标服务器例如可以是上文方法300中示出的目标服务器,该第一服务器例如可以是上文方法300中示出的第一服务器,该VPC例如可以是上文方法300中示出的第一VPC。上文方法300中对于第一VPC、第一服务器、目标服务器及软件系统的相关描述在本实施例中仍然可以适用。为了简洁,在方法800中不再重复说明。
图8是本申请另一实施例提供的数据传输的方法800的示意性流程图。如图所示,该方法800可以包括步骤810和步骤820。
在步骤810中,确定第四网段和第五网段重叠。
其中,第四网段可以为第三电子设备所处的子网包括的网段,该第三电子设备可以是希望访问目标服务器中的软件系统的电子设备,或者说,希望接入目标服务器的电子设备。也就是说,该第三电子设备与目标服务器之间不具有网络连接关系。该第五网段可以为第四电子设备所处的子网包括的网段,该第四电子设备与目标服务器具有网络连接关系,或者说,该第四电子设备是已接入该目标服务器的电子设备。由于上文方法300中的步骤310已经对获取第二网段的具体过程做了详细说明,本实施例中获取第四网段和第五网段的具体过程与之相似,为了简洁,这里不再赘述。
由于上文方法300中已经对软件系统所处的网段与云下的电子设备所处的网段重叠的情况下本申请实施例所提供的方法做了详细说明。在本实施例中,为方便理解和说明,假设云下的电子设备均未与软件系统所处的网段发生重叠。
在第五网段与第一网段重叠的情况下,该第四电子设备可以参考如上文方法300所述的方法与软件系统实现互联互通;在第五网段与第一网段不重叠的情况下,该第四电子设备可以参考现有技术的方法直接与软件系统建立VPN连接以实现互联互通。
该第四电子设备可以是新增的在第五电子设备之前接入软件系统的电子设备,也可以是预先接入软件系统的电子设备,本申请对此不作限定。
第一服务器判断第四网段与第五网段是否重叠的具体方法在上文方法300中的步骤310中已经做了详细说明,为了简洁,这里不再赘述。
在第四网段与第五网段、第一网段均未发生重叠的情况下,第一服务器可以直接在第三电子设备的VPN网关和第一VPC的VPN网关之间建立VPN连接。此时,该第三电子设备与第一VPC之间的VPN连接和第四云下服务与第一VPC之间的VPN连接均可经由第一VPC中的VPN网关接入软件系统。
在第四网段与第五网段发生重叠的情况下,可以执行步骤820,在第三VPC中创建至少一个子网,该至少一个子网中的任意一个子网与第一网段、第四网段和第五网段均不重叠。
因此,当目标服务器向第三电子设备发送数据包时,该至少一个子网中的网络接口用于先后转发该数据包,使得该数据包经由至少一次转发后发送至该第三电子设备。
相应地,当第三电子设备向目标服务器发送数据包时,该至少一个子网中的网络接口用于先后转发该数据包,使得该数据包经由至少一次转发后发送至该目标服务器。
可选地,数据包经由至少一个网络接口中的每个网络接口进行IP地址转换后被转发,该至少一个网络接口与该至少一个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
图9示出了第三电子设备、第四电子设备分别与目标服务器上运行的软件系统传输数据的示意图。如图所示,第一服务器在公有云中新创建了第三VPC,该第三VPC和第一VPC之间例如可以通过VPC对等连接实现VPC之间的互联互通。该第三电子设备所处的子网例如为第四子网,该第四子网例如可以包括第四网段。如图9中所示的子网3a为第四子网的一例,该子网3a包括的网段3为第四网段的一例。该第四电子设备所处的子网例如为第五子网,该第五子网例如可以包括第五网段。如图9中所示的另一子网3b为第五子网的一例,该子网3b包括的网段3为第五网段的一例。该第三电子设备与第四电子设备发生网段重叠。
第一服务器可以在该第三VPC中创建至少一个子网。下文中为方便区分和说明,将在第三VPC中创建的子网记作子网10,该子网10包括的网段例如可以记作网段10。在本实施例中,网段10与第一网段(如图中所示的子网2包括的网段2)和第四网段(如图中所示的子网3包括的网段3)均不重叠。因此,该子网10可以连接于目标服务器所处的第一子网和第三电子设备所处的第四子网之间。软件系统可以通过该第三VPC中的子网实现与第三电子设备的互联。
应理解,图中仅为示例,示意性地示出了新创建的一个子网,但这不应对本申请构成任何限定。新创建的子网个数可以是一个,也可以是多个。
在创建了上述至少一个子网之后,第三电子设备与软件系统之间传输的数据包的路由便可以确定。例如,该路由可以由第一服务器根据新创建的子网的互联关系确定,也可以由工作人员手动输入。本申请对此不作限定。确定好的路由例如可以以路由表的形式保存在各子网的网关中,以便于各子网在接收到数据包时,基于预先确定的路由转发数据包。
如图所示,由软件系统发送至第三电子设备的数据包经由子网10的转发后到达第三电子设备,由第三电子设备发送至软件系统的数据包经由子网10的转发后到达软件系统。
应理解,图中仅为示例,示意性地示出了子网10连接于第三电子设备与软件系统之间的一例。但这不应对本申请构成任何限定。例如,当第三VPC中创建了多个子网时,由软件系统发送至第三电子设备的数据包可以先后经由该多个子网的网络接口的转发后到达第三电子设备,由第三电子设备发送至软件系统的数据包也可以先后经由该多个子网的网络接口的转发后到达软件系统。
可选地,该方法还包括:创建第三VPC,该第三VPC与第一VPC之间具有通信连接。应理解,第三VPC可以是新创建的VPC,也可以是原先就运行在公有云上的VPC。本申请对此不作限定
需要说明的是,在本申请实施例中,第一服务器创建第三VPC以及在第三VPC中创建至少一个子网具体可以由该第一服务器调用API接口实现。通过调用API接口,可以运行预先编写的脚本,或,调用相关软件,以实现VPC和子网的自动创建。在VPC和子网的创建过程中,API接口可以通过用户界面向工作人员呈现对话框,以便工作人员输入该第三VPC和至少一个子网中每个子网的网段。该第三VPC的网段可以由第一服务器根据已有的VPC(如上述第一VPC)的网段确定。该至少一个子网的网段也可以由第一服务器根据预先获取的各子网(例如上述第一子网和第四子网等)的网段确定。本申请对此不作限定。
该至少一个子网的网络接口可以配置在第三VPC提供的服务器上。为便于区分和说明,将该服务器记作第四服务器。
可选地,该方法还包括:在第三VPC中创建第四服务器;并在该第四服务器上配置上述至少一个网络接口。
当该至少一个网络接口配置在同一服务器上时,该至少一个网络接口可以共用一个NAT来进行IP地址转换。也就是说,该至少一个子网中的每个子网的网络接口在接收到数据包时,可以将该数据包发送至第四服务器的NAT,以便对该数据包进行IP地址转换。进行了IP地址转换的数据包被返回至网络接口,该网络接口可以将该数据包转发至下一个目的IP地址。
当然,该至少一个网络接口也可以用各自的NAT来进行IP地址转换,本申请对此不作限定。
图9示出了通过第四服务器上的网络接口转发数据包的一例。如图9所示,该第四服务器可配置一个网络接口,例如记作网络接口10,该网络接口10的IP地址可以从属于子网10(即,至少一个子网的一例)。
基于图9示出的第三电子设备与软件系统的互联关系,下面对软件系统与第三电子设备之间传输的数据包的路由及转发过程做更进一步地说明。需要说明的是,图中仅为便于理解,示出了由软件系统发送数据包至第三电子设备的过程中数据包的转发路径。由第三电子设备发送数据包至软件系统的过程中数据包的转发路径与之相反,为了简洁,图中并未示出。但本领域的技术人员可以根据下文的描述得出相应的转发路径。
当软件系统向第三电子设备发送数据包时,该软件系统可以通过目标服务器上的第一网络接口将数据包的目的地址设置为从属于子网10的网络接口的IP地址。这里,为方便区分和说明,将子网10中的网络接口记作网络接口10,并将该网络接口10的IP地址记作IP地址10。该网络接口10。
该数据包可以通过运行在软件系统的目标服务器上的第一网络接口被转发至子网10的网关,进而由子网10的网关转发至网络接口10上。网络接口10可以将该数据包的目的地址设置为从属于子网3a(即,第四子网的一例)的网络接口的IP地址。即,完成了该数据包的一次网络地址转换。
该数据包可以通过网络接口10被转发至子网3a的网关,进而由子网3a的网关转发至子网3a中的第三电子设备。
由此,通过对数据包进行一次网络地址转换,可以将软件系统发送的数据包送达第三电子设备。应理解,图中仅为示例,并未示出该数据包所经过的每一个节点,但这不应对本申请构成任何限定。本领域的技术人员可以理解,通过对该数据包进行目的地址转换,可以将软件系统发送的数据包送达第三电子设备。
当第三电子设备向软件系统发送数据包时,该第三电子设备可以通过网络接口将数据包的目的IP地址设置为从属于子网10的网络接口的IP地址。如前所述,从属于子网10的网络接口记作网络接口10,该网络接口10的IP地址记作IP地址10。
该数据包可以通过第三电子设备所处子网的网络接口被转发至子网10的网关,进而由子网10的网关转发到网络接口10上。网络接口10可以将该数据包的目的IP地址设置为网络接口0的IP地址。即,完成了该数据包的目的地址转换。如前所述,该网络接口0的IP地址即为用于运行软件系统的目标服务器的IP地址。
由此,通过对数据包进行网络地址转换,可以将第三电子设备发送的数据包送达软件系统。应理解,图中仅为示例,并未示出该数据包所经过的每一个节点,但这不应对本申请构成任何限定。本领域的技术人员可以理解,通过对该数据包进行目的地址转换,可以将第三电子设备发送的数据包送达软件系统。
还应理解,上文结合图9,以新创建了一个VPC和一个子网为例来说明数据包的转发过程。可以理解的是,当新创建的子网个数为N(N≥2,且N为整数)时,对数据包进行目的地址转换的次数也为N。新创建的VPC个数可以为一个,也可以为多个,新创建的VPC个数与新创建的子网个数并不一定相同。本申请对于新创建的VPC个数和新创建的子网个数均不做限定。
基于上述技术方案,在待接入软件系统的第三电子设备与已接入软件系统的第四电子设备发生网段重叠的情况下,为第三电子设备创建新的VPC和新的子网,来实现第三电子设备与软件系统的互联互通。由于新创建的VPC中的子网包括的网段与第四电子设备所处的网段、第三电子设备所处的网段和软件系统所处的网段均不重叠,可以使得数据包在传输的过程中,能够找到唯一的目的地址,从而可以实现数据包在第三电子设备和软件系统之间的正确传输。
为了提高可靠性,可以进一步为上述至少一个子网配置主用网络接口和备用网络接口。该主用网络接口和备用网络接口可以配置在不同的服务器上,但在同一个子网内配置有一个相同的浮动IP地址。
可选地,上述至少一个网络接口为主用网络接口。该方法还包括:
在第三VPC中创建第五服务器;
在该第五服务器上配置至少一个备用网络接口,该至少一个备用网络接口与至少一个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
可选地,该方法还包括:为每个主用网络接口及其对应的备用网络接口分配同一个浮动IP地址。
具体地,每个主用网络接口可以设置至少两个IP地址,该至少两个IP地址包括一个浮动IP地址。该浮动IP地址可以理解为是网络接口的对外IP。也就是说,当数据包的目的地址被设置为网络接口的浮动IP地址时,该数据包可以被路由至该网络接口上。
由于上文方法300中的步骤330和步骤340已经对实现主备高可用的具体过程做了详细说明。本实施例中配置备用网络接口并分配浮动IP地址的具体过程与之相似,为了简洁,这里不再赘述。
因此,本申请实施例为多个电子设备需要接入软件系统的场景下,多个电子设备发生网段重叠提供了相应的技术方案,以实现多个电子设备与软件系统的互联互通,从而实现一个中心连接任意多个用户。并且,本申请所提供的技术方案并不需要新建软件系统,成本较小,周期较短。
需要说明的是,上文方法300和方法800所述的用于实现软件系统与电子设备的方法的第一服务器可以以软件的形式运行在公有云提供商所提供的虚拟机上,也可以运行在由第三方提供的虚拟机上。本申请对此不作限定。例如,用户可以从第三方购买虚拟机,在该虚拟机上部署相关软件,以实现上文实施例中第一服务器的功能。
应理解,上述实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图9,详细描述了本申请实施例提供的数据传输的方法,下面将结合图10和图11,详细描述本申请实施例提供的计算机系统。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图10是本申请实施例提供的计算机系统1000的示意性框图。如图所示,该计算机系统1000可以包括:确定模块1100和创建模块1200。
在一种可能的设计中,该确定模块1100可用于确定第一网段和第二网段重叠,所述第一网段是目标服务器所处的子网包括的网段,所述目标服务器是运行在第一虚拟私有云VPC中的服务器,所述第一网段从属于所述第一VPC包括的网段,所述第二网段是第一电子设备所处的子网包括的网段。该创建模块1200可用于在所述第一VPC中创建至少两个子网,所述至少两个子网中任意一个子网包括的网段与所述第一网段和所述第二网段均不重叠;当所述目标服务器向所述第一电子设备发送数据包时,所述至少两个子网中的网络接口用于先后转发所述数据包,使得所述数据包经由至少两次转发后发送至所述第一电子设备。
在另一种可能的设计中,该确定模块1100可用于确定第四网段和第五网段重叠,所述第四网段为第三电子设备所处的子网包括的网段,所述第五网段为第四电子设备所处的子网包括的网段,所述第四电子设备与目标服务器具有网络连接关系,所述目标服务器为运行在第一虚拟私有云VPC中的服务器,所述第一网络接口的IP地址从属第一网段,所述第一网段从属于所述第一VPC包括的网段。该创建模块1200可用于在第三VPC中创建至少一个子网,所述第三VPC与所述第一VPC之间具有通信连接,所述至少一个子网中的任意一个子网与所述第一网段、所述第四网段和所述第五网段均不重叠;当所述目标服务器向所述第三电子设备发送数据包时,所述至少一个子网中的网络接口用于转发所述数据包,使得所述数据包经由至少一次转发后发送至所述第三电子设备。
应理解,该计算机系统1000可以对应于根据本申请实施例的数据传输的方法300和方法800中的第一服务器,该计算机系统1000可以包括用于执行图3中的方法300或图8中的方法800中第一服务器执行的方法的模块。并且,该计算机系统1000中的各模块和上述其他操作和/或功能分别为了实现图3中的方法300或图8中的方法800的相应流程。由于各模块执行上述相应步骤的具体过程在方法实施例中已经详细说明,为了简洁,在此不再赘述。
图11是本申请实施例提供的一种计算机系统2000的示意性框图。如图所示,该计算机系统2000可以包括:通信接口2100、处理器2200和存储器2300。
可选地,计算机系统2000还可以包括总线2400。其中,通信接口2100、处理器2200以及存储器2300可以通过总线2400相互连接;总线2400可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。所述总线2400可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
该存储器2300可以用于存储该计算机系统执行的程序代码和数据。因此,该存储器2300可以是处理器2200内部的存储单元,也可以是与处理器2200独立的外部存储单元,还可以是包括处理器2200内部的存储单元和与处理器2200独立的外部存储单元的部件。
处理器2200可以由一个或者多个通用处理器构成,例如可以是中央处理器(central processing unit,CPU),通用处理器,数字信号处理器(digital signalprocessor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含多个微处理器组合,DSP和微处理器的组合等等。处理器2200可用于运行相关的程序代码中处理功能的程序。也就是说,处理器2200执行程序代码可以实现确定模块和创建模块的功能。其中,关于确定模块和创建模块的功能具体可参见前述实施例中的相关阐述。
在一种可能的实施方式中,所述处理器2200用于运行相关的程序代码,以实现本申请上述方法实施例中第一服务器的功能,或以实现本申请上述图3示出的步骤310至步骤340中所述的方法,或以实现本申请上述图8示出的步骤810至步骤820中所述的方法,和/或实现本文所描述的技术的其它步骤等,本申请这里不做详述和限定。
通信接口2100可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/设备进行通信。
存储器2300可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器2300还可以包括上述种类的存储器的组合。存储器2300可用于存储一组程序代码,以便于处理器2200调用存储器2300中存储的程序代码以实现本发明实施例中涉及的通信模块和/或处理模块的功能。
当存储器2300中的程序代码被处理器2200执行时,可以使得该计算机系统2000执行上述方法实施例300或800中的方法。
可选地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
还应理解,在本申请的各实施例中,“第一”、“第二”、“第三”等仅是为了指代不同的对象,并不表示对指代的对象有其它限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (23)

1.一种数据传输的方法,其特征在于,所述方法包括:
确定第一网段和第二网段重叠;所述第一网段是目标服务器所处的子网包括的网段,所述目标服务器是运行在第一虚拟私有云VPC中的服务器,所述第一网段从属于所述第一VPC包括的网段;所述第二网段是第一电子设备所处的子网包括的网段;
在所述第一VPC中创建至少两个子网,所述至少两个子网中任意一个子网包括的网段与所述第一网段和所述第二网段均不重叠;
当所述目标服务器向所述第一电子设备发送数据包时,所述至少两个子网中的网络接口用于先后转发所述数据包,使得所述数据包经由至少两次转发后发送至所述第一电子设备。
2.如权利要求1所述的方法,其特征在于,所述数据包经由至少两个网络接口中的每个网络接口进行IP地址转换后被转发,所述至少两个网络接口与所述至少两个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
3.如权利要求2所述的方法,其特征在于,所述至少两个网络接口配置在所述目标服务器上。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一VPC中创建第二服务器;
在所述第二服务器上配置所述至少两个网络接口。
5.如权利要求1至4中任一项所述的方法,其特征在于,与所述至少两个子网对应的至少两个网络接口为主用网络接口,所述方法还包括:
在所述第一VPC中创建第三服务器;
在所述第三服务器上配置至少两个备用网络接口,所述至少两个备用网络接口与至少两个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
6.如权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
确定第三网段与所述第一网段重叠,所述第三网段为第二电子设备所处的子网包括的网段;
在第二VPC中创建至少两个子网,所述第二VPC与所述第一VPC之间具有通信连接,所述至少两个子网中的任意一个子网与所述第一网段、所述第二网段和所述第三网段均不重叠;
当所述目标服务器向所述第二电子设备发送数据包时,所述至少两个子网的网络接口用于先后转发所述数据包,使得所述数据包经由至少两次转发后发送至所述第二电子设备。
7.一种数据传输的方法,其特征在于,所述方法包括:
确定第四网段和第五网段重叠,所述第四网段为第三电子设备所处的子网包括的网段,所述第五网段为第四电子设备所处的子网包括的网段,所述第四电子设备与目标服务器具有通信连接;所述目标服务器为运行在第一虚拟私有云VPC中的服务器,第一网络接口的IP地址从属第一网段,所述第一网段从属于所述第一VPC包括的网段;
在第三VPC中创建至少一个子网,所述第三VPC与所述第一VPC之间具有通信连接,所述至少一个子网中的任意一个子网与所述第一网段、所述第四网段和所述第五网段均不重叠;
当所述目标服务器向所述第三电子设备发送数据包时,所述至少一个子网中的网络接口用于转发所述数据包,使得所述数据包经由至少一次转发后发送至所述第三电子设备。
8.如权利要求7所述的方法,其特征在于,所述数据包经由至少一个网络接口中的每个网络接口进行IP地址转换后被转发,所述至少一个网络接口与所述至少一个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
9.如权利要求7或8所述的方法,其特征在于,所述方法还包括:
创建所述第三VPC。
10.如权利要求7或8所述的方法,其特征在于,所述方法还包括:
在所述第三VPC中创建第四服务器;
在所述第四服务器上配置与所述至少一个子网对应的至少一个网络接口。
11.如权利要求7或8所述的方法,其特征在于,与所述至少一个子网对应的至少一个网络接口为主用网络接口,所述方法还包括:
在第三VPC中创建第五服务器;
在所述第五服务器上配置至少一个备用网络接口,所述至少一个备用网络接口与至少一个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
12.一种计算机系统,其特征在于,包括:处理器,所述处理器用于从存储器中读取指令,当所述指令被所述处理器执行时,使得所述计算机系统确定第一网段和第二网段重叠;所述第一网段是目标服务器所处的子网包括的网段,所述目标服务器是运行在第一虚拟私有云VPC中的服务器,所述第一网段从属于所述第一VPC包括的网段;所述第二网段是第一电子设备所处的子网包括的网段;以及
在所述第一VPC中创建至少两个子网,所述至少两个子网中任意一个子网包括的网段与所述第一网段和所述第二网段均不重叠;
当所述目标服务器向所述第一电子设备发送数据包时,所述至少两个子网中的网络接口用于先后转发所述数据包,使得所述数据包经由至少两次转发后发送至所述第一电子设备。
13.如权利要求12所述的计算机系统,其特征在于,所述数据包经由至少两个网络接口中的每个网络接口进行IP地址转换后被转发,所述至少两个网络接口与所述至少两个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
14.如权利要求13所述的计算机系统,其特征在于,所述至少两个网络接口配置在所述目标服务器上。
15.如权利要求13所述的计算机系统,其特征在于,当所述指令被所述处理器执行时,使得所述计算机系统在所述第一VPC中创建第二服务器;并在所述第二服务器上配置所述至少两个网络接口。
16.如权利要求12至15中任一项所述的计算机系统,其特征在于,与所述至少两个子网对应的至少两个网络接口为主用网络接口;
当所述指令被所述处理器执行时,使得所述计算机系统在所述第一VPC中创建第三服务器;并在所述第三服务器上配置至少两个备用网络接口,所述至少两个备用网络接口与至少两个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
17.如权利要求12至15中任一项所述的计算机系统,其特征在于,当所述指令被所述处理器执行时,使得所述计算机系统确定第三网段与所述第一网段重叠,所述第三网段为第二电子设备所处的子网包括的网段;以及
在第二VPC中创建至少两个子网,所述第二VPC与所述第一VPC之间具有通信连接,所述至少两个子网中的任意一个子网与所述第一网段、所述第二网段和所述第三网段均不重叠;
当所述目标服务器向所述第二电子设备发送数据包时,所述至少两个子网的网络接口用于先后转发所述数据包,使得所述数据包经由至少两次转发后发送至所述第二电子设备。
18.一种计算机系统,其特征在于,包括:处理器,所述处理器用于从存储器中读取指令,当所述指令被所述处理器执行时,使得所述计算机系统确定第四网段和第五网段重叠,所述第四网段为第三电子设备所处的子网包括的网段,所述第五网段为第四电子设备所处的子网包括的网段,所述第四电子设备与目标服务器具有网络连接关系;所述目标服务器为运行在第一虚拟私有云VPC中的服务器,第一网络接口的IP地址从属第一网段,所述第一网段从属于所述第一VPC包括的网段;以及
在第三VPC中创建至少一个子网,所述第三VPC与所述第一VPC之间具有通信连接,所述至少一个子网中的任意一个子网与所述第一网段、所述第四网段和所述第五网段均不重叠;
当所述目标服务器向所述第三电子设备发送数据包时,所述至少一个子网中的网络接口用于转发所述数据包,使得所述数据包经由至少一次转发后发送至所述第三电子设备。
19.如权利要求18所述的计算机系统,其特征在于,所述数据包经由至少一个网络接口中的每个网络接口进行IP地址转换后被转发,所述至少一个网络接口与所述至少一个子网一一对应,每个网络接口的IP地址从属于所对应的子网。
20.如权利要求18或19所述的计算机系统,其特征在于,当所述指令被所述处理器执行时,使得所述计算机系统创建所述第三VPC。
21.如权利要求18或19所述的计算机系统,其特征在于,当所述指令被所述处理器执行时,使得所述计算机系统在所述第三VPC中创建第四服务器;并在所述第四服务器上配置与所述至少一个子网对应的至少一个网络接口。
22.如权利要求18或19所述的计算机系统,其特征在于,与所述至少一个子网对应的至少一个网络接口为主用网络接口;
当所述指令被所述处理器执行时,使得所述计算机系统在第三VPC中创建第五服务器;并在所述第五服务器上配置至少一个备用网络接口,所述至少一个备用网络接口与至少一个主用网络接口一一对应,每个主用网络接口的IP地址从属的网段与所对应的备用网络接口的IP地址从属的网段相同,且每个主用网络接口及其对应的备用网络接口具有相同的浮动IP地址。
23.一种计算机可读介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至11中任一项所述的方法。
CN201910199742.4A 2019-03-15 2019-03-15 一种数据传输的方法和计算机系统 Active CN111698338B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910199742.4A CN111698338B (zh) 2019-03-15 2019-03-15 一种数据传输的方法和计算机系统
EP20773427.8A EP3883217A4 (en) 2019-03-15 2020-01-19 Data transmission method and computer system
PCT/CN2020/073023 WO2020186925A1 (zh) 2019-03-15 2020-01-19 一种数据传输的方法和计算机系统
US17/373,025 US11451509B2 (en) 2019-03-15 2021-07-12 Data transmission method and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910199742.4A CN111698338B (zh) 2019-03-15 2019-03-15 一种数据传输的方法和计算机系统

Publications (2)

Publication Number Publication Date
CN111698338A CN111698338A (zh) 2020-09-22
CN111698338B true CN111698338B (zh) 2021-10-01

Family

ID=72475462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910199742.4A Active CN111698338B (zh) 2019-03-15 2019-03-15 一种数据传输的方法和计算机系统

Country Status (4)

Country Link
US (1) US11451509B2 (zh)
EP (1) EP3883217A4 (zh)
CN (1) CN111698338B (zh)
WO (1) WO2020186925A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437167B (zh) * 2020-11-11 2023-03-24 北京天融信网络安全技术有限公司 一种创建传输通道的方法、装置、存储介质和电子设备
CN112583949A (zh) * 2020-11-26 2021-03-30 新华三云计算技术有限公司 一种vpc访问公网的方法和vpc设备
CN112511404B (zh) * 2020-12-15 2022-06-28 海腾保险代理有限公司 网络互联方法、装置及电子设备
CN113472911B (zh) * 2021-06-10 2023-05-16 新华三信息安全技术有限公司 一种子网划分方法及装置
CN113691453B (zh) * 2021-08-16 2023-06-20 中汽创智科技有限公司 一种网络管理方法、装置、设备及存储介质
CN114024886B (zh) * 2021-10-25 2023-04-21 济南浪潮数据技术有限公司 跨资源池的网络互通方法、电子设备及可读存储介质
CN114039949B (zh) * 2021-12-24 2024-03-26 上海观安信息技术股份有限公司 云服务浮动ip绑定方法及系统
CN115086194B (zh) * 2022-05-20 2024-02-02 阿里巴巴(中国)有限公司 云应用的数据传输方法、计算设备及计算机存储介质
CN116232992B (zh) * 2022-12-16 2024-05-14 中国联合网络通信集团有限公司 数据转发方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023898A (zh) * 2012-12-03 2013-04-03 杭州迪普科技有限公司 一种访问vpn服务端内网资源的方法及装置
CN109361764A (zh) * 2018-11-29 2019-02-19 杭州数梦工场科技有限公司 内跨vpc的服务访问方法、装置、设备及可读存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7002924B2 (en) * 2000-02-04 2006-02-21 Matsushita Electric Industrial Co., Ltd. Zero configuration networking
US20020186698A1 (en) * 2001-06-12 2002-12-12 Glen Ceniza System to map remote lan hosts to local IP addresses
US20050066035A1 (en) * 2003-09-19 2005-03-24 Williams Aidan Michael Method and apparatus for connecting privately addressed networks
US7814541B1 (en) * 2006-05-19 2010-10-12 Array Networks, Inc. Virtual routing for virtual local area networks having overlapping IP addresses
JP2009017429A (ja) * 2007-07-09 2009-01-22 Fujitsu Ltd ネットワーク中継制御プログラム、ネットワーク中継制御装置、ネットワーク中継制御方法
EP2253124B1 (en) * 2008-03-20 2016-03-16 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for communication of data packets between local networks
JP5551061B2 (ja) * 2010-12-27 2014-07-16 株式会社Pfu 情報処理装置、アドレス重複対処方法およびアドレス重複対処用プログラム
JP5720324B2 (ja) * 2011-03-11 2015-05-20 日本電気株式会社 シンクライアント環境提供システム、サーバ、シンクライアント環境管理方法、及びシンクライアント環境管理プログラム
CN102882758B (zh) * 2011-07-12 2018-12-07 华为技术有限公司 虚拟私云接入网络的方法、网络侧设备和数据中心设备
US20130103834A1 (en) * 2011-10-21 2013-04-25 Blue Coat Systems, Inc. Multi-Tenant NATting for Segregating Traffic Through a Cloud Service
US11099099B1 (en) * 2015-01-07 2021-08-24 Aviatrix Systems, Inc. System and method for selecting virtual appliances in communications with virtual private cloud networks
US9825854B2 (en) * 2014-03-27 2017-11-21 Nicira, Inc. Host architecture for efficient cloud service access
JP2015226131A (ja) * 2014-05-27 2015-12-14 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US10541966B1 (en) * 2015-07-02 2020-01-21 Aviatrix Systems, Inc. System and method for enabling communication between networks with overlapping IP address ranges
CN106789367A (zh) * 2017-02-23 2017-05-31 郑州云海信息技术有限公司 一种网络系统的构建方法及装置
CN107241457B (zh) * 2017-06-01 2020-09-11 常青 一种实现网络端到端通信的方法
US10498693B1 (en) * 2017-06-23 2019-12-03 Amazon Technologies, Inc. Resizing virtual private networks in provider network environments
CN107809365B (zh) 2017-09-19 2021-01-05 大唐网络有限公司 一种基于OpenStack架构提供VPN服务的实现方法
CN108965092B (zh) * 2018-07-24 2020-11-06 新华三技术有限公司 一种数据报文传输方法和装置
US11102113B2 (en) * 2018-11-08 2021-08-24 Sap Se Mapping of internet protocol addresses in a multi-cloud computing environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023898A (zh) * 2012-12-03 2013-04-03 杭州迪普科技有限公司 一种访问vpn服务端内网资源的方法及装置
CN109361764A (zh) * 2018-11-29 2019-02-19 杭州数梦工场科技有限公司 内跨vpc的服务访问方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN111698338A (zh) 2020-09-22
US11451509B2 (en) 2022-09-20
WO2020186925A1 (zh) 2020-09-24
US20210344643A1 (en) 2021-11-04
EP3883217A4 (en) 2021-12-29
EP3883217A1 (en) 2021-09-22

Similar Documents

Publication Publication Date Title
CN111698338B (zh) 一种数据传输的方法和计算机系统
CN113950816B (zh) 使用边车代理机构提供多云微服务网关的系统和方法
US12010097B2 (en) Network architecture for cloud computing environments
CN109155799B (zh) 经由层三通信的子网扩展
CN116057910B (zh) 虚拟私有云通信及配置方法以及相关装置
CN108347493B (zh) 混合云管理方法、装置和计算设备
US9258272B1 (en) Stateless deterministic network address translation
CN110945855B (zh) 用于在客户边缘路由器处提供地址转换的方法和设备
KR20080105961A (ko) 가상 네트워크 접속 시스템, 장치, 및 기록 매체
CN111556110B (zh) 一种用于私有云系统的不同物理业务网络自动化适配方法
CN112385194B (zh) 远程网络之间的状态分组传输
EP4236270A2 (en) Software defined access fabric without subnet restriction to a virtual network
WO2023102058A1 (en) Controller-based traffic filtering and address modification
CN115865601A (zh) 一种跨云数据中心的sdn网络通信系统
CN115208857A (zh) 一种地址分配方法、装置及设备
JP2017034534A (ja) ネットワーク統合システムおよびネットワーク統合方法
CN114301913B (zh) 一种请求处理方法及系统
KR20230021506A (ko) 사용자 정의 기반의 가상 네트워크 설정 방법
WO2023102036A1 (en) System and method for cloud-based filtering and modification of messages with overlapping addresses
CN116599900A (zh) 云环境访问方法及装置
CN116982294A (zh) 管理网络和操作方法
CN116866166A (zh) 基于ovn的虚拟nat网关规划方法、装置及设备
CN117579425A (zh) 云网络接入方法、设备、介质及程序产品
CN117176673A (zh) 子网间实现对等连接方法、系统、装置、计算机设备
Hou et al. Using tunneling techniques to realize virtual routers

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