CN106656591A - 一种软件定义网络中多应用间的规则冲突检测与消除方法 - Google Patents
一种软件定义网络中多应用间的规则冲突检测与消除方法 Download PDFInfo
- Publication number
- CN106656591A CN106656591A CN201611162507.2A CN201611162507A CN106656591A CN 106656591 A CN106656591 A CN 106656591A CN 201611162507 A CN201611162507 A CN 201611162507A CN 106656591 A CN106656591 A CN 106656591A
- Authority
- CN
- China
- Prior art keywords
- rule
- conflict
- application
- network
- priority
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种软件定义网络中多应用间的规则冲突检测与消除方法,当有新应用需要部署在网络中时,由控制器制定应用规则;然后将规则进行冲突检测,对应用规则与已经部署的应用规则进行检测,如果没有冲突,直接部署新应用;如果存在冲突则进行冲突规则消除,根据优先级判断准则获取规则的优先级,并根据优先级来消除冲突的规则;将消除了冲突的规则配置到网络中。本发明可以检测交换机中流表中的规则冲突,防火墙应用规则与交换机流表之间的规则冲突,还有其他应用之间的规则冲突;现有的软件定义网络开源控制器软件可以直接添加新的功能模块,将冲突检测与消除模块添加到控制模块,实时地检测网络中的应用,保证网络功能正常。
Description
技术领域
本发明属于信息网络技术领域,尤其涉及一种软件定义网络中多应用间的规则冲突检测与消除方法。
背景技术
随着互联网技术的飞速发展,越来越多的网络设备需要管理。不同厂家不同型号的网络设备往往具有不同的配置指令,这样就会导致设备管理员需要查阅很多的资料来对相应的设备进行配置管理,面对日益庞大的网络系统,网络设备的配置管理将是一个非常繁琐的问题。2006年,斯坦福大学启动了“Clean-Slate Design for the Internet”项目,该项目旨在研究提出一项新的网络技术,突破当前互联网基础架构的限制,其核心理念是使网络软件化,并充分实现网络开放,使得网络能够像软件一样便捷,灵活。为支持这个项目的实现,2008年斯坦福大学的教授Nick Mckeown教授提出了OpenFlow,其核心思想是将传统网络设备的数据平面和控制平面分离,通过集中控制器以标准接口对各种网络设备进行分配和管理。随后经由斯坦福项目的推广,这个概念逐渐扩展为软件定义网络(SDN)。软件定义网络将控制平面与数据平面分离,以达到控制平面可编程和数据平面抽象化的目的。软件定义网络主要分为三层架构,从上到下依次是:应用层,控制层,基础设施层。应用层主要由上层应用组成,控制层由SDN控制器组成,基础设施层由SDN交换机和一些主机组成。SDN交换机在接收到数据时根据交换机中的流表对数据包进行处理,如果没有匹配的流表,数据包的头部信息将转发给控制器,由控制器制定出相应的处理规则,转发给交换机,由交换机来进行处理。软件定义网络的提出使得管理员可以忽略底层硬件的差别,对网络设备进行集中统一管理。大大降低了网络管理的复杂性。然而,因为软件定义网络的集中控制,使得多个应用之间的规则可能会产生冲突。如防火墙应用与交换机流表间规则的冲突,交换机流表自身的规则冲突,负载均衡与访问控制应用规则之间的冲突,共享资源分配的冲突等。这些冲突的规则如果不进行检测与消除,将会使得整个软件定义网络瘫痪。现有技术包括三类;第一类:Porras P,Shin S,Yegneswaran V,et al.A security enforcementkernel for OpenFlow networks[C]//Proceedings of the first workshop on Hottopics in software defined networks.ACM,2012:121-126.主要内容:提出了针对NOX控制器因提供动态OpenFlow应用时所产生的潜在冲突流规则的检测与消除方法。它是在NOX控制器上增加角色认证和增强安全技术来实时检测流规则冲突,并提出了基于别名集的SDN安全策略冲突检测方法,该方法将通信中的源地址和目的地址分别放在两个地址集合中,并将Set-Filed操作中被修改的地址也加入到上述两个集合,然后将源地址集合与目标地址集合与防火墙的安全规则进行比较从而发现策略冲突。别名集合方法可以找到一些简单的由于修改流表造成的安全策略冲突。王鹃,王江,焦虹阳,等.一种基于OpenFlow的SDN访问控制策略实时冲突检测与解决方法[J].计算机学报,2015,38(4):872-883.针对防火墙中的安全规则可能会因为交换机的流表项被改写而绕过,提出了一种基于Flowpath的实时动态策略冲突检测与解决方法,通过实时获取SDN网络状态,能够检测出防火墙规则和交换机中流表规则的直接或者间接违反,如果发现冲突,使用基于Flowpath进行自动化和细粒度的冲突解决。王鑫,高能,马存庆,等.分布式SDN控制器的规则冲突解决方案[J].信息网络安全,2014(9):6-11.将FortNox的研究扩展到分布式系统中,并添加基于端到端路径的控制器规则冲突解决机制,同时增加了控制器的自举过程。Hu H,Han W,Ahn G J,etal.FLOWGUARD:Building robust firewalls for software-defined networks[C]//Proceedings of the third workshop on Hot topics in software definednetworking.ACM,2014:1-3.提出了FLOWGUARD方案,方案能够在网络状态更新的时候实时地检测防火墙安全规则是否被违反,并及时解决。基于Header Space Analysis方法,将防火墙规则分为5个域:源地址,源端口,目标地址,目标端口,协议。入口流路径的头域由源地址,源端口和协议组成。出口流路径的头域由目标地址和目标端口组成。将重写流路径条目称为转移流路径(shifted flow paths),转移流路径组成了一个图称为:Shifted FlowPath Graph。防火墙中的规则建立一个Authorization Space。通过比较Shifted FlowPath Graph和Deny Authorization Space这两个空间来判断是否有冲突的策略。如果存在冲突则按照优先级修改防火墙和交换机流表中的规则。Wang J,Wang Y,Hu H,etal.Towards a Security-Enhanced Firewall Application for OpenFlowNetworks[M]//Cyberspace Safety and Security.Springer International Publishing,2013:92-103。Auyoung A,Ma Y,Banerjee S,et al.Democratic Resolution of Resource ConflictsBetween SDN Control Programs[C]//ACM International on Conference on EmergingNETWORKING Experiments and Technologies.ACM,2014.针对所有共享网络(重点是SDN网络)中模块之间的资源分配的冲突问题提出来检测与消除方案。冲突来源:不同租户之间的资源分配(可以是带宽,虚拟机等)。方案提出了处理的过程:(1)租户发出请求(2)SDN控制器获得全网的视图(3)新增加的模块给出相应的建议(多个建议)(4)比较这些建议(5)使用投票机制来决定具体的实施方案(建议中的方案之一)。方案的提出提高的系统的通用性,并且没有将网络中的各个模块中所使用的算法暴露给其他的模块,即保证了网络中模块间的低耦合。Maldonado-Lopez F A,Calle E,Donoso Y.Detection and prevention offirewall-rule conflicts on software-defined networking[C]//InternationalWorkshop on Reliable Networks Design and Modeling.IEEE,2015.提出了将Alloy模型,模型中指出了流表中的规则怎么进行模型的转化,然后利用树结构来进行冲突检测。只针对防火墙中的规则表。Natarajan S,Huang X,Wolf T.Efficient conflict detectionin flow-based virtualized networks[C]//Computing,Networking andCommunications(ICNC),2012International Conference on.IEEE,2012:690-696.介绍了检测SDN网络中的防火墙的规则冲突的方案,提出了规则的划分模型。即将每一个规则划分为这五个元素:索引,IP地址,端口,协议,动作。然后使用树结构进行规则的冲突检测。并提出了两种检测方法,一种基于散列树的检测方法,这种方案分别比较12个值(即openflow表中的所有值)将这12个值分为两组。一组是radix-trie,另一组是hash-trie。然后将12个域值所返回的结果使用对称矩阵来进行分析,判断是否有冲突。另外一种方法是:与第一种类似,将规则转换一种表述形式,例如将掩码表示的IP地址转换为由一个最大值和一个最小值表示的范围。然后在相应的取值范围内(各个域值)对其进行冲突检测。Lo C C,Wu P Y,Kuo Y H.Flow entry conflict detection scheme for software-defined network[C]//International Telecommunication Networks and ApplicationsConference.2015:220-225.针对一个新的数据包可能匹配交换机流表的多个规则提出了检测方案。方案是基于bit向量。将具有相同前缀长度的表项分为一组,然后根据划分的向量采取相应的方法检测向量中的冗余比特。Son S,Shin S,Yegneswaran V,et al.Modelchecking invariant security properties in OpenFlow[J].IEEE ICC-2013:1974-1979.针对交换机中的流表可能会违反安全规则提出了检测方案-flover。将openflow规则和网络中的安全策略规则转换为一个检测集合,然后通过检测模块来进行检测。上述的技术方案只针对交换机流表可能会间接违反防火墙的规则或者只针对防火墙自身的冲突规则或者是其他的一种类型冲突,即只是针对一种类型的冲突给出了检测与消除方案。第二类针对多应用之间的冲突,但是没有给出具体的检测模型,支持应用层策略下发的openflow控制器的设计与实现提出了三个问题,其中之一就是多个应用处理同一个流时可能会产生一个冲突。比如转发应用和访问控制应用之间一个要求转发一个拒绝转发。解决方案:采用一种规则预定义配合策略缓冲池的方法。对应用进行优先级划分。控制器对每一个交换机设置一个策略缓冲池,控制器先将策略发给交换机的缓冲模块,然后由决策算法来对策略进行检测以及之后的工作。策略缓冲池是一种临时存储未下发策略的数据结构。包括四个域:优先级,有效性,匹配,动作。Openflow交换机的消息进入控制器后,就被转发给对应列表依次进行处理。应用在处理完消息后会将处理结果以及结果的优先级,是否为空的标识和该应用的名称添加到缓冲池中,在所有应用的处理结果添加完毕后,由决策策略模块对策略缓冲池中的所有策略进行计算,以得出最优策略后,再下发给openflow交换机。策略决策模块是用来实现从缓冲池中挑选出最优策略。对最优策略的评判标准因时而异,与具体的应用环境有很大的关系。开发人员可以根据需求实现自定义的最优策略。第三类是针对多应用,但是对于每一类的应用使用不同的检测方案,没有统一模型,WonkyuHan,Hu H,Ahn G J.LPM:Layered Policy Management for Software-Defined Networks[C]//Wg 11.3Conference on Data and Applications Security and Privacy.2014:356-363.提出了四个不同模块的应用:防火墙,路由,负载均衡,监控;针对这些模块,将冲突划分为两种:模块内部的,模块之间的;并针对模块内部和模块之间的冲突给出了各自的解决方案。针对软件定义网络应用之间的规则冲突问题,目前的解决方法主要有如下几种:1.针对交换机流表规则可能会间接的违反防火墙应用的安全规则提出检测与消除方案。这种方法尽管可以检测到这类冲突,但是软件定义网络中其他应用之间也会存在规则冲突;2.针对应用间策略的冲突问题,提出了策略缓冲和策略决策机制,但并没有给出具体的冲突检测方案;3.针对网络中的各个应用模块,将冲突划分为应用模块自身的冲突和应用模块之间的冲突,针对不同应用和不同类型的冲突分别使用不同的方案进行处理。这种方法虽然解决了多个应用规则之间的冲突,但是并没有一个统一的检测模型和处理方案,随着应用越来越多就会需要不断地提出针对新应用的检测方案,因此方案不具有通用性。
综上所述,现有的针对软件定义网络应用之间的规则冲突问题的解决方法存在检测冲突不全面,没有一个统一的检测模型和处理方案,不具有通用性。
发明内容
本发明的目的在于提供一种软件定义网络中多应用间的规则冲突检测与消除方法,旨在解决现有的针对软件定义网络应用之间的规则冲突问题的解决方法存在检测冲突不全面,没有一个统一的检测模型和处理方案,不具有通用性的问题。
本发明是这样实现的,一种软件定义网络中多应用间的规则冲突检测与消除方法,所述软件定义网络中多应用间的规则冲突检测与消除方法在有新应用需要部署在网络中时,由控制器制定应用规则;然后将规则进行冲突检测,对应用规则与已经部署的应用规则进行检测,如果没有冲突,直接部署新应用;如果存在冲突将冲突的规则消除,根据优先级判断准则获取规则的优先级,并根据优先级来消除冲突的规则;将消除了冲突的规则配置到网络中。
进一步,所述软件定义网络中多应用间的规则冲突检测与消除方法包括以下步骤:
步骤一,当有新应用请求时,将应用产生的规则进行数据模型转化,即将规则划分为空间域S和动作域A;然后将规则转发到冲突检测模块,并判断新应用自身规则是否属于可以产生冲突的应用类型,如果是执行步骤二,否则执行步骤三;
步骤二,在新应用的规则中取出一条未检测的,并在网络中此应用已有的规则中取出一条未检测的进行步骤四,如果所有的规则都已经检测完,执行步骤三;
步骤三,在新应用的规则中取出一条未检测的,并在已经部署的其他应用规则中取出一条未检测的执行步骤四,如果所有的规则都已经检测完,执行步骤八;
步骤四,将两条规则空间域分别记为:Sn和So,动作域记为:An和Ao,优先级记为:Pn和Po;然后分离空间域并生成四个新的规则R1,R2,R3,R4,这四个规则的空间域分别为:S1=Sn-So,S2=So-Sn,S3=So∩Sn,S4=Sn∩So。动作域分别为:A1=An,A2=Ao,A3=Ao,A4=An;
步骤五,对空间分离后的内容进行检测,如果S3和S4不是空集合且A3和A4所对应的动作是不相同的,则判断为冲突,执行步骤七;否则判断为没有冲突,执行步骤六;
步骤六,判断到此步骤是否是从步骤二跳转过来的,如果是,返回步骤二,否则返回步骤三;
步骤七,对冲突的规则进行消除:
步骤八,将没有冲突的规则配置到网络中,以部署新应用。
进一步,所述步骤四中完成空间的分离后执行步骤五;其中Sn-So表示空间Sn中去掉So剩余的空间,So-Sn表示So中去掉Sn剩余的空间,So∩Sn表示So与Sn空间相交的部分,Sn∩So表示Sn与So空间相交的部分。
进一步,所述步骤七包括:
第一步,判断这两个规则所对应应用的优先级,优先级根据应用类型进行划分:安全应用,一般应用,安全应用具有最高的优先级,一般应用分为两类:一种是与用户有关,另一种是用户无关,与用户无关的应用一般都属于网络中的配置应用,赋予比与用户有关的应用更高的优先级;如果应用类型相同,则根据应用的具体类型设定优先级;
第二步,消除优先级低的冲突规则,如果Pn>Po,消除规则R3,反之消除规则R4,规则冲突消除完成,返回步骤六。
本发明的另一目的在于提供一种所述软件定义网络中多应用间的规则冲突检测与消除方法的规则冲突检测与消除系统,所述规则冲突检测与消除系统包括:
冲突检测模块,用于对应用间的规则进行建模,然后根据重叠空间分离的方法来判断规则之间是否存在冲突;
冲突消除模块,用于根据规则的优先级来进行冲突的消除。
本发明的另一目的在于提供一种应用所述软件定义网络中多应用间的规则冲突检测与消除方法的软件定义网络。
本发明提供的软件定义网络中多应用间的规则冲突检测与消除方法,对软件定义网络中多应用之间的规则冲突进行建模,然后进行检测与消除规则冲突;可用于软件定义网络中对上层应用的监控管理。在本发明实现的控制器,采取了简单的最优策略,即从缓冲池中所有策略中,选出标记为有效策略中优先级最高的策略;本发明的重点放在了系统的整体架构上,对于具体的实现策略的检测与消除方案没有给出详细的策略,在平台验证时也只是简单的对防火墙应用规则进行了检测来验证方案的正确性与可行性。
本发明的通用性好,将应用规则进行建模,可以检测交换机中流表的规则冲突,防火墙应用的规则冲突,防火墙应用规则与交换机流表之间的规则冲突,还有其他应用之间的规则冲突;易于实现,没有采取复杂的算法,现有的软件定义网络控制器软件可以直接添加新的功能模块,即可以将冲突检测与消除模块添加到控制模块,实时地检测网络中的应用,保证网络功能正常。
附图说明
图1是本发明实施例提供的软件定义网络中多应用间的规则冲突检测与消除方法流程图。
图2是本发明实施例提供的实施例1的整体流程图.
图3是本发明实施例提供的应用规则优先级判断子流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
本发明实施例提供的软件定义网络中多应用间的规则冲突检测与消除方法为了检测多应用之间的规则冲突,在软件定义网络中的控制层增加一个冲突检测模块和冲突消除模块。冲突检测模块对应用间的规则进行建模,然后根据重叠空间分离的方法来判断规则之间是否存在冲突,如果有冲突,将存在冲突的规则发送到策略消除模块,由策略消除模块根据规则的优先级来进行冲突的消除。
如图1所示,本发明实施例提供的软件定义网络中多应用间的规则冲突检测与消除方法包括以下步骤:
S101:在有新应用需要部署在网络中时,由控制器制定应用规则;
S102:然后将规则发送到冲突检测模块,检测模块对应用规则与已经部署的应用规则进行检测,如果没有冲突,直接部署新应用;如果存在冲突将冲突的规则发送到消除模块,冲突消除模块根据优先级判断准则获取规则的优先级,并根据优先级来消除冲突的规则;
S103:将消除了冲突的规则配置到网络中。
本发明实施例提供的软件定义网络中多应用间的规则冲突检测与消除方法包括以下步骤:
(1)当有新应用请求时,将应用产生的规则进行数据模型转化,即将规则划分为空间域S和动作域A。然后将这些规则转发到冲突检测模块,并判断新应用自身规则是否属于可以产生冲突的应用类型,如果是执行步骤(2),否则执行步骤(3)。
(2)在新应用的规则中取出一条未检测的,并在网络中此应用已有的规则中取出一条未检测的进行步骤(4),如果所有的规则都已经检测完,执行步骤(3)。
(3)在新应用的规则中取出一条未检测的,并在已经部署的其他应用规则中取出一条未检测的执行步骤(4),如果所有的规则都已经检测完,执行步骤(8)。
(4)将两条规则空间域分别记为:Sn和So,动作域记为:An和Ao,优先级记为:Pn和Po。然后分离空间域并生成四个新的规则R1,R2,R3,R4,这四个规则的空间域分别为:S1=Sn-So,S2=So-Sn,S3=So∩Sn,S4=Sn∩So。动作域分别为:A1=An,A2=Ao,A3=Ao,A4=An。
完成所述空间的分离后执行步骤(5)。其中Sn-So表示空间Sn中去掉So剩余的空间,So-Sn表示So中去掉Sn剩余的空间,So∩Sn表示So与Sn空间相交的部分,Sn∩So表示Sn与So空间相交的部分。
(5)对上述空间分离后的内容进行检测,如果S3和S4不是空集合且A3和A4所对应的动作是不相同的,则判断为冲突,执行步骤(7)。否则判断为没有冲突,执行步骤(6)。
(6)判断到此步骤是否是从步骤(2)跳转过来的,如果是,返回步骤(2),否则返回步骤(3)。
(7)对冲突的规则进行消除:
(7a)判断这两个规则所对应应用的优先级,优先级根据应用类型进行划分:安全应用,一般应用,安全应用具有最高的优先级,一般应用分为两类:一种是与用户有关,另一种是用户无关,与用户无关的应用一般都属于网络中的配置应用,赋予比与用户有关的应用更高的优先级。如果应用类型相同,则根据应用的具体类型设定优先级。
(7b)消除优先级低的冲突规则,如果Pn>Po,消除规则R3,反之消除规则R4,规则冲突消除完成,返回步骤(6)。
(8)将没有冲突的规则配置到网络中,以部署新应用。
下面结合具体实施例对本发明的应用原理作进一步的描述。
实施例1:
本发明实施例提供的软件定义网络中多应用间的规则冲突检测与消除方法包括以下步骤:
步骤1,对应用进行分类,并对每一类应用设置优先级;
(1a)建立应用优先级表,包括三个属性:应用类型,应用名称,应用优先级;
(1a1)应用类型分为两大类:一般应用和安全应用。总体上,安全应用的优先级高于一般应用。一般应用也分为两类:一种是与用户相关的,如资源共享应用和访问控制应用,另一种是与用户无关的,如网络中的负载均衡应用。与用户相关的一般应用的优先级别按照步骤(1a2)进行划分;
(1a2)为用户建立一张用户信任表,将用户的信任度记录在表中。具有高信任度的用户提出的应用具有高的优先级。用户的信任度将以下因素考虑进去:用户的级别,用户以往提出的请求是否导致过网络出现过不安全事件。所有的新用户具有相同的优先级;
(1b)在有新应用请求时,查找应用优先级表,如果找到该应用的优先级记录,则直接将此条记录赋予该应用,否则按照步骤(1a1)和(1a2)对应用设置相应的优先级。
步骤2,从网络中获取当前的应用请求,并根据步骤1中的说明为该应用指定优先级。
步骤3,判断该应用是否属于自身规则会产生冲突的类型,如果是,根据步骤4所述对应用自身的规则进行冲突检测,检测完成后,再根据步骤4所述对应用间的规则进行检测。否则,根据步骤4所述直接对应用间的规则进行检测。
步骤4,对应用规则进行冲突检测:
(4a)从新应用的规则集中取出一条没有进行检测的规则,执行步骤(4b),如果应用自身的规则和与其他应用之间的规则都已经进行过检测,则跳转到步骤6;
(4b)对规则进行重叠空间分离:
(4b1)将新规则和旧规则均表示为空间域S和动作域A两部分组成的数据模型。现有规则的空间记为So,动作记为Ao,新的规则记为Sn,动作记为An,它们的优先级分别表示为Po和Pn;
(4b2)将上述两个规则进行空间分解,并生成四个规则R1,R2,R3,R4,这四个规则的空间域分别为:S1=Sn-So,S2=So-Sn,S3=So∩Sn,S4=Sn∩So。动作域分别为:A1=An,A2=Ao,A3=Ao,A4=An。在完成此步骤后,执行步骤(4c),其中Sn-So表示空间Sn中去掉So剩余的空间,So-Sn表示So中去掉Sn剩余的空间,So∩Sn表示So与Sn空间相交的部分,Sn∩So表示Sn与So空间相交的部分;
(4c)对空间域分离后的规则进行冲突检测,如果S3和S4不是空集合且A3和A4执行不同的动作,则判断出现冲突,执行步骤5,反之没有冲突,返回步骤(4a)。
步骤5,对冲突的规则进行冲突消除:
(5a)判断旧应用规则和新应用规则的优先级:
参照图3,本步骤的具体实现如下:
(5a1)取出冲突规则Ro和Rn,判断两个规则是否是来自同一个应用,如果是执行步骤(5a5),反之执行步骤(5a2);
(5a2)判断Rn所属应用的优先级是否高于Ro所属应用的优先级,如果是执行步骤(5a5),反之执行步骤(5a3);
(5a3)判断Ro所属应用的优先级是否高于Rn,如果是执行步骤(5a6),反之执行步骤(5a4);
(5a4)判断Rn所属应用的请求时间早于Ro,如果是,执行步骤(5a5),反之执行步骤(5a6)
(5a5)返回结果:应用规则Rn的优先级高;
(5a6)返回结果:应用规则Ro的优先级高;
(5b)消除优先级低的冲突规则,如果Pn>Po,则消除规则R3,反之消除新生成的规则R4,规则冲突消除完成。返回步骤(4a)。
参照图2,图3,对应用规则的冲突检测与消除方案的具体事例如下:
假设存在两条规则Ra,Rb如下,两条测试的空间有重叠即
规则a:源地址192.168.10.0/24到目标地址192.168.100.0/24,动作为deny;
规则b:源地址192.168.0.0/16到目标地址为任意地址,动作为forward;
其中,空间Sb=(源地址192.168.0.0/16,目标地址为任意地址)包含了空间Sa=(源地址192.168.10.0/24,目标地址192.168.100.0/24),经步骤(4ab)后重叠空间S3=S4=Sa∩Sb(源地址192.168.10.0/24,目标地址192.168.100.0/24):A3=deny,A4=forward。
重叠空间S3和S4不是空集合,且A3≠A4,可见规则a和规则b之间存在冲突。此时要根据步骤(5a)判断优先级并进行冲突消除:
如果规则Pa>Pb,则保留第三个规则,并在网络中部署规则1,2,3;
反之,规则Pa<Pb,保留第四个规则,并在网络中部署规则1,2,4。
步骤6,将完成冲突消除的规则配置到网络中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种软件定义网络中多应用间的规则冲突检测与消除方法,其特征在于,所述软件定义网络中多应用间的规则冲突检测与消除方法在有新应用需要部署在网络中时,由控制器制定应用规则;然后将规则进行冲突检测,对应用规则与已经部署的应用规则进行检测,如果没有冲突,直接部署新应用;如果存在冲突将冲突的规则消除,根据优先级判断准则获取规则的优先级,并根据优先级来消除冲突的规则;将消除了冲突的规则配置到网络中。
2.如权利要求1所述的软件定义网络中多应用间的规则冲突检测与消除方法,其特征在于,所述软件定义网络中多应用间的规则冲突检测与消除方法包括以下步骤:
步骤一,当有新应用请求时,将应用产生的规则进行数据模型转化,即将规则划分为空间域S和动作域A;然后将规则转发到冲突检测模块,并判断新应用自身规则是否属于可以产生冲突的应用类型,如果是执行步骤二,否则执行步骤三;
步骤二,在新应用的规则中取出一条未检测的,并在网络中此应用已有的规则中取出一条未检测的进行步骤四,如果所有的规则都已经检测完,执行步骤三;
步骤三,在新应用的规则中取出一条未检测的,并在已经部署的其他应用规则中取出一条未检测的执行步骤四,如果所有的规则都已经检测完,执行步骤八;
步骤四,将两条规则空间域分别记为:Sn和So,动作域记为:An和Ao,优先级记为:Pn和Po;然后分离空间域并生成四个新的规则R1,R2,R3,R4,这四个规则的空间域分别为:S1=Sn-So,S2=So-Sn,S3=So∩Sn,S4=Sn∩So;动作域分别为:A1=An,A2=Ao,A3=Ao,A4=An;
步骤五,对空间分离后的内容进行检测,如果S3和S4不是空集合且A3和A4所对应的动作是不相同的,则判断为冲突,执行步骤七;否则判断为没有冲突,执行步骤六;
步骤六,判断到此步骤是否是从步骤二跳转过来的,如果是,返回步骤二,否则返回步骤三;
步骤七,对冲突的规则进行消除;
步骤八,将没有冲突的规则配置到网络中,以部署新应用。
3.如权利要求2所述的软件定义网络中多应用间的规则冲突检测与消除方法,其特征在于,所述步骤四中完成空间的分离后执行步骤五;其中Sn-So表示空间Sn中去掉So剩余的空间,So-Sn表示So中去掉Sn剩余的空间,So∩Sn表示So与Sn空间相交的部分,Sn∩So表示Sn与So空间相交的部分。
4.如权利要求2所述的软件定义网络中多应用间的规则冲突检测与消除方法,其特征在于,所述步骤七包括:
第一步,判断这两个规则所对应应用的优先级,优先级根据应用类型进行划分:安全应用,一般应用,安全应用具有最高的优先级,一般应用分为两类:一种是与用户有关,另一种是用户无关,与用户无关的应用一般都属于网络中的配置应用,赋予比与用户有关的应用更高的优先级;如果应用类型相同,则根据应用的具体类型设定优先级;
第二步,消除优先级低的冲突规则,如果Pn>Po,消除规则R3,反之消除规则R4,规则冲突消除完成,返回步骤六。
5.一种如权利要求1所述软件定义网络中多应用间的规则冲突检测与消除方法的规则冲突检测与消除系统,其特征在于,所述规则冲突检测与消除系统包括:
冲突检测模块,用于对应用间的规则进行建模,然后根据重叠空间分离的方法来判断规则之间是否存在冲突;
冲突消除模块,用于根据规则的优先级来进行冲突的消除。
6.一种应用权利要求1~4任意一项所述软件定义网络中多应用间的规则冲突检测与消除方法的软件定义网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611162507.2A CN106656591A (zh) | 2016-12-15 | 2016-12-15 | 一种软件定义网络中多应用间的规则冲突检测与消除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611162507.2A CN106656591A (zh) | 2016-12-15 | 2016-12-15 | 一种软件定义网络中多应用间的规则冲突检测与消除方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106656591A true CN106656591A (zh) | 2017-05-10 |
Family
ID=58823478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611162507.2A Pending CN106656591A (zh) | 2016-12-15 | 2016-12-15 | 一种软件定义网络中多应用间的规则冲突检测与消除方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106656591A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108134690A (zh) * | 2017-12-13 | 2018-06-08 | 中盈优创资讯科技有限公司 | 网络业务部署流程控制方法、装置及系统 |
CN110120923A (zh) * | 2019-05-13 | 2019-08-13 | 电子科技大学 | 一种基于Hash-Trie的流规则冲突检测方法 |
CN110457370A (zh) * | 2019-08-12 | 2019-11-15 | 渤海大学 | 基于人工智能的数据挖掘中孤立点检测系统及清理方法 |
CN110505190A (zh) * | 2018-05-18 | 2019-11-26 | 深信服科技股份有限公司 | 微分段的部署方法、安全设备、存储介质及装置 |
CN110710159A (zh) * | 2017-05-31 | 2020-01-17 | 思科技术公司 | 针对网络意图形式对等失败的反例的生成 |
CN111131071A (zh) * | 2019-12-19 | 2020-05-08 | 紫光云技术有限公司 | 基于OpenStack实现云主机安全组规则优先级的实现方法及系统 |
CN112367213A (zh) * | 2020-10-12 | 2021-02-12 | 中国科学院计算技术研究所 | 面向sdn网络的策略异常检测方法、系统、装置及存储介质 |
CN112866251A (zh) * | 2021-01-20 | 2021-05-28 | 哈尔滨工业大学 | 一种多域云防护墙安全策略冲突消解方法及装置 |
CN114900367A (zh) * | 2022-05-25 | 2022-08-12 | 东南大学 | 一种基于优先级动态调整的共享策略验证与冲突检测方法 |
CN115348065A (zh) * | 2022-07-29 | 2022-11-15 | 中国舰船研究设计中心 | 一种基于可编程数据平面的防火墙绕行冲突检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607379A (zh) * | 2013-11-04 | 2014-02-26 | 中兴通讯股份有限公司 | 一种软件定义网络安全实施方法、系统及控制器 |
CN104104615A (zh) * | 2014-07-21 | 2014-10-15 | 华为技术有限公司 | 策略冲突解决方法以及装置 |
CN104202303A (zh) * | 2014-08-11 | 2014-12-10 | 华中科技大学 | 一种sdn应用的策略冲突检测方法及系统 |
CN105897493A (zh) * | 2016-06-28 | 2016-08-24 | 电子科技大学 | 一种sdn规则冲突的检测方法 |
-
2016
- 2016-12-15 CN CN201611162507.2A patent/CN106656591A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607379A (zh) * | 2013-11-04 | 2014-02-26 | 中兴通讯股份有限公司 | 一种软件定义网络安全实施方法、系统及控制器 |
CN104104615A (zh) * | 2014-07-21 | 2014-10-15 | 华为技术有限公司 | 策略冲突解决方法以及装置 |
CN104202303A (zh) * | 2014-08-11 | 2014-12-10 | 华中科技大学 | 一种sdn应用的策略冲突检测方法及系统 |
CN105897493A (zh) * | 2016-06-28 | 2016-08-24 | 电子科技大学 | 一种sdn规则冲突的检测方法 |
Non-Patent Citations (2)
Title |
---|
FERNEY A. MALDONADO-LOPEZ等: "Detection and Prevention of Firewall-Rule Conflicts on Software-Defined Networking", 《2015 7TH INTERNATIONAL WORKSHOP ON RELIABLE NETWORKS DESIGN AND MODELING (RNDM)》 * |
YUFENG XIN等: "Research on Network Policy Combination and Conflict Detection in SDN", 《 LECTURE NOTES OF THE INSTITUTE FOR COMPUTER SCIENCES, SOCIAL INFORMATICS AND TELECOMMUNICATIONS ENGINEERING》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110710159B (zh) * | 2017-05-31 | 2022-08-19 | 思科技术公司 | 用于网络配置和故障排除的方法、系统、设备和介质 |
CN110710159A (zh) * | 2017-05-31 | 2020-01-17 | 思科技术公司 | 针对网络意图形式对等失败的反例的生成 |
US11303531B2 (en) | 2017-05-31 | 2022-04-12 | Cisco Technologies, Inc. | Generation of counter examples for network intent formal equivalence failures |
CN108134690A (zh) * | 2017-12-13 | 2018-06-08 | 中盈优创资讯科技有限公司 | 网络业务部署流程控制方法、装置及系统 |
CN110505190A (zh) * | 2018-05-18 | 2019-11-26 | 深信服科技股份有限公司 | 微分段的部署方法、安全设备、存储介质及装置 |
CN110120923A (zh) * | 2019-05-13 | 2019-08-13 | 电子科技大学 | 一种基于Hash-Trie的流规则冲突检测方法 |
CN110457370A (zh) * | 2019-08-12 | 2019-11-15 | 渤海大学 | 基于人工智能的数据挖掘中孤立点检测系统及清理方法 |
CN111131071A (zh) * | 2019-12-19 | 2020-05-08 | 紫光云技术有限公司 | 基于OpenStack实现云主机安全组规则优先级的实现方法及系统 |
CN112367213A (zh) * | 2020-10-12 | 2021-02-12 | 中国科学院计算技术研究所 | 面向sdn网络的策略异常检测方法、系统、装置及存储介质 |
CN112367213B (zh) * | 2020-10-12 | 2022-02-25 | 中国科学院计算技术研究所 | 面向sdn网络的策略异常检测方法、系统、装置及存储介质 |
CN112866251A (zh) * | 2021-01-20 | 2021-05-28 | 哈尔滨工业大学 | 一种多域云防护墙安全策略冲突消解方法及装置 |
CN112866251B (zh) * | 2021-01-20 | 2022-04-19 | 哈尔滨工业大学 | 一种多域云防火墙安全策略冲突消解方法及装置 |
CN114900367A (zh) * | 2022-05-25 | 2022-08-12 | 东南大学 | 一种基于优先级动态调整的共享策略验证与冲突检测方法 |
CN114900367B (zh) * | 2022-05-25 | 2024-05-03 | 东南大学 | 一种基于优先级动态调整的共享策略验证与冲突检测方法 |
CN115348065A (zh) * | 2022-07-29 | 2022-11-15 | 中国舰船研究设计中心 | 一种基于可编程数据平面的防火墙绕行冲突检测方法 |
CN115348065B (zh) * | 2022-07-29 | 2024-04-12 | 中国舰船研究设计中心 | 一种基于可编程数据平面的防火墙绕行冲突检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656591A (zh) | 一种软件定义网络中多应用间的规则冲突检测与消除方法 | |
US10924325B2 (en) | Maps having a high branching factor | |
CN112565193B (zh) | 一种网络安全策略冲突分解方法、系统、存储介质、设备 | |
AU2016315646B2 (en) | Distributing remote device management attributes to service nodes for service rule processing | |
US10411951B2 (en) | Network policy conflict detection and resolution | |
CN103930882B (zh) | 具有中间盒的网络架构 | |
CN101512510B (zh) | 基于定义和应用网络管理意图提供网络管理的方法和系统 | |
CN104253820B (zh) | 软件定义网安全控制系统和控制方法 | |
EP3269087B1 (en) | Adding metadata associated with a composite network policy | |
Shirali-Shahreza et al. | Rewiflow: Restricted wildcard openflow rules | |
US9813357B2 (en) | Filtration of network traffic using virtually-extended ternary content-addressable memory (TCAM) | |
Karafili et al. | Towards a framework for automatic firewalls configuration via argumentation reasoning | |
US10615999B2 (en) | Virtual local area network configuration system and method, and computer program product thereof | |
CN114827002B (zh) | 多域网络安全路径计算方法、系统、设备、介质及终端 | |
Al-Fedaghi et al. | Network architecture as a thinging machine | |
CN108366068A (zh) | 一种软件定义网络下基于策略语言的云端网络资源管理控制系统 | |
Farahmandian et al. | SDS 2: A novel software-defined security service for protecting cloud computing infrastructure | |
CN112019361A (zh) | 访问控制列表的迁移方法及装置,存储介质和电子设备 | |
CN112437065B (zh) | Sdn环境下基于图形表示的策略冲突检测及解决方法 | |
Bolodurina et al. | Development and Investigation of Multi-Cloud Platform Network Security Algorithms Based on the Technology of Virtualization Network Functions 1 The research work was funded by RFBR, according to the research projects No. 16-37-60086 mol_a_dk, 16-07-01004, 18-07-01446, 18-47-560016 and the President of the Russian Federation within the grant for state support of young Russian scientists (MK-1624.2017. 9) | |
NL2026759B1 (en) | Prioritizing configuration commands for a running configuration on a network device | |
Karafili et al. | Automatic firewalls’ configuration using argumentation reasoning | |
Li et al. | GolfEngine: Network management system for software defined networking | |
CN108566388B (zh) | 基于布鲁姆过滤器的sdn流规则冲突检测方法及系统 | |
Amaya et al. | Service Chain Construction Algorithm for Maximizing Total Data Throughput in Resource-Constrained NFV Environments |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |