实现安全组功能的方法及装置制造方法

文档序号:7821420阅读:180来源:国知局
实现安全组功能的方法及装置制造方法【专利摘要】本申请提供一种实现安全组功能的方法及装置,应用于软件定义网络SDN控制器,该方法包括:接收虚拟交换机上送的流表项请求报文;将所述流表项请求报文中携带的业务报文的报文特征与预设安全组策略进行匹配;根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项。本申请通过在控制器中进行安全组检查,避免了系统资源的浪费,提供了系统的工作效率。【专利说明】实现安全组功能的方法及装置【
技术领域
】[0001]本申请涉及网络通信【
技术领域
】,尤其涉及一种实现安全组功能的方法及装置。【
背景技术
】[0002]目前,在SDN(SoftwareDefinedNetworks,软件定义网络)网络中,SDN控制器向虚拟交换机下发流表项,虚拟交换机根据该流表项对虚拟机的业务报文进行处理。虚拟机与虚拟交换机之间通过Linux的bridge(网桥)相连,并通过在bridge上运行用于IP(InternetProtocol,网际协议)信息包过滤的IPtables(网际协议地址表)实现安全组功能。安全组是一系列网络安全策略的集合,限定特定端口允许通过的网络流量的类型和方向。[0003]现有安全组实现方案需要为每一个虚拟机创建对应的bridge,并在每一个bridge中进行IPtables的配置。当网络中存在大量虚拟机时,需要创建同等数量的bridge,造成系统资源的浪费,同时增加了配置的工作量。同时,报文传输需要经过bridge和虚拟交换机两次转发才能到达虚拟机,导致系统性能下降。【
发明内容】[0004]有鉴于此,本申请提供了一种实现安全组功能的方法,应用于软件定义网络SDN控制器,该方法包括:[0005]接收虚拟交换机上送的流表项请求报文;[0006]将所述流表项请求报文中携带的业务报文的报文特征与预设安全组策略进行匹配;[0007]根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项。[0008]本申请还提供了一种实现安全组功能的装置,应用于软件定义网络SDN控制器,该装置包括:[0009]接收单元,用于接收虚拟交换机上送的流表项请求报文;[0010]匹配单元,用于将所述流表项请求报文中携带的业务报文的报文特征与预设安全组策略进行匹配;[0011]下发单元,用于根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项。[0012]本申请在控制器中预先配置安全组策略,当接收到虚拟交换机上送的流表项请求报文时,根据该流表项请求报文中携带的业务报文的报文特征进行安全组检查,对于通过安全组检查的业务报文,向虚拟交换机下发该业务报文的流表项。本申请在流表项处理过程中进行安全组检查,避免了系统资源的浪费,同时,提高了系统的工作效率。【专利附图】【附图说明】[0013]图1是虚拟环境下的SDN网络结构示意图;[0014]图2是本申请一种实施例中实现安全组功能方法的处理流程图;[0015]图3是本申请一种实施例中实现安全组功能装置的基础硬件示意图;[0016]图4-1是本申请一种实施例中实现安全组功能装置的结构示意图;[0017]图4-2是本申请另一种实施例中实现安全组功能装置的结构示意图;[0018]图4-3是本申请另一种实施例中实现安全组功能装置的结构示意图。【具体实施方式】[0019]为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图对本申请所述方案作进一步地详细说明。[0020]图1所示为虚拟环境下的SDN网络结构示意图。该SDN网络包括服务器1、服务器2以及控制器,其中,服务器I中包括虚拟机VM1、VM2以及虚拟交换机OVSl,VMl连接在OVSl的端口SI上,VM2连接在OVSl的端口S2上;服务器2中包括虚拟机VM3、VM4以及虚拟交换机0VS2,VM3连接在0VS2的端口S3上,VM4连接在0VS2的端口S4上。控制器通过向虚拟交换机下发流表项,指导虚拟交换机按照流表项处理业务报文。[0021]在对SDN网络中的业务报文实行安全组策略时,现有技术方案通常采用在虚拟机和虚拟交换机之间配置虚拟网桥,在虚拟网桥上运行安全组功能,且每一个虚拟机需单独配置虚拟网桥,占用了大量的系统资源,同时,业务报文需要经过虚拟交换机和虚拟网桥的两次转发,导致系统的工作效率降低。[0022]针对上述问题,本申请实施例提出一种实现安全组功能的方法,该方法无需在虚拟机和虚拟交换机之间配置虚拟网桥,虚拟机直接与虚拟交换机相连。控制器在接收到虚拟交换机上送的流表项请求报文后,将流表项请求报文中携带的业务报文的报文特征与控制器中预先配置的安全组策略进行匹配,对通过安全组检查的业务报文,向虚拟交换机下发该业务报文的流表项。[0023]参见图2,为本申请实现安全组功能方法的一个实施例流程图,该实施例对实现安全组功能的处理过程进行描述。[0024]步骤210,接收虚拟交换机上送的流表项请求报文。[0025]在SDN网络中,控制器与交换机之间通过管理协议(例如,OpenFlow协议)进行信息交互,在信息交互过程中实现流表项的下发。本申请实施例中控制器与虚拟交换机之间的信息交互以OpenFlow协议为例进行说明。[0026]与虚拟机相连的虚拟交换机在接收到业务报文后,查询本地的流表项,若没有找到与该业务报文匹配的流表项,则通过packetin报文(流表项请求报文)向控制器请求业务报文对应的流表项。控制器接收虚拟交换机上送的流表项请求报文,进行后续处理。[0027]步骤220,将所述流表项请求报文中携带的业务报文的报文特征与预设安全组策略进行匹配。[0028]控制器接收到虚拟交换机上送的流表项请求报文后,从该流表项请求报文中提取业务报文,并从该业务报文中获取与虚拟交换机相连的虚拟机的IP地址,由于控制器负责SDN网络拓扑结构的收集和路径计算,因此,知道该虚拟机连接在虚拟交换机的哪个端口上。[0029]控制器中预先设置了虚拟机端口与安全组策略的绑定关系,因此,在确定了虚拟机所连接的虚拟交换机的端口后,可以查询与该端口绑定的安全组策略。该安全组策略为网络管理员根据实际的业务需求对SDN网络内的业务流量加以限定而制定的一系列安全策略的集合。例如,当网络管理员不允许使用某台虚拟机的用户访问外网时,可以通过制定安全组策略禁止该虚拟机访问外网。[0030]控制器从流表项请求报文中提取业务报文的报文特征(例如,业务报文的源IP地址和目的IP地址),将该报文特征与前述虚拟交换机端口对应的安全组策略(例如,禁止源IP地址为60.1.1.2,目的IP地址为80.1.1.20的业务报文转发)进行匹配,以确定该业务报文是否可以通过安全组检查。[0031]步骤230,根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项。[0032]根据步骤220中的匹配结果,向虚拟交换机下发与虚拟机连接的端口对应的流表项,分为以下两种情况进行处理:[0033]当匹配结果为允许交换机转发接收到的业务报文时,可以向虚拟交换机下发该业务报文的转发流表项,以指导虚拟交换机按照该转发流表项对业务报文进行转发。[0034]当匹配结果为不允许交换机转发接收到的业务报文,可以向虚拟交换机下发该业务报文的丢弃流表项,以使虚拟交换机丢弃该业务报文,不进行业务报文转发。[0035]当虚拟交换机端口的安全组策略发生变化时,例如,重新配置端口的安全组策略或删除端口的安全组策略时,可以通知虚拟交换机删除与该端口相关的所有流表项,以便虚拟机交换机在接收到业务报文后重新向控制器发送packetin报文,控制器根据新的安全组策略对业务报文进行检测,重新向交换机下发流表项。[0036]上述安全组策略发生变化时的处理方法虽然能够保证流表项的同步更新,但虚拟交换机删除大量的流表项后,会集中发送packetin报文向控制器请求流表项,造成不必要的网络拥塞,不利于网络稳定。[0037]本申请实施例针对上述问题,采取了一种更优的处理方式,具体为:当虚拟交换机端口的安全组策略发生变化时,向虚拟交换机下发第一流表项,该第一流表项的优先级高于已下发的与变化的安全组策略相关的流表项。虚拟交换机在接收到业务报文后,首先匹配优先级高的流表项,因此,会按照第一流表项进行业务报文处理。可见,该处理方式只针对确实发生了安全策略变化的业务报文进行处理,其处理方式更加合理,节省了网络带宽,避免了网络资源的浪费。[0038]现仍以图1所示SDN网络为例,介绍实现安全组功能的处理过程。[0039]假设,VMl的IP地址为60.1.1.10,VM2的IP地址为60.1.1.20,VM3的IP地址为60.2.2.30,VM4的IP地址为60.2.2.40。控制器预先为虚拟交换机中连接虚拟机的端口配置安全组策略。假设,在SI端口上配置的一条安全策略为禁止VMl(60.1.1.10)接收VM4(60.2.2.40)发送的业务报文,即禁止源IP地址为60.2.2.40,目的IP地址为60.1.1.10的业务报文转发给VMl。[0040]当OVSl首次接收到VM4发送的业务报文时,查询本地的流表项,在未找到与该业务报文匹配的流表项时,向控制器发送流表项请求报文,该流表项请求报文中携带VM4发送的业务报文。[0041]控制器接收到该流表项请求报文后,从携带的业务报文中获取到该业务报文的源IP地址为60.2.2.40,目的IP地址为60.1.1.10,该目的IP地址为OVSI的SI端口上的虚拟机VMl的IP地址,因此,查询SI端口上的安全组策略,其中的一条安全策略为禁止源IP地址为60.2.2.40,目的IP地址为60.1.1.10的业务报文转发给VMl。控制器接收到业务报文匹配了该安全策略,因此,向OVSl下发该业务报文的丢弃流表项。[0042]OVSI根据接收到的丢弃流表项,将VM4发送的业务报文丢弃,不向VMl转发。后续再接收到VM4发送给VMl的业务报文时,直接丢弃。[0043]当网络管理员更改了SI端口的安全组配置,允许VMl接收VM4发送的业务报文时,控制器可以通知OVSl删除与SI端口相关的所有流表项,以便OVSl再接收到VM4发送给VMl的业务报文时,重新向控制器请求流表项。控制器根据变化后安全策略下发转发流表项给OVSl,OVSI将VM4发送的业务报文转发给VMl。[0044]当然,在SI端口的安全策略发生变化时,控制器可以通过主动下发与变化后的安全策略匹配的转发流表项给0VS1,但该转发流表项的优先级要高于已下发的丢弃流表项。当OVSl再次接收到VM4发送给VMl的业务报文时,会匹配优先级高的转发流表项,从而实现VM4的业务报文向VMl的转发,而优先级低的丢弃流表项在到达流表项老化时间时自动删除。[0045]与前述实现安全组功能方法的实施例相对应,本申请还提供实现安全组功能装置的实施例。[0046]本申请实现安全组功能装置的实施例可以应用在SDN控制器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请实现安全组功能装置所在设备的一种硬件结构图,除了图3所示的CPU、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件。[0047]请参考图4-1,为本申请一个实施例中的实现安全组功能装置的结构示意图。该实现安全组功能装置包括:接收单元401、匹配单元402以及下发单元403,其中:[0048]接收单元401,用于接收虚拟交换机上送的流表项请求报文;[0049]匹配单元402,用于将所述流表项请求报文中携带的业务报文的报文特征与预设安全组策略进行匹配;[0050]下发单元403,用于根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项。[0051]请参考图4-2,为本申请另一个实施例中的实现安全组功能装置的结构示意图。该实现安全组功能装置在图4-1所示基础上,还可以包括:确定单元404和查询单元405,其中:[0052]确定单元404,用于在所述匹配单元402将所述流表项请求报文中携带的业务报文的报文特征与预设的安全组策略进行匹配之前,根据所述流表项请求报文中携带的虚拟机的网际协议IP地址,确定与所述虚拟机连接的所述虚拟交换机的端口;[0053]查询单元405,用于查询所述端口的预设安全组策略;[0054]所述匹配单元402,具体用于将所述流表项请求报文中携带的业务报文的报文特征与所述端口的预设安全组策略进行匹配;[0055]所述下发单元403,具体用于根据匹配结果,向所述虚拟交换机下发与所述端口对应的用于处理所述业务报文的流表项。[0056]所述下发单元403,还具体用于当允许转发所述业务报文时,向所述虚拟交换机下发用于转发所述业务报文的转发流表项;当不允许转发所述业务报文时,向所述虚拟交换机下发用于丢弃所述业务报文的丢弃流表项。[0057]请参考图4-3,为本申请另一个实施例中的实现安全组功能装置的结构示意图。该实现安全组功能装置在图4-2所示基础上,还可以包括:[0058]通知单元406,用于当所述端口的预设安全组策略发生变化时,通知所述虚拟交换机删除与所述端口对应的流表项。[0059]所述下发单元403,还用于当所述端口的预设安全组策略发生变化时,向所述虚拟交换机下发第一流表项,所述第一流表项的优先级高于已下发的与所述变化的安全组策略相关的流表项,以使所述虚拟交换机根据所述第一流表项进行业务报文处理。[0060]上述图4-1至4-3示出的实现安全组功能装置的实施例,其具体实现过程可参见前述方法实施例的说明,在此不再赘述。[0061]从以上方法和装置的实施例中可以看出,当接收到虚拟交换机上送的流表项请求报文时,根据该流表项请求报文中携带的业务报文的报文特征进行安全组检查,对于通过安全组检查的业务报文,向虚拟交换机下发该业务报文的流表项。通过上述处理过程,避免了系统资源的浪费,同时,提高了系统的工作效率。[0062]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。【权利要求】1.一种实现安全组功能的方法,应用于软件定义网络SDN控制器,其特征在于,该方法包括:接收虚拟交换机上送的流表项请求报文;将所述流表项请求报文中携带的业务报文的报文特征与预设安全组策略进行匹配;根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项。2.如权利要求1所述的方法,其特征在于,所述将所述流表项请求报文中携带的业务报文的报文特征与预设的安全组策略进行匹配之前,还包括:根据所述流表项请求报文中携带的虚拟机的网际协议IP地址,确定与所述虚拟机连接的所述虚拟交换机的端口;查询所述端口的预设安全组策略;所述将所述流表项请求报文中携带的业务报文的报文特征与预设安全组策略进行匹配,具体包括:将所述流表项请求报文中携带的业务报文的报文特征与所述端口的预设安全组策略进行匹配;所述根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项,具体包括:根据匹配结果,向所述虚拟交换机下发与所述端口对应的用于处理所述业务报文的流表项。3.如权利要求1或2所述的方法,其特征在于,所述根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项,包括:当允许转发所述业务报文时,向所述虚拟交换机下发用于转发所述业务报文的转发流表项;当不允许转发所述业务报文时,向所述虚拟交换机下发用于丢弃所述业务报文的丢弃流表项。4.如权利要求2所述的方法,其特征在于,还包括:当所述端口的预设安全组策略发生变化时,通知所述虚拟交换机删除与所述端口对应的流表项。5.如权利要求2所述的方法,其特征在于,还包括:当所述端口的预设安全组策略发生变化时,向所述虚拟交换机下发第一流表项,所述第一流表项的优先级高于已下发的与所述变化的安全组策略相关的流表项,以使所述虚拟交换机根据所述第一流表项进行业务报文处理。6.一种实现安全组功能的装置,应用于软件定义网络SDN控制器,其特征在于,该装置包括:接收单元,用于接收虚拟交换机上送的流表项请求报文;匹配单元,用于将所述流表项请求报文中携带的业务报文的报文特征与预设安全组策略进行匹配;下发单元,用于根据匹配结果,向所述虚拟交换机下发用于处理所述业务报文的流表项。7.如权利要求6所述的装置,其特征在于,所述装置还包括:确定单元,用于在所述匹配单元将所述流表项请求报文中携带的业务报文的报文特征与预设的安全组策略进行匹配之前,根据所述流表项请求报文中携带的虚拟机的网际协议IP地址,确定与所述虚拟机连接的所述虚拟交换机的端口;查询单元,用于查询所述端口的预设安全组策略;所述匹配单元,具体用于将所述流表项请求报文中携带的业务报文的报文特征与所述端口的预设安全组策略进行匹配;所述下发单元,具体用于根据匹配结果,向所述虚拟交换机下发与所述端口对应的用于处理所述业务报文的流表项。8.如权利要求6或7所述的装置,其特征在于:所述下发单元,具体用于当允许转发所述业务报文时,向所述虚拟交换机下发用于转发所述业务报文的转发流表项;当不允许转发所述业务报文时,向所述虚拟交换机下发用于丢弃所述业务报文的丢弃流表项。9.如权利要求7所述的装置,其特征在于,所述装置还包括:通知单元,用于当所述端口的预设安全组策略发生变化时,通知所述虚拟交换机删除与所述端口对应的流表项。10.如权利要求7所述的装置,其特征在于:所述下发单元,还用于当所述端口的预设安全组策略发生变化时,向所述虚拟交换机下发第一流表项,所述第一流表项的优先级高于已下发的与所述变化的安全组策略相关的流表项,以使所述虚拟交换机根据所述第一流表项进行业务报文处理。【文档编号】H04L12/741GK104394080SQ201410710650【公开日】2015年3月4日申请日期:2014年11月28日优先权日:2014年11月28日【发明者】温涛,林涛,丁波,叶镖翔申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1