划分虚拟防火墙的方法和设备的制作方法

文档序号:7800962阅读:173来源:国知局
划分虚拟防火墙的方法和设备的制作方法
【专利摘要】一种划分虚拟防火墙的方法和设备,方法包括如下步骤:在云网络中添加多台虚拟防火墙,设置虚拟防火墙的可识别报文类型和可识别网络标识符ID;在检测到云网络的设备接收到报文时,判断报文的类型是否为可识别报文类型,如果是则进一步判断报文携带的网络标识符ID是否为可识别网络标识符ID;如果报文携带的网络标识符ID为可识别网络标识符ID,则剥去报文的网络标识符ID,将报文的内层报文发送至相应的虚拟防火墙;虚拟防火墙对内层报文进行业务处理,并在处理完成后对内层报文添加对应的原始网络标识符ID以封装成处理后报文,并发送处理后报文。本发明通过虚拟防火墙的方式来进行安全业务的隔离,降低了硬件部署成本,满足大型云网络的需求。
【专利说明】划分虚拟防火墙的方法和设备
【技术领域】
[0001]本发明涉及云网络和虚拟防火墙【技术领域】,特别涉及一种划分虚拟防火墙的方法和划分虚拟防火墙的设备。
【背景技术】
[0002]通常,一个大型的云网络可以支持数以百计的租赁用户,每个租赁用户又可以同时运行多个应用,用户之间的流量都是相互隔离的。但是在大型的云环境中,如果为每个用户分配一台实际的防火墙,则需要数以百计的防火墙,这显然是不现实的。另外,传统的虚拟防火墙都是通过VLAN( (Virtual Local Area Network,虚拟局域网)、接口和目的地址来进行区分流量,由于其数量均是有限,因此不适合大型的云网络。

【发明内容】

[0003]本发明鉴于上述情况而作出,其目的是提供一种划分虚拟防火墙的方法,通过虚拟防火墙的方式来进行安全业务的隔离,降低了硬件部署成本,满足大型云网络的需求。
[0004]为实现上述目的,本发明的实施方式提供一种划分虚拟防火墙的方法,包括如下步骤:
[0005]在云网络中添加多台虚拟防火墙,并设置所述虚拟防火墙的可识别报文类型和可识别网络标识符ID ;
[0006]在检测到云网络的设备接收到报文时,判断所述报文的类型是否为所述可识别报文类型,如果是则进一步判断所述报文携带的网络标识符ID是否为所述可识别网络标识符ID,其中,所述报文包括网络标识符ID和内层报文;
[0007]如果所述报文携带的网络标识符ID为所述可识别网络标识符ID,则剥去所述报文的网络标识符ID,将所述报文的内层报文发送至相应的所述虚拟防火墙;
[0008]所述虚拟防火墙对所述内层报文进行业务处理,并在处理完成后对所述内层报文添加对应的原始网络标识符ID以封装成处理后报文,并发送所述处理后报文。
[0009]根据本发明的一个方面,所述可识别报文类型为使用通用路由封装的网络虚拟化NVGRE或虚拟可扩展局域网VxLAN。
[0010]根据本发明的另一个方面,所述可识别网络标识符ID为NVGRE或VxLAN的24位租赁网络标识符。
[0011]根据本发明的又一方面,所述网络标识符ID位于所述报文的头部。
[0012]本发明提供的划分虚拟防火墙的方法通过虚拟防火墙的方式来进行安全业务的隔离,并且降低了硬件部署成本。本发明采用NVGRE或VXLAN的方式划分的共享式虚拟防火墙,避免了采用接口方式区分防火墙流量而引起的接口利用率降低的问题。并网,本发明提供的划分虚拟防火墙的方法,可以支持较大数量的用户,从而满足大型云网络的需求。
[0013]本发明的另一个目的是提供一种划分虚拟防火墙的设备,通过虚拟防火墙的方式来进行安全业务的隔离,降低了硬件部署成本,满足大型云网络的需求。[0014]为实现上述目的,本发明的实施方式提供一种划分虚拟防火墙的设备,包括:添加模块,用于在云网络中添加多台虚拟防火墙;可识别内容设置模块,所述可识别内容设置模块连接至虚拟防火墙,用于设置所述虚拟防火墙的可识别报文类型和可识别网络标识符ID ;报文检测模块,用于检测云网络的设备是否接收到报文;可识别内容判断模块,所述可识别内容判断模块连接至所述报文检测模块和所述可识别内容设置模块,用于在所述报文检测模块检测到云网络的设备接收到报文时,判断所述报文的类型是否为所述可识别报文类型,如果是则进一步判断所述报文携带的网络标识符ID是否为所述可识别网络标识符ID,其中,所述报文包括网络标识符ID和内层报文;网络标识符处理模块,所述网络标识符处理模块连接至所述可识别内容判断模块,用于剥去所述报文的网络标识符ID ;报文传输模块,所述报文传输模块连接至所述网络标识符处理模块和所述虚拟防火墙,用于将剥去网络标识符ID的内层报文发送至相应的所述虚拟防火墙,其中,所述虚拟防火墙对所述内层报文进行业务处理,并在处理完成后对所述内层报文添加对应的原始网络标识符ID以封装成处理后报文,并发送所述处理后报文。
[0015]根据本发明的一个方面,所述可识别报文类型为使用通用路由封装的网络虚拟化NVGRE或虚拟可扩展局域网VxLAN。
[0016]根据本发明的另一个方面,所述可识别网络标识符ID为NVGRE或VxLAN的24位租赁网络标识符。
[0017]根据本发明的又一方面,所述网络标识符ID位于所述报文的头部。
[0018]本发明提供的划分虚拟防火墙的设备通过虚拟防火墙的方式来进行安全业务的隔离,并且降低了硬件部署成本。本发明采用NVGRE或VXLAN的方式划分的共享式虚拟防火墙,避免了采用接口方式区分防火墙流量而引起的接口利用率降低的问题。并网,本发明提供的划分虚拟防火墙的方法,可以支持较大数量的用户,从而满足大型云网络的需求。
【专利附图】

【附图说明】
[0019]图1是根据本发明实施方式的划分虚拟防火墙的方法的流程图;
[0020]图2示意性地示出了报文结构的示意图;
[0021]图3是根据本发明实施方式的划分虚拟防火墙的设备的结构图。
【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0023]下面首先对虚拟防火墙的概念和功能进行说明。虚拟防火墙是指将一台防火墙在逻辑上划分成多台虚拟的防火墙,每个虚拟防火墙系统都可以被视为一台完全独立的防火墙设备,拥有独立的系统资源、管理员、安全策略、用户认证数据库等。
[0024]通常,一个大型的云网络可以支持数以百计的租赁用户,每个租赁用户又可以同时运行多个应用,用户之间的流量都是相互隔离的。但是在大型的云环境中,如果为每个用户分配一台实际的防火墙,则需要数以百计的防火墙,这显然是不现实的。并且传统的虚拟防火墙都是通过VLAN、接口和目的地址来进行区分流量,由于其数量均是有限,因此不适合大型的云网络。为解决上述问题,本发明提出一种划分虚拟防火墙的方法,该方法适用于大型的云网络。
[0025]图1是根据本发明实施方式的划分虚拟防火墙的方法的流程图。
[0026]如图1所示,本发明实施方式提供的划分虚拟防火墙的方法,包括如下步骤:
[0027]步骤SI,在云网络中添加多台虚拟防火墙,设置虚拟防火墙的可识别报文类型和可识别网络标识符ID。
[0028]在云网络中添加多台虚拟防火墙后,设置每个虚拟防火墙对应的可识别报文类型和可识别网络标识符ID。在本发明的实施方式中,可识别报文类型为使用NVGRE (NetworkVirtualization using Generic Routing Encapsulation,通用路由封装的网络虚拟化)或VxLAN (Virtual Extensible VLAN,虚拟可扩展局域网)。相应的,可识别网络标识符ID为NVGRE或VxLAN的24位租赁网络标识符。其中,可识别网络标识符ID为相应的租赁用户在网络中使用的ID号。
[0029]下面分别对NVGRE和VxLAN的功能进行说明。
[0030](I) NVGRE
[0031]虚拟云环境可以支持数以百计的租赁用户,每个租赁用户又可以同时运行多个应用,用户之间的流量都是相互隔离的。目前,采用VLAN来分隔用户之间的流量。
[0032]但是这种方法存在下述缺陷:VLAN总是无法处理很多的容量分割需求。在一个大型的虚拟云环境中,每个应用均是由多个VM ( (Virtual Manufacturing,虚拟机)中运行的组件组成的,而每个应用交互的VM流量都必须分别位于独立的VLAN中。由此,所需要的VLAN总数量极易超出IEEE802.1Q VLAN定义的上限:4,094。
[0033]当VM在物理服务器之间迁移时,又会出现下述问题:VM迁移不得影响应用程序,因此2层协议的地址必须保持不变。针对这种情况,网络必须重新配置,将VLAN扩展到不同服务器,而这个过程极易出错。
[0034]NVGRE通过租赁网络标识符可以解决上述多租赁网络问题。NVGRE通过指定24位的租赁网络标识符(TNI),每个TNI都定义了一个虚拟的2层网络,最多支持1.6千万个网络,从而解决了多租赁网络问题。
[0035]NVGRE 使用 GRE (Generic Routing Encapsulation,通用路由封装)创建一个独立的虚拟2层网络,在整个网络里面不同租赁的用户对安全的需求也是不同的。VxLAN和NVGRE类似,都是在原有的报文上面又封装了一层,下面对VxLAN进行描述。
[0036](2) VxLAN
[0037]参考上述对VLAN隔离流量的缺陷描述,如果采用VLAN隔离用户之间的流量,一个顶级机架交换机可能会连接40多台服务器。每一台服务器可能运行多个VM,每一个VM都会与多个VLAN通信。但是数据中心可能包含许多个机架交换机,所以VLAN总数可能会超过4,094。此外,由一个应用程序组成的VM可能位于地理位置不同的数据中心。这些VM必须通过2层网络连接,所以VLAN标识符必须在地理上保证唯一性。
[0038]为解决上述问题,采用VxLAN标准实现应用程序数据分离。RFC草案所描述的VxLAN标准使用一个名为VXLAN网络标识符(VNI)的24位标识符,将与应用程序关联的VLAN分组到一个片段中。每一个管理域能够定义多达1600万个VNI,而每一个VNI可能最多包含4,094个VLAN。因为只有运行在同一个VNI的VM可以进行通信,从而可以实现客户数据的分离。
[0039]对VM可见的2层网络是通过3层网络的UDP (User Datagram Protocol,用户数据报协议)数据报文进行传输的。这使数据中心可以在不同的IP子网中运行。VM只能访问2层网络,所以应用程序中的VM可以从一个数据中心迁移到另一个数据中心,而不需要对重新分配VM或者其他应用程序的VM可见。
[0040]由上可知,通过设置虚拟防火墙的可识别报文类型和可识别网络标识符ID,可以实现对虚拟防火墙流量识别方式的设置,即设置每个虚拟防火墙的流量识别方式为NVGRE或者VxLAN。
[0041]步骤S2,在检测到云网络的设备接收到报文时,判断报文的类型是否为步骤SI中预先设置的可识别报文类型,如果是则进一步判断该报文携带的网络标识符ID是否为步骤SI中预先设置的网络标识符ID,如果是则执行步骤S3。
[0042]在本发明的实施方式中,如图2所示,报文包括有网络标识符ID和内层报文,其中网络标识符ID位于报文的头部。
[0043]当报文进入云网络中的设备后,对该报文进行NVGRE或VxLAN标识的识别。具体来说,判断该报文的是否为步骤SI中预先设置的可识别报文类型,即NVGRE或VxLAN,如果是,则进一步判断该报文携带的网络标识符ID是否为步骤SI中预先设置的NVGRE或VxLAN的24位租赁网络标识符,如果该报文的类型不是NVGRE或VxLAN,或者报文携带的网络标识符ID不是预先设置的NVGRE或VxLAN的24位租赁网络标识符,则对该报文不予处理。其中,NVGRE的24位租赁网络标识符位于GRE报文的头部,VxLAN的24位租赁网络标识符位于VxLAN的头部,通过上述网络标识符可是实现对虚拟防火墙的流量的划分。
[0044]步骤S3,如果报文携带的网络标识ID为可识别网络标识ID,则剥去报文的网络标识符ID,将报文的内层报文发送至相应的虚拟防火墙。
[0045]如果在步骤S2中识别出报文携带的网络标识ID为可识别网络标识ID,即NVGRE或VxLAN的24位租赁网络标识符,则判断是否存在相应的虚拟防火墙,即是否存在流量识别方式为NVGRE或VxLAN的虚拟防火墙,如果存在,则剥去NVGRE或VxLAN报文头部的网络标识符ID,并存储上述剥去NVGRE或VxLAN报文头部的网络标识符ID以及该网络标识符ID与报文的对应关系,从而为后续为报文重新添加回对应的网络标识符ID作参考。
[0046]在剥去报文头部的网络标识符ID后,报文只剩下内层报文,则将报文的内层报文发送至相应的虚拟防火墙。即,如果网络标识符ID为NVGRE的24位租赁网络标识符,则将剥去报文头部后的内层报文发送至流量识别方式为NVGRE的虚拟防火墙。如果网络标识符ID为VxLAN的24位租赁网络标识符,则将剥去报文头部后的内层报文发送至流量识别方式为VxLAN的虚拟防火墙。
[0047]步骤S4,虚拟防火墙对内层报文进行业务处理,并在处理完成后对内层报文添加对应的原始网络标识符ID以封装成处理后报文,发送该处理后报文。
[0048]内层报文进入虚拟防火墙后,虚拟防火墙对该内层报文进行相应的安全业务处理。虚拟防火墙处理完报文后,根据该内层报文对应的网络标识符ID,重新添加对应的原始网络标识符ID,即重新封装NVGRE或VxLAN报文头,并将封装后的报文转发出去。
[0049]整个过程中防火墙的链接均是内层报文的链接,对于业务处理看不到NVGRE或VxLAN报文头,从而不会影响原有业务。
[0050]根据本发明的划分虚拟防火墙的方法,通过虚拟防火墙的方式来进行安全业务的隔离,并且降低了硬件部署成本。本发明采用NVGRE或VXLAN的方式划分的共享式虚拟防火墙,避免了采用接口方式区分防火墙流量而引起的接口利用率降低的问题。并网,本发明提供的划分虚拟防火墙的方法,可以支持较大数量的用户,从而满足大型云网络的需求。
[0051]图3是根据本发明实施方式的划分虚拟防火墙的设备的结构图。
[0052]如图3所示,本实施方式提供的划分虚拟防火墙的设备,包括:添加模块1、可识别内容设置模块2、报文检测模块3、可识别内容判断模块4、网络标识符处理模块5和报文传输模块6。
[0053]具体来说,添加模块I用于在云网络中添加多台虚拟防火墙V。
[0054]可识别内容设置模块2连接至虚拟防火墙V,用于设置虚拟防火墙V的可识别报文类型和可识别网络标识符ID。在本发明的实施方式中,可识别报文类型为使用NVGRE(Network Virtualization using Generic Routing Encapsulation,通用路由封装的网络虚拟化)或VxLAN (Virtual Extensible VLAN,虚拟可扩展局域网)。相应的,可识别网络标识符ID为NVGRE或VxLAN的24位租赁网络标识符。其中,可识别网络标识符ID为相应的租赁用户在网络中使用的ID号。其中,NVGRE和VxLAN的功能参考上述划分虚拟防火墙的方法步骤SI中的描述,在此不再赘述。
[0055]由上可知,通过可识别内容设置模块2设置虚拟防火墙V的可识别报文类型和可识别网络标识符ID,可以实现对虚拟防火墙V的流量识别方式的设置,即设置每个虚拟防火墙V的流量识别方式为NVGRE或者VxLAN。
[0056]报文检测模块3用于检测云网络的设备是否接收到报文。在本发明的实施方式中,报文包括有网络标识符ID和内层报文,其中网络标识符ID位于报文的头部。
[0057]可识别内容判断模块4连接至可识别内容设置模块2和报文检测模块3,用于在报文检测模块3检测到云网络的设备接收到报文时,判断报文的类型是否为可识别报文类型。如果是,则可识别内容判断模块4进一步判断报文携带的网络标识符ID是否为可识别网络标识符ID。
[0058]如果可识别内容判断模块4判断该报文的类型不是NVGRE或VxLAN,或者报文携带的网络标识符ID不是预先设置的NVGRE或VxLAN的24位租赁网络标识符,则对该报文不予处理。其中,NVGRE的24位租赁网络标识符位于GRE报文的头部,VxLAN的24位租赁网络标识符位于VxLAN的头部,通过上述网络标识符可是实现对虚拟防火墙V的流量的划分。
[0059]网络标识符处理模块5连接至可识别内容判断模块4,用于剥去报文的网络标识符ID。如果可识别内容判断模块4识别出报文携带的网络标识ID为可识别网络标识ID,即NVGRE或VxLAN的24位租赁网络标识符,则进一步判断是否存在相应的虚拟防火墙V,即是否存在流量识别方式为NVGRE或VxLAN的虚拟防火墙V,如果存在,则由网络标识符处理模块5剥去NVGRE或VxLAN报文头部的网络标识符ID,并存储上述剥去NVGRE或VxLAN报文头部的网络标识符ID以及该网络标识符ID与报文的对应关系,从而为后续为报文重新添加回对应的网络标识符ID作参考。
[0060]报文传输模块6连接至网络标识符处理模块5和虚拟防火墙V,用于将剥去网络标识符ID的内层报文发送至相应的虚拟防火墙V。网络标识符处理模块5在剥报文头部的网络标识符ID后,报文只剩下内层报文,则报文传输模块6将报文的内层报文发送至相应的虚拟防火墙V。即,如果网络标识符ID为NVGRE的24位租赁网络标识符,则报文传输模块6将剥去报文头部后的内层报文发送至流量识别方式为NVGRE的虚拟防火墙V。如果网络标识符ID为VxLAN的24位租赁网络标识符,则报文传输模块6将剥去报文头部后的内层报文发送至流量识别方式为VxLAN的虚拟防火墙V。
[0061]内层报文进入虚拟防火墙V后,虚拟防火墙V对该内层报文进行相应的安全业务处理。虚拟防火墙V处理完报文后,根据该内层报文对应的网络标识符ID,重新添加对应的原始网络标识符ID,即重新封装NVGRE或VxLAN报文头,并将封装后的报文转发出去。
[0062]根据本发明的划分虚拟防火墙的设备,通过虚拟防火墙的方式来进行安全业务的隔离,并且降低了硬件部署成本。本发明采用NVGRE或VXLAN的方式划分的共享式虚拟防火墙,避免了采用接口方式区分防火墙流量而引起的接口利用率降低的问题。并网,本发明提供的划分虚拟防火墙的方法,可以支持较大数量的用户,从而满足大型云网络的需求。
[0063]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【权利要求】
1.一种划分虚拟防火墙的方法,包括如下步骤: 在云网络中添加多台虚拟防火墙,设置所述虚拟防火墙的可识别报文类型和可识别网络标识符ID ; 在检测到云网络的设备接收到报文时,判断所述报文的类型是否为所述可识别报文类型,如果是则进一步判断所述报文携带的网络标识符ID是否为所述可识别网络标识符ID,其中,所述报文包括网络标识符ID和内层报文; 如果所述报文携带的网络标识符ID为所述可识别网络标识符ID,则剥去所述报文的网络标识符ID,将所述报文的内层报文发送至相应的所述虚拟防火墙; 所述虚拟防火墙对所述内层报文进行业务处理,并在处理完成后对所述内层报文添加对应的原始网络标识符ID以封装成处理后报文,并发送所述处理后报文。
2.根据权利要求1所述的划分虚拟防火墙的方法,其特征在于,所述可识别报文类型为使用通用路由封装的网络虚拟化NVGRE或虚拟可扩展局域网VxLAN。
3.根据权利要求2所述的划分虚拟防火墙的方法,其特征在于,所述可识别网络标识符ID为NVGRE或VxLAN的24位租赁网络标识符。
4.根据权利要求1或3所述的划分虚拟防火墙的方法,其特征在于,所述网络标识符ID位于所述报文的头部。
5.一种划分虚拟防火墙的设备,包括 添加模块,用于在云网络中添加多台虚拟防火墙; 可识别内容设置模块,所述可识别内容设置模块连接至虚拟防火墙,用于设置所述虚拟防火墙的可识别报文类型和可识别网络标识符ID ; 报文检测模块,用于检测云网络的设备是否接收到报文; 可识别内容判断模块,所述可识别内容判断模块连接至所述报文检测模块和所述可识别内容设置模块,用于在所述报文检测模块检测到云网络的设备接收到报文时,判断所述报文的类型是否为所述可识别报文类型,如果是则进一步判断所述报文携带的网络标识符ID是否为所述可识别网络标识符ID,其中,所述报文包括网络标识符ID和内层报文; 网络标识符处理模块,所述网络标识符处理模块连接至所述可识别内容判断模块,用于剥去所述报文的网络标识符ID ; 报文传输模块,所述报文传输模块连接至所述网络标识符处理模块和所述虚拟防火墙,用于将剥去网络标识符ID的内层报文发送至相应的所述虚拟防火墙; 其中,所述虚拟防火墙对所述内层报文进行业务处理,并在处理完成后对所述内层报文添加对应的原始网络标识符ID以封装成处理后报文,并发送所述处理后报文。
6.根据权利要求5所述的划分虚拟防火墙的设备,其特征在于,所述可识别报文类型为使用通用路由封装的网络虚拟化NVGRE或虚拟可扩展局域网VxLAN。
7.根据权利要求6所述的划分虚拟防火墙的设备,其特征在于,所述可识别网络标识符ID为NVGRE或VxLAN的24位租赁网络标识符。
8.根据权利要求5或7所述的划分虚拟防火墙的设备,其特征在于,所述网络标识符ID位于所述报文的头部。
【文档编号】H04L29/06GK103973673SQ201410139263
【公开日】2014年8月6日 申请日期:2014年4月9日 优先权日:2014年4月9日
【发明者】朱志博 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1