一种报文处理方法、装置及系统与流程

文档序号:12134150阅读:442来源:国知局
一种报文处理方法、装置及系统与流程

本发明实施例涉及通信技术领域,尤其涉及一种报文处理方法、装置及系统。



背景技术:

随着虚拟化、云计算技术的高速发展,多租户虚拟化技术的应用越来越广泛。多租户虚拟化技术中,不同租户的网络互相隔离,每个租户的业务被部署在至少一个子网内,该租户的所有子网均与同一网关(英文:Gateway,简称:GW)连接,且该租户的所有子网与该GW组成一个虚拟私有云(英文:Virtual Private Cloud,简称:VPC)。不同VPC之间的数据链路层通过虚拟局域网(英文:Virtual Local Area Network,简称:VLAN)实现隔离,网络层通过网关实现隔离。

目前,不同VPC之间的网络层通过网关实现隔离的方法主要是:在一个物理网关中部署多个虚拟网关(英文:virtual Gateway,简称:vGW),每个vGW唯一对应一个租户,因此,每个vGW仅处理与该vGW对应的租户的业务。这样,单个物理网关可处理多个租户的业务。物理网关存储有报文的虚拟网络标识(英文:Virtual Network Identity,简称:VNI)与vGW的对应关系,VNI用于指示发送报文的设备所归属的子网。物理网关在接收到某一报文时,从该物理网关存储的对应关系中,确定与该报文的VNI对应的vGW,并将该报文转发到确定出的vGW,便于该vGW进一步处理该报文。

实际应用中,由于物理网关的硬件的限制,一个物理网关能够支持的vGW的数量极其有限,而上述方法中每个vGW唯一对应一个租户,因此,现有的物理网关所能支持的租户的数量是有限的,无法支持海量租户。



技术实现要素:

本发明实施例提供一种报文处理方法、装置及系统,能够解决现有的物理网关无法支持海量租户的问题。

第一方面,提供一种报文处理方法,物理网关首先确定获取到的待传输报文的特征,该待传输报文的特征包括目标虚拟网络标识VNI和用于指示待传输报文所归属的目标业务类型的地址信息,目标VNI用于指示待传输报文的源地址所归属的目标子网;然后,该物理网关从预先存储的至少一个业务规则中,获取与待传输报文的特征对应的目标业务规则,该目标业务规则包括目标VNI和目标处理方式,目标业务规则用于指示对目标子网中,属于目标业务类型的报文按照目标处理方式处理;容易理解的是,待传输报文为目标子网中,归属于目标业务类型的其中一个报文;最后,物理网关对待传输报文按照目标处理方式处理。

物理网关能够根据用于指示待传输报文所归属的目标业务类型的地址信息和待传输报文的目标VNI,获取到与目标VNI和地址信息均对应的目标业务规则,并根据该目标业务规则处理待传输报文。由于目标业务规则与目标业务类型对应,物理网关无需再确定与待传输报文所归属的子网对应的虚拟网关,这样,该物理网关所处理的报文不再受虚拟网关的数量的影响,即该物理网关可支持海量租户。

此外,由于不同子网的VNI不同,目标业务规则中包括目标VNI,因此,物理网关不会混淆不同租户的报文。

可选的,在本发明实施例的一种可能的实现方式中,地址信息为待传输报文的目的地址;或者,地址信息为待传输报文的源地址和待传输报文的目的地址。

可选的,在本发明实施例的另一种可能的实现方式中,地址信息为待传输报文的源地址和待传输报文的目的地址,目标业务规则还包括待传输报文的源地址。

可选的,在本发明实施例的另一种可能的实现方式中,物理网关中部署有至少一个虚拟网关,至少一个虚拟网关中的每个虚拟网关处理一种业务类型的报文。在这种场景中,物理网关确定待传输报文的特征后,向目标虚拟网关发送该待传输报文,用于指示目标虚拟网关对该待传输报文按照目标处理方式处理。这里,目标虚拟网关为至少一个虚拟网关中用于处理目标业务类型的报文的虚拟网关。

物理网关部署的每个vGW处理一种业务类型的报文,这样,即使租户的数量很大,该物理网关依旧可以对不同业务类型的报文进行处理,而无需关注租户的数量有多大,实现了物理网关支持海量租户的目的。

每个vGW处理一种业务类型的报文,这样,物理网关对某一种业务类型的报文的处理不会受到该物理网关对另一种业务类型的报文的处理的影响,提高了物理网关处理报文的速率。

可选的,在本发明实施例的另一种可能的实现方式中,物理网关中部署有至少一个虚拟网关,至少一个虚拟网关中的每个虚拟网关对应一组VNI。在这种应用场景中,物理网关确定待传输报文的特征后,确定目标VNI属于目标VNI组,并向与目标VNI组对应的目标虚拟网关发送待传输报文。

