CN112671938B - 业务服务提供方法及***、远端加速网关 - Google Patents

业务服务提供方法及***、远端加速网关 Download PDF

Info

Publication number
CN112671938B
CN112671938B CN201910979758.7A CN201910979758A CN112671938B CN 112671938 B CN112671938 B CN 112671938B CN 201910979758 A CN201910979758 A CN 201910979758A CN 112671938 B CN112671938 B CN 112671938B
Authority
CN
China
Prior art keywords
address
message
gateway
superposition
service request
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
CN201910979758.7A
Other languages
English (en)
Other versions
CN112671938A (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 Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing 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 Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN201910979758.7A priority Critical patent/CN112671938B/zh
Priority to PCT/CN2020/121034 priority patent/WO2021073555A1/zh
Priority to EP20877517.1A priority patent/EP4033702A4/en
Publication of CN112671938A publication Critical patent/CN112671938A/zh
Priority to US17/718,473 priority patent/US20220239629A1/en
Application granted granted Critical
Publication of CN112671938B publication Critical patent/CN112671938B/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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

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

Abstract

本申请公开了一种业务服务提供方法,属于通信技术领域。该方法包括:边界网关接收远端加速网关发送的第一叠加报文,第一叠加报文封装有第一业务请求报文,第一业务请求报文的源互联网协议IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址;边界网关对第一叠加报文解封装以获取第一业务请求报文,对第一业务请求报文进行封装以产生第二叠加报文,将第二叠加报文发送至虚拟转发设备;虚拟转发设备对第二叠加报文解封装以获取第一业务请求报文,将第一业务请求报文发送至虚拟机。本申请实现了业务请求报文的源地址透传。

Description

业务服务提供方法及***、远端加速网关
技术领域
本申请涉及通信技术领域,特别涉及一种业务服务提供方法及***、远端加速网关。
背景技术
随着云计算技术的快速发展,已有越来越多的用户使用云服务。用户可以通过客户端访问云服务提供端,以请求云服务提供端向客户端提供云服务,云服务提供端可根据客户端的请求向客户端提供云服务。
相关技术中,客户端请求云服务提供端提供云服务的过程为:客户端向远端加速网关发送业务请求报文,远端加速网关在接收到该业务请求报文后,先对该业务请求报文进行源/目的网络地址转换(full network address translation,FullNAT),即对该业务请求报文的源地址和目的地址均执行地址转换操作,然后将地址转换后的业务请求报文通过全球骨干网发送至云服务提供端,以通过该业务请求报文请求云服务提供端向客户端提供云服务。云服务提供端向客户端提供该业务请求报文所请求的云服务的过程为:云服务提供端将针对该业务请求报文的业务响应报文通过全球骨干网发送至远端加速网关,远端加速网关在接收到该业务响应报文后,先对该业务响应报文进行源/目的网络地址转换,再将地址转换后的业务响应报文发送至客户端,以使客户端使用业务请求报文所请求的云服务。
但是,在客户端请求云服务提供端提供云服务的过程中,由于远端加速网关对业务请求报文的源地址执行了转换操作,导致云服务提供端较难获知业务请求报文的源地址。
发明内容
本申请提供了一种业务服务提供方法及***、远端加速网关,可以解决目前云服务提供端较难获知业务请求报文的源地址的问题。
第一方面,提供了一种业务服务提供方法,该业务服务提供方法应用于业务服务提供***,该业务服务提供***包括边界网关、虚拟转发设备和虚拟机,该虚拟机用于向客户端提供业务服务,方法包括:边界网关接收远端加速网关发送的第一叠加报文,第一叠加报文封装有第一业务请求报文,第一业务请求报文的源互联网协议IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址;边界网关对第一叠加报文解封装以获取第一业务请求报文,对第一业务请求报文进行封装以产生第二叠加报文,将第二叠加报文发送至虚拟转发设备;虚拟转发设备对第二叠加报文解封装以获取第一业务请求报文,将第一业务请求报文发送至虚拟机。
在本申请实施例提供的业务服务提供方法中,由于在将业务请求报文发送至虚拟机的过程中,没有对业务请求报文的源IP地址进行地址转换,发送至虚拟机的业务请求报文的源IP地址仍为客户端的IP地址,使得虚拟机能够获知其接收到的业务请求报文的源IP地址,实现了业务请求报文的源地址透传,因此,能够便于虚拟机根据该源IP地址进行实现统计分析等功能。
其中,虚拟机也可以为容器等能够提供业务服务的其他***或设备。
在一种可实现方式中,虚拟转发设备为虚拟交换机,虚拟机关联的公网IP地址为与虚拟机绑定的公网IP地址。
在另一种可实现方式中,虚拟转发设备为负载均衡器,负载均衡器为虚拟机提供负载均衡服务,虚拟机关联的公网IP地址为与负载均衡器绑定的公网IP地址。
在又一种可实现方式中,虚拟转发设备为IPV6网关,虚拟机关联的公网IP地址为虚拟机的公网IPV6地址。
在再一种可实现方式中,虚拟转发设备为VPN网关,虚拟机关联的公网IP地址为与VPN网关绑定的公网IP地址。
在还一种可实现方式中,当虚拟转发设备为NAT网关时,虚拟机关联的公网IP地址为与NAT网关绑定的公网IP地址。
可选的,第一叠加报文携带有远端加速网关的IP地址,边界网关对第一叠加报文解封装以获取第一业务请求报文,对第一业务请求报文进行封装以产生第二叠加报文的过程,还包括:边界网关获取第一叠加报文携带的远端加速网关的IP地址,并设置第二叠加报文携带远端加速网关的IP地址;
相应的,虚拟转发设备对第二叠加报文解封装以获取第一业务请求报文,还包括:虚拟转发设备获取第二叠加报文携带的远端加速网关的IP地址;虚拟转发设备获取第一业务请求报文的源IP地址,其中,第一业务请求报文的源IP地址是客户端的IP地址;虚拟转发设备记录远端加速网关的IP地址以及客户端的IP地址的对应关系。
通过记录该客户端的IP地址与第二叠加报文携带的远端加速网关的IP地址的对应关系,能够在回源时,通过查询该对应关系,确定将业务响应报文发送至该客户端的远端加速网关,以确保回源过程。
需要说明的是,该对应关系也可以是客户端的IP地址与包括第一业务请求报文的源IP地址在内的二元组、三元组、四元组或五元组的对应关系。
并且,该对应关系还可以是客户端的IP地址、网络标识符与包括第一业务请求报文的源IP地址在内的二元组、三元组、四元组或五元组的对应关系。该网络标识符是指传输封装有第一业务请求报文的叠加报文时,所使用的叠加网络的网络标识符。
由于在使用叠加网络传输封装有第一业务请求报文的叠加报文时,需要根据网络标识符确定需要使用的叠加网络,并采用该网络标识符指示的叠加网络传输叠加报文,并且,在相关技术中,该网络标识符需要人工手动设置,因此,在本申请实施例中,通过根据传输第一业务请求报文时所使用的叠加网络的网络标识符进行地址学习,可以根据该地址学习建立的对应关系,使得能够自动化地确定用于发送目的IP地址为该第一业务请求报文的源IP地址的叠加报文的叠加网络的网络标识符,即实现该网络标识符的自动化配置,能够减小该网络标识符配置过程中的人工干预,提高了该叠加报文的发送效率和准确性。
在一种可能的实现方式中,在虚拟转发设备将第一业务请求报文发送至虚拟机之后,方法还包括:虚拟转发设备接收虚拟机根据第一业务请求报文发送的第一业务响应报文,第一业务响应报文的目的IP地址是客户端的IP地址;虚拟转发设备根据第一业务响应报文的目的IP地址从对应关系获取远端加速网关的IP地址;虚拟转发设备对第一业务响应报文进行封装以产生第三叠加报文,第三叠加报文携带有远端加速网关的IP地址,虚拟转发设备将第三叠加报文发送至边界网关;边界网关获取第三叠加报文携带的远端加速网关的IP地址,对第三叠加报文进行解封装以获取第一业务响应报文,对第一业务响应报文进行封装以产生第四叠加报文,边界网关根据远端加速网关的IP地址将第四叠加报文发送至远端加速网关。
该过程为虚拟机从根据业务请求报文发出业务响应报文直至发送至客户端的下行过程,在该下行过程中,虚拟转发设备查询远端加速网关的IP地址以及客户端的IP地址的对应关系,得到远端加速网关的隧道端点IP地址,并在虚拟转发设备向边界网关发送的第三叠加报文中携带该远端加速网关的隧道端点IP地址,使得边界网关能够根据该远端加速网关的隧道端点IP地址,将第四叠加报文发送至远端加速网关,以通过远端加速网关将针对第一业务请求报文的第一业务响应报文发送至客户端,实现第一业务响应报文的回源。
第二方面,提供了一种业务服务提供方法,该业务服务提供方法应用于远端加速网关,该方法包括:远端加速网关接收客户端发送的第二业务请求报文,第二业务请求报文的源IP地址是客户端的IP地址,目的IP地址是远端加速网关的IP地址;远端加速网关对第二业务请求报文进行目的地址转换以产生第一业务请求报文,其中,第一业务请求报文的源IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址,虚拟机用于向客户端提供业务服务;远端加速网关对第一业务请求报文进行封装,以产生第一叠加报文,其中,第一叠加报文携带有远端加速网关的IP地址;远端加速网关将第一叠加报文发送至虚拟机所在的边界网关。
可选的,该方法还包括:远端加速网关接收边界网关发送的第四叠加报文,第四叠加报文封装有第一业务响应报文,第一业务响应报文的源IP地址是虚拟机关联的公网IP地址,目的IP地址是客户端的IP地址;远端加速网关对第四叠加报文进行解封装以获取第一业务响应报文;远端加速网关对第一业务响应报文进行源IP地址转换以产生第二业务响应报文,其中,第二业务响应报文的源IP地址是远端加速网关的IP地址,目的IP地址是客户端的IP地址;远端加速网关将第二业务响应报文发送至客户端。
第三方面,提供了一种业务服务提供***,该业务服务提供***包括边界网关、虚拟转发设备和虚拟机,虚拟机用于向客户端提供业务服务;边界网关用于接收远端加速网关发送的第一叠加报文,第一叠加报文封装有第一业务请求报文,第一业务请求报文的源互联网协议IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址;边界网关用于对第一叠加报文解封装以获取第一业务请求报文,对第一业务请求报文进行封装以产生第二叠加报文,将第二叠加报文发送至虚拟转发设备;虚拟转发设备用于对第二叠加报文解封装以获取第一业务请求报文,将第一业务请求报文发送至虚拟机。
其中,虚拟机也可以为容器等能够提供业务服务的其他***或设备。
在一种可实现方式中,虚拟转发设备为虚拟交换机,虚拟机关联的公网IP地址为与虚拟机绑定的公网IP地址。
在另一种可实现方式中,虚拟转发设备为负载均衡器,负载均衡器为虚拟机提供负载均衡服务,虚拟机关联的公网IP地址为与负载均衡器绑定的公网IP地址。
在又一种可实现方式中,虚拟转发设备为IPV6网关,虚拟机关联的公网IP地址为虚拟机的公网IPV6地址。
在再一种可实现方式中,虚拟转发设备为VPN网关,虚拟机关联的公网IP地址为与VPN网关绑定的公网IP地址。
在还一种可实现方式中,当虚拟转发设备为NAT网关时,虚拟机关联的公网IP地址为与NAT网关绑定的公网IP地址。
可选的,第一叠加报文携带有远端加速网关的IP地址,边界网关还用于获取第一叠加报文携带的远端加速网关的IP地址,并设置第二叠加报文携带远端加速网关的IP地址;虚拟转发设备还用于获取第二叠加报文携带的远端加速网关的IP地址;虚拟转发设备还用于获取第一业务请求报文的源IP地址,其中,第一业务请求报文的源IP地址是客户端的IP地址;虚拟转发设备还用于记录远端加速网关的IP地址以及客户端的IP地址的对应关系。
可选的,虚拟转发设备还用于接收虚拟机根据第一业务请求报文发送的第一业务响应报文,第一业务响应报文的目的IP地址是客户端的IP地址;虚拟转发设备还用于根据第一业务响应报文的目的IP地址从对应关系获取远端加速网关的IP地址;虚拟转发设备还用于对第一业务响应报文进行封装以产生第三叠加报文,第三叠加报文携带有远端加速网关的IP地址,虚拟转发设备还用于将第三叠加报文发送至边界网关;边界网关还用于获取第三叠加报文携带的远端加速网关的IP地址,对第三叠加报文进行解封装以获取第一业务响应报文,对第一业务响应报文进行封装以产生第四叠加报文,根据远端加速网关的IP地址将第四叠加报文发送至远端加速网关。
第四方面,提供了一种远端加速网关,远端加速网关用于接收客户端发送的第二业务请求报文,第二业务请求报文的源IP地址是客户端的IP地址,目的IP地址是远端加速网关的IP地址;远端加速网关还用于对第二业务请求报文进行目的地址转换以产生第一业务请求报文,其中,第一业务请求报文的源IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址,虚拟机用于向客户端提供业务服务;远端加速网关还用于对第一业务请求报文进行封装,以产生第一叠加报文,其中,第一叠加报文携带有远端加速网关的IP地址;远端加速网关还用于将第一叠加报文发送至虚拟机所在的边界网关。
可选的,远端加速网关还用于接收边界网关发送的第四叠加报文,第四叠加报文封装有第一业务响应报文,第一业务响应报文的源IP地址是虚拟机关联的公网IP地址,目的IP地址是客户端的IP地址;远端加速网关还用于对第四叠加报文进行解封装以获取第一业务响应报文;远端加速网关还用于对第一业务响应报文进行源IP地址转换以产生第二业务响应报文,其中,第二业务响应报文的源IP地址是远端加速网关的IP地址,目的IP地址是客户端的IP地址;远端加速网关还用于将第二业务响应报文发送至客户端。
第五方面,提供了一种第一计算机设备,边界网关可以部署在该第一计算机设备中,该第一计算机设备包括第一处理器和第一存储器;第一存储器中存储有计算机程序;第一处理器执行计算机程序时,第一计算机设备实现如本申请实施例中业务服务提供方法中边界网关所实现的功能。
第六方面,提供了一种第二计算机设备,虚拟转发设备和虚拟机可以部署在该第二计算机设备中,第二计算机设备包括第二处理器和第二存储器;第二存储器中存储有计算机程序;第二处理器执行计算机程序时,第二计算机设备实现如本申请实施例中业务服务提供方法中虚拟转发设备所实现的功能。
第七方面,提供了一种第三计算机设备,远端加速网关可以部署在该第三计算机设备中,第三计算机设备包括第三处理器和第三存储器;第三存储器中存储有计算机程序;第三处理器执行计算机程序时,第三计算机设备实现如本申请实施例中业务服务提供方法中远端加速网关所实现的功能。
第八方面,提供了一种第一存储介质,当第一存储介质中的指令被处理器执行时,实现如本申请实施例中业务服务提供方法中边界网关所实现的功能。
第九方面,提供了一种第二存储介质,当第二存储介质中的指令被处理器执行时,实现如本申请实施例中业务服务提供方法中虚拟转发设备所实现的功能。
第十方面,提供了一种第三存储介质,当第三存储介质中的指令被处理器执行时,实现如本申请实施例中业务服务提供方法中远端加速网关所实现的功能。
第十一方面,提供了一种包含指令的第一计算机程序产品,当第一计算机程序产品在计算机上运行时,使得计算机执行本申请实施例中业务服务提供方法中边界网关所实现的功能。
第十二方面,提供了一种包含指令的第二计算机程序产品,当第二计算机程序产品在计算机上运行时,使得计算机执行本申请实施例中业务服务提供方法中虚拟转发设备所实现的功能。
第十三方面,提供了一种包含指令的第三计算机程序产品,当第三计算机程序产品在计算机上运行时,使得计算机执行本申请实施例中业务服务提供方法中远端加速网关所实现的功能。
附图说明
图1是本申请实施例提供的一种业务服务提供方法涉及的应用场景的示意图;
图2是本申请实施例提供的另一种业务服务提供方法涉及的应用场景的示意图;
图3是本申请实施例提供的又一种业务服务提供方法涉及的应用场景的示意图;
图4是本申请实施例提供的一种业务服务提供方法的流程图;
图5是本申请实施例提供的一种VXLAN报文的结构示意图;
图6是本申请实施例提供的一种填充头部的结构示意图;
图7是本申请实施例提供的另一种VXLAN报文的结构示意图;
图8是本申请实施例提供的又一种VXLAN报文的结构示意图;
图9是本申请实施例提供的一种可变长度选项字段的结构示意图;
图10是本申请实施例提供的另一种业务服务提供方法的流程图;
图11是本申请实施例提供的一种第一计算机设备的结构示意图;
图12是本申请实施例提供的一种第二计算机设备的结构示意图;
图13是本申请实施例提供的一种第三计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为便于理解,下面先对本申请实施例中涉及的名词进行解释。
叠加网络(也称重叠网,overlay network)是一种运行在一个或多个已存在网络之上的虚拟网络,其能够提供特定的附加功能。叠加网络将待传输报文进行封装得到叠加报文,通过叠加网络的隧道传输叠加报文,并在叠加报文传输到隧道端点后,由隧道的端点对叠加报文进行解封装,并将封装在叠加报文内层的待传输报文发送给虚拟机等实例,实现该待传输报文的传输。
虚拟可扩展局域网(virtual extensible local area network,VXLAN)是一种叠加网络。VXLAN将待传输报文封装在用户数据协议(user datagram protocol,UDP)报文中,并在封装有待传输报文的UDP报文外层添加物理网络的互联网协议(internet protocol,IP)地址和媒体访问控制(media access control,MAC)地址,得到VXLAN报文,将待传输报文作为VXLAN报文的净荷数据在二层网络和三层网络中进行传输,并在VXLAN报文到达隧道端点后,由隧道端点对VXLAN报文解封装得到待传输报文,然后将待传输报文发送给虚拟机等实例。VXLAN是一种将二层报文封装到三层网络中,为分散的用户提供的一种二层互联的方法,其能够为不同的租户提供业务隔离。随着虚拟化技术的迅速发展,VXLAN技术得到了广泛的应用。
骨干网(backbone network)是用来连接多个区域或地区的高速网络。每个骨干网中至少有一个和其他骨干网进行互联互通的连接点。不同的网络供应商通常都拥有自己的骨干网,用以连接其位于不同区域的网络。对云运营商而言,为了更好的服务用户,通常也会建立自己的全球骨干网。
网络服务提供点(也称入网点或局端,point of presence,POP),在计算机网络中,POP位于企业网络的边缘外侧,是访问企业网络内部的进入点,外界提供的服务通过POP进入,这些服务包括因特网接入,广域连接以及电话服务等。在企业中,POP提供通往外部服务和站点的链路,POP可以直接连接到一家或多家互联网服务提供商(internet serviceprovider,ISP),这样内部用户便可以通过这些链路来访问因特网。企业的远程站点也通过POP连接在一起,这些远程站点之间的广域链路由服务商建立。对于ISP来说,POP是一个将互联网从一个地方接到其他地方的入网点。
加速网关(也称加速器),部署在云运营商POP,使得因特网用户可以就近接入云运营商骨干网,通过云运营商骨干网到达后端服务。在本申请实施例中,部署在POP点的加速网关可以采用任播传输的方式或单播传输的方式发送报文。
任播传输(也称泛播传输或选播传输,anycast),在本申请实施例中指云运营商的不同POP点的加速网关对因特网采用anycast方式发布相同的加速IP,使得不同地域的因特网用户可以就近到达云运营商的某一POP。
单播传输(unicast),是通过在客户机与服务器之间建立一个单独的数据通道,使得从一台服务器送出的每个数据包只能传送给一个客户机的传输方式。
网络地址转换(network address translation,NAT)技术,是指通过替换IP报文头部的地址信息,对需要发送的报文的目的IP地址和源IP地址中的至少一个进行地址转换的技术。NAT技术可以包括:目的网络地址转换(destination network addresstranslation,DNAT)技术、源网络地址转换(source network address translation,SNAT)技术,及源/目的网络地址转换(full network address translation,FullNAT)。DNAT指对报文的目的IP地址进行地址转换。SNAT指对报文的源IP地址进行地址转换。FullNAT指对报文的目的IP地址和源IP地址均进行地址转换。
边界网关(border gateway)本申请中边界网关指在一个区域(reigon)的边界区域,通过边界网关将对应的公网报文发给EIP绑定的对应实例网关,如弹性负载均衡器,虚拟交换机等。
弹性网络互连协议(Elastic Internet Protocol,EIP)地址,指用于私网中的计算机设备访问公网的IP地址。
弹性负载均衡器(Elastic Load Balance,ELB),是指将访问业务的报文自动分发到多个计算机设备上的设备,以扩展对外的服务的能力,避免单个节点殷负载较大导致的性能下降或节点崩溃,消除单点故障。
虚拟交换机(也称虚拟网络交换机,Virtual switch,vSwitch)运行在虚拟化平台上,通过软件方式为虚拟机(virtual machine,VM)提供二层网络接入和部分三层网络功能。vSwitch通过物理主机上的物理网卡作为上行链路与外界网络进行连接。
虚拟机(virtual machine,VM):指通过虚拟化技术模拟得到的具有完整硬件***功能的、运行在一个完全隔离环境中的完整的计算机***。虚拟机的部分指令子集可以在宿主(host)机中处理,其它部分指令可以以仿真的方式执行。用户可以通过租用虚拟机的形式购买云服务。作为一种可能的示例,弹性云服务器(Elastic Compute Service,ECS)可以为本申请实施例中的虚拟机。
弹性云服务器是一种可随时自助获取、可弹性伸缩的云服务器。ECS可以免去采购IT硬件的前期准备,并像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。弹性伸缩是指可以根据业务需要配置CPU、内存和带宽等服务器资源。
虚拟专用网络(virtual private network,VPN),指在公用网络(即公网)上建立专用网络,进行加密通讯。
互联网协议第6版(internet protocol version 6,IPv6),是互联网工程任务组(IETF)设计的用于替代互联网协议第4版(internet protocol version 4,IPv4)的下一代IP协议。
本申请实施例提供了一种业务服务提供方法,通过远端加速网关对客户端发送的业务请求报文进行目的地址转换,对目的地址转换后的业务请求报文进行封装,并将经过封装的业务请求报文发送至虚拟机所在的边界网关,然后通过边界网关将经过封装的业务请求报文发送至虚拟转发设备,再通过该虚拟转发设备将该业务请求报文发送至虚拟机,相较于相关技术,由于在将业务请求报文发送至虚拟机的过程中,没有对业务请求报文的源地址进行地址转换,发送至虚拟机的业务请求报文的源地址仍为客户端的地址,使得虚拟机能够获知其接收到的业务请求报文的源IP地址,实现了业务请求报文的源地址透传,因此,能够便于虚拟机根据该源地址实现统计分析等功能。
图1为本申请实施例提供的一种业务服务提供方法涉及的应用场景的示意图。如图1所示,该应用场景包括:客户端10、远端加速网关20和业务服务提供***。该业务服务提供***可以包括:边界网关30、虚拟转发设备和虚拟机50。其中,虚拟机50用于向客户端10提供业务服务。并且,在该业务服务提供方法涉及的应用场景中,可以部署有一个或多个边界网关,例如,在该应用场景中可不部署有多个边界网关,部署在该应用场景中的多个虚拟转发设备分别与不同的边界网关连接。该图1为应用场景中部署有一个边界网关的示意图。
可选的,远端加速网关20和业务服务提供***之间可以通过全球骨干网、数据中心网络(data center network,DCN)或数据中心的边界网络连接,本申请实施例对其不做具体限定。并且,用于连接远端加速网关20和业务服务提供***之间的网络的边缘外侧可以部署有POP,远端加速网关20可以部署在该POP处。
在一种可能的实现方式中,该虚拟转发设备可以为虚拟交换机。其中,图1为虚拟转发设备为虚拟交换机的示意图,如图1所示,该业务服务提供***可以包括:边界网关30、虚拟交换机40和虚拟机50。
在该图1所示的应用场景中,远端加速网关20可以与业务服务提供***中的边界网关30通信,边界网关30可以与虚拟交换机40通信,虚拟交换机40可以接收边界网关30发送的报文,并将该报文发送至虚拟机50,或者,虚拟交换机40可以将该虚拟机50发送的报文发送至边界网关30。
需要说明的是,该虚拟机50也可以为容器等能够提供业务服务的其他***或设备,本申请实施例对其不作具体限定。
在另一种可能的实现方式中,该虚拟转发设备可以为弹性负载均衡器。图2为虚拟转发设备为弹性负载均衡器的示意图,如图2所示,该业务服务提供***可以包括:边界网关30、弹性负载均衡器60和多个虚拟机50。
在该图2所示的应用场景中,远端加速网关20可以与业务服务提供***中的边界网关30通信,边界网关30可以与弹性负载均衡器60通信,弹性负载均衡器60可以将接收到的业务分发至多个虚拟机50,或者,弹性负载均衡器60可以将该虚拟机50发送的报文发送至边界网关30。
在又一种可能的实现方式中,该虚拟转发设备还可以为:NAT网关、VPN网关或与对IPv6报文进行处理的网关(下文将其称为IPV6网关)等,本申请实施例对其不做具体限定。
在一种可能的实现场景中,在边界网关和虚拟转发设备之间还可以部署有至少一个其他网关,此时,边界网关可以通过该至少一个其他网关与该虚拟转发设备通信。示例的,对应于图1所示的应用场景,如图3所示,该业务服务***还可以包括:部署在边界网关30和虚拟转发设备之间的一个其他网关70,边界网关30通过该其他网关70与虚拟交换机40通信。
需要说明的是,本申请实施例所涉及网关的部署方式可以有多种实现方式,例如,可以采用虚拟机部署,也可以采用物理服务器部署,本申请实施例对其不做具体限定。
下面对本申请实施例提供的业务服务提供方法的实现过程进行说明。在对该业务服务提供方法的实现过程进行说明时,以远端加速网关和业务服务提供***之间通过全球骨干网连接为例进行说明。并且,该业务服务提供方法包括从客户端发出业务请求报文直至发送至虚拟机的上行过程,及虚拟机从根据业务请求报文发出业务响应报文直至发送至客户端的下行过程,下面分别对该业务服务提供方法的上行过程和下行过程进行说明。
如图4所示,该业务服务提供方法的上行过程可以包括以下步骤:
步骤401、远端加速网关接收客户端发送的第二业务请求报文,第二业务请求报文的源IP地址是客户端的IP地址,目的IP地址是远端加速网关的加速IP地址。
可以预先将用户能够访问的远端加速网关的IP地址(为便于区分,本文中将该用户能够访问的远端加速网关的IP地址称为远端加速网关的加速IP地址)与虚拟机关联的公网IP绑定,使得客户端可以通过访问该远端加速网关的加速IP地址实现对该虚拟机的访问。在客户端需要虚拟机向其提供业务服务时,可以向远端加速网关发送第二业务请求报文,以通过该第二业务请求报文请求虚拟机向客户端提供业务服务。该第二业务请求报文的目的IP地址为远端加速网关的加速IP地址,该第二业务请求报文的源IP地址为客户端的IP地址。
在客户端发出该第二业务请求报文后,网络可依据该第二业务请求报文的目的IP地址对该第二业务请求报文进行路由,并将该第二业务请求报文发送至远端加速网关,并通过远端加速网关将该第二业务请求报文发送至与其加速IP地址绑定的虚拟机关联的公网IP所指向的虚拟机(为便于描述,下文均简称为虚拟机),进而实现该客户端对该虚拟机的访问。
例如,在云服务场景中,客户端可以向远端加速网关发送第二业务请求报文,以通过该远端加速网关访问数据中心中的虚拟机,以请求虚拟机向该客户端提供数据中心中的资源。此时,该第二业务请求报文的目的IP地址为远端加速网关的加速IP地址,该第二业务请求报文的源IP地址为客户端的IP地址,该第二业务请求报文的源端口为客户端端口。
步骤402、远端加速网关对第二业务请求报文进行目的地址转换,以产生第一业务请求报文,其中,第一业务请求报文的源IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址。
通过将远端加速网关的加速IP地址与虚拟机关联的公网IP地址绑定,使得客户端可以通过访问该远端加速网关实现对该虚拟机的访问,因此,当远端加速网关接收到业务请求报文时,可以确定该业务请求报文是请求虚拟机向客户端提供业务服务的。相应的,在远端加速网关接收到第二业务请求报文时,可以对该第二业务请求报文进行目的地址转换,以产生第一业务请求报文,且该第一业务请求报文的源IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址。需要说明的是,在该目的地址转换前后,第一业务请求报文的源端口相较于第二业务请求报文的源端口未发生变化,仍为客户端端口。
其中,远端加速网关对接收到的业务请求报文进行目的地址转换时的转换策略,可以根据远端加速网关的加速IP地址与虚拟机关联的公网IP的绑定关系确定。例如,当远端加速网关的加速IP地址与虚拟机1关联的公网IP绑定时,远端加速网关可以将接收到的业务请求报文的目的IP地址转换为虚拟机1关联的公网IP地址。当远端加速网关的加速IP地址与虚拟机2关联的公网IP绑定时,远端加速网关可以将接收到的业务请求报文的目的IP地址转换为虚拟机2关联的公网IP地址。
并且,远端加速网关的加速IP地址也可以与多个虚拟机所关联的公网IP地址绑定。此时,客户端发送的业务请求报文中会携带用于指示不同虚拟机所关联的公网IP地址的指示信息,当远端加速网关接收到客户端发送的业务请求报文时,会根据该业务请求报文携带的用于指示不同虚拟机所关联的公网IP地址的指示信息,将业务请求报文的目的IP地址转换为该指示信息所指示的虚拟机所关联的公网IP地址。
需要说明的是,虚拟机关联的公网IP地址是指能够将报文发送至该虚拟机的设备的公网IP地址。例如,当虚拟转发设备为虚拟交换机时,虚拟机关联的公网IP地址为与虚拟机绑定的公网IP地址。此时,当报文的目的IP地址为虚拟机绑定的公网IP地址时,能够通过虚拟交换机将报文发送至该公网IP地址所指示的虚拟机。
当虚拟转发设备为负载均衡器时,虚拟机关联的公网IP地址为与负载均衡器绑定的公网IP地址。此时,当报文的目的IP地址为负载均衡器绑定的公网IP地址时,能够将报文发送至该公网IP地址所指示的负载均衡器,并通过负载均衡器提供的负载均衡服务将报文发送至能够提供服务的虚拟机。
当虚拟转发设备为IPV6网关时,虚拟机关联的公网IP地址为虚拟机的公网IPV6地址。此时,当报文的目的IP地址为虚拟机的公网IPV6地址时,能够通过IPV6网关将报文发送至该公网IPV6地址所指示的虚拟机。
当虚拟转发设备为VPN网关时,虚拟机关联的公网IP地址为与VPN网关绑定的公网IP地址。此时,当报文的目的IP地址为与VPN网关绑定的公网IP地址时,能够将该报文发送至VPN网关,并通过该VPN网关将报文发送至报文所指示的虚拟机。
当虚拟转发设备为NAT网关时,虚拟机关联的公网IP地址为与NAT网关绑定的公网IP地址。此时,当报文的目的IP地址为与NAT网关绑定的公网IP地址时,能够将该报文发送至NAT网关,并通过该NAT网关将报文发送至对应的虚拟机。
步骤403、远端加速网关根据指向虚拟机关联的公网IP地址的路由信息,确定虚拟机所在的边界网关。
将远端加速网关的加速IP地址与虚拟机关联的公网IP绑定的过程中,也确定了远端加速网关与虚拟机之间发送报文时的路由信息,该路由信息用于指示远端加速网关与虚拟机之间发送报文的路径。远端加速网关可以通过查询指向虚拟机关联的公网IP地址的路由信息,确定该远端加速网关将第一业务请求报文发送至虚拟机的过程中需要经过的中间设备,并将该远端加速网关接收到的第一业务请求报文发送至路径中在逻辑上距离远端加速网关最近的中间设备(即下一跳设备),以通过该下一跳设备将该第一业务请求报文转发至虚拟机。
示例的,假设在图1所示的业务服务提供***中,通过远端加速网关将第一业务请求报文发送至虚拟机需要经过的设备依次为:远端加速网关、边界网关、虚拟转发设备和虚拟机,即通过远端加速网关将第一业务请求报文发送至虚拟机的路由路径为:远端加速网关--边界网关--虚拟转发设备--虚拟机,则根据用于反映该路由路径的路由信息,可以确定远端加速网关将第一业务请求报文发送至虚拟机的下一跳设备为边界网关。此时,该边界网关可称为该虚拟机所在的边界网关。
步骤404、远端加速网关根据虚拟机所在的边界网关的IP地址,对第一业务请求报文进行封装,以产生第一叠加报文,其中,第一叠加报文携带有远端加速网关的隧道端点IP地址。
当远端加速网关将第一业务请求报文发送至虚拟机的下一跳设备为边界网关时,用于传输该第一叠加报文的隧道的端点分别为远端加速网关和边界网关。此时,远端加速网关的IP地址中用于指示隧道端点的IP地址称为远端加速网关的隧道端点IP地址,边界网关的IP地址中用于指示隧道端点的IP地址称为边界网关的隧道端点IP地址。在对第一业务请求报文进行封装时,可以根据包括该远端加速网关的隧道端点IP地址和边界网关的隧道端点IP地址的第一隧道信息,对第一业务请求报文进行封装,以产生第一叠加报文。该第一叠加报文的外层目的IP地址是边界网关的隧道端点IP地址,外层源IP地址是远端加速网关的隧道端点IP地址,内层目的IP地址为虚拟机关联的公网IP地址,内层源IP地址为客户端的IP地址。
需要说明的是,由于在本申请实施例提供的业务服务的提供方法中,边界网关、虚拟转发设备和其他网关在传输叠加报文时,其传输的叠加报文的外层地址均是用于指示隧道端点的,因此,本文中提到的边界网关的IP地址均为边界网关的隧道端点IP地址,虚拟转发设备的IP地址均为虚拟转发设备的隧道端点IP地址,其他网关的IP地址均为其他网关的隧道端点IP地址,本申请实施例不做区分。
其中,远端加速网关根据第一隧道信息,对第一业务请求报文进行封装,产生第一叠加报文的实现方式包括:对第一业务请求报文增加第一隧道头部,并将第一隧道信息填充在该第一隧道头部中,得到包括第一隧道头部和第一业务请求报文的第一叠加报文。该第一隧道信息包括:远端加速网关的隧道端点IP地址,边界网关的隧道端点IP地址,及该远端加速网关和边界网关所使用的隧道的标识。在一种可实现方式中,该第一叠加报文可以为VXLAN报文或其他类型的叠加报文。示例的,当该第一叠加报文为VXLAN报文时,第一隧道信息包括:远端加速网关的VXLAN隧道端点(VXLAN tunnel end points,VTEP)IP地址,边界网关的VTEP IP地址,及该远端加速网关和边界网关所使用的VXLAN隧道的标识。
需要说明的是,第一叠加报文携带远端加速网关的隧道端点IP地址的实现方式可以有多种。例如,可以将该远端加速网关的隧道端点IP地址作为第一叠加报文的外层报文的外层源IP地址,以实现该远端加速网关的隧道端点IP地址的携带。或者,在第一叠加报文的第一隧道头部中的扩展字段中携带该远端加速网关的隧道端点IP地址,以实现该远端加速网关的隧道端点IP地址的携带。
下面以第一叠加报文为VXLAN报文,使用的VXLAN协议分别为VXLAN通用协议扩展(generic protocol extension,gpe)协议(即VXLAN gpe协议)和VXLAN通用网络虚拟封装(generic network virtualization encapsulation,geneve)协议(即VXLAN nvo3-geneve协议)为例,对在第一叠加报文的第一隧道头部中的扩展字段中携带该远端加速网关的VXLAN IP地址的实现方式进行说明。
当使用的VXLAN协议为VXLAN gpe协议时,VXLAN报文中的第一隧道头部为gpe头部,且该gpe头部携带有填充头部(shim header)。如图5所示,VXLAN报文包括以下几部分内容:第一业务请求报文、携带有填充头部的gpe头部、UDP头部、外层IP头部和外层MAC头部。其中,在第一业务请求报文外部封装了携带有填充头部的gpe头部使得第一业务请求报文作为VXLAN报文进行传输。携带有填充头部的gpe头部和第一业务请求报文外封装了UDP头部,使得携带有填充头部的gpe头部和第一业务请求报文作为UDP的数据进行传输。UDP头部外封装了外层IP头部。在外层IP头部外封装了外层MAC头部。其中,可以在填充头部中携带远端加速网关的VXLAN IP地址。
外层MAC头部包括目的MAC地址字段、源MAC地址字段、VLAN类型字段、VLAN标签字段和以太网类型字段。
外层IP头部包括IP头部的杂项数据(misc data)字段、协议字段(protocol)、头部校验和字段(header checksum)、外层目的IP地址字段和外层源IP地址字段。其中,外层源IP地址字段中携带的外层源IP地址为作为源端的VTEP IP地址,外层目的IP地址字段中携带的外层目的IP地址为作为目的端的VTEP IP地址。
UDP头部包括UDP源端口字段、UDP目的端口(也称VXLAN端口)字段、UDP长度字段和校验和字段。
gpe头部包括VXLAN标志字段、保留字段1、下一协议字段(next protocol)、VXLAN网络标识符(VXLAN network identifier,VNI)字段和保留字段2。在一种可实现方式中,可以使用第一叠加报文的VXLAN gpe头部的下一协议字段指示VXLAN报文是否携带了远端加速网关的VTEP IP地址。例如,当该下一协议字段被设置为OxE1时,表示携带了远端加速网关的VTEP IP地址。此时,可以在第一叠加报文的填充头部(shim header)中携带远端加速网关的VTEP IP地址。
如图6所示,该填充头部可以为8字节,其包括:8比特的类型字段(type)、8比特的长度字段(length)、8比特的保留字段3(reserved3)、8比特的下一协议字段(nextprotocol)和32比特的协议特殊字段(Protocol specific field)。其中,协议特殊字段中携带的内容即为远端加速网关的VTEP IP地址。并且,可以对填充头部中的类型字段进行设置,以指示接收到报文的网关需要执行的操作。例如,当类型字段被设置为X1时,表示接收到的报文的网关需要建立地址之间的对应关系(即进行地址学习)。当类型字段被设置为Y1时,表示接收到的报文的网关依据该扩展字段直接进行转发。其中,该X1和Y1的取值可以根据应用需求确定,例如,X1的取值为1,Y1的取值为2。
当使用的VXLAN协议为VXLAN nvo3-geneve协议时,VXLAN头部可以为geneve头部。图7所示,geneve头部与gpe头部不同的是,geneve头部没有携带有填充头部,且该geneve头部包括可变长度选项字段(variable length options)。如图8所示,该geneve头部包括:2比特的版本号字段(ver)、6比特的可选项长度字段(Opt Len)、1比特的操作管理维护(operation administration and maintenance,OAM)帧字段(O)、1比特的关键选项标志字段(C)、6比特的保留字段4(reserved4)、16比特的协议类型字段(protocol type)、24比特的VNI字段、8比特的保留字段5(reserved5)和32比特的可变长度选项字段(variablelength options)。在一种可实现方式中,可以在第一叠加报文的可变长度选项字段中携带了远端加速网关的VTEP IP地址。
如图9所示,该可变长度选项字段为8字节,其包括:16比特的可选类型字段(option class)、8比特的类型字段(type)、3个均为1比特的保留字段6(reserved6)、5比特的长度字段(length)和32比特的可变选项数据字段(variable option data)。其中,可变选项数据字段中携带的内容即为远端加速网关的VTEP IP地址。并且,当该可变长度选项字段中的类型字段被设置为X2时,表示接收到的报文的网关需要建立地址之间的对应关系(即进行地址学习)。当该可变长度选项字段中的类型字段被设置为Y2时,表示接收到的报文的网关依据该扩展字段直接进行转发。其中,该X2和Y2的取值可以根据应用需求确定,例如,X2的取值为1,Y2的取值为2。
需要说明的是,除了通过VXLAN gpe协议和VXLAN nvo3-geneve协议的扩展字段携带远端加速网关的隧道端点IP地址,还可以采用其他的扩展方式,使得在第一叠加报文的第一隧道头部中(或第一隧道头部的扩展字段中)携带该远端加速网关的隧道端点IP地址,且该携带的远端加速网关的隧道端点IP地址既能够适用于IPV4又能够适用于IPV6,本申请实施例对其不做具体限定。
步骤405、远端加速网关将第一叠加报文发送至虚拟机所在的边界网关。
在远端加速网关获取第一叠加报文后,该远端加速网关可以通过远端加速网关与虚拟机所在的边界网关之间的连接网络,将该第一叠加报文发送至虚拟机所在的边界网关。其中,远端加速网关与虚拟机所在的边界网关之间的连接网络可以为全球骨干网、数据中心网络或数据中心的边界网络等。
步骤406、边界网关对第一叠加报文解封装以获取第一业务请求报文和第一叠加报文携带的远端加速网关的隧道端点IP地址。
边界网关接收到第一叠加报文后,边界网关可对该第一叠加报文进行解封装,以得到位于第一叠加报文内层的第一业务请求报文,及第一叠加报文携带的远端加速网关的隧道端点IP地址,以便于在接收到针对第一业务请求报文的业务响应报文后,根据该远端加速网关的隧道端点IP地址将该业务响应报文发送至该远端加速网关,使得该远端加速网关将该业务响应报文发送至客户端。其中,对第一叠加报文解封装的实现方式可以包括:剥离第一叠加报文中的第一隧道信息。
步骤407、边界网关根据指向虚拟机关联的公网IP地址的路由信息,确定用于将第一业务请求报文发送至虚拟机的虚拟转发设备。
该步骤407的实现过程可以相应参考步骤403的实现过程。
步骤408、边界网关根据虚拟转发设备的IP地址,对第一业务请求报文进行封装以产生第二叠加报文,并设置第二叠加报文携带远端加速网关的隧道端点IP地址。
该边界网关对第一业务请求进行封装以产生第二叠加报文的实现过程,请相应参考远端加速网关对第一业务请求报文进行封装以产生第一叠加报文的实现过程。其中,可以采用第二隧道信息对第一业务请求报文进行封装,以产生第二叠加报文。该第二隧道信息包括:边界网关的IP地址、虚拟转发设备的IP地址,及该边界网关和虚拟转发设备所使用的隧道的标识。该第二叠加报文的外层目的IP地址是虚拟转发设备的IP地址,外层源IP地址是边界网关的IP地址,内层目的IP地址为虚拟机关联的公网IP地址,内层源IP地址为客户端的IP地址,且该第二叠加报文携带有远端加速网关的隧道端点IP地址。
第二叠加报文携带远端加速网关的隧道端点IP地址的实现方式可以为:在第二叠加报文的第二隧道头部中的扩展字段中携带该远端加速网关的隧道端点IP地址。其具体实现方式请相应参考第一叠加报文的第一隧道头部中的扩展字段中携带远端加速网关的隧道端点IP地址的实现方式,此处不再赘述。
步骤409、边界网关将第二叠加报文发送至虚拟转发设备。
需要说明的是,上述步骤407至步骤409是虚拟转发设备为边界网关向虚拟机关联的公网IP地址发送报文是的下一跳设备时,边界网关将第一业务请求报文发送至虚拟转发设备的过程说明。在另一种场景中,边界网关和虚拟转发设备之间还可以部署有至少一个其他网关,此时,边界网关发出的第二叠加报文可以按照该边界网关和虚拟转发设备之间的路由,通过该至少一个其他网关逐跳发送至该虚拟转发设备。并且,第一业务请求报文在逐跳发送过程中也是以叠加报文的形式发送的,也即是,当封装有第一业务请求报文的叠加报文到达一个其他网关后,该其他网关也需要先对该封装有第一业务请求报文的叠加报文进行解封装得到第一业务请求报文,再对该第一业务请求报文进行封装,得到封装有该第一业务请求报文的叠加报文,再将该叠加报文发送至作为下一跳设备的网关,直至将第一业务请求报文发送至虚拟转发设备。其中,在逐跳传输叠加报文的过程中,由于用于传输叠加报文的隧道端点会发生变化,因此,对第一业务请求报文进行封装时采用的隧道信息会相应改变。
示例的,当边界网关与虚拟转发设备之间还部署有一个其他网关时,该边界网关将第一业务请求报文发送至虚拟转发设备的过程为:边界网关将根据该其他网关的IP地址和该边界网关的IP地址封装产生的叠加报文发送至该其他网关,该其他网关在接收到该叠加报文后,对该叠加报文进行解封装得到第一业务请求报文,并根据虚拟转发设备的IP地址和该其他网关的IP地址,对该第一业务请求报文进行封装产生叠加报文,再将该叠加报文发送至虚拟转发设备。
步骤410、虚拟转发设备对第二叠加报文解封装以获取第一业务请求报文和第二叠加报文携带的远端加速网关的隧道端点IP地址。
该步骤410的实现过程请相应参考步骤406的实现过程。
步骤411、虚拟转发设备获取第一业务请求报文的源IP地址,并记录远端加速网关的隧道端点IP地址以及第一业务请求报文的源IP地址的对应关系。
虚拟转发设备在获取第一业务请求报文后,还可以根据该第一业务请求报文进行地址学习,以确定在向客户端发送针对第一业务请求报文的业务响应报文时,应该将该业务响应报文发送至哪个远端加速网关,并通过该远端加速网关将该业务响应报文发送至客户端,实现该业务响应报文的回源。
其中,由于第二叠加报文携带的远端加速网关的隧道端点IP地址,是用于指示在向客户端发送针对第一业务请求报文的业务响应报文时,将该业务响应报文发送至客户端的远端加速网关,因此,可以获取该第一请求报文的源IP地址,即获取客户端的IP地址,然后,建立并记录该客户端的IP地址与第二叠加报文携带的远端加速网关的隧道端点IP地址的对应关系,以便于在回源时,能够通过查询该对应关系,确定将业务响应报文发送至该客户端的远端加速网关。
并且,如前,当填充头部中类型字段被设置为X1时,表示接收到的报文的网关需要建立地址之间的对应关系(即进行地址学习)。当类型字段被设置为Y1时,表示接收到的报文的网关依据该扩展字段直接进行转发。因此,当第二叠加报文中包括填充头部时,可以预先将第二叠加报文中填充头部中的类型字段设置为X1,以指示虚拟转发设备进行地址学习。类似的,当第二叠加报文中包括geneve头部时,可以预先将第二叠加报文中geneve头部中的类型字段设置为X2,以指示虚拟转发设备进行地址学习。
需要说明的是,在进行地址学习时,也可以根据包括第一业务请求报文的源IP地址在内的二元组、三元组、四元组或五元组进行学习,本申请实施例对其不做具体限定。例如,当二元组为第一业务请求报文的源IP地址和目的IP地址时,可以分别获取第一业务请求报文的源IP地址和目的IP地址,并获取第二叠加报文携带的远端加速网关的隧道端点IP地址,然后,建立并记录该第一业务请求报文的源IP地址、第一业务请求报文的目的IP地址和第二叠加报文携带的远端加速网关的隧道端点IP地址之间的对应关系。当五元组为第一业务请求报文的源IP地址、目的IP地址、源端口、目的端口和所采用的传输层协议时,可以分别获取该第一业务请求报文的源IP地址、目的IP地址、源端口、目的端口和所采用的传输层协议,并获取第二叠加报文携带的远端加速网关的隧道端点IP地址,然后,建立并记录该第一业务请求报文的源IP地址、目的IP地址、源端口、目的端口、传输层协议和第二叠加报文携带的远端加速网关的隧道端点IP地址的对应关系。
还需要说明的是,还可以根据在传输封装有第一业务请求报文的叠加报文时,所使用的叠加网络的网络标识符,以及包括第一业务请求报文的源IP地址在内的一元组、二元组、三元组、四元组或五元组,进行地址学习。例如,虚拟转发设备根据叠加网络的网络标识符和第一业务请求报文的源IP地址进行地址学习时,虚拟转发设备可以获取传输第一业务请求报文时所使用的叠加网络的网络标识符,获取第一业务请求报文的源IP地址,并获取第二叠加报文携带的远端加速网关的隧道端点IP地址,并建立和记录该叠加网络的网络标识符、第一业务请求报文的源IP地址和远端加速网关的隧道端点IP地址的对应关系。其中,当使用VXLAN传输第一业务请求报文时,该叠加网络的网络标识符为VNI。
由于在使用叠加网络传输封装有第一业务请求报文的叠加报文时,需要根据网络标识符确定需要使用的叠加网络,并采用该网络标识符指示的叠加网络传输叠加报文,并且,在相关技术中,该网络标识符需要人工手动设置,因此,在本申请实施例中,通过根据传输第一业务请求报文时所使用的叠加网络的网络标识符进行地址学习,可以根据该地址学习建立的对应关系,使得能够自动化地确定用于发送目的IP地址为该第一业务请求报文的源IP地址的叠加报文的叠加网络的网络标识符,即实现该网络标识符的自动化配置,能够减小该网络标识符配置过程中的人工干预,提高了该叠加报文的发送效率和准确性。
步骤412、虚拟转发设备对第一业务请求报文进行目的地址转换以产生第三业务请求报文,将第三业务请求报文发送至虚拟机。
由于在公网中传输报文时,报文中携带的目的IP地址和源IP地址均为公网IP,而虚拟机位于私网侧,会接收目的IP地址为该虚拟机自身的私网IP地址的报文,因此,在虚拟转发设备向虚拟机发送第一业务请求报文之前,还可以对该第一业务请求报文进行目的地址转换,将该第一业务请求报文的目的地址由虚拟机关联的公网IP地址转换为虚拟机的私网IP地址,并将目的地址转换后的第一业务请求报文(即第三业务请求报文)发送至该虚拟机,以便于虚拟机根据该第三业务请求报文向客户端发送业务响应报文,实现对该客户端提供业务服务的目的。其中,在该目的地址转换前后,第三业务请求报文相较于第一业务请求报文的源端口未发生变化,均为客户端端口。
需要说明的是,虚拟转发设备和虚拟机之间还可以设置有至少一个网关,此时,可以按照路由将该一业务请求报文发送至虚拟机。并且,对第一业务请求报文进行目的地址转换操作,可以由虚拟转发设备和该至少一个网关中的任一个执行。
在本申请实施例提供的业务服务提供方法中,通过远端加速网关对客户端发送的业务请求报文进行目的地址转换,对目的地址转换后的业务请求报文进行封装,并将经过封装的业务请求报文发送至虚拟机所在的边界网关,然后通过边界网关将经过封装的业务请求报文发送至虚拟转发设备,再通过该虚拟转发设备将该业务请求报文发送至虚拟机,相较于相关技术,由于在将业务请求报文发送至虚拟机的过程中,没有对业务请求报文的源IP地址进行地址转换,发送至虚拟机的业务请求报文的源IP地址仍为客户端的IP地址,使得虚拟机能够获知其接收到的业务请求报文的源IP地址,实现了业务请求报文的源地址透传,因此,能够便于虚拟机根据该源IP地址进行实现统计分析等功能。
如图10所示,该业务服务提供方法的下行过程可以包括以下步骤:
步骤501、虚拟转发设备接收虚拟机根据第一业务请求报文发送的第三业务响应报文,该第三业务响应报文的源IP地址是虚拟机的私网IP地址,目的IP地址是客户端的IP地址。
虚拟机接收到第一业务请求报文后,可以根据第一业务请求报文发送的第一业务响应报文生成第三业务响应报文,并向虚拟转发设备发送该第三业务响应报文,以通过该虚拟转发设备将该第三业务响应报文发送至客户端,为客户端提供业务服务。
并且,当虚拟转发设备和虚拟机直接连接时,该虚拟转发设备接收到的第三业务响应报文为虚拟机发送的第三业务响应报文。当虚拟转发设备和虚拟机之间设置有至少一个网关时,虚拟机将第三业务响应报文发送至虚拟转发设备的过程是通过路由实现的,且虚拟转发设备接收到的第三业务响应报文,为路由路径中作为该虚拟转发设备的上一跳设备转发的第三业务响应报文。
步骤502、虚拟转发设备对第三业务响应报文进行源地址转换,以产生第一业务响应报文。
由于在公网中传输报文时,报文中携带的目的IP地址和源IP地址均为公网IP,而虚拟机位于私网侧,为使虚拟机的IP地址不被暴露在公网中,在虚拟转发设备向边界网关发送第三业务响应报文之前,还可以对该第三业务响应报文进行源地址转换,将该第三业务响应报文的源IP地址由虚拟机的私网IP地址转换为虚拟机关联的公网IP地址,得到第一业务响应报文,以便于将第一业务响应报文发送至边界网关。其中,第一业务响应报文的源IP地址是虚拟机关联的公网IP地址,目的IP地址是客户端的IP地址。其中,在源地址转换前后,第一业务响应报文的目的端口相较于第三业务响应报文的目的端口未发生变化,均为客户端端口。
需要说明的是,当虚拟转发设备和虚拟机之间设置有至少一个网关时,对第三业务响应报文进行源地址转换的操作,可以由虚拟转发设备和该至少一个网关中的任一个执行。
步骤503、虚拟转发设备根据第一业务响应报文的目的IP地址,从远端加速网关的隧道端点IP地址以及第一业务请求报文的源IP地址的对应关系,获取远端加速网关的隧道端点IP地址。
为了保证能够将第一业务响应报文发送至客户端,需要确定用于将该第一业务响应报文发送至客户端的远端加速网关。此时,可以根据第一业务响应报文的目的IP地址,查询在上行过程中记录的远端加速网关的隧道端点IP地址以及第一业务请求报文的源IP地址的对应关系,得到用于将该第一业务响应报文发送至客户端的远端加速网关的隧道端点IP地址。
步骤504、虚拟转发设备根据指向客户端的IP地址的路由信息,确定用于将第一业务响应报文发送至客户端的边界网关。
该步骤504的实现过程请相应参考步骤403的实现过程。
步骤505、虚拟转发设备根据边界网关的IP地址,对第一业务响应报文进行封装以产生第三叠加报文,并设置第三叠加报文携带远端加速网关的隧道端点IP地址。
该步骤505的实现过程请相应参考步骤408的实现过程。其中,对第一业务响应报文进行封装以产生第三叠加报文时采用的第三隧道信息包括:虚拟转发设备的IP地址,边界网关的IP地址,及该虚拟转发设备和边界网关所使用的隧道的标识。该第三叠加报文的外层目的IP地址为边界网关的IP地址,外层源IP地址为虚拟转发设备的IP地址,内层目的IP地址为客户端的IP地址,内层源IP地址为虚拟机关联的公网IP地址。
步骤506、虚拟转发设备将第三叠加报文发送至边界网关。
需要说明的是,上述步骤504至步骤506是边界网关为虚拟转发设备向客户端发送报文是的下一跳设备时,虚拟转发设备将第一业务请求报文发送至边界网关的过程说明。在另一种场景中,边界网关和虚拟转发设备之间还可以部署有至少一个其他网关,此时,虚拟转发设备发出的第三叠加报文可以按照该边界网关和虚拟转发设备之间的路由,通过该至少一个其他网关逐跳发送至该边界网关。并且,第一业务响应报文在逐跳发送过程中也是以叠加报文的形式发送的,也即是,当封装有第一业务响应报文的叠加报文到达一个其他网关后,该其他网关也需要先对该封装有第一业务响应报文的叠加报文进行解封装得到第一业务响应报文,再对该第一业务响应报文进行封装,得到封装有该第一业务响应报文的叠加报文,再将该叠加报文发送至作为下一跳设备的网关,直至将第一业务请求报文发送至边界网关。其中,在逐跳传输叠加报文的过程中,由于用于传输叠加报文的隧道端点会发生变化,因此,对第一业务响应报文进行封装时采用的隧道信息会相应改变。
示例的,当边界网关与虚拟转发设备之间还部署有一个其他网关时,该虚拟转发设备将第一业务响应报文发送至边界网关的过程为:虚拟转发设备将根据该其他网关的IP地址和虚拟转发设备IP地址封装得到的叠加报文发送至该其他网关,该其他网关在接收到该叠加报文后,对该叠加报文进行解封装得到第一业务响应报文,并根据边界网关的IP地址和该其他网关的IP地址,对该第一业务响应报文进行封装产生叠加报文,再将该叠加报文发送至边界网关。
步骤507、边界网关在接收到第三叠加报文后,获取第三叠加报文携带的远端加速网关的隧道端点IP地址,并对第三叠加报文进行解封装以获取第一业务响应报文。
该步骤507的实现过程请相应参考步骤406的实现过程。
步骤508、边界网关根据远端加速网关的隧道端点IP地址,对第一业务响应报文进行封装以产生第四叠加报文。
边界网关在获取远端加速网关的隧道端点IP地址后,可以直接根据该远端加速网关的隧道端点IP地址对第一业务响应报文进行封装。其中,对第一业务响应报文进行封装以产生第四叠加报文时采用的第四隧道信息包括:远端加速网关的隧道端点IP地址,边界网关的IP地址,及该远端加速网关和边界网关所使用的隧道的标识。该第四叠加报文的外层目的IP地址为远端加速网关的隧道端点IP地址,外层源IP地址为边界网关的IP地址,内层目的IP地址为客户端的IP地址,内层源IP地址为虚拟机关联的公网IP地址。
步骤509、边界网关根据远端加速网关的隧道端点IP地址将第四叠加报文发送至远端加速网关。
步骤510、远端加速网关对第四叠加报文进行解封装以获取第一业务响应报文。
步骤511、远端加速网关对第一业务响应报文进行源IP地址转换以产生第二业务响应报文,将第二业务响应报文发送至客户端。
由于客户端通过远端加速网关与公网中的设备进行通信,根据通信协议,该客户端能够接收的报文的源IP地址应该为远端加速网关的加速IP地址,因此,为使客户端接收第一业务响应报文,远端加速网关需要对第一业务响应报文进行源IP地址转换,将该第一业务响应报文的源IP地址由虚拟机的私网IP地址转换为远端加速网关的加速IP地址,得到第二业务响应报文,并将该第二业务响应报文发送至客户端,以便于客户端使用通过该第二业务响应提供的业务服务。即第二业务响应报文的源IP地址是远端加速网关的加速IP地址,目的IP地址是客户端的IP地址。其中,在源地址转换前后,第二业务响应报文的目的端口相较于第一业务响应报文的目的端口未发生变化,均为客户端端口。
在本申请实施例中,通过虚拟转发设备在上行过程中记录远端加速网关的加速IP地址以及客户端的IP地址的对应关系,并在下行过程中查询该对应关系得到远端加速网关的隧道端点IP地址,并在虚拟转发设备向边界网关发送的第三叠加报文中携带该远端加速网关的隧道端点IP地址,使得边界网关能够根据该远端加速网关的隧道端点IP地址,将第四叠加报文发送至远端加速网关,以通过远端加速网关将针对第一业务请求报文的第一业务响应报文发送至客户端,实现第一业务响应报文的回源。
本申请实施例还提供了一种业务服务提供***,如图1、图2或图3所示,该业务服务提供***包括边界网关、虚拟转发设备和虚拟机,虚拟机用于向客户端提供业务服务。
其中,边界网关用于接收远端加速网关发送的第一叠加报文,对第一叠加报文解封装以获取第一业务请求报文,对第一业务请求报文进行封装以产生第二叠加报文,将第二叠加报文发送至虚拟转发设备。其中,第一叠加报文封装有第一业务请求报文,第一业务请求报文的源互联网协议IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址。
虚拟转发设备用于对第二叠加报文解封装以获取第一业务请求报文,将第一业务请求报文发送至虚拟机。
其中,虚拟机也可以为容器等能够提供业务服务的其他***或设备。
在一种可实现方式中,虚拟转发设备为虚拟交换机,虚拟机关联的公网IP地址为与虚拟机绑定的公网IP地址。
在另一种可实现方式中,虚拟转发设备为负载均衡器,负载均衡器为虚拟机提供负载均衡服务,虚拟机关联的公网IP地址为与负载均衡器绑定的公网IP地址。
在又一种可实现方式中,虚拟转发设备为IPV6网关,虚拟机关联的公网IP地址为虚拟机的公网IPV6地址。
在再一种可实现方式中,虚拟转发设备为VPN网关,虚拟机关联的公网IP地址为与VPN网关绑定的公网IP地址。
在还一种可实现方式中,当虚拟转发设备为NAT网关时,虚拟机关联的公网IP地址为与NAT网关绑定的公网IP地址。
其中,第一叠加报文携带有远端加速网关的IP地址,边界网关还用于获取第一叠加报文携带的远端加速网关的IP地址,并设置第二叠加报文携带远端加速网关的IP地址。相应的,虚拟转发设备还用于获取第二叠加报文携带的远端加速网关的IP地址,及获取第一业务请求报文的源IP地址,并记录远端加速网关的IP地址以及客户端的IP地址的对应关系。其中,第一业务请求报文的源IP地址是客户端的IP地址。
并且,虚拟转发设备还用于接收虚拟机根据第一业务请求报文发送的第一业务响应报文,根据第一业务响应报文的目的IP地址从对应关系获取远端加速网关的IP地址,对第一业务响应报文进行封装以产生第三叠加报文,第三叠加报文携带有远端加速网关的IP地址,将第三叠加报文发送至边界网关。其中。第一业务响应报文的目的IP地址是客户端的IP地址。
相应的,边界网关还用于获取第三叠加报文携带的远端加速网关的IP地址,对第三叠加报文进行解封装以获取第一业务响应报文,对第一业务响应报文进行封装以产生第四叠加报文,根据远端加速网关的IP地址将第四叠加报文发送至远端加速网关。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,该业务服务提供***中各设备的具体工作过程,可以参考前述方法实施例中的对应设备的描述,在此不再赘述。
本申请实施例还提供了一种远端加速网关,该远端加速网关用于接收客户端发送的第二业务请求报文,第二业务请求报文的源IP地址是客户端的IP地址,目的IP地址是远端加速网关的IP地址。
远端加速网关还用于对第二业务请求报文进行目的地址转换以产生第一业务请求报文,其中,第一业务请求报文的源IP地址是客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址,虚拟机用于向客户端提供业务服务。
远端加速网关还用于对第一业务请求报文进行封装,以产生第一叠加报文,其中,第一叠加报文携带有远端加速网关的IP地址。
远端加速网关还用于将第一叠加报文发送至虚拟机所在的边界网关。
可选的,远端加速网关还用于接收边界网关发送的第四叠加报文,第四叠加报文封装有第一业务响应报文,第一业务响应报文的源IP地址是虚拟机关联的公网IP地址,目的IP地址是客户端的IP地址。
远端加速网关还用于对第四叠加报文进行解封装以获取第一业务响应报文。
远端加速网关还用于对第一业务响应报文进行源IP地址转换以产生第二业务响应报文,其中,第二业务响应报文的源IP地址是远端加速网关的IP地址,目的IP地址是客户端的IP地址。
远端加速网关还用于将第二业务响应报文发送至客户端。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,该远端加速网关的具体工作过程,可以参考前述方法实施例中的描述,在此不再赘述。
本申请实施例提供了一种第一计算机设备,边界网关可以部署在该第一计算机设备中。图11示例性的提供了第一计算机设备的一种可能的架构图。如图11所示,该第一计算机设备可以包括第一处理器601、第一存储器602、第一通信接口603和第一总线604。在第一计算机设备中,第一处理器601的数量可以是一个或多个,图11仅示意了其中一个第一处理器601。可选的,第一处理器601可以是中央处理器(Central Processing Unit,CPU)。若第一计算机设备具有多个第一处理器601,多个第一处理器601的类型可以不同,或者可以相同。可选的,第一计算机设备的多个第一处理器还可以集成为多核处理器。
第一存储器602存储计算机指令和数据,第一存储器602可以存储实现本申请提供的业务服务提供方法中边界网关的功能所需的计算机指令和数据。第一存储器602可以是以下存储介质的任一种或任一种组合:非易失性存储器(如只读存储器(Read-OnlyMemory,ROM)、固态硬盘(Solid State Disk,SSD)、硬盘(Hard Disk Drive,HDD)、光盘等)、易失性存储器。
第一通信接口603可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。
第一通信接口603用于第一计算机设备与其他节点或者其他计算机设备进行数据通信。
图11还示例性地绘制出第一总线604。第一总线604可以将第一处理器601与第一存储器602、第一通信接口603连接。这样,通过第一总线604,第一处理器601可以访问第一存储器602,还可以利用第一通信接口603与其他节点或者其他计算机设备进行数据交互。
在本申请中,第一计算机设备执行第一存储器602中的计算机指令,可以实现本申请提供的业务服务提供方法中边界网关的功能。例如,第一计算机设备执行第一存储器602中的计算机指令,可以执行边界网关执行的以下步骤:边界网关接收远端加速网关发送的第一叠加报文,边界网关对第一叠加报文解封装以获取第一业务请求报文,对第一业务请求报文进行封装以产生第二叠加报文,将第二叠加报文发送至虚拟转发设备。并且,第一计算机设备通过执行第一存储器602中的计算机指令,执行边界网关执行的步骤的实现过程可以相应参考上述方法实施例中对应的描述。
本申请实施例提供了一种第二计算机设备,虚拟转发设备和虚拟机可以部署在该第二计算机设备中。图12示例性的提供了第二计算机设备的一种可能的架构图。如图12所示,该第二计算机设备可以包括第二处理器701、第二存储器702、第二通信接口703和第二总线704。在第二计算机设备中,第二处理器701的数量可以是一个或多个,图12仅示意了其中一个第二处理器701。可选的,第二处理器701可以是中央处理器。若第二计算机设备具有多个第二处理器701,多个第二处理器701的类型可以不同,或者可以相同。可选的,第二计算机设备的多个第二处理器还可以集成为多核处理器。
第二存储器702存储计算机指令和数据,第二存储器702可以存储实现本申请提供的业务服务提供方法中虚拟转发设备和虚拟机的功能所需的计算机指令和数据。第二存储器702可以是以下存储介质的任一种或任一种组合:非易失性存储器(如只读存储器、固态硬盘、硬盘、光盘等)、易失性存储器。
第二通信接口703可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。
第二通信接口703用于第二计算机设备与其他节点或者其他计算机设备进行数据通信。
图12还示例性地绘制出第二总线704。第二总线704可以将第二处理器701与第二存储器702、第二通信接口703连接。这样,通过第二总线704,第二处理器701可以访问第二存储器702,还可以利用第二通信接口703与其他节点或者其他计算机设备进行数据交互。
在本申请中,第二计算机设备执行第二存储器702中的计算机指令,可以实现本申请提供的业务服务提供方法中虚拟转发设备和虚拟机的功能。例如,第二计算机设备执行第二存储器702中的计算机指令,可以执行虚拟转发设备执行的以下步骤:虚拟转发设备对第二叠加报文解封装以获取第一业务请求报文,将第一业务请求报文发送至虚拟机。并且,第二计算机设备通过执行第二存储器702中的计算机指令,执行虚拟转发设备执行的步骤的实现过程可以相应参考上述方法实施例中对应的描述。
本申请实施例提供了一种第三计算机设备,远端加速网关可以部署在该第三计算机设备中。图13示例性的提供了第三计算机设备的一种可能的架构图。如图13所示,该第三计算机设备可以包括第三处理器801、第三存储器802、第三通信接口803和第三总线804。在第三计算机设备中,第三处理器801的数量可以是一个或多个,图13仅示意了其中一个第三处理器801。可选的,第三处理器801可以是中央处理器。若第三计算机设备具有多个第三处理器801,多个第三处理器801的类型可以不同,或者可以相同。可选的,第三计算机设备的多个第三处理器还可以集成为多核处理器。
第三存储器802存储计算机指令和数据,第三存储器802可以存储实现本申请提供的业务服务提供方法中远端加速网关的功能所需的计算机指令和数据。第三存储器802可以是以下存储介质的任一种或任一种组合:非易失性存储器(如只读存储器、固态硬盘、硬盘、光盘等)、易失性存储器。
第三通信接口803可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。
第三通信接口803用于第三计算机设备与其他节点或者其他计算机设备进行数据通信。
图13还示例性地绘制出第三总线804。第三总线804可以将第三处理器801与第三存储器802、第三通信接口803连接。这样,通过第三总线804,第三处理器801可以访问第三存储器802,还可以利用第三通信接口803与其他节点或者其他计算机设备进行数据交互。
在本申请中,第三计算机设备执行第三存储器802中的计算机指令,可以实现本申请提供的业务服务提供方法中远端加速网关的功能。例如,第三计算机设备执行第三存储器802中的计算机指令,可以执行远端加速网关执行的以下步骤:远端加速网关接收客户端发送的第二业务请求报文;远端加速网关对第二业务请求报文进行目的地址转换以产生第一业务请求报文;远端加速网关对第一业务请求报文进行封装,以产生第一叠加报文;远端加速网关将第一叠加报文发送至虚拟机所在的边界网关。并且,第三计算机设备通过执行第三存储器802中的计算机指令,执行远端加速网关执行的步骤的实现过程可以相应参考上述方法实施例中对应的描述。
本申请实施例还提供了一种第一存储介质,该第一存储介质为非易失性计算机可读存储介质,当第一存储介质中的指令被处理器执行时,实现如本申请实施例中业务服务提供方法中边界网关所实现的功能。
本申请实施例还提供了一种第二存储介质,该第二存储介质为非易失性计算机可读存储介质,当第二存储介质中的指令被处理器执行时,实现如本申请实施例中业务服务提供方法中虚拟转发设备所实现的功能。
本申请实施例还提供了一种第三存储介质,该第三存储介质为非易失性计算机可读存储介质,当第三存储介质中的指令被处理器执行时,实现如本申请实施例中业务服务提供方法中远端加速网关所实现的功能。
本申请实施例还提供了一种包含指令的第一计算机程序产品,当第一计算机程序产品在计算机上运行时,使得计算机执行本申请实施例中业务服务提供方法中边界网关所实现的功能。
本申请实施例还提供了一种包含指令的第二计算机程序产品,当第二计算机程序产品在计算机上运行时,使得计算机执行本申请实施例中业务服务提供方法中虚拟转发设备所实现的功能。
本申请实施例还提供了一种包含指令的第三计算机程序产品,当第三计算机程序产品在计算机上运行时,使得计算机执行本申请实施例中业务服务提供方法中远端加速网关所实现的功能。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种业务服务提供方法,其特征在于,所述业务服务提供方法应用于业务服务提供***,所述业务服务提供***包括边界网关、虚拟转发设备和虚拟机,所述虚拟机用于向客户端提供业务服务,所述方法包括:
所述边界网关接收远端加速网关发送的第一叠加报文,所述第一叠加报文封装有第一业务请求报文,所述第一业务请求报文的源互联网协议IP地址是客户端的IP地址,目的IP地址是所述虚拟机关联的公网IP地址;
所述边界网关对所述第一叠加报文解封装以获取所述第一业务请求报文,对所述第一业务请求报文进行封装以产生第二叠加报文,将所述第二叠加报文发送至所述虚拟转发设备;
所述虚拟转发设备对所述第二叠加报文解封装以获取所述第一业务请求报文,将所述第一业务请求报文的目的地址由所述虚拟机关联的公网IP地址转换为所述虚拟机的私网IP地址,并将目的地址转换后的第一业务请求报文发送至所述虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述虚拟转发设备为虚拟交换机,所述虚拟机关联的公网IP地址为与所述虚拟机绑定的公网IP地址。
3.根据权利要求1所述的方法,其特征在于,所述虚拟转发设备为负载均衡器,所述负载均衡器为所述虚拟机提供负载均衡服务,所述虚拟机关联的公网IP地址为与所述负载均衡器绑定的公网IP地址。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一叠加报文携带有所述远端加速网关的IP地址,
所述边界网关对所述第一叠加报文解封装以获取所述第一业务请求报文,对所述第一业务请求报文进行封装以产生第二叠加报文,还包括:
所述边界网关获取所述第一叠加报文携带的所述远端加速网关的IP地址,并设置所述第二叠加报文携带所述远端加速网关的IP地址;
所述虚拟转发设备对所述第二叠加报文解封装以获取所述第一业务请求报文,还包括:
所述虚拟转发设备获取所述第二叠加报文携带的所述远端加速网关的IP地址;
所述虚拟转发设备获取所述第一业务请求报文的源IP地址,其中,所述第一业务请求报文的源IP地址是所述客户端的IP地址;
所述虚拟转发设备记录所述远端加速网关的IP地址以及所述客户端的IP地址的对应关系。
5.根据权利要求4所述的方法,其特征在于,
在所述虚拟转发设备将所述第一业务请求报文发送至所述虚拟机之后,所述方法还包括:
所述虚拟转发设备接收所述虚拟机根据所述第一业务请求报文发送的第一业务响应报文,所述第一业务响应报文的目的IP地址是所述客户端的IP地址;
所述虚拟转发设备根据所述第一业务响应报文的目的IP地址从所述对应关系获取所述远端加速网关的IP地址;
所述虚拟转发设备对所述第一业务响应报文进行封装以产生第三叠加报文,所述第三叠加报文携带有所述远端加速网关的IP地址,所述虚拟转发设备将所述第三叠加报文发送至所述边界网关;
所述边界网关获取所述第三叠加报文携带的所述远端加速网关的IP地址,对所述第三叠加报文进行解封装以获取所述第一业务响应报文,对所述第一业务响应报文进行封装以产生第四叠加报文,所述边界网关根据所述远端加速网关的IP地址将所述第四叠加报文发送至所述远端加速网关。
6.一种业务服务提供方法,其特征在于,所述业务服务提供方法应用于远端加速网关,所述方法包括:
所述远端加速网关接收客户端发送的第二业务请求报文,所述第二业务请求报文的源IP地址是所述客户端的IP地址,目的IP地址是所述远端加速网关的IP地址;
所述远端加速网关对第二业务请求报文进行目的地址转换以产生第一业务请求报文,其中,所述第一业务请求报文的源IP地址是所述客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址,所述虚拟机用于向所述客户端提供业务服务;
所述远端加速网关对所述第一业务请求报文进行封装,以产生第一叠加报文,其中,所述第一叠加报文携带有所述远端加速网关的IP地址;
所述远端加速网关将所述第一叠加报文发送至所述虚拟机所在的边界网关。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述远端加速网关接收所述边界网关发送的第四叠加报文,所述第四叠加报文封装有第一业务响应报文,所述第一业务响应报文的源IP地址是所述虚拟机关联的公网IP地址,目的IP地址是所述客户端的IP地址;
所述远端加速网关对所述第四叠加报文进行解封装以获取所述第一业务响应报文;
所述远端加速网关对所述第一业务响应报文进行源IP地址转换以产生第二业务响应报文,其中,所述第二业务响应报文的源IP地址是所述远端加速网关的IP地址,目的IP地址是所述客户端的IP地址;
所述远端加速网关将所述第二业务响应报文发送至所述客户端。
8.一种业务服务提供***,其特征在于,所述业务服务提供***包括边界网关、虚拟转发设备和虚拟机,所述虚拟机用于向客户端提供业务服务;
所述边界网关用于接收远端加速网关发送的第一叠加报文,所述第一叠加报文封装有第一业务请求报文,所述第一业务请求报文的源互联网协议IP地址是客户端的IP地址,目的IP地址是所述虚拟机关联的公网IP地址;
所述边界网关用于对所述第一叠加报文解封装以获取所述第一业务请求报文,对所述第一业务请求报文进行封装以产生第二叠加报文,将所述第二叠加报文发送至所述虚拟转发设备;
所述虚拟转发设备用于对所述第二叠加报文解封装以获取所述第一业务请求报文,将所述第一业务请求报文的目的地址由所述虚拟机关联的公网IP地址转换为所述虚拟机的私网IP地址,并将目的地址转换后的第一业务请求报文发送至所述虚拟机。
9.根据权利要求8所述的***,其特征在于,所述虚拟转发设备为虚拟交换机,所述虚拟机关联的公网IP地址为与所述虚拟机绑定的公网IP地址。
10.根据权利要求8所述的***,其特征在于,所述虚拟转发设备为负载均衡器,所述负载均衡器为所述虚拟机提供负载均衡服务,所述虚拟机关联的公网IP地址为与所述负载均衡器绑定的公网IP地址。
11.根据权利要求8至10任一项所述的***,其特征在于,所述第一叠加报文携带有所述远端加速网关的IP地址,
所述边界网关还用于获取所述第一叠加报文携带的所述远端加速网关的IP地址,并设置所述第二叠加报文携带所述远端加速网关的IP地址;
所述虚拟转发设备还用于获取所述第二叠加报文携带的所述远端加速网关的IP地址;
所述虚拟转发设备还用于获取所述第一业务请求报文的源IP地址,其中,所述第一业务请求报文的源IP地址是所述客户端的IP地址;
所述虚拟转发设备还用于记录所述远端加速网关的IP地址以及所述客户端的IP地址的对应关系。
12.根据权利要求11所述的***,其特征在于,
所述虚拟转发设备还用于接收所述虚拟机根据所述第一业务请求报文发送的第一业务响应报文,所述第一业务响应报文的目的IP地址是所述客户端的IP地址;
所述虚拟转发设备还用于根据所述第一业务响应报文的目的IP地址从所述对应关系获取所述远端加速网关的IP地址;
所述虚拟转发设备还用于对所述第一业务响应报文进行封装以产生第三叠加报文,所述第三叠加报文携带有所述远端加速网关的IP地址,所述虚拟转发设备还用于将所述第三叠加报文发送至所述边界网关;
所述边界网关还用于获取所述第三叠加报文携带的所述远端加速网关的IP地址,对所述第三叠加报文进行解封装以获取所述第一业务响应报文,对所述第一业务响应报文进行封装以产生第四叠加报文,根据所述远端加速网关的IP地址将所述第四叠加报文发送至所述远端加速网关。
13.一种远端加速网关,其特征在于,
所述远端加速网关用于接收客户端发送的第二业务请求报文,所述第二业务请求报文的源IP地址是所述客户端的IP地址,目的IP地址是所述远端加速网关的IP地址;
所述远端加速网关还用于对第二业务请求报文进行目的地址转换以产生第一业务请求报文,其中,所述第一业务请求报文的源IP地址是所述客户端的IP地址,目的IP地址是虚拟机关联的公网IP地址,所述虚拟机用于向所述客户端提供业务服务;
所述远端加速网关还用于对所述第一业务请求报文进行封装,以产生第一叠加报文,其中,所述第一叠加报文携带有所述远端加速网关的IP地址;
所述远端加速网关还用于将所述第一叠加报文发送至所述虚拟机所在的边界网关。
14.根据权利要求13所述的远端加速网关,其特征在于,
所述远端加速网关还用于接收所述边界网关发送的第四叠加报文,所述第四叠加报文封装有第一业务响应报文,所述第一业务响应报文的源IP地址是所述虚拟机关联的公网IP地址,目的IP地址是所述客户端的IP地址;
所述远端加速网关还用于对所述第四叠加报文进行解封装以获取所述第一业务响应报文;
所述远端加速网关还用于对所述第一业务响应报文进行源IP地址转换以产生第二业务响应报文,其中,所述第二业务响应报文的源IP地址是所述远端加速网关的IP地址,目的IP地址是所述客户端的IP地址;
所述远端加速网关还用于将所述第二业务响应报文发送至所述客户端。
CN201910979758.7A 2019-10-15 2019-10-15 业务服务提供方法及***、远端加速网关 Active CN112671938B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910979758.7A CN112671938B (zh) 2019-10-15 2019-10-15 业务服务提供方法及***、远端加速网关
PCT/CN2020/121034 WO2021073555A1 (zh) 2019-10-15 2020-10-15 业务服务提供方法及***、远端加速网关
EP20877517.1A EP4033702A4 (en) 2019-10-15 2020-10-15 METHOD AND SYSTEM FOR PROVIDING SERVICE, AND REMOTE ACCELERATION GATEWAY
US17/718,473 US20220239629A1 (en) 2019-10-15 2022-04-12 Business service providing method and system, and remote acceleration gateway

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910979758.7A CN112671938B (zh) 2019-10-15 2019-10-15 业务服务提供方法及***、远端加速网关

Publications (2)

Publication Number Publication Date
CN112671938A CN112671938A (zh) 2021-04-16
CN112671938B true CN112671938B (zh) 2023-06-20

Family

ID=75400332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910979758.7A Active CN112671938B (zh) 2019-10-15 2019-10-15 业务服务提供方法及***、远端加速网关

Country Status (4)

Country Link
US (1) US20220239629A1 (zh)
EP (1) EP4033702A4 (zh)
CN (1) CN112671938B (zh)
WO (1) WO2021073555A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220321479A1 (en) * 2021-04-02 2022-10-06 Microsoft Technology Licensing, Llc Anycast routing technique for a content delivery network
CN113726897B (zh) * 2021-09-01 2024-04-19 马上消费金融股份有限公司 数据处理方法、装置及设备
CN114500376B (zh) * 2021-12-30 2024-04-09 网络通信与安全紫金山实验室 一种访问云资源池的方法、***、服务器及存储介质
CN114615080B (zh) * 2022-03-30 2023-12-05 阿里巴巴(中国)有限公司 工业设备的远程通信方法、装置以及设备
CN116647547B (zh) * 2023-05-26 2023-10-13 南京粒聚智能科技有限公司 一种工业现场设备远程通信连接的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468306A (zh) * 2013-09-25 2015-03-25 杭州华三通信技术有限公司 一种vxlan网络中的报文传输方法和设备
CN104601432A (zh) * 2014-12-31 2015-05-06 杭州华三通信技术有限公司 一种报文传输方法和设备
CN106899500A (zh) * 2016-12-16 2017-06-27 新华三技术有限公司 一种跨虚拟可扩展局域网的报文处理方法及装置
CN108768817A (zh) * 2018-05-22 2018-11-06 腾讯科技(深圳)有限公司 一种虚拟化网络组网***、数据包发送方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9036639B2 (en) * 2012-11-29 2015-05-19 Futurewei Technologies, Inc. System and method for VXLAN inter-domain communications
CN104639470B (zh) * 2013-11-14 2019-05-31 中兴通讯股份有限公司 流标识封装方法及***
CN105227498B (zh) * 2014-06-27 2018-03-02 国际商业机器公司 叠加网络交换机及其使用的方法
US9787499B2 (en) * 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US10021196B1 (en) * 2015-06-22 2018-07-10 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
CN112671628B (zh) * 2019-10-15 2023-06-02 华为云计算技术有限公司 业务服务提供方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468306A (zh) * 2013-09-25 2015-03-25 杭州华三通信技术有限公司 一种vxlan网络中的报文传输方法和设备
CN104601432A (zh) * 2014-12-31 2015-05-06 杭州华三通信技术有限公司 一种报文传输方法和设备
CN106899500A (zh) * 2016-12-16 2017-06-27 新华三技术有限公司 一种跨虚拟可扩展局域网的报文处理方法及装置
CN108768817A (zh) * 2018-05-22 2018-11-06 腾讯科技(深圳)有限公司 一种虚拟化网络组网***、数据包发送方法

Also Published As

Publication number Publication date
EP4033702A4 (en) 2022-11-16
US20220239629A1 (en) 2022-07-28
CN112671938A (zh) 2021-04-16
WO2021073555A1 (zh) 2021-04-22
EP4033702A1 (en) 2022-07-27

Similar Documents

Publication Publication Date Title
CN112671628B (zh) 业务服务提供方法及***
US11671367B1 (en) Methods and apparatus for improving load balancing in overlay networks
CN112671938B (zh) 业务服务提供方法及***、远端加速网关
US11128493B2 (en) Method for implementing residential gateway service function, and server
US10574763B2 (en) Session-identifer based TWAMP data session provisioning in computer networks
EP2579544B1 (en) Methods and apparatus for a scalable network with efficient link utilization
US8396954B2 (en) Routing and service performance management in an application acceleration environment
US8259571B1 (en) Handling overlapping IP addresses in multi-tenant architecture
CN112470436A (zh) 使用srv6和bgp的多云连通性
EP3225014B1 (en) Source ip address transparency systems and methods
JP4794312B2 (ja) イーサネット・ベースのネットワーク内の擬似ワイヤ・ピア・アドレスの自動検出
Coudron et al. Cross-layer cooperation to boost multipath TCP performance in cloud networks
WO2020135381A1 (zh) 一种处理报文的方法、设备及***
Aazam et al. Impact of ipv4-ipv6 coexistence in cloud virtualization environment
CN107135118B (zh) 一种单播通信方法、网关以及vxlan接入设备
CN110022263B (zh) 一种数据传输的方法及相关装置
CN112187584B (zh) 路径故障探测方法、***、服务器及存储介质
CN116488958A (zh) 网关处理方法、虚拟接入网关、虚拟业务网关及相关设备
CN115150312B (zh) 一种路由方法及设备
Radley et al. Green computing in WAN through intensified teredo IPv6 tunneling to route multifarious symmetric NAT
TW202249466A (zh) 封包轉發控制協定(pfcp)會話負載平衡器運作系統及其運作方法
Steinert et al. P4-LISP: A P4-Based High-Performance Router for the Locator/Identifier Separation Protocol
May Upgrades to ISEFlow: Offloading ARP and supporting IPv6
TW202249465A (zh) 使用網際網路協定網路於蜂巢式資料封包路由的裝置
CN117529709A (zh) Pfcp会话负载平衡器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant