CN113709016B - 通信***以及通信方法、装置、设备和存储介质 - Google Patents

通信***以及通信方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113709016B
CN113709016B CN202010430596.4A CN202010430596A CN113709016B CN 113709016 B CN113709016 B CN 113709016B CN 202010430596 A CN202010430596 A CN 202010430596A CN 113709016 B CN113709016 B CN 113709016B
Authority
CN
China
Prior art keywords
virtual switch
data message
virtual
access request
request information
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
CN202010430596.4A
Other languages
English (en)
Other versions
CN113709016A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010430596.4A priority Critical patent/CN113709016B/zh
Publication of CN113709016A publication Critical patent/CN113709016A/zh
Application granted granted Critical
Publication of CN113709016B publication Critical patent/CN113709016B/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Landscapes

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

Abstract

本发明实施例提供一种通信***以及通信方法、装置、设备和存储介质,该通信***包括第一VPC和第二VPC。第一VPC中包括SLB和第一虚拟交换机,第二VPC中包括多个RS和第二虚拟交换机。SLB接收用户触发的与第二VPC对应的访问请求信息,从多个RS中确定目标RS,将访问请求信息封装为第一数据报文,将第一数据报文发送至第一虚拟交换机。第一虚拟交换机确定不对第一数据报文进行额外的封装,而直接将第一数据报文发送至第二虚拟交换机。第二虚拟交换机解封装第一数据报文以根据目标RS的网络地址将访问请求信息发送至目标RS。从而实现第一VPC中的SLB对第二VPC中的RS的访问。

Description

通信***以及通信方法、装置、设备和存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种通信***以及通信方法、装置、设备和存储介质。
背景技术
虚拟私有云(Virtual Private Cloud,简称VPC)是服务提供商在云端创建的虚拟专有网络,其可以在自己创建的VPC内规划地址空间、设置路由表以及创建不同的云产品实例,比如虚拟交换机、虚拟路由器、服务负载均衡器(Server Load Balancer,简称SLB)、服务器(通常也称为云服务器、服务器实例或真实服务器(Real Server,简称RS))等资源。
其中,SLB是对多台RS进行流量分发的负载均衡服务,继承自虚拟服务器(LinuxVirtual Server,简称LVS)。SLB的工作原理简单来说就是:SLB对外可以提供与某服务提供商创建的多个RS相对应的IP地址,可以称为虚拟IP地址,终端互联网用户可以触发针对该虚拟IP地址的访问请求,SLB侦听到该访问请求后,根据使用的某种负载均衡算法从多个RS中确定出目标RS,最终将用户的访问请求分配到该目标RS进行响应。由于多个RS提供的服务是相同的,所以不管用户最终访问的是哪台RS,得到的响应内容都是一样的。
在一种情形下,SLB会设置一个VPC内,而服务提供商所创建的可以由该SLB调度的多个RS在另一个VPC内。
VPC通常基于主流的隧道技术实现,比如可扩展虚拟局域网(Virtual ExtensibleLAN,简称VxLAN)等,不同VPC有不同的网络标识(也可以称为隧道号)。不同VPC之间二层逻辑隔离,即不同VPC之间是隔离的,无法相互通信。例如,假设VPC1的网络标识为123456,其中存在IP地址为10.1.1.1的网元A;假设VPC2的网络标识为223456,其中存在IP地址为10.1.1.2的网元B,即使网元A与网元B在同一网段内,但是由于两者归属于不同的VPC,两者也是无法相互通信的。由此可见,在SLB设置一个VPC内,而对应的多个RS在另一个VPC内的情形下,SLB将无法访问另外一个VPC内的RS。
发明内容
本发明实施例提供一种通信***以及通信方法、装置、设备和存储介质,能够实现一个VPC内的SLB与另一个VPC内的RS之间的通信。
第一方面,本发明实施例提供一种通信方法,应用于第一虚拟私有云中的第一虚拟交换机,所述第一虚拟私有云中包括服务负载均衡器,该方法包括:
接收所述服务负载均衡器发送的第一数据报文,所述第一数据报文中包含第二虚拟私有云对应的网络标识以及目标服务器的网络地址;其中,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机,所述服务负载均衡器接收到用户触发的与所述第二虚拟私有云对应的访问请求信息后,从所述多个服务器中确定出所述目标服务器以及将所述访问请求信息封装为所述第一数据报文;
确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机,以使所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
第二方面,本发明实施例提供一种通信装置,应用于第一虚拟私有云中的第一虚拟交换机,所述第一虚拟私有云中包括服务负载均衡器,该装置包括:
接收模块,用于接收所述服务负载均衡器发送的第一数据报文,所述第一数据报文中包含第二虚拟私有云对应的网络标识以及目标服务器的网络地址;其中,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机,所述服务负载均衡器接收到用户触发的与所述第二虚拟私有云对应的访问请求信息后,从所述多个服务器中确定出所述目标服务器以及将所述访问请求信息封装为所述第一数据报文;
发送模块,用于确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机,以使所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,存储器上存储有可执行代码,当所述可执行代码被处理器执行时,使处理器至少可以实现如第一方面所述的通信方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使处理器至少可以实现如第一方面所述的通信方法。
第五方面,本发明实施例提供一种通信方法,应用于第一虚拟私有云中的服务负载均衡器,所述第一虚拟私有云中包括第一虚拟交换机,所述方法包括:
接收到用户触发的与第二虚拟私有云对应的访问请求信息,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机;
从所述多个服务器中确定出目标服务器;
将所述访问请求信息封装为第一数据报文,所述第一数据报文中包含所述第二虚拟私有云对应的网络标识以及所述目标服务器的网络地址;
将所述第一数据报文发送至所述第一虚拟交换机,以使所述第一虚拟交换机确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机;
其中,所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
第六方面,本发明实施例提供一种通信装置,应用于第一虚拟私有云中的服务负载均衡器,所述第一虚拟私有云中包括第一虚拟交换机,所述装置包括:
接收模块,用于接收到用户触发的与第二虚拟私有云对应的访问请求信息,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机;
处理模块,用于从所述多个服务器中确定出目标服务器;将所述访问请求信息封装为第一数据报文,所述第一数据报文中包含所述第二虚拟私有云对应的网络标识以及所述目标服务器的网络地址;
发送模块,用于将所述第一数据报文发送至所述第一虚拟交换机,以使所述第一虚拟交换机确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机;其中,所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
第七方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如第五方面所述的通信方法。
第八方面,本发明实施例提供一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如第五方面所述的通信方法。
第九方面,本发明实施例提供一种通信***,该***包括:
第一虚拟私有云和第二虚拟私有云;
所述第一虚拟私有云中包括服务负载均衡器和第一虚拟交换机,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机;
所述服务负载均衡器,用于接收用户触发的与所述第二虚拟私有云对应的访问请求信息,从所述多个服务器中确定目标服务器,将所述访问请求信息封装为第一数据报文,将所述第一数据报文发送至所述第一虚拟交换机,所述第一数据报文中包含所述第二虚拟私有云对应的网络标识以及所述目标服务器的网络地址;
所述第一虚拟交换机,用于确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机;
所述第二虚拟交换机,用于解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,将所述访问请求信息发送至所述目标服务器。
在本发明实施例中,假设SLB位于VPC1内,多个RS位于VPC2内,为了让VPC1内的SLB能够与VPC2内的RS通信,当SLB接收到用户触发的与VPC2对应的访问请求信息时,SLB基于使用的负载均衡算法从多个RS中确定出目标RS,生成与访问请求信息对应的数据报文,即对访问请求信息进行封装,封装为数据报文。其中,该数据报文中包含有用户要访问的VPC2的网络标识以及目标RS的网络地址,如IP地址。SLB将数据报文发送给同在VPC1内的第一虚拟交换机,第一虚拟交换机被配置为:当接收到来自SLB的数据报文时,根据其中的VPC2的网络标识将该数据报文发送给VPC2内第二虚拟交换机,在发送过程中,不对该数据报文进行封装(如VxLAN的封装)处理。从而,第二虚拟交换机接收到该数据报文后,解封装该数据报文发现其中携带的VPC的网络标识与自己所在的VPC1的网络标识相同,最终根据解析出的目标服务器的网络地址将解析出的访问请求信息发送至目标服务器,由目标服务器对该访问请求信息进行响应处理。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统方案中提供的一种通信***的工作原理示意图;
图2a为本发明实施例提供的一种通信***的工作原理示意图;
图2b为本发明实施例提供的一种通信***的工作原理示意图;
图3a为本发明实施例提供的一种通信***的工作原理示意图;
图3b为本发明实施例提供的一种通信***的工作原理示意图;
图4为本发明实施例提供的一种通信方法的流程图;
图5为本发明实施例提供的一种通信方法的流程图;
图6为本发明实施例提供的一种通信装置的结构示意图;
图7为与图6所示实施例提供的通信装置对应的电子设备的结构示意图;
图8为本发明实施例提供的一种通信装置的结构示意图;
图9为与图8所示实施例提供的通信装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为传统方案中提供的一种通信***的工作原理示意图,如图1中所示,假设该通信***包括通过VxLAN技术创建的两个VPC,分别表示为VPC1和VPC2。假设VPC1对应的网络标识为223456,VPC2对应的网络标识为123456。在VPC1内创建有SLB以及虚拟交换机1,在VPC2内创建有RS1、RS2和RS3这三个RS以及虚拟交换机2。可以理解的是,这三个RS对应于同一服务提供商,即这三个RS为终端互联网用户(以下都简称为用户)提供无差别的服务。
本发明实施例中,VPC1和VPC2可以都是基于网络功能虚拟化(Network FunctionVirtualization,简称NFV)技术构建的。此时,这两个VPC内的网元都可以实现为一种虚拟机。
假设SLB对外提供的与这三个RS对应的虚拟IP地址和端口为:47.100.100.100:8080。假设RS1在VPC2的地址空间内,其IP地址为10.1.1.11,RS2的IP地址为10.1.1.12,RS3的IP地址为10.1.1.13。
另外,假设VPC1对应的物理主机为图1中示意的物理服务器1,其IP地址为11.1.1.30,VPC2对应的物理主机为图中示意的物理服务器2,其IP地址为11.1.1.21。
基于上述假设情形,当用户基于47.100.100.100:8080而向SLB触发访问请求信息时,如图1所示,假设SLB会生成与该访问请求信息对应的数据报文A。从结构上来说,数据报文会包含头部(也称为包头)和数据域(也称为包体)两大部分,为便于描述,图1中示意的仅是数据报文A的头部中的部分。
在数据报文A中,最外层封装的源IP地址为100.65.100.1,目的IP地址为11.1.1.21——为物理服务器2的IP地址。其中,100.65.100.1为本地地址(或者称为局部地址,local-address)。VxLAN-id:123456,表示的是需要访问网络标识为123456的VPC2。最内层封装的源IP地址为100.65.100.1,目的IP地址为RS的IP地址——10.1.1.13。也就是说,SLB基于用户触发的访问请求信息,根据使用的负载均衡算法,确定出当前需要由RS3为用户提供服务。
虚拟交换机1在接收到数据报文A后,根据11.1.1.21得知需要将数据报文A发送至创建在物理服务器2内的虚拟交换机2。按照传统的VxLAN的协议要求,虚拟交换机1在将数据报文A发送至虚拟交换机2的过程中,需要对数据报文A进行VxLAN封装,以得到数据报文B,进而,将数据报文B发送至虚拟交换机2。具体地,通过在数据报文A的头部前面再增加图1中示意的如下两行封装信息,以实现对数据报文A的VxLAN封装,从而得到数据报文B:11.1.1.30->11.1.1.21,VxLAN-id:223456。其中,最外层的封装的是源IP地址——11.1.1.30以及目的IP地址11.1.1.21,11.1.1.30为虚拟交换机1和SLB所位于的物理服务器1的IP地址。VxLAN-id:223456,表示的是虚拟交换机1和SLB所归属的VPC1的网络标识,反映数据报文由访问网络标识为223456的VPC1发出。
虚拟交换机2接收到数据报文B后,对数据报文B进行解封装。在对数据报文B进行解封装的过程中,虚拟交换机2解封装出与自己所归属的VPC2的网络标识不同的另一网络标识:223456,由于不同VPC之间是隔离的这种属性,虚拟交换机2会将数据报文B丢弃,因为作为目的RS的RS3并不属于223456所标识的VPC1。如此,在上述情形下,用户将无法通过VPC1内的SLB访问VPC2内的多个RS。
图1中仅示意了正向的访问过程,反向的响应过程与之同理,同样存在虚拟交换机1在接收到虚拟交换机2发送的数据报文的时候,解封装该数据报文发现与自己所归属的VPC不同的另一个VPC的网络标识,从而丢弃接收到的数据报文。
基于此,为了让VPC1内的SLB与VPC2内的多个RS能够实现互相通信,本发明实施例提供了一种如下的解决思路:正向传输过程中,虚拟交换机1在向虚拟交换机2发送来自于SLB的数据报文的过程中,不对该数据报文进行VxLAN的封装,而是透传给虚拟交换机B;反向传输过程中,虚拟交换机1在向SLB发送接收自虚拟交换机2的数据报文的过程中,不解封装该数据报文(即不剥除VxLAN封装),而是透传给SLB。
下面结合图2a和2b示例性说明基于上述解决思路的通信过程。在图2a和2b中,仍以图1中所示意的通信***的组成为例进行说明。
图2a示意的是正向传输过程,如图2a中所示,在虚拟交换机1接收到SLB发送的数据报文A后,确定不对数据报文A进行封装处理,而是将数据报文A“透传”地发送至虚拟交换机2。其中,该透传是指虚拟交换机1不对数据报文A进行VxLAN封装。但是,实际应用中,该透传也并非限定虚拟交换机1一定是原封不动地将数据报文A发送至虚拟交换机2,如图2a中所示,虚拟交换机1可以将数据报文A中最外层的源网络地址(本文中提到的网络地址比如为IP地址)修改为自己所位于的物理服务器1的网络地址:11.1.1.30。该修改的主要目的是为了在反向传输过程中,使得虚拟交换机2得知应该向哪个网络地址反馈数据报文。假设将经过上述网络地址修改后的数据报文称为数据报文A’,那么虚拟交换机1会将数据报文A’发送至虚拟交换机2。虚拟交换机2接收到数据报文A’后,对数据报文A’进行解封装。由于数据报文A’中携带的VPC的网络标识123456是虚拟交换机2所归属的VPC2的网络标识,因此,虚拟交换机2成功对数据报文A’进行解封装,以解析得到其中包含的目标RS——RS3的网络地址以及数据域中包含的访问请求信息,虚拟交换机2根据该RS3的网络地址,将访问请求信息发送至RS3。
图2b示意的是反向传输过程,如图2b中所示,假设RS3对用户触发的访问请求信息进行响应处理,以得到访问响应信息,将访问响应信息发送至虚拟交换机2。虚拟交换机2进而将访问响应信息封装为数据报文C,并将数据报文C发送至虚拟交换机1。其中,数据报文C中最外层封装的源网络地址为11.1.1.21——为物理服务器2的网络地址,目的网络地址为11.1.1.30——为物理服务器1的网络地址。数据报文C中包含的VPC2的网络标识123456。数据报文C中最内层封装的源网络地址为10.1.1.13——为RS3的网络地址,目的网络地址为100.65.100.1——local-address。
虚拟交换机1接收到数据报文C后,确定不对数据报文C进行解封装,而是直接将该数据报文C透传发送至SLB。与正向传输过程相似地,实际应用中,该透传也并非限定虚拟交换机1一定是原封不动地将数据报文C发送至SLB,如图2b中所示,虚拟交换机1可以将数据报文C中最外层的目的网络地址修改为local-address——100.65.100.1。假设将经过上述网络地址修改后的数据报文称为数据报文C’,那么虚拟交换机1会将数据报文C’发送至SLB。SLB接收到数据报文C’后,对数据报文C’解封装,以从中解析出访问响应信息,进而将访问响应信息发送至用户。
由图2a和图2b的示意可知,通过改变与SLB同在一个VPC内的虚拟交换机1的转发逻辑,可以使得该SLB能够与另一个VPC内的多个RS进行通信。修改后的虚拟交换机1的转发逻辑,概括来说就是:正向传输过程中,不对接收自SLB的数据报文增加VxLAN封装;反向传输过程中,不对接收自虚拟交换机2的数据报文进行解封装,即不会剥除VxLAN封装。
为了实现上述转发逻辑,可选地,如图3a和图3b所示,可以根据如下方式实现:
预先将虚拟交换机1中用于与SLB进行通信的端口配置有预设标记。在图3a和图3b中,该端口标识为:vport。可以理解的是,该端口为虚拟端口。实际上,虚拟交换机1中可以设有多个虚拟端口,不同的虚拟端口具有不同的作用,在图3a和图3b中示意的虚拟端口vport是用于与SLB通信的端口。
实际应用中,服务提供商可以通过设定的管控平台来创建VPC1,在创建VPC1时,会默认创建虚拟交换机1,此时,管控平台可以被配置为默认向虚拟交换机1触发一条配置指令,该配置指令即为控制虚拟交换机1为上述端口vport配置预设标识的指令。
其中,上述预设标记可以是预设的一串字符串,该预设标记的作用是:用于表征通过该端口vport传输的数据报文需要通过“透传”的方式进行传输,而通过该端口vport传输的数据报文分为两种:一种是由SLB发出的数据报文,一种是发送给SLB的数据报文。
基于此,如图3a所示,在正向传输过程中,SLB发出的数据报文A通过端口vport发送至虚拟交换机1,由于数据报文A是虚拟交换机1通过端口vport接收到的,因此,虚拟交换机1基于上述预设标记得知需要对该数据报文A进行转发处理,即根据数据报文A中携带的物理服务器2的网络地址将数据报文A直接发送至虚拟交换机2,而不对数据报文A进行额外的封装处理。
由前文所述,实际应用中,虚拟交换机1会对数据报文A进行最外层的源网络地址的修改以得到数据报文A’,将数据报文A’发送至虚拟交换机2。
实际应用中,虚拟交换机1通过端口vport接收到数据报文A后,可以建立透传类型的会话(Session),或者称为直通类型会话,基于该会话将数据报文A’发送至虚拟交换机2。
如图3b所示,在反向传输过程中,虚拟交换机1在接收到虚拟交换机2发出的数据报文C后,确定该数据报文C是需要发送至SLB的,通过端口vport发送至SLB。由于数据报文C是需要通过端口vport发出的,因此,虚拟交换机1基于上述预设标记得知不需要对该数据报文C进行解封装处理,即将数据报文C直接发送至SLB。
由前文所述,实际应用中,虚拟交换机1会对数据报文C进行最外层的目的网络地址的修改以得到数据报文C’,将数据报文C’通过端口vport发送至SLB。
实际应用中,虚拟交换机1接收到虚拟交换机2发送的数据报文C后,可以匹配到之前建立的直通类型会话,从而基于该会话将数据报文C’发送至SLB。
除了通过在虚拟交换机1的上述端口vport上设置预设标记,以使虚拟交换机1基于该预设标记执行上述转发逻辑外,可选地,还可以通过改变SLB和虚拟交换机2的数据报文封装处理过程来实现上述转发逻辑。举例来说,SLB发生的数据报文A中可以携带有特定的标识信息,该标识信息可以用于标识该数据报文A是由SLB发出的,从而,虚拟交换机1基于该标识信息确定不需要对数据报文A再添加VxLAN封装。虚拟交换机2在生成数据报文C的时候,同样地,将数据报文C和该特定的标识信息一并发送至虚拟交换机1,该标识信息可以用于标识该数据报文C是需要发送给SLB的,从而,虚拟交换机1基于该标识信息确定不需要对数据报文C解封装。
图4为本发明实施例提供的一种通信方法的流程图,该通信方法可以由前述实施例中示意的VPC1中的虚拟交换机1执行,如前文所述,VPC内还包括SLB。如图4所示,该方法包括如下步骤:
401、虚拟交换机1接收SLB发送的第一数据报文,第一数据报文中包含VPC2应的网络标识以及目标RS的网络地址;VPC2中包括多个RS和虚拟交换机2,SLB接收到用户触发的与VPC2对应的访问请求信息后,从多个RS中确定出目标RS以及将访问请求信息封装为第一数据报文。
402、虚拟交换机1确定不对第一数据报文进行封装处理,将第一数据报文发送至虚拟交换机2,以使虚拟交换机2通过解封装第一数据报文以获得目标RS的网络地址和访问请求信息,并将访问请求信息发送至目标RS。
本实施例提供的通信方法的详细执行过程可以参考前文其他实施例中的描述,在此不赘述。
图5为本发明实施例提供的一种通信方法的流程图,该通信方法可以由前述实施例中示意的VPC1中的SLB执行,如前文所述,VPC1内还包括虚拟交换机1。如图5所示,该方法包括如下步骤:
501、SLB接收到用户触发的与VPC2对应的访问请求信息,VPC2第二虚拟私有云中包括多个RS和虚拟交换机2。
502、SLB从多个RS中确定出目标RS,将访问请求信息封装为第一数据报文,第一数据报文中包含VPC2对应的网络标识以及目标RS的网络地址。
503、SLB将第一数据报文发送至虚拟交换机1,以使虚拟交换机1确定不对第一数据报文进行封装处理,将第一数据报文发送至虚拟交换机2,虚拟交换机2通过解封装第一数据报文以获得目标RS的网络地址和访问请求信息,并将访问请求信息发送至目标服务器RS。
本实施例提供的通信方法的详细执行过程可以参考前文其他实施例中的描述,在此不赘述。
最后,值得说明的是,以上各个实施例中是以负载均衡场景为例说明了两个VPC中的不同服务实例(SLB和RS是两种不同的服务实例)之间的通信过程。实际上,上述通信方案不限于该场景。概括来说,VPC1内包括第一服务器和第一虚拟交换机,VPC2内包括至少一个第二服务器和第二虚拟交换机,第一服务器与第二服务器之间的通信过程都可以采用前文中介绍的通信方案。
以下将详细描述本发明的一个或多个实施例的通信装置。本领域技术人员可以理解,这些通信装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种通信装置的结构示意图,该通信装置可以位于前文中的虚拟交换机1中。如图6所示,该装置包括:接收模块11、发送模块12。
接收模块11,用于接收所述服务负载均衡器发送的第一数据报文,所述第一数据报文中包含第二虚拟私有云对应的网络标识以及目标服务器的网络地址;其中,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机,所述服务负载均衡器接收到用户触发的与所述第二虚拟私有云对应的访问请求信息后,从所述多个服务器中确定出所述目标服务器以及将所述访问请求信息封装为所述第一数据报文。
发送模块12,用于确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机,以使所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
可选地,所述装置还包括:配置模块,用于将第一虚拟交换机中用于与所述服务负载均衡器进行通信的端口配置有预设标记。基于此,可选地,所述发送模块12具体可以用于:根据所述预设标记,确定不对通过所述端口接收到的所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机。
可选地,所述发送模块12具体可以用于:将所述第一数据报文中最外层的源网络地址修改为所述第一物理主机的网络地址,将修改后的第一数据报文发送至所述第二虚拟交换机。
可选地,所述接收模块11还可以用于:接收所述第二虚拟交换机发送的第二数据报文,其中,所述第二虚拟交换机在接收到所述目标服务器发送的与所述访问请求信息对应的访问响应信息后,将所述访问响应信息封装为所述第二数据报文。所述发送模块12还可以用于:确定不对所述第二数据报文进行解封装处理,将所述第二数据报文发送至所述服务负载均衡器,以使所述服务负载均衡器解封装所述第二数据报文以获得所述访问响应信息。
基于所述预设标记的配置结果,可选地,在将所述第二数据报文发送至所述服务负载均衡器的过程中,所述发送模块12具体可以用于:根据所述预设标记,确定不对所述第二数据报文进行解封装处理,通过所述端口将所述第二数据报文发送至所述服务负载均衡器。
图6所示装置可以执行前述图1至图4所示实施例中提供的通信方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图6所示通信装置的结构可实现为一电子设备,该电子设备比如为前文中的物理服务器1。如图7所示,该电子设备可以包括:第一处理器21、第一存储器22、第一通信接口23。其中,第一存储器22上存储有可执行代码,当所述可执行代码被第一处理器21执行时,使第一处理器21至少可以实现如前述图1至图4所示实施例中提供的通信方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述图1至图4所示实施例中提供的通信方法。
图8为本发明实施例提供的一种通信装置的结构示意图,该通信装置可以位于前文中的SLB中。如图8所示,该装置包括:接收模块31、处理模块32、发送模块33。
接收模块31,用于接收到用户触发的与第二虚拟私有云对应的访问请求信息,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机。
处理模块32,用于从所述多个服务器中确定出目标服务器;将所述访问请求信息封装为第一数据报文,所述第一数据报文中包含所述第二虚拟私有云对应的网络标识以及所述目标服务器的网络地址。
发送模块33,用于确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第一虚拟交换机,以使所述第一虚拟交换机将所述第一数据报文发送至所述第二虚拟交换机;其中,所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
可选地,所述接收模块31还可以用于:接收所述第一虚拟交换机发送的第二数据报文,其中,所述第二虚拟交换机在接收到所述目标服务器发送的与所述访问请求信息对应的访问响应信息后,将所述访问响应信息封装为所述第二数据报文并发送至所述第一虚拟交换机;其中,所述第一虚拟交换机确定不对所述第二数据报文进行解封装处理。所述处理模块32还可以用于:解封装所述第二数据报文以获得所述访问响应信息。
图8所示装置可以执行前述图5所示实施例中提供的通信方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图8所示通信装置的结构可实现为一电子设备,该电子设备比如为前文中的SLB。如图9所示,该电子设备可以包括:第二处理器41、第二存储器42、第二通信接口43。其中,第二存储器42上存储有可执行代码,当所述可执行代码被第二处理器41执行时,使第二处理器41至少可以实现如前述图5所示实施例中提供的通信方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述图5所示实施例中提供的通信方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (18)