每个vGW处理与该vGW对应的VNI组的报文。对于同一租户的不同子网的报文而言,可采用不同的vGW进行处理,这样,物理网关对某一子网的报文的处理不会受到该物理网关对另一子网的报文的处理的影响,提高了物理网关处理报文的速率。

第二方面,提供一种物理网关,该物理网关包括确定单元、获取单元和处理单元。

本发明实施例提供的各个单元模块所实现的功能具体如下:

上述确定单元,用于确定待传输报文的特征,待传输报文的特征包括目标虚拟网络标识VNI和地址信息,目标VNI用于指示待传输报文的源地址所归属的目标子网,地址信息用于指示待传输报文所归属的目标业务类型;上述获取单元,用于从预先存储的至少一个业务规则中,获取与上述确定单元确定出的待传输报文的特征对应的目标业务规则,目标业务规则包括目标VNI和目标处理方式,目标业务规则用于指示对目标子网中,属于目标业务类型的报文按照目标处理方式处理;待传输报文为目标子网中,归属于目标业务类型的其中一个报文;上述处理单元,用于对待传输报文按照目标处理方式处理。

进一步地,在本发明实施例的一种实现方式中,地址信息为待传输报文的目的地址;或者,地址信息为待传输报文的源地址和待传输报文的目的地址。

进一步地,在本发明实施例的另一种实现方式中,地址信息为待传输报文的源地址和待传输报文的目的地址。

在本发明实施例的另一种实现方式中,物理网关中部署有至少一个虚拟网关,至少一个虚拟网关中的每个虚拟网关处理一种业务类型的报文。该应用场景中,物理网关还包括发送单元,该发送单元用于确定单元确定出待传输报文的特征后,向目标虚拟网关发送待传输报文,用于指示目标虚拟网关对待传输报文按照目标处理方式处理,目标虚拟网关为至少一个虚拟网关中用于处理目标业务类型的报文的虚拟网关。

在本发明实施例的另一种实现方式中,物理网关中部署有至少一个虚拟网关,至少一个虚拟网关中的每个虚拟网关对应一组VNI。该应用场景中,上述确定单元,还用于在确定待传输报文的特征后,确定目标VNI属于目标VNI组;物理网关还包括发送单元,该发送单元用于向目标虚拟网关发送待传输报文,用于指示目标虚拟网关对待传输报文按照目标处理方式处理,目标虚拟网关为至少一个虚拟网关中与目标VNI组对应的虚拟网关。

第三方面,提供一种物理网关,该物理网关包括通信接口、处理器和存储器;其中,通信接口、处理器和存储器通过系统总线连接;存储器用于存储计算机指令,处理器用于执行存储器存储的计算机指令,以使物理网关执行如上述第一方面及其各种实现方式所述的报文处理方法。

第四方面,还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码;当物理网关的处理器在执行该程序代码时,该物理网关执行如上述第一方面及其各种可能的实现方式所述的报文处理方法。

在本发明实施例中,上述物理网关的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明实施例类似,属于本发明实施例权利要求及其等同技术的范围之内。

本发明实施例第二方面、第三方面、第四方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述。

本发明实施例的这些方面或其他方面在以下的描述中会更加简明易懂。

附图说明

图1为现有技术中物理网关与租户之间的连接示意图;

图2为本发明实施例提供的通信系统的结构示意图;

图3为本发明实施例中物理主机的硬件结构示意图;

图4为本发明实施例提供的报文处理方法的流程示意图;

图5为本发明实施例提供的网络管理装置存储目标业务规则的流程示意图;

图6为本发明实施例提供的物理网关处理报文的原理示意图;

图7为本发明实施例提供的物理网关与租户之间的连接的示意图一;

图8为本发明实施例提供的物理网关与租户之间的连接示意图二;

图9为本发明实施例提供的物理网关与租户之间的连接示意图三;

图10为本发明实施例提供的物理网关的结构示意图一;

图11为本发明实施例提供的物理网关的结构示意图二;

图12为本发明实施例提供的物理网关的结构示意图三。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。

其中,本发明实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。

在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

应当意识到,为了图示的简洁和清楚起见,附图中所示的元件没有必要按照比例进行绘制。例如,为了清楚,可以相对于其他元件,增大一些元件的尺寸。另外,在认为合适的地方,可以在附图间重复附图标记,以指示相对应或类似的元件针对这一问题。

现有技术中,一个物理网关部署有多个vGW,每个vGW处理与该vGW对应的租户的业务,该物理网关存储有报文的VNI与vGW的对应关系。物理网关在接收到某一报文时,从该物理网关存储的对应关系中,确定与该报文的VNI对应的vGW,并将该报文转发到确定出的vGW,便于该vGW进一步处理该报文。

如图1所示,物理网关部署有vGW 1和vGW 2,vGW 1处理租户1的业务,vGW 2处理租户2的业务。租户1的业务被部署在子网10和子网11中,子网10和子网11中分别包括至少一个虚拟机(英文:Virtual Machine,简称:VM),VNI 1用于指示子网10,VNI 2用于指示子网11。租户2的业务被部署在子网12和子网13中,子网12和子网13中分别包括至少一个VM,VNI 3用于指示子网20,VNI 4用于指示子网21。相应的,物理网关存储有VNI与vGW的对应关系,图1用表格的形式示出该对应关系。示例性的,物理网关接收到的报文的VNI为VNI 2,该物理网关从图1示出的对应关系中获取到与VNI 2对应的vGW为vGW 1,并将该报文转发到vGW 1。vGW 1根据该报文的相关信息对该报文进行相应处理。

但是,由于物理网关的硬件(如内存)的限制,一个物理网关能支持的vGW的数量极其有限。而现有技术中,每个vGW唯一对应一个用户,因此,现有的物理网关所能支持的租户的数量是有限的,无法支持海量租户。

针对现有技术中物理网关无法支持海量租户的问题,本发明实施例提供一种报文处理方法。物理网关中预先存储有包括目标VNI和目标处理方式的目标业务规则,该目标业务规则用于指示对目标VNI指示的目标子网中,属于目标业务类型的报文按照目标处理方式处理。这种情况下,对于目标子网中属于目标业务类型的待传输报文,物理网关在获取到该待传输报文后,即可按照目标处理方式对该待传输报文处理。由于目标业务规则与目标业务类型对应,因此,物理网关无需再确定与待传输报文所归属的子网对应的虚拟网关,这样,该物理网关所处理的报文不再受虚拟网关的数量的影响,即该物理网关可支持海量租户。此外,由于目标业务规则包括目标VNI,因此,物理网关根据该目标VNI可以确定出该目标业务规则是与哪一子网对应,能够清楚的区分不同租户。

本发明实施例提供的报文处理方法应用于通信系统。图2是本发明实施例提供的通信系统的结构示意图。参见图2,该通信系统包括网络管理装置20、物理网关21以及至少一个物理主机22。网络管理装置20与物理网关21连接;物理网关21与每个物理主机22之间可以通过接入交换机连接,也可以通过汇聚交换机连接,图2中用“云”表示与物理网关21和每个物理主机22之间的连接。

在本发明实施例中,上述多个设备之间的连接可以为无线连接,为了方便直观地表示各个设备之间的连接关系,图2中采用直线示意。

网络管理装置20用于对互联网协议(英文:Internet Protocol,简称:IP)地址、媒介访问控制(英文:Media Access Control,简称:MAC)地址等网络资源的管理和分配,以及对虚拟网络的拓扑结构进行管理。

网络管理装置20可以为网络管理器(英文:Network Manager),也可以为软件定义网络(英文:Software Defined Network,简称:SDN)控制器,还可以为包括网络管理器和SDN控制器的装置,本发明实施例对此不作具体限定。

物理网关21用于根据用户的配置连通私有网络和公共网络。该物理网关21中可以仅仅记录每个VPC中的每个子网网关的地址和接口,但并不部署vGW,每个子网网关的地址和接口用于配合传输控制协议/因特网互联协议(英文:Transmission Control Protocol/Internet Protocol,简称:TCP/IP)协议栈接收和/或发送报文;也可以部署至少一个vGW,且至少一个vGW中的每个vGW唯一对应一种业务类型;还可以部署至少一个vGW,且至少一个vGW中的每个vGW唯一对应一组VNI。

物理主机22可以为某一服务器,该服务器内部署有一个虚拟交换机(英文:Virtual switch,简称:Vswitch)以及至少一个VM,至少一个VM被部署在至少一个子网中。Vswitch可以为标准虚拟交换机或者分布式虚拟交换机,每个VM通过Vswitch来实现报文的发送与接收。

若网络管理装置20为SDN控制器,则该SDN控制器还与物理机22中的Vswitch连接。SDN控制器通过Openflow、OVSDB、netconf等接口下发业务规则到物理网关。

由于网络管理装置20为SDN控制器是可选的,因此,图2中用虚线表示网络管理装置20与Vswitch的连接。

下面结合图3对本发明实施例中的物理主机22的结构进行具体的介绍。如图3所示,物理主机22的结构包括硬件平台220、虚拟化平台221和VM执行空间222。

硬件平台220包括服务器物理结构中的硬盘2201、处理器2202、网络接口卡2203和存储器2204。

虚拟化平台221和VM执行空间222分别提供了VM的硬件平台和软件平台。虚拟化平台221包含VM监视器a、VM监视器b、……、VM监视器n。每个VM监视器包括实现VM的虚拟硬件平台2210,虚拟硬件平台2210包含了虚拟出来的存储器2210a,处理器2210b,硬盘2210c,显卡2210d和网络接口卡2210e等。

VM执行空间222运行了VM a、VM b、……、VM n。VM a的软件系统运行在VM监视器a的虚拟硬件平台2210上,其他VM的软件系统也运行在对应的VM监视器的虚拟硬件平台上。每个VM中运行有客户操作系统2220,客户操作系统2220包含了一个设备驱动层2221,设备驱动层2221安装了虚拟显示驱动2221a、网络接口卡驱动2221b等驱动程序。

为了便于理解,本发明实施例以图2中物理网关21仅仅记录每个VPC中的每个子网网关的地址和接口,但并不部署vGW为例进行说明。图4是本发明实施例提供的报文处理方法的流程示意图,该报文处理方法可以应用在图2所示的通信系统中。

参见图4,该报文处理方法包括:

S400、物理网关获取待传输报文。

S401、物理网关确定待传输报文的特征。

其中,待传输报文的特征包括目标VNI和地址信息,目标VNI用于指示该待传输报文的源地址所归属的目标子网,地址信息用于指示待传输报文所归属的目标业务类型。

S402、物理网关确定从预先存储的至少一个业务规则中,获取与待传输报文的特征对应的目标业务规则。

目标业务规则包括目标VNI以及目标处理方式,目标业务规则用于指示对目标VNI指示的目标子网中,属于目标业务类型的报文按照目标处理方式处理。

S403、物理网关对待传输报文按照目标业务规则中的目标处理方式处理。

本发明实施例中物理网关获取到的待传输报文可以为物理主机中某一VM发送的报文,也可以为其他外部网络设备发送的报文,本发明实施例对此不作具体限定。

物理网关在获取到某一待传输报文后,确定待传输报文的特征,该待传输报文的特征包括用于指示该待传输报文的源地址所归属的目标子网的目标VNI以及用于指示待传输报文所归属的目标业务类型的地址信息,即执行S400和S401。

可选的,本发明实施例中的地址信息可以为待传输报文的目的地址,也可以为待传输报文的源地址和待传输报文的目的地址。

其中,待传输报文的源地址可以为待传输报文的源网络之间互连的协议(英文:Internet Protocol,简称:IP)地址,也可以为待传输报文的源媒体访问控制(英文:Media Access Control,简称:MAC)地址。待传输报文的目的地址可以为待传输报文的目的IP地址。

具体的,物理网关在获取到待传输报文后,可以获取到该待传输报文的源地址、该待传输报文的目的地址和目标VNI;或者可以获取到该待传输报文的目的地址和目标VNI。

可选的,本发明实施例中待传输报文的目的地址与目标业务类型对应,或者,待传输报文的源地址和待传输报文的目的地址与目标业务类型对应。

本发明实施例中的目标业务类型可以为网络地址转换(英文:Network Address Translation,简称:NAT)业务、虚拟专用网(英文:Virtual Private Network,简称:VPN)业务、弹性IP地址(英文:Elastic IP address,EIP)业务或本地公共业务等。

对于VPN业务而言,两个网络之间建立有隧道,因此,对于目的地址归属于这两个网络的报文,其业务类型为VPN业务。若待传输报文的目的地址归属于这两个网络,则该待传输报文归属的业务类型为VPN业务。

对于NAT业务而言,物理网关需要对待传输报文的源地址进行转换,因此,物理网关不仅需要获取待传输报文的目的地址,还需要获取待传输报文的源地址。

示例性的,假设IP地址“52.53.54.55”为公共网络地址,租户1对应的子网的网段为192.168.1,子网掩码为255.255.255.0,该子网中VM a的IP地址为192.168.1.3。若物理网关获取到待传输报文的源IP地址为192.168.1.3,目的IP地址为52.53.54.55,则该待传输报文是从私有网络到公共网络的报文,属于NAT业务。

物理网关在确定出待传输报文的特征后,从预先存储的至少一个业务规则中,获取与待传输报文的特征对应的目标业务规则,即执行S402。

本发明实施例中的物理网关预先存储有至少一个业务规则,每个业务规则唯一对应一个子网中的某一种业务类型。

物理网关中存储的每个业务规则均为网络管理装置下发至该物理网关的。网络管理装置下发的每个业务规则均为网络管理装置根据用户输入的用于指示为某一子网配置某种业务类型的业务规则的配置信息生成的,或者为根据底层设备上报的流量统计信息、中央处理器(英文:Central Processing Unit,简称:CPU)占用变化、服务器故障等信息生成的。

本发明实施例中以图5为例,更加详细的说明了网络管理装置预先存储目标业务规则的方法。

可选的,物理网关采用流表的方式存储上述至少一个业务规则。具体的,流表由多个流表表项组成,每个流表表项对应一个业务规则。每个流表表项包括匹配域和动作域。匹配域用于匹配报文。动作域用于指示对报文采用哪种方式进行处理,具体的处理方式如:表跳转(GOTO_TABLE)、丢弃(DROP)、输出(Output)、封装或解封装等。

若物理网关采用流表的方式存储上述至少一个业务规则,则物理网关存储流表的数量为至少一个,本发明实施例对此不作具体限定。

具体的,物理网关在获取到待传输报文的特征后,逐一分析或者采用哈希(英文:Hash)算法快速匹配每个流表中的流表表项,以获取匹配域与待传输报文的特征对应的流表表项。

物理网关在获取到与待传输报文的特征对应的流表表项后,根据与该流表表项对应的业务规则,处理待传输报文。

具体的,物理网关在获取到目标业务规则后,对待传输报文按照目标业务规则中目标处理方式处理,即执行S403。

若本发明实施例中的地址信息为待传输报文的源地址和待传输报文的目的地址,则物理网关获取到的目标业务规则还包括待传输报文的源地址。待传输报文的源地址、目标VNI和目标处理方式相互对应,该目标业务规则用于指示对待传输报文进行与目标处理方式对应的处理。

本发明实施例中的目标业务规则与目标业务类型对应,物理网关无需再确定与待传输报文所归属的子网对应的虚拟网关,这样,该物理网关所处理的报文不再受虚拟网关的数量的影响,即该物理网关可支持海量租户。

此外,由于目标业务规则包括目标VNI,且每个子网的VNI互不相同因此,物理网关根据该目标VNI可以确定出该目标业务规则具体与哪一子网对应,如此,能够清楚的区分不同租户。

从上面描述可知,网络管理装置可以根据用户输入的配置信息预先存储目标业务规则。为了更加清楚的理解网络管理装置根据用户输入的配置信息预先存储目标业务规则的方法,本发明实施例结合图2,以物理网关中未部署有虚拟网关,目标子网为VPC a的子网1、目标VNI为VNI 1,目标业务类型为NAT业务为例进行说明。

结合图2,参见图5,网络管理装置预先存储目标业务规则的方法可以包括:

S500、网络管理装置20接收用户输入的第一指令。

第一指令携带物理网关21的标识、用于指示VPC a的第一标识以及用于指示vGW b的第二标识,该第一指令用于指示在物理网关21中,创建与VPC a对应的vGW b。

S501、网络管理装置20根据物理网关21的标识,确定物理网关21。

S502、网络管理装置20向物理网关21发送第一消息,用于指示物理网关21创建与VPC a对应的vGW b。

其中,第一消息携带上述第一标识和上述第二标识。

S503、物理网关21记录第二标识,并向网络管理装置20发送第一响应消息,该第一响应消息用于表示已创建与VPC a对应的vGW b。

物理网关21在接收到第一消息后,记录第二标识,实际上并未真正创建vGW b实体。

对于图2中出物理网关21以外的其他设备而言,本发明实施例中的物理网关21与现有的物理网关是一样的,均满足各种通信协议,如传输控制协议/因特网互联协议(英文:Transmission Control Protocol/Internet Protocol,简称:TCP/IP)。

S504、网络管理装置20记录第一对应关系,该第一对应关系为第一标识与第二标识之间的对应关系。

S505、网络管理装置20接收用户输入的第二指令。

第二指令携带第一标识、第二标识和用于指示子网a的第三标识,该第二指令用于指示在VPC a的vGW b中创建子网a。

S506、网络管理装置20获取子网a对应的VNI(该VNI为VNI 1),并记录第二对应关系,该第二对应关系为VNI 1与第一标识的对应关系。

S507、网络管理装置20向物理网关21发送第二消息,用于指示在vGW b中添加子网a。

其中,第二消息携带上述第二标识、上述VNI 1和上述第三标识。

S508、物理网关21添加VNI接口,并将子网a的IP地址确定为该VNI接口的IP地址,以及记录第三对应关系,该第三对应关系为VNI 1和第二标识的对应关系。

S509、网络管理装置20接收用户输入的第三指令,用于指示创建VM 11的端口,该VM 11的IP地址与vGW b的子网a对应。

S510、网络管理装置20记录第四对应关系,该第四对应关系为第三标识与VM 11的对应关系。

S511、网络管理装置20接收用户输入的第四指令,用于指示将VPC a中VM 11的IP地址转换为52.53.54.55。

S512、网络管理装置20根据第四指令、上述第一对应关系、上述第二对应关系、上述第三对应关系以及上述第四对应关系,确定VNI 1、VM 11的IP地址与52.53.54.55之间的对应关系。

可以理解的是,VNI 1、VM 11的IP地址与52.53.54.55之间的对应关系即为本发明实施例提供的目标业务规则。

进一步地,S512之后,网络管理装置20向物理网关21发送VNI 1、VM 11的IP地址与52.53.54.55之间的对应关系(即上述的目标业务规则),这样,物理网关21在获取到与VNI 1和VM 11的IP地址均对应的报文后,可以根据该对应关系处理该报文。

对于本发明实施例中的物理网关而言,即使不同租户的VM的IP地址相同,由于不同子网的VNI不同,该物理网关根据VNI也可区分不同的租户。

示例性的,如图6所示,物理网关与网络设备的通信接口为VNI 0接口,VNI 0接口对应的公网IP地址为52.53.54.55和52.53.54.56,该物理网关支持租户1和租户2的业务。租户1的业务被部署在子网1和子网2中,子网1包括VM 61和VM 62,子网2包括VM 63和VM 64。租户2的业务被部署在子网3和子网4中,子网3包括VM 65和VM 66,子网4包括VM 67。子网1和子网3的网段均为192.168.1,子网掩码为255.255.255.0,图6中用192.168.1.0/24表示网段均为192.168.1,子网掩码为255.255.255.0。子网2和子网4的网段均为192.168.2,子网掩码为255.255.255.0,图6中用192.168.2.0/24表示网段均为192.168.2,子网掩码为255.255.255.0。该物理网关中,与子网1对应的接口为VNI 1,与子网2对应的接口为VNI 2,与子网3对应的接口为VNI 3,与子网4对应的接口为VNI 4。该物理网关存储的业务规则包括:

In=VNI 1,src-ip=192.168.1.3,src-ip→52.53.54.55,out=VNI 0;//入口为VNI 1接口,源IP地址为192.168.1.3的报文,将该报文的源IP地址转换为52.53.54.55,并从VNI 0接口输出//

In=VNI 3,src-ip=192.168.1.3,src-ip→52.53.54.56,out=VNI 0;//入口为VNI 3接口,源IP地址为192.168.1.3的报文,将该报文的源IP地址转换为52.53.54.56,并从VNI 0接口输出//

In=VNI 0,dest-ip=52.53.54.55,dest-ip→192.168.1.3,out=VNI 1;//入口为VNI 0接口,目的IP地址为52.53.54.55的报文,将该报文的目的IP地址转换为192.168.1.3,并从VNI 1接口输出//

In=VNI 0,dest-ip=52.53.54.56,dest-ip→192.168.1.3,out=VNI 3;//入口为VNI 0接口,目的IP地址为52.53.54.56的报文,将该报文的目的IP地址转换为192.168.1.3,并从VNI 3接口输出//

若VM 61的IP地址为192.168.1.3,VM 61向物理网关发送报文,则物理网关可从VNI 1接口接收到该报文。物理网关在接收到该报文之后,从上述业务规则中可匹配到与接收到的报文对应的业务规则“In=VNI 1,src-ip=192.168.1.3,src-ip→52.53.54.55,out=VNI 0”。物理网关根据该业务规则将报文的源IP地址转换为52.53.54.55,实现了NAT功能,并将地址转换后的报文从VNI 0接口发出。

若VM 65的IP地址也为192.168.1.3,则物理网关可以根据VNI区分出将VM 61发送的报文和VM 65发送的报文。

同理,若物理网关从VNI 0接口接收到目的IP地址为52.53.54.55的报文,则该物理网关从上述业务规则中可匹配到与接收到的报文对应的业务规则“In=VNI 0,dest-ip=52.53.54.55,dest-ip→192.168.1.3,out=VNI 1”。物理网关根据该业务规则,将接收到的报文的源IP转换为192.168.1.3,并将地址转换后的报文从VNI 1接口发出。

同理,对于属于VPN、EIP等业务的报文,物理网关处理该类型的报文的方法与上述NAT过程类似,此处不再进行详细赘述。

综上所述,本发明实施例提供的报文处理方法中,物理网关能够根据用于指示待传输报文所归属的目标业务类型的地址信息和待传输报文的目标VNI,获取到与目标VNI和地址信息均对应的目标业务规则,并根据该目标业务规则处理待传输报文。由于目标业务规则与目标业务类型对应,物理网关无需再确定与待传输报文所归属的子网对应的虚拟网关,这样,该物理网关所处理的报文不再受虚拟网关的数量的影响,即该物理网关可支持海量租户。由于不同子网的VNI不同,目标业务规则中包括目标VNI,因此,物理网关也不会混淆不同租户的报文。

从上面描述可知,本发明实施例中的物理网关还可以部署至少一个vGW,且至少一个vGW中的每个vGW处理一种业务类型的业务,即每个vGW处理一种业务类型的报文。

示例性的,结合图2,如图7所示,本实施例中物理网关中部署有vGW-NAT、vGW-VPN以及处理其他业务的vGW。vGW-NAT表示处理NAT业务的vGW,vGW-VPN表示处理VPN业务的vGW。vGW-NAT中存储有与NAT业务对应的业务规则,vGW-VPN中存储有与VPN业务对应的业务规则。

该示例中的物理网关在获取到某一待传输报文后,获取用于指示该待传输报文所归属的目标业务类型的待传输报文的地址信息,然后向目标vGW发送该待传输报文,这里,目标vGW是物理网关中部署的用于处理目标业务类型的报文(为了便于理解,图7中用确定业务类型来表示这一过程),便于目标vGW按照目标业务规则处理该待传输报文。本实施例中的目标vGW在获取到某一待传输报文后,也需先获取与待传输报文的特征对应的目标业务规则,然后按照目标业务规则中的目标处理方式处理待传输报文。目标vGW对待传输报文的具体处理过程与图4所示的实施例(即上述物理网关对待传输报文的具体处理过程)相似,此处不再进行详细赘述。

示例性的,如图8所示,图8中的物理网关与图7所示的物理网关的结构基本类似。不同的是,图8中的物理网关直接根据获取该待传输报文的接口确定处理该待传输报文的vGW。本示例中,物理主机中的Vswitch在获取到用于指示待传输报文的目标业务类型的地址信息后,确定与该地址信息对应的接口,并使用确定出的接口向物理网关转发该待传输报文(为了便于理解,图8中用确定业务类型来表示这一过程)。

需要说明的是,本示例中对于同一子网的不同业务类型的报文而言,物理网关仅仅根据子网的VNI是无法区分报文的。物理网关还需要根据目的MAC地址来区分同一子网的不同业务类型的报文。

可选的,本发明实施例中的Vswitch还可以用不同的VNI标识同一子网的不同业务类型的报文。这样,物理网关无需再根据报文的目的MAC地址区分同一子网的不同业务类型的报文。

与现有技术相比,本实施例中的物理网关部署的每个vGW处理一种业务类型的报文,这样,即使租户的数量很大,该物理网关依旧可以对每个租户的报文进行处理,而无需关注租户的数量有多大,实现了物理网关支持海量租户的目的。

与物理网关中未部署vGW的实施例相比,本实施例中的每个vGW处理一种业务类型的报文,这样,物理网关对某一种业务类型的报文的处理不会受到该物理网关对其他业务类型的报文的处理的影响,提高了物理网关处理报文的速率。

从上面描述可知,本发明实施例中的物理网关还可以部署至少一个vGW,且至少一个vGW中的每个vGW唯一对应一组VNI。

示例性的,结合图2,如图9所示,本实施例中物理网关中部署有vGW1、vGW 2、……、vGW n。每个vGW对应一组VNI,即物理网关中存储有vGW与VNI组的对应关系。

对于源地址为物理主机的某一VM的地址的待传输报文而言,物理网关在获取到该待传输报文后,物理网关首先确定该待传输报文的目标VNI所属的目标VNI组,然后向与该目标VNI组对应的vGW发送该待传输报文,便于与该目标VNI组对应的vGW按照目标业务规则处理该待传输报文。

对于源地址为外网其他网络设备的地址的待传输报文而言,物理网关在获取到该待传输报文后,确定该待传输报文的目标VNI所属的目标VNI组。由于不论是哪一外网其他网络设备发送至物理网关的报文,该报文的VNI均相同,因此,对于源地址为外网其他网络设备的地址的待传输报文而言,物理网关还需获取该待传输报文的目的地址,然后向与目标VNI组和目的地址均对应的vGW发送该待传输报文,便于与该目标VNI组对应的vGW按照目标业务规则处理该待传输报文。

本实施例中的vGW在获取到某一待传输报文后,也需先获取与待传输报文的特征对应的目标业务规则,然后按照目标业务规则中的目标处理方式对待传输报文进行处理。vGW对待传输报文的具体处理过程与图4所示的实施例(即上述物理网关对待传输报文的具体处理过程)相似,此处不再进行详细赘述。

与现有技术相比,本实施例中的物理网关部署的每个vGW唯一对应一组VNI,这样可以有效的提高了物理网关支持的租户的数量。

与物理网关中未部署vGW的实施例相比,本实施例中的每个vGW处理与该vGW对应的VNI组的报文。对于同一租户的不同子网的报文而言,可由不同的vGW处理,这样,物理网关对某一子网的报文的处理不会受到该物理网关对另一子网的报文的处理的影响,提高了物理网关处理报文的速率。

此外,本发明实施例中的物理网关还可以部署至少一个vGW,且至少一个vGW对应一种业务类型。这样的话,每个物理网关可以用于处理一种业务类型的报文。这种场景中,物理网关处理待传输报文的方法可以参考图4所示的实施例(即上述物理网关对待传输报文的具体处理过程),此处不再进行详细赘述。

本发明实施例提供一种物理网关,该物理网关用于执行以上报文处理方法中的物理网关所执行的步骤。本发明实施例提供的物理网关可以包括相应步骤所对应的模块。

本发明实施例可以根据上述方法示例对物理网关进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图10示出了上述实施例中所涉及的物理网关的一种可能的结构示意图。如图10所示,物理网关包括确定单元100、获取单元101和处理单元102。确定单元100用于支持该物理网关执行图4中的S401。获取单元101用于支持该物理网关执行上述方法实施例中的S400和S402。处理单元102用于支持该物理网关执行上述方法实施例中的S403。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。其中,该物理网关还可以包括发送单元103和存储单元104。发送单元103用于实现物理网关内部不同单元之间的交互,存储单元104用于存储至少一个业务规则,还可以用于存储软件程序以及应用模块。

在采用集成的单元的情况下,图11示出了上述实施例中所涉及的物理网关的一种可能的结构示意图。如图11所示,该物理网关包括:处理模块110和通信模块111。处理模块110用于对该物理网关的动作进行控制管理,例如,处理模块110用于支持该物理网关执行上述方法实施例中的S401和S403,和/或用于本文所描述的技术的其它过程。通信模块111用于支持该物理网关与其他设备通信,例如,通信模块111用于支持该物理网关执行上述方法实施例中的S400和S402。该物理网关还可以包括存储模块112,用于存储至少一个业务规则,还可以用于存储该物理网关的程序代码和数据。

其中,处理模块110可以是处理器或控制器,例如可以是中央处理器(英文:Central Processing Unit,简称:CPU),数字信号处理器(英文:Digital Signal Processor,简称:DSP)。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。通信模块111可以是通信接口、收发电路或通信接口等。存储模块112可以是存储器。

当处理模块110为处理器,通信模块111为通信接口,存储模块112为存储器时,本发明实施例所涉及的物理网关可以为图12所示的物理网关。

如图12所示,该物理网关包括:通信接口120、处理器121和存储器122。其中,通信接口120、处理器121与存储器122之间通过系统总线123连接,并完成相互间通信。

当物理网关运行时,该物理网关执行如图4所示的实施例的报文处理方法。具体的报文处理方法可参见上述如图4所示的实施例中的相关描述,此处不再赘述。

其中,通信接口120用于与其他设备进行通信。

其中,存储器122用于存储至少一个业务规则,还可以用于存储软件程序以及应用模块,处理器121通过运行存储在存储器122的软件程序以及应用模块,从而执行物理网关的各种功能应用以及数据处理。

存储器122可主要包括程序存储区1220和数据存储区1221,其中,程序存储区1220可存储操作系统、至少一个功能所需的应用程序,比如查找目标业务规则等;数据存储区1221可存储至少一个业务规则。

其中,存储器122可以是只读存储器(英文:Read-only Memory,简称:ROM),或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(英文:Random Access Memory,简称:RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由物理网关存取的任何其他介质,但不限于此。

存储器122可以是独立存在,通过系统总线123与处理器121相连接。存储器122也可以和处理器121集成在一起。

处理器121是物理网关的控制中心。处理器121利用各种接口和线路连接整个物理网关的各个部分,通过运行或执行存储在存储器122内的软件程序和/或应用模块,以及调用存储在存储器122内的数据,执行物理网关的各种功能和处理数据,从而对物理网关进行整体监控。

在具体实现中,作为一种实施例,处理器121可以包括一个或多个CPU,例如图12中的处理器121包括CPU 0和CPU 1。

系统总线123可以分为地址总线、数据总线、控制总线等。本发明实施例中为了清楚说明,在图12中将各种总线都示意为系统总线123。

相应的,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码;当物理网关的处理器在执行该程序代码时,该物理网关执行上述方法实施例中的物理网关执行的所示的报文处理方法。

本发明实施例提供一种物理网关,该物理网关根据用于指示待传输报文所归属的目标业务类型的地址信息和待传输报文的目标VNI,获取到与目标VNI和地址信息均对应的目标业务规则,并根据该目标业务规则处理待传输报文。由于目标业务规则与目标业务类型对应,物理网关无需再确定与待传输报文所归属的子网对应的虚拟网关,这样,该物理网关所处理的报文不再受虚拟网关的数量的影响,即该物理网关可支持海量租户。

此外,由于不同子网的VNI不同,目标业务规则中包括目标VNI,因此,物理网关不会混淆不同租户的报文。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1