一种基于应用组的转发方法、设备以及系统与流程

文档序号:20764538发布日期:2020-05-15 18:42阅读:145来源:国知局
本发明关于数据处理
技术领域
:,特别是关于虚拟机的隔离技术,具体的讲是一种基于应用组的转发方法、基于应用组的转发系统、计算机设备以及计算机可读存储介质。
背景技术
::本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在数据中心有成千上万的虚拟机。随着东西向流量的增长,虚拟机之间的互访也越来越复杂。为了防止虚拟机攻击的横向扩展,需要通过安全策略将虚拟之间隔离,仅允许需要访问的虚拟机之间彼此通信。基于ip地址的openflow的流表项,随着主机的扩容,使得与该业务相关的所有的策略都得进行调整,即表项是成倍增长;同时随着虚拟机的迁移,需要调整原有策略,会影响到一条甚至多条策略。因此,如何提供一种新的方案,其能够解决上述技术缺陷是本领域亟待解决的技术难题。技术实现要素:有鉴于此,本发明提供了一种基于应用组的转发方法、基于应用组的转发系统、计算机设备以及计算机可读存储介质,根据实际的应用为具有相同属性的应用组和主机组分配唯一的标识,根据安全策略中源地址所属的主机组以及目的地址和端口所属的应用组,将待申请的安全策略映射成为由身份标识构成的应用组关系信息,然后根据安全策略申请与标识的映射关系,将应用访问关系分解到不同的流表,每一级流表通过访问关系信息串联,从而实现了基于应用组的转发。为了实现上述目的,本发明提供了一种基于应用组的转发方法,所述方法包括:获取安全策略申请;确定所述安全策略申请对应的应用组访问关系信息;将所述应用组访问关系信息分解到多级流表,以实现基于应用组的转发。在本发明的优选实施方式中,所述方法还包括:将具有相同属性的应用和主机划分到相同的组,并分配唯一的身份标识。在本发明的优选实施方式中,确定所述安全策略申请对应的应用组访问关系信息包括:确定所述安全策略申请对应的源地址、源地址所属的主机组标识以及所述源地址需要访问的目的应用组相关的身份标识;根据所述身份标识将所述安全策略申请映射为由所述身份标识构成的应用组访问关系信息。在本发明的优选实施方式中,将所述应用组访问关系信息分解到多级流表,以实现基于应用组的转发包括:根据所述安全策略申请与所述身份标识的映射关系,将所述应用组访问关系信息进行分解,得到多级流表;将每一级流表通过应用组访问关系信息进行串联,以实现基于应用组的转发。在本发明的优选实施方式中,所述方法还包括:将所述流表下发到相应的交换机;根据控制器定义的转发行为,实现报文的转发。本发明的目的之一是,提供了一种基于应用组的转发系统,包括:策略申请获取模块,用于获取安全策略申请;关系信息确定模块,用于确定所述安全策略申请对应的应用组访问关系信息;关系信息分解模块,用于将所述应用组访问关系信息分解到多级流表,以实现基于应用组的转发。在本发明的优选实施方式中,所述系统还包括:安全策略管理模块,用于将具有相同属性的应用和主机划分到相同的组,并分配唯一的身份标识。在本发明的优选实施方式中,所述关系信息确定模块包括:身份标识确定模块,用于确定所述安全策略申请对应的源地址、源地址所属的主机组标识以及所述源地址需要访问的目的应用组相关的身份标识;策略关系映射模块,用于根据所述身份标识将所述安全策略申请映射为由所述身份标识构成的应用组访问关系信息。在本发明的优选实施方式中,所述关系信息分解模块包括:根据所述安全策略申请与所述身份标识的映射关系,将所述应用访问关系信息进行分解,得到多级流表;多级流表串联模块,用于将每一级流表通过所述应用访问关系信息进行串联,以实现基于应用组的转发。在本发明的优选实施方式中,所述系统还包括:流表下发模块,用于将所述流表下发到相应的交换机;流表转发模块,用于根据控制器定义的转发行为,实现报文的转发。本发明的目的之一是,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种基于应用组的转发方法。本发明的目的之一是,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行一种基于应用组的转发方法。本发明的有益效果在于,提供了一种基于应用组的转发方法、基于应用组的转发设备、业务系统、计算机设备以及计算机可读存储介质,根据实际的应用,为具有相同属性的应用组和主机组分配唯一的标识,根据安全策略中源地址所属的主机组以及目的地址和端口所属的应用组,将待申请的安全策略映射成为由标识构成的metadata信息,然后根据策略与标识的映射关系,将策略分解到不同的流表,每一级流表通过metadata串联,从而实现了基于应用组的转发,减少了openflow的表项,提高了转发性能。为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种基于应用组的转发系统的结构示意图;图2为本发明实施例提供的一种基于应用组的转发方法的流程图;图3为本发明提供的具体实施例中主机组与应用组的示意图;图4为本发明提供的具体实施例中基于应用组的转发方法的流程示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、方法或计算机程序产品。因此,本发明公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。在数据中心有成千上万的虚拟机,随着东西向流量的增长,虚拟机之间的互访也越来越复杂,为了防止虚拟机攻击的横向扩展,需要通过安全策略将虚拟之间隔离,仅允许需要访问的虚拟机之间彼此通信。基于ip地址的openflow的流表项,随着主机的扩容,使得与该业务相关的所有的策略都得进行调整,即表项是成倍增长;同时随着虚拟机的迁移,需要调整原有策略,会影响到一条甚至多条策略。基于此,本发明提供了一种基于应用组的转发系统,图1为本发明实施例提供的一种基于应用组的转发系统的结构示意图,请参阅图1,该系统包括:策略申请获取模块100,用于获取安全策略申请。在本发明的一个具体实施例中,当主机组webx需要访问应用组dbx时,需要开通安全策略申请。此时的安全策略申请中源地址即为主机组webx的地址,源地址所需要访问的目的应用组即为应用组dbx。在本发明的一种实施方式中,该系统还包括:安全策略管理模块,用于将具有相同属性的应用和主机划分到相同的组,并分配唯一的身份标识,身份标识诸如为32位。在本发明的一个具体实施例中,如图3所示,webx由三台主机192.168.10.1-3构成,其分配的唯一标识为0x0001,dbx由主机192.168.20.1-5构成,端口为3306,其分配的唯一标识为0x0002。如图1所示,该系统还包括:关系信息确定模块200,用于确定所述安全策略申请对应的应用组访问关系信息。在本发明的一种实施方式中,关系信息确定模块200包括:身份标识确定模块,用于确定所述安全策略申请对应的源地址、源地址所属的主机组标识以及所述源地址需要访问的目的应用组相关的身份标识;映射模块,用于根据所述身份标识将所述安全策略申请映射为由所述身份标识构成的应用组访问关系信息。在本发明的一个具体实施例中,如图3所示,当主机组webx需要访问应用组dbx时,需要开通安全策略申请。此时的安全策略申请中源地址即为主机组webx的地址,源地址所需要访问的目的应用组即为应用组dbx。身份标识确定模块根据安全策略申请中的源地址和源地址所需要访问的目的应用组在安全策略管理模块中找到其相关的身份标识。策略关系映射模块根据主机组和应用组的标识,将安全策略映射成为由标识构成的策略关系信息即metadata信息,源端主机组和目的端应用组标识分布构成metadata的低32位和高32位。如图1所示,该系统还包括:关系信息分解模块300,用于将所述应用组访问关系信息分解到多级流表,以实现基于应用组的转发。在本发明的一种实施方式中,关系信息分解模块包括:多级流表生成模块,用于根据所述应用组访问关系信息以及所述主机地址与身份标识的映射关系,将所述应用组访问关系信息进行分解,得到多级流表;多级流表串联模块,用于将每一级流表通过所述应用组访问关系信息进行串联,以实现基于应用组的转发。在本发明的一个具体实施例中,如图3所示,当主机组webx需要访问应用组dbx时,映射模块根据主机组和应用组的标识,将安全策略申请映射成为由标识构成的应用组访问关系metadata信息,源端主机组和目的端应用组标识分布构成metadata的低32位和高32位。此后多级流表生成模块根据所述应用访问关系信息与所述身份标识的映射关系,将所述应用访问关系信息进行分解得到多级流表,具体的,将源地址中的主机地址作为match字段,action为setmetadata,gototable10,即设置metadata等于0x0001,value为源地址所属的主机组的标识,并下发到表1所示的流表table0。表1将安全策略申请中的目的地址和端口作为match字段,action为updatemetadata和gototable20,metadata的value为目的应用组的标识和原始metadata的拼接,目的应用组的标识占用高32位,下发到表2所示的table10。表2将所申请安全策略根据应用组标识所拼接组成的metadata,作为match字段,下发到表3所示的table20,action为出接口。最后当有报文进入交换机之后,从table0开始逐级匹配,直到报文转发出去。表3matchactionmetadata=0x00020001outportmetadata=0x00020001outportmetadata=0x00020001outport在本发明的其他实施方式中,该系统还包括:流表下发模块,用于将所述流表下发到相应的交换机;流表转发模块,用于根据控制器定义的转发行为,实现报文的转发。如上即是本发明提供的一种基于应用组的转发系统,根据实际的应用,为具有相同属性的应用组和主机组分配唯一的标识,根据安全策略中源地址所属的主机组以及目的地址和端口所属的应用组,将待申请的安全策略映射成为由标识构成的metadata信息,然后根据策略与标识的映射关系,将策略分解到不同的流表,每一级流表通过metadata串联,从而实现了基于应用组的转发。本发明实现了基于应用组的流表转发,大大减少了openflow的表项,提高了转发性能。尤其是当虚拟机迁移的时候,仅仅需要变更主机相关的流表,不需要操作策略相关的流表,减少了表项的变更。此外,尽管在上文详细描述中提及了系统的若干单元模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。以上所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。在介绍了本发明示例性实施方式的基于应用组的转发的系统之后,接下来,参考附图对本发明示例性实施方式的方法进行介绍。该方法的实施可以参见上述整体的实施,重复之处不再赘述。具体的,图2为本发明实施例提供的一种基于应用组的转发方法的流程示意图,请参阅图2,该方法包括:s101:获取安全策略申请,所述安全策略申请包括源地址、源地址所属的主机组以及所述源地址需要访问的目的应用组。在本发明的一个具体实施例中,当主机组webx需要访问应用组dbx时,需要开通安全策略申请。此时的安全策略申请中源地址即为主机组webx的地址,源地址所需要访问的目的应用组即为应用组dbx。在本发明的一种实施方式中,该方法还包括:将具有相同属性的应用和主机划分到相同的组,并分配唯一的身份标识,身份标识诸如为32位。在本发明的一个具体实施例中,如图3所示,webx由三台主机192.168.10.1-3构成,其分配的唯一标识为0x0001,dbx由主机192.168.20.1-5构成,端口为3306,其分配的唯一标识为0x0002。如图2所示,该方法还包括:s102:确定所述安全策略申请对应的应用组访问关系信息。在本发明的一种实施方式中,步骤s102包括:确定所述安全策略申请对应的源地址、源地址所属的主机组标识以及所述源地址需要访问的目的应用组相关的身份标识;根据所述身份标识将所述安全策略申请映射为由所述身份标识构成的应用组访问关系信息。在本发明的一个具体实施例中,如图3所示,当主机组webx需要访问应用组dbx时,需要开通安全策略申请。此时的安全策略申请中源地址即为主机组webx的地址,源地址所需要访问的目的应用组即为应用组dbx。身份标识确定模块根据安全策略申请中的源地址和源地址所需要访问的目的应用组在安全策略管理模块中找到其相关的身份标识。根据主机组和应用组的标识,将安全策略映射成为由标识构成的策略关系信息即metadata信息,源端主机组和目的端应用组标识分布构成metadata的低32位和高32位。如图2所示,该方法还包括:s103:将所述应用组访问关系信息分解到多级流表,以实现基于应用组的转发。在本发明的一种实施方式中,步骤s103包括:根据所述应用访问关系信息与所述身份标识的映射关系,将所述应用组访问关系信息进行分解,得到多级流表;将每一级流表通过应用组访问关系信息进行串联,以实现基于应用组的转发。在本发明的一个具体实施例中,如图3所示,当主机组webx需要访问应用组dbx时,策略关系映射模块根据主机组和应用组的标识,将安全策略映射成为由标识构成的策略关系metadata信息,源端主机组和目的端应用组标识分布构成metadata的低32位和高32位。此后多级流表生成模块根据所述策略关系信息与所述身份标识的映射关系,将所述策略关系信息进行分解得到多级流表,具体的,将源地址中的主机地址作为match字段,action为setmetadata,gototable10,即设置metadata等于0x0001,value为源地址所属的主机组的标识,并下发到表1所示的流表table0。将安全策略申请中的目的地址和端口作为match字段,action为updatemetadata和gototable20,metadata的value为目的应用组的标识和原始metadata的拼接,目的应用组的标识占用高32位,下发到表2所示的table10。将所申请安全策略根据应用组标识所拼接组成的metadata,作为match字段,下发到表3所示的table20,action为出接口。最后当有报文进入交换机之后,从table0开始逐级匹配,直到报文转发出去。在本发明的其他实施方式中,该方法还包括:将所述流表下发到相应的交换机;根据控制器定义的转发行为,实现报文的转发。如上即是本发明提供的一种基于应用组的转发方法,根据实际的应用,为具有相同属性的应用组和主机组分配唯一的标识,根据安全策略中源地址所属的主机组以及目的地址和端口所属的应用组,将待申请的安全策略映射成为由标识构成的metadata信息,然后根据应用组访问关系信息与标识的映射关系,将策略分解到不同的流表,每一级流表通过metadata串联,从而实现了基于应用组的转发。本发明实现了基于应用组的流表转发,大大减少了openflow的表项,提高了转发性能。尤其是当虚拟机迁移的时候,仅仅需要变更主机相关的流表,不需要操作策略相关的流表,减少了表项的变更。本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种基于应用组的转发方法。本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行一种基于应用组的转发方法。应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。在介绍了本发明示例性实施方式之后,接下来,参考附图对本发明示例性实施方式的系统进行介绍。该系统的实施可以参见上述整体的实施,重复之处不再赘述。下面结合具体的实施例,详细介绍本发明的技术方案。图4为本发明提供的具体实施例中基于应用组的转发方法的流程示意图,请参阅图4,在该实施例中:首先,为主机组和应用组分配唯一的32位标识,即将具有相同属性的主机或者应用划分为一个组,并分配唯一的32标识,如图3,webx的有三台主机192.168.10.1-3构成,其标识为0x0001;dbx由主机192.168.20.1-5构成,端口为3306,其标识为0x0002。其次,根据安全策略中的源地址和目的地址以及端口,找到相应的标识。当主机组webx需要访问应用组dbx时,需要开通安全策略。系统根据安全策略申请中的源地址以及源地址所属的主机组和源地址所需要访问的目的应用组,在应用组管理单元中,找到其相关的标识。然后,将安全策略分解为源地址、目的地址以及metadata构成的三张流表。具体的,根据地址组和应用组的标识,将安全策略映射成为由标识构成的metadata信息,将源地址中的主机作为match字段,action为setmetadata,即设置metadata等于0x0001,为源地址所属的主机组的标识;跳转到table0;将流表下发到交换机的table0中,见表1;将目的应用组作为match字段,action为updatemetadata,和跳转到table20,metadata的value为目的应用组的标识和原始metadata的拼接;目的应用组的标识占用高32位;即metadata等于0x00020001,并下发到table10,见表2。将由安全策略根据应用组标识拼接为metadata,即0x00020001,作为match字段,下发到table20,action为出接口。见表3。最后,将三张流表下发到设备,并通过metadata关联。当有报文进入交换机之后,从table0开始逐级匹配,直到报文转发出去。综上所述,本发明提供了一种基于应用组的转发方法、基于应用组的转发系统、计算机设备以及计算机可读存储介质,不会因为虚拟机的变更,而需要去调整策略,仅仅需要调整与虚拟机相关的表项;同时将原来的关联源地址和目的地址以及端口的策略表项,进行了拆分,使得表项大大减少,提高了转发性能。需求1:适应云计算,以及虚拟机扩容,迁移等场景。需求2:减少openflow的流表项,提高转发性能。需求3:当虚拟机有变更时,仅仅需要调整虚拟机相关的表项,不会影响到策略表。对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)执行本申请各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持系统或便携式系统、平板型系统、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子系统、网络pc、小型计算机、大型计算机、包括以上任何系统或系统的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理系统来执行任务。在分布式计算环境中,程序模块可以位于包括存储系统在内的本地和远程计算机存储介质中。虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1