1.一种通信***,其特征在于,包括:
第一虚拟私有云和第二虚拟私有云;
所述第一虚拟私有云中包括服务负载均衡器和第一虚拟交换机,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机;
所述服务负载均衡器,用于接收用户触发的与所述第二虚拟私有云对应的访问请求信息,从所述多个服务器中确定目标服务器,将所述访问请求信息封装为第一数据报文,将所述第一数据报文发送至所述第一虚拟交换机,所述第一数据报文中包含所述第二虚拟私有云对应的网络标识以及所述目标服务器的网络地址;
所述第一虚拟交换机,用于确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机;
所述第二虚拟交换机,用于解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,将所述访问请求信息发送至所述目标服务器。
2.根据权利要求1所述的***,其特征在于,所述第一虚拟交换机中用于与所述服务负载均衡器进行通信的端口被配置有预设标记;
所述服务负载均衡器具体用于:将所述第一数据报文通过所述端口发送至所述第一虚拟交换机;
所述第一虚拟交换机具体用于:根据所述预设标记,确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机。
3.根据权利要求1所述的***,其特征在于,所述服务负载均衡器和所述第一虚拟交换机设于第一物理主机中,所述多个服务器和所述第二虚拟交换机设于第二物理主机中;
所述第一虚拟交换机具体用于:将所述第一数据报文中最外层的源网络地址修改为所述第一物理主机的网络地址,将修改后的第一数据报文发送至所述第二虚拟交换机。
4.根据权利要求1所述的***,其特征在于,所述第二虚拟交换机还用于:接收所述目标服务器发送的与所述访问请求信息对应的访问响应信息,将所述访问响应信息封装为第二数据报文,将所述第二数据报文发送至所述第一虚拟交换机,所述第二数据报文中包括所述第二虚拟私有云对应的网络标识;
所述第一虚拟交换机还用于:确定不对所述第二数据报文进行解封装处理,将所述第二数据报文发送至所述服务负载均衡器;
所述服务负载均衡器还用于:解封装所述第二数据报文以获得所述访问响应信息。
5.根据权利要求4所述的***,其特征在于,所述第一虚拟交换机中用于与所述服务负载均衡器进行通信的端口被配置有预设标记;
所述第一虚拟交换机具体用于:根据所述预设标记,确定不对所述第二数据报文进行解封装处理,通过所述端口将所述第二数据报文发送至所述服务负载均衡器。
6.一种通信方法,其特征在于,应用于第一虚拟私有云中的第一虚拟交换机,所述第一虚拟私有云中包括服务负载均衡器,所述方法包括:
接收所述服务负载均衡器发送的第一数据报文,所述第一数据报文中包含第二虚拟私有云对应的网络标识以及目标服务器的网络地址;其中,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机,所述服务负载均衡器接收到用户触发的与所述第二虚拟私有云对应的访问请求信息后,从所述多个服务器中确定出所述目标服务器以及将所述访问请求信息封装为所述第一数据报文;
确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机,以使所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将第一虚拟交换机中用于与所述服务负载均衡器进行通信的端口配置有预设标记;
所述将所述第一数据报文发送至所述第二虚拟交换机,包括:
根据所述预设标记,确定不对通过所述端口接收到的所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机。
8.根据权利要求6所述的方法,其特征在于,所述服务负载均衡器和所述第一虚拟交换机设于第一物理主机中,所述将所述第一数据报文发送至所述第二虚拟交换机,包括:
将所述第一数据报文中最外层的源网络地址修改为所述第一物理主机的网络地址,将修改后的第一数据报文发送至所述第二虚拟交换机。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述第二虚拟交换机发送的第二数据报文,其中,所述第二虚拟交换机在接收到所述目标服务器发送的与所述访问请求信息对应的访问响应信息后,将所述访问响应信息封装为所述第二数据报文;
确定不对所述第二数据报文进行解封装处理,将所述第二数据报文发送至所述服务负载均衡器,以使所述服务负载均衡器解封装所述第二数据报文以获得所述访问响应信息。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
将第一虚拟交换机中用于与所述服务负载均衡器进行通信的端口配置有预设标记;
所述将所述第二数据报文发送至所述服务负载均衡器,包括:
根据所述预设标记,确定不对所述第二数据报文进行解封装处理,通过所述端口将所述第二数据报文发送至所述服务负载均衡器。
11.一种通信装置,其特征在于,应用于第一虚拟私有云中的第一虚拟交换机,所述第一虚拟私有云中包括服务负载均衡器,所述装置包括:
接收模块,用于接收所述服务负载均衡器发送的第一数据报文,所述第一数据报文中包含第二虚拟私有云对应的网络标识以及目标服务器的网络地址;其中,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机,所述服务负载均衡器接收到用户触发的与所述第二虚拟私有云对应的访问请求信息后,从所述多个服务器中确定出所述目标服务器以及将所述访问请求信息封装为所述第一数据报文;
发送模块,用于确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机,以使所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
12.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求6至10中任一项所述的通信方法。
13.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求6至10中任一项所述的通信方法。
14.一种通信方法,其特征在于,应用于第一虚拟私有云中的服务负载均衡器,所述第一虚拟私有云中包括第一虚拟交换机,所述方法包括:
接收到用户触发的与第二虚拟私有云对应的访问请求信息,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机;
从所述多个服务器中确定出目标服务器;
将所述访问请求信息封装为第一数据报文,所述第一数据报文中包含所述第二虚拟私有云对应的网络标识以及所述目标服务器的网络地址;
将所述第一数据报文发送至所述第一虚拟交换机,以使所述第一虚拟交换机确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机;
其中,所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
接收所述第一虚拟交换机发送的第二数据报文,其中,所述第二虚拟交换机在接收到所述目标服务器发送的与所述访问请求信息对应的访问响应信息后,将所述访问响应信息封装为所述第二数据报文并发送至所述第一虚拟交换机;其中,所述第一虚拟交换机确定不对所述第二数据报文进行解封装处理;
解封装所述第二数据报文以获得所述访问响应信息。
16.一种通信装置,其特征在于,应用于第一虚拟私有云中的服务负载均衡器,所述第一虚拟私有云中包括第一虚拟交换机,所述装置包括:
接收模块,用于接收到用户触发的与第二虚拟私有云对应的访问请求信息,所述第二虚拟私有云中包括多个服务器和第二虚拟交换机;
处理模块,用于从所述多个服务器中确定出目标服务器;将所述访问请求信息封装为第一数据报文,所述第一数据报文中包含所述第二虚拟私有云对应的网络标识以及所述目标服务器的网络地址;
发送模块,用于将所述第一数据报文发送至所述第一虚拟交换机,以使所述第一虚拟交换机确定不对所述第一数据报文进行封装处理,将所述第一数据报文发送至所述第二虚拟交换机;其中,所述第二虚拟交换机通过解封装所述第一数据报文以获得所述目标服务器的网络地址和所述访问请求信息,并将所述访问请求信息发送至所述目标服务器。
17.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求14或15所述的通信方法。
18.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求14或15所述的通信方法。
CN202010430596.4A 2020-05-20 2020-05-20 通信***以及通信方法、装置、设备和存储介质 Active CN113709016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010430596.4A CN113709016B (zh) 2020-05-20 2020-05-20 通信***以及通信方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010430596.4A CN113709016B (zh) 2020-05-20 2020-05-20 通信***以及通信方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113709016A CN113709016A (zh) 2021-11-26
CN113709016B true CN113709016B (zh) 2023-04-07

Family

ID=78645565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010430596.4A Active CN113709016B (zh) 2020-05-20 2020-05-20 通信***以及通信方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113709016B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598700B (zh) * 2022-01-25 2024-03-29 阿里巴巴(中国)有限公司 通信方法及通信***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533063A (zh) * 2013-10-18 2014-01-22 北京华胜天成科技股份有限公司 一种可实现web应用资源动态扩展的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827039B (zh) * 2010-06-04 2013-03-20 杭州华三通信技术有限公司 一种负载分担的方法和设备
WO2016033193A1 (en) * 2014-08-26 2016-03-03 Matthew Hayden Harper Distributed input/output architecture for network functions virtualization
JP6505172B2 (ja) * 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム
CN106789667B (zh) * 2016-11-21 2021-01-01 华为技术有限公司 一种数据转发方法、相关设备及***
CN110708393B (zh) * 2019-10-21 2023-11-21 北京百度网讯科技有限公司 用于传输数据的方法、装置和***

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533063A (zh) * 2013-10-18 2014-01-22 北京华胜天成科技股份有限公司 一种可实现web应用资源动态扩展的方法及装置

Also Published As

Publication number Publication date
CN113709016A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
US11671367B1 (en) Methods and apparatus for improving load balancing in overlay networks
US10862732B2 (en) Enhanced network virtualization using metadata in encapsulation header
US11088872B2 (en) Servicing packets in a virtual network and a software-defined network (SDN)
US10541836B2 (en) Virtual gateways and implicit routing in distributed overlay virtual environments
US10778532B2 (en) Overlay network movement operations
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
US9325524B2 (en) Overlay network capable of supporting storage area network (SAN) traffic
TWI504193B (zh) 用於在雲計算中卸載隧道資料包的方法和系統
WO2021135471A1 (zh) 数据传输方法、装置、网卡及存储介质
CN110999265B (zh) 管理云计算服务端点和虚拟机之间的网络连接性
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
US20160366046A1 (en) Support for high availability of service appliances in a software-defined network (sdn) service chaining infrastructure
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
CN110311860B (zh) Vxlan下多链路负载均衡方法及装置
WO2015113410A1 (zh) 数据包的处理方法与装置
US11470071B2 (en) Authentication for logical overlay network traffic
CN112671628A (zh) 业务服务提供方法及***
US20220239629A1 (en) Business service providing method and system, and remote acceleration gateway
CN113709016B (zh) 通信***以及通信方法、装置、设备和存储介质
CN115913819A (zh) 一种通信方法以及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant