CN116016188A - Nfv接入方法、设备、系统及存储介质 - Google Patents
Nfv接入方法、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN116016188A CN116016188A CN202211728770.9A CN202211728770A CN116016188A CN 116016188 A CN116016188 A CN 116016188A CN 202211728770 A CN202211728770 A CN 202211728770A CN 116016188 A CN116016188 A CN 116016188A
- Authority
- CN
- China
- Prior art keywords
- tunnel
- information
- nfv
- instance
- message
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种NFV接入方法、设备、系统及存储介质。在本申请实施例中,在客户端VPC与服务VPC之间设置一网关设备,负责拦截客户端VPC中客户端实例请求访问服务VPC中NFV实例的数据报文,并对数据报文进行两层隧道封装,将客户端实例所属的租户信息作为内层隧道信息封装到内层,对外统一以网关设备的身份进行呈现,这让NFV实例所在的虚拟交换机不再处理内层隧道信息,不可见客户端实例所属的租户信息,用户接入NFV实例不再受虚拟交换机所支持的虚拟网卡等接入资源规格的限制,允许更多用户接入NFV实例,实现更大规格的NFV实例。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种NFV接入方法、设备、系统及存储介质。
背景技术
网络功能虚拟化(Network Function Virtualization,NFV)是一种网络服务虚拟化技术,它能够将网络设备的软件功能和硬件平台解耦,避免供应绑定,同时因为软件功能的迭代效率更高,所以NFV技术得到快速发展。
云计算兴起后,因为对快速迭代方面的需求,NFV技术已经成为云计算网络构建的基础技术。到目前为止,云网络中的NFV技术已经经过了两代演进,第一代采用物理服务器方式构建,即NFV网元部署在物理服务器上,但因为物理服务器的供应依然受硬件服务器供应周期的约束,所以NFV技术逐步演进到基于云原生资源的第二代,即NFV网元不再部署在物理服务器上,而是部署在各种云计算实例上,利用云计算资源的海量性,按需构建,随时可获得,达到弹性优化的目的。
但是,目前云上NFV网元在使用云计算实例作为载体时,在用户接入方面受到一定约束,只能接入有限数量的用户,无法实现更大规格的NFV网元。
发明内容
本申请的多个方面提供一种NFV接入方法、设备、系统及存储介质,用以解决云上NFV网元的用户接入问题,允许更多用户接入,实现更大规格的NFV网元。
本申请实施例提供一种NFV接入系统,包括:互联于客户端虚拟专有云VPC和服务VPC之间的第一网关设备;所述客户端VPC包括客户端实例和为所述客户端实例提供数据转发服务的第一虚拟交换机VS,所述服务VPC中包括承载NFV网元的NFV实例和为所述NFV实例提供数据转发服务的第二VS;所述第一网关设备,用于拦截所述客户端实例经所述第一VS访问所述NFV实例的数据报文,将所述客户端实例所属的租户信息作为内层隧道信息对所述数据报文进行内层隧道封装,并以所述第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装,将经过外层隧道封装后的报文发送给所述第二VS,以使所述第二VS转发至所述NFV实例,实现NFV实例的接入。
本申请实施例还提供一种NFV接入方法,应用于第一网关设备,所述方法包括:拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文;将所述客户端实例所属的租户信息作为内层隧道信息对所述数据报文进行内层隧道封装;以所述第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装;将经过外层隧道封装后的报文发送给所述NFV实例对应的第二VS,以使所述第二VS转发至所述NFV实例,实现NFV实例的接入。
本申请实施例还提供一种NFV接入方法,应用于第二网关设备,所述方法包括:接收第一虚拟交换机VS发送的第一隧道报文,所述第一隧道报文是所述第一VS对客户端实例访问NFV实例的数据报文进行隧道封装得到的,所述第一隧道报文的隧道信息中包括所述客户端实例所属的租户信息;将所述第一隧道报文重新封装为第二隧道报文,并将所述第二隧道报文和所述客户端实例所属的租户信息发送给第一网关设备,以供所述第一网关设备将所述客户端实例所属的租户信息作为内层隧道信息对所述数据报文进行内层隧道封装,并以所述第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装后通过第二VS转发至所述NFV实例,实现NFV实例的接入。
本申请实施例提供一种网关设备,包括:存储器和处理器,所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,致使所述处理器实现由第一网关设备执行的NFV接入方法中的步骤,或者由第二网关设备执行的NFV接入方法中的步骤。
本申请实施例提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现由第一网关设备执行的NFV接入方法中的步骤,或者由第二网关设备执行的NFV接入方法中的步骤。
在本申请实施例中,在客户端VPC与服务VPC之间设置一网关设备,负责拦截客户端VPC中客户端实例请求访问服务VPC中NFV实例的数据报文,并对数据报文进行两层隧道封装,将客户端实例所属的租户信息作为内层隧道信息封装到内层,对外统一以网关设备的身份进行呈现,这让NFV实例所在的虚拟交换机不再处理内层隧道信息,不可见客户端实例所属的租户信息,用户接入NFV实例不再受虚拟交换机所支持的虚拟网卡等接入资源规格的限制,允许更多用户接入NFV实例,实现更大规格的NFV实例。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为基于云原生资源的一种NFV系统的结构示意图;
图2为本申请实施例提供的一种NFV接入系统的结构示意图;
图3为本申请实施例提供的另一种NFV接入系统的结构示意图;
图4为本申请示例性实施例提供的一种NFV接入系统的应用场景示意图;
图5为本申请实施例提供的一种NFV接入方法的流程示意图;
图6为本申请实施例提供的另一种NFV接入方法的流程示意图;
图7为本申请实施例提供的一种NFV接入装置的结构示意图;
图8为本申请实施例提供的另一种NFV接入装置的结构示意图;
图9为本申请实施例提供的一种网关设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为基于云原生资源的一种NFV系统的结构示意图。如图1所示,该系统包括:多个VPC;VPC是采用虚拟化技术在物理网络上构建出的逻辑隔离的网络环境。其中,物理网络包括各种物理资源,例如,物理机、交换机或网关等。一个区域(region)中的物理资源上可以部署一个或多个VPC,同一VPC通常部署在一个区域中。在本实施例中,每个VPC中部署有服务实例,这些服务实例之间可以相互访问。在本申请实施例中,从服务实例的角度,对VPC进行了划分,将多个VPC划分为客户端VPC11和服务VPC12。其中,客户端VPC11可以是一个或多个,服务VPC12可以是一个或多个。每个客户端VPC11属于一个租户,不同客户端VPC11可以属于同一租户,也可以属于不同租户,对此不做限定。
在本申请各实施例中,服务VPC12是指能够基于云原生资源提供NFV网元的VPC,该VPC中包括至少一种NFV网元,例如服务器负载均衡(Server Load Balancing,SLB)、网络地址转换(Network Address Translation,NAT)、转发路由器(Transit Router,TR)等,这些NFV网元承载于云计算实例上,为了便于描述和区分,将服务VPC12中承载NFV网元的云计算实例称为NFV实例。在本实施例中,NFV实例代表承载于该NFV实例上的NFV网元。NFV实例可以是虚拟机(Virtual Machine,VM)、容器、裸金属服务器、弹性计算服务(Elastic ComputeService,ECS)或基于现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)的云计算服务等各种云计算实例。其中,可以使用不同规格的云计算实例,提供不同类型的NFV网元,例如七层SLB对计算能力的要求更高,可以选择计算型ECS作为载体,而四层SLB对转发吞吐的要求更高,可以选择网络型ECS作为载体。
在本申请各实施例中,客户端VPC11是指提供客户端实例的VPC,该VPC中的客户端实例是指需要使用NFV网元提供的服务的云计算实例,例如可以是但不限于:VM、ECS、服务模块或应用实例等。在每个客户端VPC11中包括至少一个客户端实例,这些客户端实例承载于一台或多台物理机上,每台物理机上还部署有虚拟交换机(Virtual Switch,VS),负责为该台物理机上的客户端实例提供数据转发服务。相应地,服务VPC12中包括至少一种NFV实例,同一种NFV实例的数量为一个或多个,这些NFV实例承载于一台或多台物理机上,每台物理机上还部署有VS,负责为该台物理机上的NFV实例提供数据转发服务。其中,VS具体可以采用开放虚拟交换机(Open Virtual Switch,OVS)。为了便于区分和描述,将客户端VPC11中为客户端实例提供数据转发服务的VS称为第一VS,将服务VPC12中为NFV实例提供数据转发服务的VS称为第二VS。
在本实施例中,NFV实例的基本功能包括等价多路径(Equal Cost Multi-path,ECMP)的高可用以及多租户接入。在图1所示系统中,NFV实例的ECMP能力通过ENI-bonding(绑定)技术打通云上租户和NFV实例之间的网络连通性,即每个客户端VPC11中部署弹性网卡(Elastic Network Interface,ENI),ENI具有私网IP地址,可以将ENI挂载到NFV实例上,通过该ENI具有的私网IP地址和NFV实例的端口号来表示NFV实例,这样客户端VPC11中的客户端实例通过该ENI可以访问NFV实例。其中,不同客户端VPC11中挂载到同一NVF实例上的ENI可以具有相同的私网IP地址,也可以具有不同的私网IP地址,对此不做限定。在本实施例中,不同ENI代表不同租户,ENI与租户之间具有一一对应关系。
在图1所示系统中,多租户接入通过ENI-Trunking技术,将来自不同ENI的流量(不同ENI的流量表示不同租户的流量)在转发至NFV实例的过程中打上不同的虚拟局域网(Virtual Local Area Network,VLAN)标签(TAG),即通过不同的VLAN TAG标识不同租户,实现租户之间的隔离。
在图1所示系统中,基于上述ENI-bonding和ENI-Trunking技术的NFV接入或访问过程如下:
客户端VPC中的客户端实例请求访问服务VPC中的NFV实例时,数据报文先行到达客户端实例所在的VS(即第一VS),第一VS基于预先配置的路由信息将数据报文转发给NFV实例所在的VS(即第二VS)。当数据报文到达NFV实例所在的第二VS时,第二VS判断是否有多个NFV实例共同处理,如果是,则通过哈希(hash)算法从多条路径中选择一条目标路径,通过该目标路径转发至对应的NFV实例进行处理;当某一条路径或者某个NFV实例故障时,自动将该路径删除,从而达到ECMP高可用的能力,该过程称为ENI-Bonding过程。
其中,在选择出目标路径后的通用转发流程是:先判断该数据报文是否是一条数据流中的首个数据报文,如果是,由第二VS的CPU进行软件转发处理,建立该条数据流的会话(session)信息,该会话信息中记录有该数据流的五元组和出端口信息,出端口信息对应目的NFV实例,该数据流中的后续数据报文直接查找已经建立的session信息即可直接转发至目的NFV实例。
在上述过程中,可能存在多个不同租户的客户端实例请求访问相同NFV实例,不同租户的数据报文来自不同ENI,如图1中所示,第二VS会接收来自不同ENI的数据报文;进一步,为了让NFV实例区分不同租户的数据报文,第二VS会根据数据报文中的源VPC ID映射至一个VLAN ID,如图1所示,通过不同的VLAN ID对不同租户的数据报文进行区分,该过程称为ENI-Trunking过程。其中,第二VS所能支持的ENI的数目决定了VLAN数目,也就决定了NFV实例能够接入不同租户的数量。
从上述数据报文的处理过程可以看出,从客户端实例至NFV实例,中间需要经过第二VS的处理,第二VS的网络IO能力直接影响了NFV网元能够接入的租户数量,第二VS的网络IO能力主要是指第二VS所能支持的ENI规格和session规格。由于云计算实例是面向IT类型的应用开发的,IT类型的应用是计算型应用,即对中央处理器(Central Processing Unit,CPU)和内存资源的要求比较高,但网络通信需求低,云计算实例主要匹配计算型应用,所以为云计算实例提供数据转发服务的VS所支持的ENI规格和session规格较低,目前主流的VS所支持的ENI规格约为数十个,session规格在100万个左右,即使最大网络能力的VS所支持的ENI规格也仅在1000个左右,session规格在1000万个左右,实际NFV实例能够处理的用户数目可到数万,流(session)的数目可达亿级别,由此可见,VS的网络IO能力和NFV实例的能力之差达到10倍甚至百倍,这会严重制约NFV实例,造成NFV实例的资源浪费,限制NFV实例的用户接入规格。
针对上述问题,本申请实施例提供一种新的NFV接入系统,如图2所示,该NFV接入系统包括:客户端VPC21、服务VPC22以及互联于客户端VPC21和服务VPC22之间的第一网关设备23。关于客户端VPC21和服务VPC22的相关介绍与前述实施例中客户端VPC11和服务VPC12的相关介绍相同,在此不再赘述。
在本实施例中,客户端VPC21中至少包括客户端实例,能够为客户端实例提供数据转发服务的第一VS,以及挂载到服务VPC22中的NFV实例的ENI;其中,客户端实例可以通过挂载到NFV实例的ENI向NFV实例发起访问,访问NFV实例的数据报文经第一VS向NFV实例转发。本实施例中客户端实例访问NFV实例的过程,与图1所示系统中的访问过程不同,在本实施例中,客户端实例经第一VS访问NFV实例的数据报文不再是直接从第一VS到达第二VS,而是由第一网关设备23负责拦截客户端实例经第一VS访问NFV实例的数据报文,第一网关设备23在拦截数据报文之后,将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装,并以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装,将经过外层隧道封装后的报文发送给第二VS,以使第二VS转发至NFV实例,实现NFV实例的接入。其中,客户端实例所属的租户信息可以是任何能够唯一标识客户端实例所属租户的信息,例如可以是但不限于:客户端实例所属客户端VPC的ID或租户的ID等。
在本实施例中,在客户端VPC与服务VPC之间设置第一网关设备,负责拦截客户端实例请求访问NFV实例的数据报文,并对数据报文进行两层隧道封装,将客户端实例所属的租户信息作为内层隧道信息封装到内层,对外统一以第一网关设备的身份进行呈现,这让NFV实例所在的第二VS不再处理内层隧道信息,不可见客户端实例所属的租户信息,用户接入NFV实例不再受第二VS所支持的ENI规格的限制,允许更多租户接入NFV实例,实现更大规格的NFV实例。
在本申请实施例中,并不限定第一网关设备的实现方式,而且根据第一网关设备的实现方式的不同,其拦截客户端实例经第一VS访问NFV实例的数据报文的方式也会有所不同。下面举例说明:
在一可选实施例A1中,每个客户端VPC关联一个传统网关设备,为了便于区分将该传统网关设备称为VPC网关设备(VGW),VGW负责维护和下发客户端VPC中各客户端实例对应的路由信息。在传统方案中,当客户端实例的数据报文到达第一VS时,第一VS判断本地是否存在该数据报文对应的路由信息,若不存在,则将该数据报文发送给VGW,由VGW根据预先维护的路由信息对该数据报文进行转发处理,并将该数据报文对应的路由信息下发至第一VS,后续报文由第一VS根据下发的路由信息进行转发。在本实施例中,可以对客户端VPC关联的VGW进行功能改进,实现一种新的网关设备,即第一网关设备。在本实施例中,针对访问NFV实例的转发功能对VGW进行改进,凡是访问NFV实例的数据报文统一由VGW进行转发,且VGW不再向第一VS下发访问NFV实例所需的路由信息。
基于上述,当客户端实例访问NFV实例时,可以通过NFV实例对应的ENI向第一VS发送数据报文,第一VS对客户端实例发出的数据报文进行隧道封装得到第一隧道报文。在本实施例中,各种隧道报文中的隧道信息至少包括源地址、目的地址和虚拟网络标识(VNI)信息,源地址表示隧道的源端,目的地址表示隧道的目的端,VNI信息是一个网络标识,在不同隧道报文中可以用来表示不同信息。在第一隧道报文的隧道信息中,源地址为第一VS的IP地址,目的地址为第一网关设备的IP地址,VNI信息表示客户端实例所属的租户信息。
由于第一VS本地没有客户端实例对应的路由信息,故第一VS将第一隧道报文发送给第一网关设备,即VGW。第一网关设备,即VGW接收第一VS发送的第一隧道报文,接收第一隧道报文的动作可认为是对客户端实例经第一VS访问NFV实例的数据报文的拦截;在接收到第一隧道报文后并不像传统VGW那样进行转发处理,而是从第一隧道报文的隧道信息中获取客户端实例所属的租户信息,将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装,并以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装,将经过外层隧道封装后的报文发送给第二VS,以使第二VS转发至NFV实例,实现NFV实例的接入。在该实施例中,第一网关设备是经过改进的VGW。
在另一可选实施例A2中,第一网关设备可以是新增网关设备,该新增网关设备主要负责对客户端实例访问NFV实例的数据报文的拦截和两层隧道封装,可称为NFV网关设备(即NFV-GW)。如图3所示,该NVF接入系统还包括:第二网关设备24,第二网关设备是客户端VPC关联的传统网关设备,为了便于区分将该传统网关设备称为VPC网关设备(VGW)。为了便于区分,在图3中,以第二网关设备是VGW,第一网关设备是NFV-GW为例进行图示。需要说明的是,客户端VPC与第二网关设备24之间可以是一一对应的关系(即一个客户端VPC关联一个第二网关设备24,如图4所示),也可以是多对一的关系(即多个客户端VPC关联同一个第二网关设备24,如图3所示)。其中,第二网关设备(即VGW)一方面与第一VS互联,一方面与第一网关设备(即NFV-GW)互联,第一网关设备(即NFV-GW)与第二VS互联。该实施例中,不仅新增第一网关设备,还对第二网关设备进行功能改进,第二网关设备与第一VS相互配合,在客户端实例访问NFV实例的过程中,协助第一网关设备完成对从客户端实例到NFV实例的数据报文的拦截。
基于上述,当客户端实例访问NFV实例时,可以通过NFV实例对应的ENI向第一VS发送数据报文,第一VS对客户端实例发出的数据报文进行隧道封装得到第一隧道报文。关于第一隧道报文的描述可参见上文,在此不再赘述。由于第一VS本地没有客户端实例对应的路由信息,故第一VS将第一隧道报文发送给第二网关设备,即VGW。
第二网关设备,即VGW接收第一VS发送的第一隧道报文,从第一隧道报文的隧道信息中获取客户端实例所属的租户信息,将第一隧道报文重新封装为第二隧道报文,并将第二隧道报文和客户端实例所属的租户信息发送给第一网关设备,即NFV-GW。在本实施例中,第二网关设备也不会向第一VS下发访问NFV实例所需的路由信息,所有访问NFV实例的数据报文都经过第二网关设备和第一网关设备进行转发处理。第二隧道报文中的隧道信息至少包括源地址、目的地址和VNI信息,源地址为第二网络设备(即VGW)的IP地址,目的地址为第一网关设备的IP地址,VNI信息是客户端实例所属的租户信息。在本实施例中,并不限定第二网关设备(即VGW)将客户端实例所属的租户信息发送给第一网关设备(即NFV-GW)的方式,例如可以通过第二隧道报文的隧道信息中的VNI信息将客户端实例所属的租户信息发送给第一网关设备(即NFV-GW),也可以通过控制面消息将客户端实例所属的租户信息发送给第一网关设备(即NFV-GW)。
对第一网关设备(即NFV-GW)来说,可接收第二网关设备(即VGW)发送的第二隧道报文和客户端实例所属的租户信息,该接收第二隧道报文的动作可认为是对客户端实例经第一VS访问NFV实例的数据报文的拦截。基于此,第一网关设备在接收到第二隧道报文后,可以从中解析出数据报文,并将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装,并以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装,将经过外层隧道封装后的报文发送给第二VS,以使第二VS转发至NFV实例,实现NFV实例的接入。在该实施例中,第一网关设备是NFV-GW,不同于经过改进的VGW。
无论第一网关设备采用上述哪种实现方式,其中,第一网关设备将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装的一种方式,包括:将第一网关设备的地址信息和NFV实例的地址信息分别作为内层隧道信息的源地址和目的地址,将客户端实例所属的租户信息作为内层隧道信息的VNI信息,对数据报文进行内层隧道封装。相应地,第一网关设备以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装的一种方式,包括:将第一网关设备的地址信息和第二VS的地址信息作为外层隧道信息的源地址和目的地址,将第一网关设备的标识信息作为外层隧道信息的VNI信息,对经过内层隧道封装后的报文进行外层隧道封装。
进一步可选地,无论是上述的内层隧道封装还是外层隧道封装,可以采用但不限于以下几种隧道协议:通用网络虚拟化封装(Generic Network VirtualizationEncapsulation,GENEVE),或者虚拟扩展局域网(Virtual Extensible Local AreaNetwork,VXLAN),或者基于IPv6的段路由(Segment Routing IPv6,SRv6)。其中,内层隧道封装与外层隧道封装使用的隧道协议可以相同,也可以不相同,对此不做限定。
在一些可选实施例中,为了降低第一网关设备(即NFV-GW)对客户端实例的侵入,可以针对第一网关设备模拟云计算实例的ENI,即为第一网关设备配置模拟ENI,该模拟ENI也可称为fake-ENI,在第一VS上配置该fake-ENI对应的MAC地址,以通过该fake-ENI实现第一网关设备对租户信息的封装,即第一网关设备的标识信息可以是第一网关设备的模拟ENI信息。基于此,结合图3所示系统,本申请实施例提供的NFV实例的详细接入过程如下:
具体地,为了降低对租户侧的修改,客户端实例的功能保持不变,客户端实例需要访问NFV实例时正常发出数据报文,数据报文到达第一VS,第一VS查找本地路由表发现没有该数据报文对应的路由信息,于是将该数据报文转发至该客户端VPC对应的VGW。具体地,第一VS根据本地配置的fake-ENI对应的MAC地址,对数据报文进行隧道封装,得到源地址为第一VS的IP地址,目的地址是VGW的IP地址的第一隧道报文,将第一隧道报文发送给VGW,第一隧道报文中的VNI字段携带客户端实例所属的租户信息,另外第一隧道报文中还携带有fake-ENI对应的MAC地址。在本实施例中,VGW不会向第一VS下发路由信息,这样所有从客户端实例发往NFV实例的数据报文都会被送到VGW。
VGW本地预先配置针对访问NFV实例的特定转发表项,该转发表项中的下一跳指向NFV-GW,这样所有访问NFV实例的数据报文会被转发至NFV-GW。具体地,VGW从第一隧道报文中解析出数据报文,并对数据报文重新进行隧道封装,得到源地址是VGW的IP地址,目的地址是NFV-GW的第二隧道报文,将第二隧道报文发送给NFV-GW。在此说明,对于访问其它云计算实例或其它服务VPC的数据报文可按照传统流程进行处理,对此不做限定。VGW还可以通过控制面消息将客户端实例所属的租户信息发送给NFV-GW。
NFV-GW收到第二隧道报文后从中解析出数据报文,对数据报文进行两层隧道封装,即内层隧道封装和外层隧道封装。其中,内层隧道封装用于封装客户端实例所属的租户信息,外层隧道封装用于封装将数据报文转发出去所需的隧道信息。在本实施例中,并不限定隧道封装所采用的隧道技术,例如无论是内层隧道封装还是外层隧道封装可以采用但不限于:GENEVE,VXLAN或者SRv6,凡是能够标识多租户的隧道协议均适用于本申请实施例。其中,内层隧道信息的源地址是NFV-GW的IP地址,目的地址是待访问的NFV实例的IP地址,内层VNI信息是客户端实例所属的租户信息;外层隧道信息的源地址是NFV-GW的IP地址,目的地址是第二VS的IP地址,外层VNI信息是NFV-GW的fake-ENI。
在本实施例中,NFV-GW采用fake-ENI与第二VS实现ENI-bonding,即第二VS会为NFV-GW分配与fake-ENI绑定的接口,以便于两者进行通信,为便于描述,将该接口称为ENI-bonding接口。基于此,NFV-GW将经过内外两层隧道封装后的报文通过其与第二VS之间的ENI-bonding接口发送至第二VS,由第二VS对该经过两层隧道封装的报文进行处理。
第二VS仅针对外层隧道信息进行处理,根据外层隧道信息判断该报文是否为数据流的首个报文,如果是,由第二VS的CPU进行软件转发处理,建立该条数据流的转发会话(session),该会话记录有该数据流的五元组(该五元组是外层隧道信息中的五元组)和出端口信息,出端口信息对应目的NFV实例,该数据流中的后续报文查找已经建立的session信息直接转发至目的NFV实例。
在本实施例中,通过增加一个NFV-GW,该NFV-GW和客户端VPC关联的VGW配合,通过增加一层隧道封装的方式,将客户端实例所属的租户信息封装到内层,从第二VS角度,其看到的是NFV-GW对应的fake-ENI,不再处理内层隧道信息,所以即使采用ENI-bonding技术,第二VS也只需要一个ENI,一个VLAN ID,session信息也只会记录外层隧道对应的五元组,且该五元组在整个接入过程中不变,这会大幅降低不同租户在访问NFV实例时对第二VS所支持的ENI以及session规格的要求,有效解决第二VS在ENI规格、session规格上的约束;从NFV实例角度,因为第二VS只看到NFV-GW,所以呈现的是单一租户,单一流,很好的解决了NFV实例受第二VS网络IO能力约束的问题,有利于NFV实例接入更多用户。
下面结合图4所示应用场景和系统架构,以及图4中所示报文封装过程,对本申请实施例提供的NFV接入过程进行详细说明:
在图4中,以两个客户端VPC为例,每个客户端VPC中包括客户端ECS和第一VS,每个客户端VPC接入一个VGW;两个客户端VPC分别记为第一客户端VPC和第二客户端VPC,两个VGW分别记为第一VGW和第二VGW,两个VGW分别与NFV-GW进行互联。NFV-GW连接两个服务VPC,每个服务VPC中包括NFV ECS和第二VS,两个服务VPC分别记为第一服务VPC和第二服务VPC,第二服务VPC中的NFV ECS基于ECS实现,第一服务VPC中的NFV ECS基于FPGA实现,但并不限于此。其中,客户端ECS是以ECS为例对客户端实例进行的示例,同理,NFV ECS是承载NFV网元的ECS,是以ECS为例对NFV实例进行的示例。
为了与ENI兼容,不改变第一VS的处理逻辑,NFV-GW具有模拟ENI,即fake-ENI,在每个客户端VPC中部署fake-ENI,该fake-ENI指向NFV-GW。NFV-GW可以具有不同的fake-ENI,不同fake-ENI对应不同的服务VPC中的NFV ECS,用于实现ECMP。
客户端ECS发出访问NFV ECS的数据报文,如图4所示,该数据报文的报文格式包括:载荷(payload)部分、TCP/UDP包头、IP包头信息(IP hdr)以及以太网包头信息(Ethhdr),该数据报文到达第一VS。
第一VS进行隧道封装,得到第一隧道报文,如图4所示,第一隧道报文的报文格式包括:载荷(payload)部分、TCP/UDP包头、IP包头信息(IP hdr)、VXLAN隧道信息(隧道封装以VXLAN为例,但并不限于此)fake-ENI对应的MAC地址以及以太网包头信息(Eth hdr),该第一隧道报文到达第一或第二VGW。其中,第一VS本地预先配置有fake-ENI对应的MAC地址,但无法确定fake-ENI的标识(ID)。该VXLAN隧道信息的源地址为第一VS的IP地址,目的地址为第一或第二VGW的IP地址,VNI信息是客户端ECS所属的租户信息。
第一或第二VGW从第一隧道报文中解析出数据报文并重新对数据报文进行隧道封装,得到第二隧道报文。如图4所示,第二隧道报文的报文格式包括:载荷(payload)部分、TCP/UDP包头、IP包头信息(IP hdr)、fake-ENI对应的MAC地址,VXLAN隧道信息(隧道封装以VXLAN为例,但并不限于此)以及以太网包头信息(Eth hdr),该第二隧道报文到达NFV-GW。该VXLAN隧道信息的源地址为第一或第二VGW的IP地址,目的地址为NFV-GW的IP地址,VNI信息是客户端ECS所属的租户信息。
在NFV-GW上配置有MAC-fake-ENI转换表,在该转发表中记录有MAC地址对应的fake-ENI的ID,在图4中,以MAC地址0:0:0:0:0:1对应的fake-ENI ID为1,MAC地址0:0:0:0:0:2对应的fake-ENI ID为2为例进行图示。在NFV-GW上还配置有fake-ENI的ECMP表,在该ECMP表中记录有不同fake-ENI ID对应的NFV ECS,在图4中,以该ECMP表中记录有fake-ENIID 1对应ECS IP1,fake-ENI ID 2对应FPGA IP2为例进行图示。其中,ECS IP1表示第二服务VPC中基于ECS实现的NFV ECS,FPGA IP2表示第一服务VPC中基于FPGA实现的NFV ECS。
另外,在NFV-GW上还配置有fake-ENI的转发表,在该转发表中记录有不同fake-ENI ID对应的出口封装信息,在图4中,以该转发表中记录有fake-ENI ID 1对应第一VGW采用VXLAN进行隧道封装,fake-ENI ID 2对应第一VGW采用VXLAN进行隧道封装为例进行图示。在图4中示出的转发表中是指外层隧道封装采用的隧道协议,关于内层隧道封装采用的隧道协议未在该表中进行示出,可以通过其它方式进行记录,或者采用默认协议。在本申请实施例中,以内层隧道封装采用GENEVE协议为例。
另外,在NFV-GW上还配置有fake-ENI的IP地址映射表,在该映射表中记录有不同fake-ENI ID对应的NFV ECS以及第二VS的IP地址信息。在图4中,以该映射表中记录有fake-ENI ID 1对应第二服务VPC中的第二VS的IP地址为1.1.1.1,NFV ECS的IP地址(即ECSIP1)是2.1.1.1;fake-ENI ID 2对应第一服务VPC中的第二VS的IP地址为1.2.2.2,NFV ECS的IP地址(即FPGA IP2)是2.2.2.2为例进行图示。
在此说明,上述四个信息表可以实现为一个信息表,也可以是两个或三个信息表,除了信息表的方式,也可以是其它能够记录上述对应关系或映射关系的方式,对此不做限定。
基于上述对应关系或映射关系,NFV-GW可以根据第二隧道报文中包含的fake-ENI对应的MAC地址,查询MAC-fake-ENI转换表,以获取与该MAC地址对应的fake-ENI ID,以实现ECMP;然后,根据所确定的fake-ENI ID查询fake-ENI的ECMP表、fake-ENI的转发表和fake-ENI的IP地址映射表,确定对应的隧道封装信息以及对应NFV ECS的IP地址和对应第二VS的IP地址,根据这些信息完成内外两层隧道封装,从而得到第三隧道报文。如图4所示,经内层隧道封装后得到的报文格式包括:载荷(payload)部分、TCP/UDP包头、IP包头信息(IP hdr)、GENEVE隧道信息(内层隧道信息)以及以太网包头信息(Eth hdr)。进一步经外层隧道封装后得到第三隧道报文的报文格式包括:载荷(payload)部分、TCP/UDP包头、IP包头信息(IP hdr)、GENEVE隧道信息(内层隧道信息),VXLAN隧道信息(外层隧道信息)以及以太网包头信息(Eth hdr),该第三隧道报文到达第二VS。其中,VXLAN隧道信息的源地址是NFV-GW的IP地址,目的地址是fake-ENI的IP地址映射表中对应第二VS的IP地址信息,VNI信息是NFV-GW对应的VNI;相应地,GENEVE隧道信息的源地址是NFV-GW的IP地址,目的地址是fake-ENI的IP地址映射表中对应NFV ECS的IP地址,VNI信息是客户端ECS所属的租户信息。
第二VS去掉外层隧道信息之后,将报文送给对应的NFV ECS,NFV ECS根据GENEVE隧道信息可以确定发起访问请求的客户端ECS所属的租户信息,并根据NFV ECS提供的NFV服务针对报文进行处理。
在本实施例中,增加一个NFV-GW,与VGW配合,在不影响租户端的情况下,将租户的流量先引导至NFV-GW,增加一层隧道封装,在隧道中封装标识租户等信息,对NFV ECS的VS呈现的是单一用户,单一流,可以很好的解决了NFV ECS受VS网络IO能力约束的问题,可增加NFV ECS接入的租户数量,有利于实现更大规模的NFV ECS。
图5为本申请实施例提供的一种NFV接入方法的流程示意图。该方法应用于第一网关设备,如图5所示,该方法包括:
501、拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文;
502、将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装;
503、以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装;
504、将经过外层隧道封装后的报文发送给NFV实例对应的第二VS,以使第二VS转发至NFV实例,实现NFV实例的接入。
在一可选实施例中,上述拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文,包括:接收第一VS发送的第一隧道报文,第一隧道报文是第一VS对数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息。
在一可选实施例中,上述拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文,包括:接收第二网关设备发送的第二隧道报文和客户端实例所属的租户信息,第二隧道报文是第二网关设备对第一隧道报文进行隧道封装得到的,第一隧道报文是第一VS对数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息。
在一可选实施例中,上述将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装,包括:将第一网关设备的地址信息和NFV实例的地址信息分别作为内层隧道信息的源地址和目的地址,将客户端实例所属的租户信息作为内层隧道信息的虚拟网络标识VNI信息,对数据报文进行内层隧道封装。
在一可选实施例中,上述以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装,包括:将第一网关设备的地址信息和第二VS的地址信息作为外层隧道信息的源地址和目的地址,将第一网关设备的标识信息作为外层隧道信息的VNI信息,对经过内层隧道封装后的报文进行外层隧道封装。
在一可选实施例中,上述内层隧道封装或外层隧道封装采用GENEVE,或者VXLAN,或者SRv6,且内层隧道封装与外层隧道封装使用的技术相同或不同。
在一可选实施例中,上述客户端实例所属的租户信息是客户端VPC的ID或租户的ID,第一网关设备的标识信息是第一网关设备的模拟ENI信息,即fake-ENI的ID,或者是第一网关设备对应的VNI。
在一可选实施例中,该方法还包括:从第一隧道报文或第二隧道报文中获取与第一网关设备的fake-ENI对应的MAC地址,根据MAC地址与fake-ENI的ID的转换表,确定与第一隧道报文或第二隧道报文中的MAC地址对应的fake-ENI的ID,根据所确定的fake-ENI的ID确定对应的隧道封装信息以及对应NFV ECS的IP地址和对应第二VS的IP地址;根据对应的隧道封装信息以及对应NFV ECS的IP地址和对应第二VS的IP地址,依次对数据报文进行内层隧道封装和外层隧道封装。其中,对数据报文进行内层隧道封装主要是指将第一网关设备的IP地址作为内层隧道信息中的源地址,将对应NFV ECS的IP地址作为内层隧道信息的目的地址,将客户端实例所属的租户信息作为内层隧道信息中的VNI信息,对数据报文进行内层隧道封装。对经过内层隧道封装的报文进行外层隧道封装主要是指将第一网关设备的IP地址作为外层隧道信息中的源地址,将对应第二VS的IP地址作为外层隧道信息的目的地址,将第一网关设备的VNI作为外层隧道信息中的VNI信息,对经过内层隧道封装的报文进行外层隧道封装。
图6为本申请实施例提供的另一种NFV接入方法的流程示意图。该方法应用于第二网关设备,如图6所示,该方法包括:
601、接收第一VS发送的第一隧道报文,第一隧道报文是第一VS对客户端实例访问NFV实例的数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息;
602、将第一隧道报文重新封装为第二隧道报文,并将第二隧道报文和客户端实例所属的租户信息发送给第一网关设备,以供第一网关设备将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装,并以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装后通过第二VS转发至NFV实例,实现NFV实例的接入。
关于上述各方法实施例中各步骤的详细实施方式和产生的技术效果,可参见前述实施例的描述,在此不再赘述。
需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如501、502等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图7为本申请实施例提供的一种NFV接入装置的结构示意图。如图7所示,该装置包括:拦截模块71、内层封装模块72、外层封装模块73和发送模块74。
其中,拦截模块71,用于拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文。内层封装模块72,用于将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装。外层封装模块73,用于以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装。发送模块74,用于将经过外层隧道封装后的报文发送给NFV实例对应的第二VS,以使第二VS转发至NFV实例,实现NFV实例的接入。
在一可选实施例中,上述拦截模块71具体用于:接收第一VS发送的第一隧道报文,第一隧道报文是第一VS对数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息。
在一可选实施例中,上述拦截模块71具体用于:接收第二网关设备发送的第二隧道报文和客户端实例所属的租户信息,第二隧道报文是第二网关设备对第一隧道报文进行隧道封装得到的,第一隧道报文是第一VS对数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息。
在一可选实施例中,上述内层封装模块72具体用于:将第一网关设备的地址信息和NFV实例的地址信息分别作为内层隧道信息的源地址和目的地址,将客户端实例所属的租户信息作为内层隧道信息的虚拟网络标识VNI信息,对数据报文进行内层隧道封装。
在一可选实施例中,上述外层封装模块73具体用于:将第一网关设备的地址信息和第二VS的地址信息作为外层隧道信息的源地址和目的地址,将第一网关设备的标识信息作为外层隧道信息的VNI信息,对经过内层隧道封装后的报文进行外层隧道封装。
在一可选实施例中,上述内层隧道封装或外层隧道封装采用GENEVE,或者VXLAN,或者SRv6,且内层隧道封装与外层隧道封装使用的技术相同或不同。
在一可选实施例中,上述客户端实例所属的租户信息是客户端VPC的ID或租户的ID,第一网关设备的标识信息是第一网关设备的模拟ENI信息,或者是第一网关设备对应的VNI。
图8为本申请实施例提供的另一种NFV接入装置的结构示意图。如图8所示,该装置包括:接收模块81、封装模块82和发送模块83。
其中,接收模块81,用于接收第一虚拟交换机VS发送的第一隧道报文,第一隧道报文是第一VS对客户端实例访问NFV实例的数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息。封装模块82,用于将第一隧道报文重新封装为第二隧道报文。发送模块83,用于将第二隧道报文和客户端实例所属的租户信息发送给第一网关设备,以供第一网关设备将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装,并以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装后通过第二VS转发至NFV实例,实现NFV实例的接入。
关于上述各装置实施例中各模块的详细实施方式和产生的技术效果,可参见前述实施例的描述,在此不再赘述。
图9为本申请实施例提供的一种网关设备的结构示意图。该网关设备可作为第一网关设备实现,如图9所示,该网关设备包括:存储器91和处理器92。
存储器91,用于存储计算机程序,并可被配置为存储其它各种数据以支持在网关设备上的操作。这些数据的示例包括用于在网关设备上操作的任何应用程序或方法的指令,消息,图片,视频等。
处理器92,与存储器91耦合,用于执行存储器91中的计算机程序,以用于:拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文;将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装;以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装;将经过外层隧道封装后的报文发送给NFV实例对应的第二VS,以使第二VS转发至NFV实例,实现NFV实例的接入。
在一可选实施例中,处理器92在拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文时,具体用于:接收第一VS发送的第一隧道报文,第一隧道报文是第一VS对数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息。
在一可选实施例中,处理器92在拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文时,具体用于:接收第二网关设备发送的第二隧道报文和客户端实例所属的租户信息,第二隧道报文是第二网关设备对第一隧道报文进行隧道封装得到的,第一隧道报文是第一VS对数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息。
在一可选实施例中,处理器92在将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装时,具体用于:将第一网关设备的地址信息和NFV实例的地址信息分别作为内层隧道信息的源地址和目的地址,将客户端实例所属的租户信息作为内层隧道信息的虚拟网络标识VNI信息,对数据报文进行内层隧道封装。
在一可选实施例中,处理器92在以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装时,具体用于:将第一网关设备的地址信息和第二VS的地址信息作为外层隧道信息的源地址和目的地址,将第一网关设备的标识信息作为外层隧道信息的VNI信息,对经过内层隧道封装后的报文进行外层隧道封装。
在一可选实施例中,上述内层隧道封装或外层隧道封装采用GENEVE,或者VXLAN,或者SRv6,且内层隧道封装与外层隧道封装使用的技术相同或不同。
在一可选实施例中,上述客户端实例所属的租户信息是客户端VPC的ID或租户的ID,第一网关设备的标识信息是第一网关设备的模拟ENI信息,或者是第一网关设备对应的VNI。
在一可选实施例中,第一隧道报文或第二隧道报文中还包括与第一网关设备的fake-ENI对应的MAC地址,则处理器92还用于:从第一隧道报文或第二隧道报文中获取与第一网关设备的fake-ENI对应的MAC地址,根据MAC地址与fake-ENI的ID的转换表,确定与第一隧道报文或第二隧道报文中的MAC地址对应的fake-ENI的ID,根据所确定的fake-ENI的ID确定对应的隧道封装信息以及对应NFV ECS的IP地址和对应第二VS的IP地址;根据对应的隧道封装信息以及对应NFV ECS的IP地址和对应第二VS的IP地址,依次对数据报文进行内层隧道封装和外层隧道封装。其中,对数据报文进行内层隧道封装主要是指将第一网关设备的IP地址作为内层隧道信息中的源地址,将对应NFV ECS的IP地址作为内层隧道信息的目的地址,将客户端实例所属的租户信息作为内层隧道信息中的VNI信息,对数据报文进行内层隧道封装。对经过内层隧道封装的报文进行外层隧道封装主要是指将第一网关设备的IP地址作为外层隧道信息中的源地址,将对应第二VS的IP地址作为外层隧道信息的目的地址,将第一网关设备的VNI作为外层隧道信息中的VNI信息,对经过内层隧道封装的报文进行外层隧道封装。
如图9所示,该网关设备还包括:通信组件93、电源组件94等其它组件。图9中仅示意性给出部分组件,并不意味着网关设备只包括图9所示组件。
本申请实施例还提供一种网关设备,该网关设备的结构与图9所示网关设备的结构相同或相似,不再赘述。本实施例的网关设备与图9所示网关设备的区别在于:处理器执行存储器中存储的计算机程序所实现的功能不同。本实施例的网关设备,其处理器执行存储器中存储的计算机程序可实现以下动作:接收第一VS发送的第一隧道报文,第一隧道报文是第一VS对客户端实例访问NFV实例的数据报文进行隧道封装得到的,第一隧道报文的隧道信息中包括客户端实例所属的租户信息;将第一隧道报文重新封装为第二隧道报文,并将第二隧道报文和客户端实例所属的租户信息发送给第一网关设备,以供第一网关设备将客户端实例所属的租户信息作为内层隧道信息对数据报文进行内层隧道封装,并以第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装后通过第二VS转发至NFV实例,实现NFV实例的接入。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现图5或图6所示方法中的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现图5或图6所示方法中的各步骤。
上述存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable Read-Only Memory,PROM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(Radio FrequencyIdentification,RFID)技术,红外数据协会(Infrared Data Association,IrDA)技术,超宽带(Ultra Wide Band,UWB)技术,蓝牙(BlueTooth,BT)技术和其他技术来实现。
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(Central ProcessingUnit,CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(Random Access Memory,RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-change Random AccessMemory,PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(Digital Video Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种网络功能虚拟化NFV接入系统,其特征在于,包括:互联于客户端虚拟专有云VPC和服务VPC之间的第一网关设备;所述客户端VPC包括客户端实例和为所述客户端实例提供数据转发服务的第一虚拟交换机VS,所述服务VPC中包括承载NFV网元的NFV实例和为所述NFV实例提供数据转发服务的第二VS;
所述第一网关设备,用于拦截所述客户端实例经所述第一VS访问所述NFV实例的数据报文,将所述客户端实例所属的租户信息作为内层隧道信息对所述数据报文进行内层隧道封装,并以所述第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装,将经过外层隧道封装后的报文发送给所述第二VS,以使所述第二VS转发至所述NFV实例,实现NFV实例的接入。
2.根据权利要求1所述的系统,其特征在于,所述第一网关设备在拦截所述客户端实例经所述第一VS访问所述NFV实例的数据报文时,具体用于:
接收所述第一VS发送的第一隧道报文,所述第一隧道报文是所述第一VS对所述数据报文进行隧道封装得到的,所述第一隧道报文的隧道信息中包括所述客户端实例所属的租户信息。
3.根据权利要求1所述的系统,其特征在于,还包括:与所述第一VS和所述第一网关设备互联的第二网关设备;
所述第二网关设备,用于接收所述第一VS发送的第一隧道报文,所述第一隧道报文是所述第一VS对所述数据报文进行隧道封装得到的,所述第一隧道报文的隧道信息中包括所述客户端实例所属的租户信息,将所述第一隧道报文重新封装为第二隧道报文,并将所述第二隧道报文和所述客户端实例所属的租户信息发送给所述第一网关设备;
所述第一网关设备在拦截所述客户端实例经所述第一VS访问所述NFV实例的数据报文时,具体用于:接收所述第二网关设备发送的第二隧道报文和所述客户端实例所属的租户信息。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述第一网关设备将所述客户端实例所属的租户信息作为内层隧道信息对所述数据报文进行内层隧道封装,包括:
将所述第一网关设备的地址信息和所述NFV实例的地址信息分别作为内层隧道信息的源地址和目的地址,将所述客户端实例所属的租户信息作为内层隧道信息的虚拟网络标识VNI信息,对所述数据报文进行内层隧道封装。
5.根据权利要求4所述的系统,其特征在于,所述第一网关设备以所述第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装,包括:
将所述第一网关设备的地址信息和所述第二VS的地址信息作为外层隧道信息的源地址和目的地址,将所述第一网关设备的标识信息作为外层隧道信息的VNI信息,对经过内层隧道封装后的报文进行外层隧道封装。
6.一种网络功能虚拟化NFV接入方法,应用于第一网关设备,其特征在于,所述方法包括:
拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文;
将所述客户端实例所属的租户信息作为内层隧道信息对所述数据报文进行内层隧道封装;
以所述第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装;
将经过外层隧道封装后的报文发送给所述NFV实例对应的第二VS,以使所述第二VS转发至所述NFV实例,实现NFV实例的接入。
7.根据权利要求6所述的方法,其特征在于,拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文,包括:
接收所述第一VS发送的第一隧道报文,所述第一隧道报文是所述第一VS对所述数据报文进行隧道封装得到的,所述第一隧道报文的隧道信息中包括所述客户端实例所属的租户信息。
8.根据权利要求6所述的方法,其特征在于,拦截客户端实例经第一虚拟交换机VS访问NFV实例的数据报文,包括:
接收第二网关设备发送的第二隧道报文和所述客户端实例所属的租户信息,所述第二隧道报文是所述第二网关设备对第一隧道报文进行隧道封装得到的,所述第一隧道报文是所述第一VS对所述数据报文进行隧道封装得到的,所述第一隧道报文的隧道信息中包括所述客户端实例所属的租户信息。
9.根据权利要求6-8任一项所述的方法,其特征在于,将所述客户端实例所属的租户信息作为内层隧道信息对所述数据报文进行内层隧道封装,包括:
将所述第一网关设备的地址信息和所述NFV实例的地址信息分别作为内层隧道信息的源地址和目的地址,将所述客户端实例所属的租户信息作为内层隧道信息的虚拟网络标识VNI信息,对所述数据报文进行内层隧道封装。
10.根据权利要求9所述的方法,其特征在于,以所述第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装,包括:
将所述第一网关设备的地址信息和所述第二VS的地址信息作为外层隧道信息的源地址和目的地址,将所述第一网关设备的标识信息作为外层隧道信息的VNI信息,对经过内层隧道封装后的报文进行外层隧道封装。
11.根据权利要求10所述的方法,其特征在于,内层隧道封装或外层隧道封装采用通用网络虚拟化封装GENEVE,或者虚拟扩展局域网VXLAN,或者基于IPv6的段路由SRv6,且内层隧道封装与外层隧道封装使用的技术相同或不同。
12.一种网络功能虚拟化NFV接入方法,应用于第二网关设备,其特征在于,所述方法包括:
接收第一虚拟交换机VS发送的第一隧道报文,所述第一隧道报文是所述第一VS对客户端实例访问NFV实例的数据报文进行隧道封装得到的,所述第一隧道报文的隧道信息中包括所述客户端实例所属的租户信息;
将所述第一隧道报文重新封装为第二隧道报文,并将所述第二隧道报文和所述客户端实例所属的租户信息发送给第一网关设备,以供所述第一网关设备将所述客户端实例所属的租户信息作为内层隧道信息对所述数据报文进行内层隧道封装,并以所述第一网关设备的身份信息对经过内层隧道封装后的报文进行外层隧道封装后通过第二VS转发至所述NFV实例,实现NFV实例的接入。
13.一种网关设备,其特征在于,包括:存储器和处理器,所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,致使所述处理器实现权利要求6-11任一项所述方法中的步骤,或者权利要求12所述方法中的步骤。
14.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现权利要求6-11任一项所述方法中的步骤,或者权利要求12所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211728770.9A CN116016188A (zh) | 2022-12-30 | 2022-12-30 | Nfv接入方法、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211728770.9A CN116016188A (zh) | 2022-12-30 | 2022-12-30 | Nfv接入方法、设备、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116016188A true CN116016188A (zh) | 2023-04-25 |
Family
ID=86026413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211728770.9A Pending CN116016188A (zh) | 2022-12-30 | 2022-12-30 | Nfv接入方法、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116016188A (zh) |
-
2022
- 2022-12-30 CN CN202211728770.9A patent/CN116016188A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11805056B2 (en) | Method and system for service switching using service tags | |
US11671367B1 (en) | Methods and apparatus for improving load balancing in overlay networks | |
US20190245809A1 (en) | System and method for message handling in a network device | |
US11184842B2 (en) | Conveying non-access stratum messages over ethernet | |
US9871720B1 (en) | Using packet duplication with encapsulation in a packet-switched network to increase reliability | |
US11743230B2 (en) | Network address translation (NAT) traversal and proxy between user plane function (UPF) and session management function (SMF) | |
US11757773B2 (en) | Layer-2 networking storm control in a virtualized cloud environment | |
WO2021073565A1 (zh) | 业务服务提供方法及系统 | |
CN113454972A (zh) | 虚拟服务网络 | |
CN104704778A (zh) | 用于虚拟和物理网络集成的方法和系统 | |
US20220239629A1 (en) | Business service providing method and system, and remote acceleration gateway | |
WO2016062169A1 (zh) | 一种报文传输方法及装置 | |
US11496599B1 (en) | Efficient flow management utilizing control packets | |
JP2022541381A (ja) | ハイブリッドクラウド環境における通信方法、ゲートウェイ、並びに管理方法及び装置 | |
WO2024067338A1 (zh) | 云组网系统、安全访问方法、设备及存储介质 | |
WO2019137540A1 (en) | Gtp tunnels for the support of anchorless backhaul | |
EP4272379A1 (en) | Layer-2 networking using access control lists in a virtualized cloud environment | |
US20230370371A1 (en) | Layer-2 networking storm control in a virtualized cloud environment | |
CN116488958A (zh) | 网关处理方法、虚拟接入网关、虚拟业务网关及相关设备 | |
EP3369217B1 (en) | Multiple gateway operation on single operating system | |
CN116016188A (zh) | Nfv接入方法、设备、系统及存储介质 | |
US9853885B1 (en) | Using packet duplication in a packet-switched network to increase reliability |
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 |