CN104104615B - 策略冲突解决方法以及装置 - Google Patents
策略冲突解决方法以及装置 Download PDFInfo
- Publication number
- CN104104615B CN104104615B CN201410348832.2A CN201410348832A CN104104615B CN 104104615 B CN104104615 B CN 104104615B CN 201410348832 A CN201410348832 A CN 201410348832A CN 104104615 B CN104104615 B CN 104104615B
- Authority
- CN
- China
- Prior art keywords
- rule
- execution
- rules
- matrix
- matching
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000011217 control strategy Methods 0.000 claims abstract description 85
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 64
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 64
- 239000011159 matrix material Substances 0.000 claims description 176
- 230000009471 action Effects 0.000 claims description 127
- 230000002194 synthesizing effect Effects 0.000 claims description 17
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000011160 research Methods 0.000 description 18
- 238000012827 research and development Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
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/0893—Assignment of logical groups to 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
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
-
- 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/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- 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/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow 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
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5048—Automatic or semi-automatic definitions, e.g. definition templates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种策略冲突解决方法以及装置。所述方法包括:接收第一控制策略并将所述第一控制策略分解成m条第一规则,以及,接收第二控制策略并将所述第二控制策略分解成n条第二规则;对每条所述第一规则取反以得到第一反规则,对每条所述第二规则取反以得到第二反规则,分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则;删除所述无效规则,并将剩余的所述第一执行规则作为有效第一执行规则,将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。通过上述方式,能够解决策略冲突。
Description
技术领域
本申请涉及通信领域,特别是涉及策略冲突解决方法以及装置。
背景技术
软件定义网络(Software Defined Network,SDN)是一种新型网络架构,与传统网络所采用的查找IP路由相比,SDN/OpenFlow能够实现网络流量的灵活控制,为核心网络及应用的创新提供良好的平台,是今后网络架构发展的方向。
如图1所示,SDN通常包括控制器110以及转发设备120两部分。控制器110分别与网络中的每一个转发设备120连接,网络中的转发设备120之间拓扑连接。控制器110负责对网络进行集中控制,即控制器110接收到控制策略后,根据控制策略生成转发路径,为各个转发设备120生成转发表项。转发设备120在接收到转发表项后,根据接收到的转发表项对用户终端发送的报文进行匹配和转发。
但是,在一些情况下,控制器110接收到的一些策略之间可能会存在冲突。
例如,研发部门的日常工作涉及到公司的机密,研发部门是严禁访问外部网络的,只能访问公司的内部网络。所以,管理员针对研发部门的性质,可能会给控制器下发策略1,该策略1作用于转发设备S0,由转发设备S0将满足策略1的用户终端的报文转发给SDN中的其他转发设备,再由其他转发设备转发到相应网络如外部网络或内部网络:
策略1:研发部门服务器不能访问外部网络,所有研发部门的员工可以从转发设备S1访问公司的内部网络。
同时,对于研发部门中的预研小组,他们必须访问外部网络才能进行资料收集工作。所以,管理员针对预研小组的性质,可能会给控制器 下发策略2,该策略2也作用于转发设备S0,由转发设备S0满足策略2的用户终端的报文转发给SDN中的其他转发设备,再由其他转发设备转发到相应网络如外部网络或内部网络:
策略2:预研小组服务器不能访问安全壳(Secure Shell,SSH)服务,预研小组员工可以通过转发设备S2访问外部网络。
从上面的两条策略可以分析出,按照设想,预研小组员工应该能访问外部网络。但是,实际上,由于预研小组是研发部门的一部分,在策略1中,是禁止所有的研发部门的员工访问外部网络的。控制器110接收到这两条冲突的控制策略后,控制器110无法进行处理,于是,控制器110只能将优先级别最高的策略转化为转发表项发送给转发设备S0,使得转发设备S0只根据优先级别最高的策略转发报文。针对研发部门下发的策略1优先级高于针对预研小组下发的策略2,所以,转发设备S0只会根据策略1转发报文,却不会根据策略2转发报文,导致预研小组一直无法访问外部网络。
发明内容
本申请提供一种策略冲突解决方法以及装置,能够解决策略冲突。
本申请第一方面提供一种策略冲突解决方法,所述方法包括:接收第一控制策略并将所述第一控制策略分解成m条第一规则,以及,接收第二控制策略并将所述第二控制策略分解成n条第二规则,其中,m,n为自然数,所述第一控制策略和所述第二控制策略均作用于第一转发设备,所述第一规则和第二规则均包括匹配域和动作;对每条所述第一规则取反以得到第一反规则,对每条所述第二规则取反以得到第二反规则,分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,其中,所述规则合成原则包括:由匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域间的交集或匹配域类型不同的第一反规则的匹配域与第二反规则的匹配域间的并集,以及第一反规则的动作与所述第二反规则的动作的交集组成所述第一执行规则,并将匹配域类型相同的第一反规则的匹配域与第二反规则的 匹配域之间没有交集的第一执行规则作为无效规则;删除所述无效规则,并将剩余的所述第一执行规则作为有效第一执行规则,将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
结合第一方面,本申请第一方面的第一种可能的实施方式中,对每条所述第一规则取反即令所述第一规则的匹配域不变、所述第一规则的动作取反,对每条所述第二规则取反即令所述第二 规则的匹配域不变、所述第二 规则的动作取反。
结合第一方面的第一种可能的实施方式,本申请第一方面的第二种可能的实施方式中,所述分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,包括:将每条所述第一反规则作为元素并按照第一规则的优先级顺序排列以构成第一矩阵,所述第一矩阵为列矩阵,将每条所述第二反规则作为元素并按照第二规则的优先级顺序排列以构成第二矩阵,所述第二矩阵为行矩阵,令所述第一矩阵与所述第二矩阵相乘得到第一执行规则矩阵,将第一执行规则矩阵中每对相乘的所述第一反规则与所述第二反规则按照所述规则合成原则生成相应的第一执行规则,其中所述第一执行规则矩阵的第一执行规则的优先级为先按照矩阵的列顺序排列,同列的则按照矩阵的行顺序排列。
结合第一方面的第二种可能的实施方式,本申请第一方面的第三种可能的实施方式中,所述分解成m条第一规则之后还包括:新增一条第一匹配规则作为优先级最低的第一规则;所述分解成n条第二规则之后还包括:新增一条第二匹配规则作为优先级最低的第二规则;其中,所述第一匹配规则和第二匹配规则的匹配域均为通配符,动作均为丢弃。
结合第一方面的第二种可能的实施方式,本申请第一方面的第四种可能的实施方式中,所述将剩余的所述第一执行规则作为有效第一执行规则包括:比较剩余的每两条第一执行规则的匹配域,如果其中一条第一执行规则的匹配域覆盖另一条第一执行规则的匹配域,则将匹配域较小的第一执行规则删除;如果两条第一执行规则的匹配域相同,则将优先级较低的第一执行规则删除,将所述匹配域较小的第一执行规则和所述优先级较低的第一执行规则删除后剩余的第一执行规则作为有效第一执行规则。
结合第一方面的第二或四种可能的实施方式,本申请第一方面的第五种可能的实施方式中,所述方法还包括:接收第三控制策略并将所述第三控制策略分解成k条第三规则,k为自然数,所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备;对每条所述有效第一执行规则取反以得到每条第一反执行规则,对每条所述第三规则取反以得到每条第三反规则;将每条所述第一反执行规则作为元素并按照第一执行规则的优先级顺序排列以构成第三矩阵,所述第三矩阵为列矩阵,将每条所述第三反规则作为元素并按照第三规则的优先级顺序排列以构成第四矩阵,所述第四矩阵为行矩阵,令所述第三矩阵与所述第四矩阵相乘得到第二执行规则矩阵,分别将第二执行规则矩阵中的每对相乘的所述第一反执行规则与所述第三反规则按照所述规则合成原则生成相应的第二执行规则,其中,所述规则合成原则还包括:由匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域间的交集或匹配域类型不同的第一反执行规则的匹配域与第三反规则的匹配域间的并集,以及第一反执行规则的动作与所述第三反规则的动作的交集组成所述第二执行规则,并将匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域之间没有交集的第二执行规则作为无效规则;删除所述无效规则,并将剩余的每条所述第二执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
本申请第二方面提供一种策略冲突解决装置,包括:接收模块、合成模块以及删除模块,所述接收模块用于接收第一控制策略并将所述第一控制策略分解成m条第一规则,以及,接收第二控制策略并将所述第二控制策略分解成n条第二规则,其中,m,n为自然数,所述第一控制策略和所述第二控制策略均作用于第一转发设备,所述第一规则和第二规则均包括匹配域和动作,所述接收模块将所述m条第一规则以及所述n条第二规则发送给所述合成模块;所述合成模块用于接收所述m条第一 规则以及所述n条第二规则,对每条所述第一规则取反以得到第一反规则,对每条所述第二规则取反以得到第二反规则,分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,其中,所述规则合成原则包括:由匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域间的交集或匹配域类型不同的第一反规则的匹配域与第二反规则的匹配域间的并集,以及第一反规则的动作与所述第二反规则的动作的交集组成所述第一执行规则,并将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则,所述合成模块将合成的第一执行规则发送给所述删除模块;所述删除模块用于接收所述合成的第一执行规则,删除所述无效规则,并将剩余的所述第一执行规则作为有效第一执行规则,将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
结合第二方面,本申请第二方面的第一种可能的实施方式中,对所述第一规则取反即令所述第一规则的匹配域不变、所述第一规则的动作取反,对所述第二规则取反即令所述第二规则的匹配域不变、所述第二规则的动作取反。
结合第二方面的第一种可能的实施方式,本申请第二方面的第二种可能的实施方式中,所述合成模块还用于将每条所述第一反规则作为元素并按照第一规则的优先级顺序排列以构成第一矩阵,所述第一矩阵为列矩阵,将每条所述第二反规则作为元素并按照第二规则的优先级顺序排列以构成第二矩阵,所述第二矩阵为行矩阵,令所述第一矩阵与所述第二矩阵相乘得到第一执行规则矩阵,将第一执行规则矩阵中每对相乘的所述第一反规则与所述第二反规则按照所述规则合成原则生成相应的第一执行规则,其中所述第一执行规则矩阵的第一执行规则的优先级为先按照矩阵的列顺序排列,同列的则按照矩阵的行顺序排列。
结合第二方面的第二种可能的实施方式,本申请第二方面的第三种可能的实施方式中,所述合成模块还用于在所述分解成m条第一规则之后,新增一条第一匹配规则作为优先级最低的第一规则;在所述分解成 n条第二规则之后,新增一条第二匹配规则作为优先级最低的第二规则;其中,所述第一匹配规则和第二匹配规则的匹配域均为通配符,动作均为丢弃。
结合第二方面的第二种可能的实施方式,本申请第二方面的第四种可能的实施方式中,所述合成模块还用于在删除所述无效规则之后,比较剩余的每两条第一执行规则的匹配域,如果其中一条第一执行规则的匹配域覆盖另一条第一执行规则的匹配域,则将匹配域较小的第一执行规则删除;如果两条第一执行规则的匹配域相同,则将优先级别较低的第一执行规则删除,将所述匹配域较小的第一执行规则和所述优先级较低的第一执行规则删除后剩余的第一执行规则作为有效第一执行规则。
结合第二方面的第二或四种可能的实施方式,本申请第二方面的第五种可能的实施方式中,所述接收模块还用于接收第三控制策略并将所述第三控制策略分解成k条第三规则,k为自然数,所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备,所述接收模块将所述k条第三规则发送给所述合成模块;所述合成模块还用于接收所述k条第三规则,对每条所述有效第一执行规则取反以得到每条第一反执行规则,对每条所述第三规则取反以得到每条第三反规则,将每条所述第一反执行规则作为元素并按照第一执行规则的优先级顺序排列以构成第三矩阵,所述第三矩阵为列矩阵,将每条所述第三反规则作为元素并按照第三规则的优先级顺序排列以构成第四矩阵,所述第四矩阵为行矩阵,令所述第三矩阵与所述第四矩阵相乘得到第二执行规则矩阵,分别将第二执行规则矩阵中的每对相乘的所述第一反执行规则与所述第三反规则按照所述规则合成原则生成相应的第二执行规则,其中,所述规则合成原则还包括:由匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域间的交集或匹配域类型不同的第一反执行规则的匹配域与第三反规则的匹配域间的并集,以及第一反执行规则的动作与所述第三反规则的动作的交集组成所述第二执行规则,并将匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域之间没有交集的第二执行规则作为无效规则,所述合成模块将合成的第二执行规则发送 给所述删除模块;所述删除模块还用于接收所述合成的第二执行规则,删除所述无效规则,并将剩余的每条所述第二执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
上述方案中,通过将第一控制策略分解成m条第一规则,将第二控制策略分解成n条第二规则,并根据规则合成原则来将每条第一规则和第二规则进行合成,由于该规则合成原则会将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则,上述定义的无效规则即为导致第一、第二控制策略冲突的规则部分,故通过将存在冲突的无效规则删除,避免了第一控制策略和第二控制策略间存在的冲突规则情况,即解决了策略冲突问题,使得第一转发既能执行第一控制策略也能执行第二控制策略。
附图说明
图1是现有技术软件定义网络一实施方式的结构示意图;
图2是本申请策略冲突解决方法一实施方式的流程图;
图3是本申请策略冲突解决方法另一实施方式的流程图;
图4是本申请策略冲突解决装置一实施方式的结构示意图;
图5是本申请控制器一实施方式的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
参阅图2,图2是本申请策略冲突解决方法一实施方式的流程图。图2中各步骤的执行主体可以是SDN中的控制器,也可以是SDN中的协同层中的服务器。下面以控制器作为执行主体来举例,包括:
210:控制器接收第一控制策略并将所述第一控制策略分解成m条第一规则,以及,接收第二控制策略并将所述第二控制策略分解成n条第 二规则,其中,m,n为自然数,所述第一控制策略和所述第二控制策略均作用于第一转发设备,即第一转发设备既需要根据第一控制策略转发相应报文,也需要根据第二控制策略转发相应报文。所述第一规则和第二规则均包括匹配域和动作。
下面以背景技术中提到的两条策略分别作为第一控制策略和第二控制策略为例进行说明。其中,分解原则是拆分成功能最小的策略原子,即拆封出来的规则不能再拆分为止。
控制器接收到作用于第一转发设备S0的第一控制策略“研发部门服务器不能访问外部网络,所有研发部门的员工可以从转发设备S1访问公司的内部网络”,其中,研发部门的员工的IP地址位于网段10.0.0.0/8(即网段10.0.0.1~10.255.255.255),“\”表示除了,研发部门服务器的IP地址为10.0.0.1,∪表示为或者,端口80用于访问外部网络,->{S1}表示通过转发设备S1。所以,第一控制策略可描述为:SrcAddr:10.0.0.0/8\(SrcAddr:10.0.0.1∪DstPort:80)->{S1}。控制器对第一控制策略进行分解,可以得到三条第一规则:
(1)研发部门服务器10.0.0.1不能通过转发设备S1以访问外部网络。
第一规则A1:SrcAddr:10.0.0.1:{},其中,{}中的内容为空,表示丢弃的意思。其中,本申请中的丢弃即为不执行该控制策略中的所有动作,如第一控制策略的动作为去往S1,由第一控制策略的分解得到的第一规则中的丢弃动作则为不去往S1。
(2)研发部门员工不能通过转发设备S1以访问外部网络。
第一规则A2:DstPort:80:{}。
(3)研发部门员工通过转发设备S1访问内部网络。
第一规则A3:SrcAddr:10.0.0.0/8:{S1},其中,{S1}表示去往S1。
控制器接收到作用于第一转发设备S0的第二控制策略“预研小组服务器不能访问SSH服务,预研小组员工可以通过转发设备S2访问外部网络”,其中,预研小组员工的IP地址位于网段10.2.0.0/16(即网段10.2.0.1~10.2.255.255),“\”表示除了,预研服务器的IP地址为10.2.0.1, ∪表示为或者,端口22用于访问SSH服务。所以,第二控制策略可描述为:SrcAddr:10.2.0.0/16\(SrcAddr:10.2.0.1∪DstPort:22)->{S2}。控制器对第二控制策略进行分解,可以得到三条第二规则:
(1)预研服务器10.2.0.1不能通过转发设备S2以访问SSH服务。
第二规则B1:SrcAddr:10.2.0.1:{},其中,{}中的内容为空,表示丢弃的意思。
(2)预研员工不能通过转发设备S2以访问SSH服务。
第二规则B2:DstPort:22:{}
(3)预研员工从转发设备S2访问外部网络。
第二规则B3:SrcAddr:10.2.0.0/16:{S2}
可以理解的是,按照第一控制策略的描述可知,第一规则的优先级依序为A1>A2>A3;按照第二控制策略的描述可知,第二规则的优先级依序为B1>B2>B3。
为了达到完全覆盖的效果,可在第一规则和第二规则中均新增一条优先级最低的匹配规则,该匹配规则的匹配域为通配符,动作为丢弃。具体如新增一条第一匹配规则作为第一规则A4:*:{},该第一规则表示:凡是没和第一规则A1、A2以及A3的匹配域匹配的报文都进行丢弃;新增一条第二匹配规则作为第二规则B4:*:{},该第二规则表示:凡是没和第二规则B1、B2以及B3的匹配域匹配的报文都进行丢弃。
220:控制器对每条所述第一规则取反以得到第一反规则,对每条所述第二规则取反以得到第二反规则,分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,其中,所述规则合成原则包括:由匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域间的交集或匹配域类型不同的第一反规则的匹配域与第二反规则的匹配域间的并集,以及第一反规则的动作与所述第二反规则的动作的交集组成所述第一执行规则,并将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则。
控制器对上述四条第一规则取反以得到四条第一反规则。其中,对 第一规则取反即令第一规则的匹配域不变、第一规则的动作取反。可以理解的是,控制策略的所有动作的集合即为该控制策略分解得到的动作的全集,故对其中动作取反即为执行该控制策略中除该动作外的剩余动作。对于控制策略分解得到的规则的动作为{},即表示丢弃,即不执行该规则所属的控制策略中的所有动作,故取反为执行该规则所属的控制策略中的所有动作。如第一控制策略分解得到的第一规则的动作为{},其动作取反即为执行第一控制策略中的所有动作即去往S1。具体如下:
第一反规则C1:SrcAddr:10.0.0.1:{S1},其中,{S1}表示去往S1的意思。
第一反规则C2:DstPort:80:{S1}。
第一反规则C3:SrcAddr:10.0.0.0/8:其中,表示不去往S1的意思。
第一反规则C4:*:{S1}。
控制器对上述四条第二规则取反以得到四条第二反规则。其中,对第二规则取反即令第二规则的匹配域不变、第二规则的动作取反。同理,若第二规则的动作为{},取反即为执行第二控制策略中的所有动作即去往S2。具体如下:
第二反规则D1:SrcAddr:10.2.0.1:{S2},其中,{S2}表示去往S2的意思。
第二反规则D2:DstPort:22:{S2}。
第二反规则D3:SrcAddr:10.2.0.0/16:其中,表示不去往S2的意思。
第二反规则D4:*:{S2}。
其中,每条第一反规则的优先级与相应的第一规则的优先级相同,每条第二反规则的优先级与相应的第二规则的优先级相同。
控制器将四条第一反规则C1、C2、C3、C4分别与四条第二反规则D1、D2、D3、D4按照规则合成原则进行两两组合,生成16条第一执行规则。其中,第一执行规则的优先级按照合成该第一执行规则的两条规则的优先级进行排序,具体可定义为先按照优先级较高的第一控制策 略分解得到的第一规则的优先级进行排序,当第一规则优先级相同再按照优先级较低的第二控制策略分解得到第二规则的优先级进行排列。如得到的第一执行规则为C1D1,C1D2,C2D1,C3D2,C3D4,C4D1,则优先级依序为C1D1>C1D2>C2D1>C3D2>C3D4>C4D1。
可以理解的是,控制器可采用各种方式实现所有第一、第二规则两两组合。下面,为使生成的第一执行规则的优先级按照矩阵元素顺序排列,采用矩阵相乘方式进行两两组合。
具体地,控制器将每条所述第一反规则作为元素并按照第一规则的优先级顺序排列以构成第一矩阵所述第一矩阵为列矩阵,将每条所述第二反规则作为元素并按照第二规则的优先级顺序排列以构成第二矩阵所述第二矩阵为行矩阵。一般,将优先级高的控制策略的规则矩阵作为列矩阵,本例第一控制策略的优先级高于第二控制策略,故以第一矩阵为列矩阵,第二矩阵为行矩阵。
令所述第一矩阵与所述第二矩阵相乘,得到第一矩阵的每个第一规则和第二矩阵的每个第二规则的两两相乘组合构成第一执行规则矩阵:
其中,第一执行规则中的每对相乘的第一规则与第二规则按照上述规则合成原则生成第一执行规则。该规则合成原则包括:如果第一反规则的匹配域与第二反规则的匹配域是同一种类型时,则判断第一反规则的匹配域与第二反规则的匹配域之间是否有交集。如果第一反规则的匹配域与第二反规则的匹配域之间没有交集时,该第一反规则和第二反规则合成的规则为无效规则;如果第一反规则的第一匹配域与第二反规则的第二匹配域之间存在交集时,则由第一反规则的匹配域与第二反规则的匹配域之间的交集以及第一反规则的动作与第二反规则的动作的交集组成有效的第一执行规则。如果第一反规则的匹配域与第二反规则的匹配域不是同一种类型时,则由第一反规则的匹配域与第二反规则的匹配域的并集以及第一反规则的动作与第二反规则的动作的交集组成有 效的第一执行规则。当然,在其他应用实施例中,该规则合成原则还可包括:若第一反规则的动作与第二反规则的动作的交集的取反没有交集,则将该第一反规则和第二反规则合成的规则也作为无效规则。
可以理解的是,上述由第一反规则的匹配域与第二反规则的匹配域的交集或并集以及第一反规则的动作与第二反规则的动作的交集组成第一执行规则,并不意味着第一执行规则限定只包括匹配域和动作,在第一、第二规则除匹配域和动作外还包括其他部分的实施例中,该第一执行规则也必然包括相应其他部分,而具体其他部分的合成原则可按照实际取其交集或并集。
具体地:
对于C1D1,其中,第一反规则C1为:SrcAddr:10.0.0.1:{S1},第二反规则D1为:SrcAddr:10.2.0.1:{S2},第一反规则C1的匹配域为一个IP地址10.0.0.1,第二反规则D1的匹配域为一个IP地址10.2.0.1,两者之间尽管是同一类型,但是两者之间没有交集,所以,C1D1为无效规则。
对于C1D2,其中,第一反规则C1为:SrcAddr:10.0.0.1:{S1},第二反规则D2为:DstPort:22:{S2},第一反规则C1的匹配域为一个IP地址10.0.0.1,第二反规则D2的匹配域为一个端口地址22,两者之间为不同类型,所以,C1D2取第一反规则C1的匹配域与第二反规则D2的匹配域的并集以及第一反规则C1的动作与第二反规则D2的动作的交集,C1D2为10.0.0.1,22:{S1∩S2}。
对于C1D3,其中,第一反规则C1为:SrcAddr:10.0.0.1:{S1},第二反规则D3为:SrcAddr:10.2.0.0/16:第一反规则C1的匹配域为一个IP地址10.0.0.1,第二反规则D3的匹配域为10.2.0.0/16(10.2.0.1~10.2.255.255),两者类型相同,但是,IP网址10.0.0.1与网段10.2.0.0/16之间没有任何交集,所以,C1D3为无效规则。
对于C1D4,其中,第一反规则C1为:SrcAddr:10.0.0.1:{S1},第二反规则D4为:*:{S2},第一反规则C1的匹配域为一个IP地址10.0.0.1,第二反规则D4的匹配域为通配符*,两者之间类型相同,所 以,C1D4取第一反规则C1的匹配域与第二反规则D4的匹配域的交集以及第一反规则C1的动作与第二反规则D4的动作的交集,C1D4为10.0.0.1:{S1∩S2}。
对于C2D1,其中,第一反规则C2为:DstPort:80:{S1},第二反规则D1为:SrcAddr:10.2.0.1:{S2},第一反规则C2的匹配域为一个端口地址80,第二反规则D1的匹配域为一个IP地址10.2.0.1,两者之间为不同类型,所以,C2D1取第一反规则C2的匹配域与第二反规则D1的匹配域的并集以及第一反规则C2的动作与第二反规则D1的动作的交集,C2D1为10.2.0.1,80:{S1∩S2}。
对于C2D2,其中,第一反规则C2为:DstPort:80:{S1},第二反规则D2为:DstPort:22:{S2},第一反规则C2的匹配域为一个端口地址80,第二反规则D2的匹配域为一个端口地址22,两者之间尽管是同一类型,但是两者之间没有交集,所以,C2D2为无效规则。
对于C2D3,其中,第一反规则C2为:DstPort:80:{S1},第二反规则D3为:SrcAddr:10.2.0.0/16:第一反规则C2的匹配域为一个端口地址80,第二反规则D3的匹配域为10.2.0.0/16(10.2.0.1~10.2.255.255),两者类型不同,所以,C2D3取第一反规则C2的匹配域与第二反规则D3的匹配域的并集以及第一反规则C2的动作与第二反规则D3的动作的交集,C2D3为10.2.0.0/16,80:
对于C2D4,其中,第一反规则C2为:DstPort:80:{S1},第二反规则D4为:*:{S2},第一反规则C2的匹配域为一个端口地址80,第二反规则D4的匹配域为通配符*,两者之间类型相同,所以,C2D4取第一反规则C2的匹配域与第二反规则D4的匹配域的交集以及第一反规则C2的动作与反规则D4的第二动作的交集,C2D4为80:{S1∩S2}。
对于C3D1,其中,第一反规则C3为:SrcAddr:10.0.0.0/8:第二反规则D1为:SrcAddr:10.2.0.1:{S2},第一反规则C3的匹配域为一个网段地址10.0.0.0/8(10.0.0.0~10.255.255.255),第二反规则D1的匹配域为一个IP地址10.2.0.1,两者类型相同,而且IP地址10.2.0.1属于网段地址10.0.0.0/8(10.0.0.0~10.255.255.255),两者之间存在交集, 所以,C3D1取第一反规则C3的匹配域与第二反规则D1的匹配域的交集以及第一反规则C3的动作与第二反规则D1的动作的交集,C3D1为10.2.0.1:
对于C3D2,其中,第一反规则C3为:SrcAddr:10.0.0.0/8:第二反规则D2为:DstPort:22:{S2},第一反规则C3的匹配域为一个网段地址10.0.0.0/8(10.0.0.0~10.255.255.255),第二反规则D2的匹配域为一个端口地址22,两者类型不同,所以,C3D2取第一反规则C3的匹配域与第二反规则D2的匹配域的并集以及第一反规则C3的动作与第二反规则D2的动作的交集,C3D2为10.0.0.0/8,22:
对于C3D3,其中,第一反规则C3为:SrcAddr:10.0.0.0/8:第二反规则D3为:SrcAddr:10.2.0.0/16:第一反规则C3的匹配域为一个网段地址10.0.0.0/8(10.0.0.0~10.255.255.255),第二反规则D3的匹配域为10.2.0.0/16(10.2.0.1~10.2.255.255),两者类型相同,且网段地址10.2.0.0/16(10.2.0.1~10.2.255.255)属于网段地址10.0.0.0/8(10.0.0.0~10.255.255.255),所以,C3D3取第一反规则C3的匹配域与第二反规则D3的匹配域的交集以及第一反规则C3的动作与第二反规则D3的动作的交集,C3D3为10.2.0.0/16:
对于C3D4,其中,第一反规则C3为:SrcAddr:10.0.0.0/8:第二反规则D4为:*:{S2},第一反规则C3的匹配域为一个网段地址10.0.0.0/8(10.0.0.0~10.255.255.255),第二反规则D4的匹配域为通配符*,两者之间类型相同,所以,C3D4取第一反规则C3的匹配域与第二反规则D4的匹配域的交集以及第一反规则C3的动作与第二反规则D4的动作的交集,C3D4为10.0.0.0/8:
对于C4D1,其中,第一反规则C4为:*:{S1},第二反规则D1为:SrcAddr:10.2.0.1:{S2},第一反规则C4的匹配域为通配符*,第二反规则D1的匹配域为一个IP地址10.2.0.1,两者类型相同,且IP地址10.2.0.1属于通配符*,两者存在交集,所以,C4D1取第一反规则C4的匹配域与第二反规则D1的匹配域的交集以及第一反规则C4的动作与第二反规则D1的动作的交集,C4D1为10.2.0.1:{S1∩S2}。
对于C4D2,其中,第一反规则C4为:*:{S1},第二反规则D2为:DstPort:22:{S2},第一反规则C4的匹配域为通配符*,第二反规则D2的匹配域为一个端口地址22,两者类型相同,所以,C4D2取第一反规则C4的匹配域与第二反规则D2的匹配域的交集以及第一反规则C4的动作与第二反规则D2的动作的交集,C4D2为22:{S1∩S2}。
对于C4D3,其中,第一反规则C4为:*:{S1},第二反规则D3为:SrcAddr:10.2.0.0/16:第一反规则C4的匹配域为通配符*,第二反规则D3的匹配域为10.2.0.0/16(10.2.0.1~10.2.255.255),两者类型相同,所以,C4D3取第一反规则C4的匹配域与第二反规则D3的匹配域的交集以及第一反规则C4的动作与第二反规则D3的动作的交集,C4D3为10.2.0.0/16:
对于C4D4,其中,第一反规则C4为:*:{S1},第二反规则D4为:*:{S2},第一反规则C4的匹配域为通配符*,第二反规则D4的匹配域为通配符*,两者之间类型相同,所以,C4D4取第一反规则C4的匹配域与第二反规则D4的匹配域的交集以及第一反规则C4的动作与第二反规则D4的动作的交集,C4D4为*:{S1∩S2}。
上述第一执行规则矩阵中,第一执行规则的优先级则先按照矩阵的列顺序排列,若同列则按照矩阵的行顺序排列。如第一执行规则矩阵中第一执行规则的优先级为:第一列>第二列>第三列>第四列…,而对于位于同一列的第一执行规则的优先级则:第一行>第二行>第三行>第四行…。所以,第一执行规则C1D1的优先级别最高,第一执行规则C1D2的优先级别其次,……,第一执行规则C4D4的优先级别最低。
230:控制器删除所述无效规则,并将剩余的所述第一执行规则作为有效第一执行规则,将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
对剩余有效的第一执行规则取反的原则为令匹配域不变,动作取反,其中,
在上述第一执行规则矩阵中:
由于C1D1是无效规则,将C1D1删除,故不需对C1D1进行取反。
对C1D2(10.0.0.1,22:{S1∩S2})进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反为10.0.0.1,22:其中, 所以,第一执行规则的取反可简化为10.0.0.1,22:{}。
由于C1D3是无效规则,将C1D3删除,故不需对C1D3进行取反。
对C1D4(10.0.0.1:{S1∩S2})进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反为10.0.0.1:其中, 所以,第一执行规则的取反可简化为10.0.0.1:{}。
对于C2D1(10.2.0.1,80:{S1∩S2})进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反10.2.0.1,80:其中, 所以,第一执行规则的取反可简化为10.2.0.1,80:{}。
由于C2D2是无效规则,将C2D2删除,故不需对C2D2进行取反。
对C2D3(10.2.0.0/16.80:)进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反10.2.0.0/16,80:其中,所以,第一执行规则的取反可简化为10.2.0.0/16,80:{S2}。
对C2D4(80:{S1∩S2})进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反80:其中,所以,第一执行规则的取反可简化为80:{}。
对于C3D1(10.2.0.1:)进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反10.2.0.1:其中, 所以,第一执行规则的取反可简化为10.2.0.1:{S1}。
对C3D2(10.0.0.0/8,22:)进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反10.0.0.0/8,22:}。其中, 所以,第一执行规则的取反可简化为10.0.0.0/8,22:{S1}。
对C3D3(10.2.0.0/16:)进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反10.2.0.0/16:其中, 所以,第一执行规则的取反可简化为10.2.0.0/16:{S1,S2}。
对C3D4(10.0.0.0/8:)进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反10.0.0.0/8:其中, 所以,第一执行规则的取反可简化为10.0.0.0/8:{S1}。
对C4D1(10.2.0.1:{S1∩S2})进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反10.2.0.1:其中, 所以,第一执行规则的取反可简化为10.2.0.1:{}。
对C4D2(22:{S1∩S2})进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反22:其中,所以,第一执行规则的取反可简化为22:{}。
对C4D3(10.2.0.0/16:)进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反10.2.0.0/16:其中, 所以,第一执行规则的取反可简化为10.2.0.0/16:{S2}。
对C4D4(*:{S1∩S2})进行取反,使得匹配域不变,动作取反,从而得到第一执行规则的取反*:其中,所以,第一执行规则的取反可简化为*:{}。
控制器将上述第一执行规则矩阵中的有效第一执行规则的取反根据第一转发设备S0支持的协议转化为相应的转发表项,以使第一转发设备S0在根据该转发表。转发表项可以是Openflow协议中定义的流表项,也可以是其它协议中定义的转发表项,此处不作具体限定。而且,转发表项的优先级与其相应的第一执行规则优先级顺序相同,使得第一转发设备S0接收到报文后,根据与该报文匹配的转发表项中优先级最高的转发表项将报文转发给其他转发设备,如S1或S2。
当冲突的控制策略还包括第三控制策略,即所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备S0时,控制器接收第三控制策略并将所述第三控制策略分解成k条第三规则,k为自然数。对上述有效第一执行规则取反以得到第一反执行规则,对第三规则取反以得到第三反规则。将第一反执行规则并按照第一执行规则的优先级顺序排列以构成第三矩阵所述第三矩阵为列矩阵,将第三反规则作为元素并按照第三规则的优先级顺序排列以构成第四矩阵所述第四矩 阵为行矩阵,令所述第三矩阵与所述第四矩阵相乘得到第二执行规则矩阵,分别将第二执行规则矩阵中的每对相乘的所述第一反执行规则与所述第三反规则按照类似于上述规则合成原则生成相应的第二执行规则,删除所述无效规则,并将剩余的每条所述第二执行规则取反后根据所述第一转发设备S0支持的协议转化为所述第一转发设备S0相应的转发表项。其中,该规则合成原则内容类似于上述的规则合成内容:由匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域间的交集或匹配域类型不同的第一反执行规则的匹配域与第三反规则的匹配域间的并集,以及第一反执行规则的动作与所述第三反规则的动作的交集组成所述第二执行规则,并将匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域之间没有交集的第二执行规则作为无效规则。其具体的过程与上述过程相类似,此处不展开赘述。
上述方案中,通过将第一控制策略分解成m条第一规则,将第二控制策略分解成n条第二规则,并根据规则合成原则来将每条第一规则和第二规则进行合成,由于该规则合成原则会将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则,上述定义的无效规则即为导致第一、第二控制策略冲突的规则部分,故通过将存在冲突的无效规则删除,避免了第一控制策略和第二控制策略间存在的冲突规则情况,即解决了策略冲突问题,使得第一转发既能执行第一控制策略也能执行第二控制策略。
参阅图3,图3是本申请策略冲突解决方法一实施方式的流程图。本实施方式与图2所示的实施方式的步骤210、220相同,其不同之处在于,步骤230具体包括:
310:控制器删除无效规则。
320:控制器比较剩余的每两条第一执行规则的匹配域,如果其中一条第一执行规则的匹配域覆盖另一条第一执行规则的匹配域,则将匹配域较小的第一执行规则删除;如果两条第一执行规则的匹配域相同,则将优先级别较低的第一执行规则删除,将所述匹配域较小的第一执行规则和所述优先级较低的第一执行规则删除后剩余的第一执行规则作为有效第一执行规则。
控制器对第一执行规则矩阵中的删除无效规则后剩余的每两条第一执行规则的匹配域进行比较,当然也可只将匹配域有相同的每两条第一执行规则的匹配域进行比较。其中两个匹配域的匹配条件越多且匹配条件相同则匹配域越小。如第一执行规则C1D2的匹配域为10.0.0.1,22,有两个匹配条件分别为IP地址为10.0.0.1和端口为22,第一执行规则C1D4的匹配域10.0.0.1,只有一个匹配条件且与C1D2的一个匹配条件相同,即第一执行规则C1D2的匹配域为10.0.0.1,22,被第一执行规则C1D4的匹配域10.0.0.1覆盖,即第一执行规则C1D2的匹配域较小,所以可删除第一执行规则C1D2;发现第一执行规则C3D1的匹配域为10.2.0.1,覆盖第一执行规则C2D1的匹配域10.2.0.1,80,即第一执行规则C2D1的匹配域较小,所以,可将第一执行规则C2D1删除。发现第一执行规则C3D1的匹配域为10.2.0.1与第一执行规则C4D1的匹配域10.2.0.1相同,其中匹配域相同即为匹配条件全部相同,或者还可为两者的匹配条件均包括相同的端口号,且其中一个匹配域只包括上述端口号的匹配条件,第一执行规则C3D1的优先级别较高,所以,删除第一执行规则C4D1。同理,发现第一执行规则C3D3的匹配域与第一执行规则C4D3的匹配域相同,第一执行规则C3D3的优先级别高于第一执行规则C4D3的优先级别,所以,删除第一执行规则C4D3。发现第一执行规则C4D2的匹配域为22,只包括端口号,而第一执行规则C3D2的匹配域为10.0.0.0/8,22,不仅包括该端口号,则两者匹配域相同,第一执行规则C3D2的优先级别高于第一执行规则C4D2的优先级别,所以删除第一执行规则C4D2。
所以剩下的第一执行规作为有效第一执行规则,并取反得到:
R1:10.0.0.1:{}含义为:研发部门服务器不能通过S1访问外部网络。其中,由于匹配域10.0.0.1属于第一控制策略,即该规则R1属于第一控制策略,故R1的动作{}表示不去往第一控制策略的所有动作即不去往S1。下面规则的丢弃动作同理。
R2:10.2.0.0/16,80:{S2}含义为:预研小组员工从S2访问外部网 络。
R3:80:{}含义为:研发部门员工不能通过S1访问外部网络。
R4:10.2.0.1:{S1}含义为:预研小组服务器通过S1访问内部网络。
R5:10.0.0.0/8,22:{S1}含义为:研发部门员工从S1访问内部网络。
R6:10.2.0.0/16:{S1,S2}含义为:预研小组员工从S2访问外部网络,从S1访问内部网络。
R7:10.0.0.0/8:{S1}含义为:研发部门员工从S1访问内部网络。
R8:*:{}含义为:当报文不能与第一执行规则R1至R8的匹配域匹配时,丢弃报文。
经过上述优化处理,剩余的每两个有效第一执行规则的匹配域均无完全重叠,且可按照转化表项的优先级执行转发,避免了冲突的发生,进一步解决了冲突策略。
330:控制器将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
当冲突的控制策略还包括第三控制策略,即所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备S0时,控制器如上一实施方式过程生成第二执行规则,并转化成第一转发设备S0相应的转发表项,此处不展开赘述。
本方案针对SDN上多应用、多用户出现策略冲突的情况下,用简洁明了的规则合成原则,定义完备的匹配项覆盖空间,并将造成冲突的无效规则删除,解决了第一、第二控制策略间的冲突问题。同时,沿用优先级,可把规则的优先级和矩阵元素相结合,不破坏原有的策略优先级。同时,可优化发现匹配项覆盖问题和动作冲突问题,并解决这两个冲突,生成高效的无冲突的转发规则。
参阅图4,图4是本申请策略冲突解决装置一实施方式的流程图。本实施方式的策略冲突解决装置包括接收模块410、合成模块420以及删除模块430。
所述接收模块410用于接收第一控制策略并将所述第一控制策略分解成m条第一规则,以及,接收第二控制策略并将所述第二控制策略分解成n条第二规则,其中,m,n为自然数,所述第一控制策略和所述第二控制策略均作用于第一转发设备,所述第一规则和第二规则均包括匹配域和动作,所述接收模块410将所述m条第一规则以及所述n条第二规则发送给所述合成模块420;
所述合成模块420用于接收所述m条第一规则以及所述n条第二规则,对每条所述第一规则取反以得到第一反规则,对每条所述第二规则取反以得到第二反规则,分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,其中,所述规则合成原则包括:由匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域间的交集或匹配域类型不同的第一反规则的匹配域与第二反规则的匹配域间的并集,以及第一反规则的动作与所述第二反规则的动作的交集组成所述第一执行规则,并将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则,所述合成模块420将合成的第一执行规则发送给所述删除模块430;可选地,该规则合成原则还可包括:若第一反规则的动作与第二反规则的动作的交集的取反没有交集,则将该第一反规则和第二反规则合成的规则也作为无效规则。
所述删除模块430用于接收所述合成的第一执行规则,删除所述无效规则,并将剩余的所述第一执行规则作为有效第一执行规则,将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
可选地,对所述第一规则取反即令所述第一规则的匹配域不变、所述第一规则的动作取反,对所述第二规则取反即令所述第二规则的匹配域不变、所述第二规则的动作取反。
可选地,所述合成模块420还用于将每条所述第一反规则作为元素并按照第一规则的优先级顺序排列以构成第一矩阵,所述第一矩阵为列矩阵,将每条所述第二反规则作为元素并按照第二规则的优先级顺序排 列以构成第二矩阵,所述第二矩阵为行矩阵,令所述第一矩阵与所述第二矩阵相乘得到第一执行规则矩阵,将第一执行规则矩阵中每对相乘的所述第一反规则与所述第二反规则按照所述规则合成原则生成相应的第一执行规则,其中所述第一执行规则矩阵的第一执行规则的优先级为先按照矩阵的列顺序排列,同列的则按照矩阵的行顺序排列。
可选地,所述合成模块420还用于在所述分解成m条第一规则之后,新增一条第一匹配规则作为优先级最低的第一规则;在所述分解成n条第二规则之后,新增一条第二匹配规则作为优先级最低的第二规则。其中,所述第一匹配规则和第二匹配规则的匹配域均为通配符,动作均为丢弃。
可选地,所述接收模块410还用于接收第三控制策略并将所述第三控制策略分解成k条第三规则,k为自然数,所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备,所述接收模块410将所述k条第三规则发送给所述合成模块420;
所述取反模块420还用于接收所述k条第三规则,对每条所述有效第一执行规则取反以得到每条第一反执行规则,对每条所述第三规则取反以得到每条第三反规则,将每条所述第一反执行规则作为元素并按照第一执行规则的优先级顺序排列以构成第三矩阵,所述第三矩阵为列矩阵,将每条所述第三反规则作为元素并按照第三规则的优先级顺序排列以构成第四矩阵,所述第四矩阵为行矩阵,令所述第三矩阵与所述第四矩阵相乘得到第二执行规则矩阵,分别将第二执行规则矩阵中的每对相乘的所述第一反执行规则与所述第三反规则按照所述规则合成原则生成相应的第二执行规则,其中,所述规则合成原则还包括:由匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域间的交集或匹配域类型不同的第一反执行规则的匹配域与第三反规则的匹配域间的并集,以及第一反执行规则的动作与所述第三反规则的动作的交集组成所述第二执行规则,并将匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域之间没有交集的第二执行规则作为无效规则,所述合成模块420将合成的第二执行规则发送给所述删除模块430;
所述删除模块430用于接收所述合成的第二执行规则,删除所述无效规则,并将剩余的每条所述第二执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
本实施方式的策略冲突解决装置能够执行如图2所示的方法。
可选地,所述合成模块还用于在删除所述无效规则之后,比较剩余的每两条第一执行规则的匹配域,如果其中一条第一执行规则的匹配域覆盖另一条第一执行规则的匹配域,则将匹配域较小的第一执行规则删除;如果两条第一执行规则的匹配域相同,则将优先级别较低的第一执行规则删除,将所述匹配域较小的第一执行规则和所述优先级较低的第一执行规则删除后剩余的第一执行规则作为有效第一执行规则。
当冲突的控制策略还包括第三控制策略,即所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备S0时,所述装置如上一实施方式过程生成第二执行规则,并转化成第一转发设备S0相应的转发表项,此处不展开赘述。
本实施方式的策略冲突解决装置能够执行如图3所示的方法。
上述方案中,通过将第一控制策略分解成m条第一规则,将第二控制策略分解成n条第二规则,并根据规则合成原则来将每条第一规则和第二规则进行合成,由于该规则合成原则会将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则,上述定义的无效规则即为导致第一、第二控制策略冲突的规则部分,故通过将存在冲突的无效规则删除,避免了第一控制策略和第二控制策略间存在的冲突规则情况,即解决了策略冲突问题,使得第一转发既能执行第一控制策略也能执行第二控制策略。
参阅图5,图5是本申请控制器一实施方式的结构示意图。本实施方式的控制器500接收器501、处理器502、发送器503、存储器504以及总线505。
接收器501用于接收第一控制策略以及第二控制策略。
处理器502用于:
将所述第一控制策略分解成m条第一规则,将所述第二控制策略分 解成n条第二规则,其中,m,n为自然数,所述第一控制策略和所述第二控制策略均作用于第一转发设备,所述第一规则和第二规则均包括匹配域和动作;
对每条所述第一规则取反以得到第一反规则,对每条所述第二规则取反以得到第二反规则,分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,其中,所述规则合成原则包括:由匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域间的交集或匹配域类型不同的第一反规则的匹配域与第二反规则的匹配域间的并集,以及第一反规则的动作与所述第二反规则的动作的交集组成所述第一执行规则,并将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则;
删除所述无效规则,并将剩余的所述第一执行规则作为有效第一执行规则,将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
发送器503用于将所述转发表项发送出去。
存储器504可以包括只读存储器和随机存取存储器,并向处理器502提供指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器504存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器502通过调用存储器504存储的操作指令(该操作指令可存储在操作系统中),来执行上述操作。
处理器502还可以称为CPU(Central Processing Unit,中央处理单元)。存储器504可以包括只读存储器和随机存取存储器,并向处理器502提供指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,控制器的各个组件通过总线系统 505耦合在一起,其中总线系统505除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统505。
上述本发明实施例揭示的方法可以应用于处理器502中,或者由处理器502实现。处理器502可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器502中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器502可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器504,处理器502读取存储器504中的信息,结合其硬件完成上述方法的步骤。
可选地,对所述第一规则取反即令所述第一规则的匹配域不变、所述第一规则的动作取反,对所述第二规则取反即令所述第二规则的匹配域不变、所述第二规则的动作取反。
可选地,处理器502还用于将每条所述第一反规则作为元素并按照第一规则的优先级顺序排列以构成第一矩阵,所述第一矩阵为列矩阵,将每条所述第二反规则作为元素并按照第二规则的优先级顺序排列以构成第二矩阵,所述第二矩阵为行矩阵,令所述第一矩阵与所述第二矩阵相乘得到第一执行规则矩阵,将第一执行规则矩阵中每对相乘的所述第一反规则与所述第二反规则按照所述规则合成原则生成相应的第一执行规则,其中所述第一执行规则矩阵的第一执行规则的优先级为先按照矩阵的列顺序排列,同列的则按照矩阵的行顺序排列。
可选地,处理器502还用于在所述分解成m条第一规则之后,新增 一条第一匹配规则作为优先级最低的第一规则;在所述分解成n条第二规则之后,新增一条第二匹配规则作为优先级最低的第二规则。其中,所述第一匹配规则和第二匹配规则的匹配域均为通配符,动作均为丢弃。
可选地,处理器502还用于在删除所述无效规则之后,比较剩余的每两条第一执行规则的匹配域,如果其中一条第一执行规则的匹配域覆盖另一条第一执行规则的匹配域,则将匹配域较小的第一执行规则删除;如果两条第一执行规则的匹配域相同,则将优先级别较低的第一执行规则删除,将所述匹配域较小的第一执行规则和所述优先级较低的第一执行规则删除后剩余的第一执行规则作为有效第一执行规则。
可选地,所述接收器501还用于接收第三控制策略并将所述第三控制策略分解成k条第三规则,k为自然数,所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备;所述处理器502还用于对每条有效第一执行规则取反以得到每条所述第一反执行规则,对每条第三规则取反以得到每条所述第三反规则,将每条所述第一反执行规则作为元素并按照第一执行规则的优先级顺序排列以构成第三矩阵,所述第三矩阵为列矩阵,将每条所述第三反规则作为元素并按照第三规则的优先级顺序排列以构成第四矩阵,所述第四矩阵为行矩阵,令所述第三矩阵与所述第四矩阵相乘得到第二执行规则矩阵,分别将第二执行规则矩阵中的每对相乘的所述第一反执行规则与所述第三反规则按照所述规则合成原则生成相应的第二执行规则,其中,所述规则合成原则还包括:由匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域间的交集或匹配域类型不同的第一反执行规则的匹配域与第三反规则的匹配域间的并集,以及第一反执行规则的动作与所述第三反规则的动作的交集组成所述第二执行规则,并将匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域之间没有交集的第二执行规则作为无效规则,删除所述无效规则,并将剩余的每条所述第二执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
上述方案中,通过将第一控制策略分解成m条第一规则,将第二控制策略分解成n条第二规则,并根据规则合成原则来将每条第一规则和第二规则进行合成,由于该规则合成原则会将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则,上述定义的无效规则即为导致第一、第二控制策略冲突的规则部分,故通过将存在冲突的无效规则删除,避免了第一控制策略和第二控制策略间存在的冲突规则情况,即解决了策略冲突问题,使得第一转发既能执行第一控制策略也能执行第二控制策略。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种策略冲突解决方法,其特征在于,所述方法包括:
接收第一控制策略并将所述第一控制策略分解成m条第一规则,以及,接收第二控制策略并将所述第二控制策略分解成n条第二规则,其中,m,n为自然数,所述第一控制策略和所述第二控制策略均作用于第一转发设备,所述第一规则和第二规则均包括匹配域和动作;
对每条所述第一规则取反以得到第一反规则,对每条所述第二规则取反以得到第二反规则,分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,其中,所述规则合成原则包括:由匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域间的交集或匹配域类型不同的第一反规则的匹配域与第二反规则的匹配域间的并集,以及第一反规则的动作与所述第二反规则的动作的交集组成所述第一执行规则,并将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则;
删除所述无效规则,并将剩余的所述第一执行规则作为有效第一执行规则,将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项;
其中,所述对每条所述第一规则取反即令所述第一规则的匹配域不变、所述第一规则的动作取反;所述对每条所述第二规则取反即令所述第二规则的匹配域不变、所述第二规则的动作取反。
2.根据权利要求1所述的方法,其特征在于,所述分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,包括:
将每条所述第一反规则作为元素并按照第一规则的优先级顺序排列以构成第一矩阵,所述第一矩阵为列矩阵,将每条所述第二反规则作为元素并按照第二规则的优先级顺序排列以构成第二矩阵,所述第二矩阵为行矩阵,令所述第一矩阵与所述第二矩阵相乘得到第一执行规则矩阵,将第一执行规则矩阵中每对相乘的所述第一反规则与所述第二反规则按照所述规则合成原则生成相应的第一执行规则,其中所述第一执行规则矩阵的第一执行规则的优先级为先按照矩阵的列顺序排列,同列的则按照矩阵的行顺序排列。
3.根据权利要求2所述的方法,其特征在于,
所述分解成m条第一规则之后还包括:新增一条第一匹配规则作为优先级最低的第一规则;
所述分解成n条第二规则之后还包括:新增一条第二匹配规则作为优先级最低的第二规则;
其中,所述第一匹配规则和第二匹配规则的匹配域均为通配符,动作均为丢弃。
4.根据权利要求2所述的方法,其特征在于,所述将剩余的所述第一执行规则作为有效第一执行规则包括:
比较剩余的每两条第一执行规则的匹配域,如果其中一条第一执行规则的匹配域覆盖另一条第一执行规则的匹配域,则将匹配域较小的第一执行规则删除;如果两条第一执行规则的匹配域相同,则将优先级较低的第一执行规则删除,将所述匹配域较小的第一执行规则和所述优先级较低的第一执行规则删除后剩余的第一执行规则作为有效第一执行规则。
5.根据权利要求2或4所述的方法,其特征在于,所述方法还包括:
接收第三控制策略并将所述第三控制策略分解成k条第三规则,k为自然数,所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备;
对每条所述有效第一执行规则取反以得到每条第一反执行规则,对每条所述第三规则取反以得到每条第三反规则;
将每条所述第一反执行规则作为元素并按照第一执行规则的优先级顺序排列以构成第三矩阵,所述第三矩阵为列矩阵,将每条所述第三反规则作为元素并按照第三规则的优先级顺序排列以构成第四矩阵,所述第四矩阵为行矩阵,令所述第三矩阵与所述第四矩阵相乘得到第二执行规则矩阵,分别将第二执行规则矩阵中的每对相乘的所述第一反执行规则与所述第三反规则按照所述规则合成原则生成相应的第二执行规则,其中,所述规则合成原则还包括:由匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域间的交集或匹配域类型不同的第一反执行规则的匹配域与第三反规则的匹配域间的并集,以及第一反执行规则的动作与所述第三反规则的动作的交集组成所述第二执行规则,并将匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域之间没有交集的第二执行规则作为无效规则;
删除所述无效规则,并将剩余的每条所述第二执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
6.一种策略冲突解决装置,其特征在于,包括:接收模块、合成模块以及删除模块,
所述接收模块用于接收第一控制策略并将所述第一控制策略分解成m条第一规则,以及,接收第二控制策略并将所述第二控制策略分解成n条第二规则,其中,m,n为自然数,所述第一控制策略和所述第二控制策略均作用于第一转发设备,所述第一规则和第二规则均包括匹配域和动作,所述接收模块将所述m条第一规则以及所述n条第二规则发送给所述合成模块;
所述合成模块用于接收所述m条第一规则以及所述n条第二规则,对每条所述第一规则取反以得到第一反规则,对每条所述第二规则取反以得到第二反规则,分别将每条所述第一反规则与每条所述第二反规则按照规则合成原则生成相应的第一执行规则,其中,所述规则合成原则包括:由匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域间的交集或匹配域类型不同的第一反规则的匹配域与第二反规则的匹配域间的并集,以及第一反规则的动作与所述第二反规则的动作的交集组成所述第一执行规则,并将匹配域类型相同的第一反规则的匹配域与第二反规则的匹配域之间没有交集的第一执行规则作为无效规则,所述合成模块将合成的第一执行规则发送给所述删除模块;
所述删除模块用于接收所述合成的第一执行规则,删除所述无效规则,并将剩余的所述第一执行规则作为有效第一执行规则,将每条所述有效第一执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项;
其中,所述对所述第一规则取反即令所述第一规则的匹配域不变、所述第一规则的动作取反;所述对所述第二规则取反即令所述第二规则的匹配域不变、所述第二规则的动作取反。
7.根据权利要求6所述的装置,其特征在于,所述合成模块还用于将每条所述第一反规则作为元素并按照第一规则的优先级顺序排列以构成第一矩阵,所述第一矩阵为列矩阵,将每条所述第二反规则作为元素并按照第二规则的优先级顺序排列以构成第二矩阵,所述第二矩阵为行矩阵,令所述第一矩阵与所述第二矩阵相乘得到第一执行规则矩阵,将第一执行规则矩阵中每对相乘的所述第一反规则与所述第二反规则按照所述规则合成原则生成相应的第一执行规则,其中所述第一执行规则矩阵的第一执行规则的优先级为先按照矩阵的列顺序排列,同列的则按照矩阵的行顺序排列。
8.根据权利要求7所述的装置,其特征在于,所述合成模块还用于在所述分解成m条第一规则之后,新增一条第一匹配规则作为优先级最低的第一规则;在所述分解成n条第二规则之后,新增一条第二匹配规则作为优先级最低的第二规则;
其中,所述第一匹配规则和第二匹配规则的匹配域均为通配符,动作均为丢弃。
9.根据权利要求7所述的装置,其特征在于,所述合成模块还用于在删除所述无效规则之后,比较剩余的每两条第一执行规则的匹配域,如果其中一条第一执行规则的匹配域覆盖另一条第一执行规则的匹配域,则将匹配域较小的第一执行规则删除;如果两条第一执行规则的匹配域相同,则将优先级别较低的第一执行规则删除,将所述匹配域较小的第一执行规则和所述优先级较低的第一执行规则删除后剩余的第一执行规则作为有效第一执行规则。
10.根据权利要求7或9所述的装置,其特征在于,
所述接收模块还用于接收第三控制策略并将所述第三控制策略分解成k条第三规则,k为自然数,所述第三控制策略与所述第一、第二控制策略均作用于所述第一转发设备,所述接收模块将所述k条第三规则发送给所述合成模块;
所述合成模块还用于接收所述k条第三规则,对每条所述有效第一执行规则取反以得到每条第一反执行规则,对每条所述第三规则取反以得到每条第三反规则,将每条所述第一反执行规则作为元素并按照第一执行规则的优先级顺序排列以构成第三矩阵,所述第三矩阵为列矩阵,将每条所述第三反规则作为元素并按照第三规则的优先级顺序排列以构成第四矩阵,所述第四矩阵为行矩阵,令所述第三矩阵与所述第四矩阵相乘得到第二执行规则矩阵,分别将第二执行规则矩阵中的每对相乘的所述第一反执行规则与所述第三反规则按照所述规则合成原则生成相应的第二执行规则,其中,所述规则合成原则还包括:由匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域间的交集或匹配域类型不同的第一反执行规则的匹配域与第三反规则的匹配域间的并集,以及第一反执行规则的动作与所述第三反规则的动作的交集组成所述第二执行规则,并将匹配域类型相同的第一反执行规则的匹配域与第三反规则的匹配域之间没有交集的第二执行规则作为无效规则,所述合成模块将合成的第二执行规则发送给所述删除模块;
所述删除模块还用于接收所述合成的第二执行规则,删除所述无效规则,并将剩余的每条所述第二执行规则取反后根据所述第一转发设备支持的协议转化为所述第一转发设备相应的转发表项。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410348832.2A CN104104615B (zh) | 2014-07-21 | 2014-07-21 | 策略冲突解决方法以及装置 |
EP15823978.0A EP3160083B1 (en) | 2014-07-21 | 2015-07-06 | Policy conflict resolution method and device |
PCT/CN2015/083379 WO2016011888A1 (zh) | 2014-07-21 | 2015-07-06 | 策略冲突解决方法以及装置 |
US15/410,092 US10193755B2 (en) | 2014-07-21 | 2017-01-19 | Policy conflict resolution method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410348832.2A CN104104615B (zh) | 2014-07-21 | 2014-07-21 | 策略冲突解决方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104104615A CN104104615A (zh) | 2014-10-15 |
CN104104615B true CN104104615B (zh) | 2017-07-07 |
Family
ID=51672423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410348832.2A Active CN104104615B (zh) | 2014-07-21 | 2014-07-21 | 策略冲突解决方法以及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10193755B2 (zh) |
EP (1) | EP3160083B1 (zh) |
CN (1) | CN104104615B (zh) |
WO (1) | WO2016011888A1 (zh) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104615B (zh) | 2014-07-21 | 2017-07-07 | 华为技术有限公司 | 策略冲突解决方法以及装置 |
US9781004B2 (en) | 2014-10-16 | 2017-10-03 | Cisco Technology, Inc. | Discovering and grouping application endpoints in a network environment |
CN106576260B (zh) * | 2015-06-08 | 2020-06-26 | 华为技术有限公司 | Nfv系统中的策略协调方法和装置 |
CN105245400A (zh) * | 2015-09-16 | 2016-01-13 | 江苏省未来网络创新研究院 | 一种sdn服务链应用有效性的检测方法 |
CN106656591A (zh) * | 2016-12-15 | 2017-05-10 | 西安电子科技大学 | 一种软件定义网络中多应用间的规则冲突检测与消除方法 |
US10826788B2 (en) | 2017-04-20 | 2020-11-03 | Cisco Technology, Inc. | Assurance of quality-of-service configurations in a network |
US10560328B2 (en) | 2017-04-20 | 2020-02-11 | Cisco Technology, Inc. | Static network policy analysis for networks |
US10623264B2 (en) | 2017-04-20 | 2020-04-14 | Cisco Technology, Inc. | Policy assurance for service chaining |
US10554483B2 (en) | 2017-05-31 | 2020-02-04 | Cisco Technology, Inc. | Network policy analysis for networks |
US10812318B2 (en) | 2017-05-31 | 2020-10-20 | Cisco Technology, Inc. | Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment |
US10693738B2 (en) | 2017-05-31 | 2020-06-23 | Cisco Technology, Inc. | Generating device-level logical models for a network |
US10623271B2 (en) | 2017-05-31 | 2020-04-14 | Cisco Technology, Inc. | Intra-priority class ordering of rules corresponding to a model of network intents |
US10581694B2 (en) | 2017-05-31 | 2020-03-03 | Cisco Technology, Inc. | Generation of counter examples for network intent formal equivalence failures |
US10439875B2 (en) | 2017-05-31 | 2019-10-08 | Cisco Technology, Inc. | Identification of conflict rules in a network intent formal equivalence failure |
US10505816B2 (en) | 2017-05-31 | 2019-12-10 | Cisco Technology, Inc. | Semantic analysis to detect shadowing of rules in a model of network intents |
US20180351788A1 (en) | 2017-05-31 | 2018-12-06 | Cisco Technology, Inc. | Fault localization in large-scale network policy deployment |
US10547715B2 (en) | 2017-06-16 | 2020-01-28 | Cisco Technology, Inc. | Event generation in response to network intent formal equivalence failures |
US10587621B2 (en) | 2017-06-16 | 2020-03-10 | Cisco Technology, Inc. | System and method for migrating to and maintaining a white-list network security model |
US10498608B2 (en) | 2017-06-16 | 2019-12-03 | Cisco Technology, Inc. | Topology explorer |
US10686669B2 (en) | 2017-06-16 | 2020-06-16 | Cisco Technology, Inc. | Collecting network models and node information from a network |
US11150973B2 (en) | 2017-06-16 | 2021-10-19 | Cisco Technology, Inc. | Self diagnosing distributed appliance |
US10574513B2 (en) | 2017-06-16 | 2020-02-25 | Cisco Technology, Inc. | Handling controller and node failure scenarios during data collection |
US10904101B2 (en) | 2017-06-16 | 2021-01-26 | Cisco Technology, Inc. | Shim layer for extracting and prioritizing underlying rules for modeling network intents |
US11469986B2 (en) | 2017-06-16 | 2022-10-11 | Cisco Technology, Inc. | Controlled micro fault injection on a distributed appliance |
US11645131B2 (en) | 2017-06-16 | 2023-05-09 | Cisco Technology, Inc. | Distributed fault code aggregation across application centric dimensions |
US10812336B2 (en) | 2017-06-19 | 2020-10-20 | Cisco Technology, Inc. | Validation of bridge domain-L3out association for communication outside a network |
US10432467B2 (en) | 2017-06-19 | 2019-10-01 | Cisco Technology, Inc. | Network validation between the logical level and the hardware level of a network |
US10505817B2 (en) | 2017-06-19 | 2019-12-10 | Cisco Technology, Inc. | Automatically determining an optimal amount of time for analyzing a distributed network environment |
US10218572B2 (en) | 2017-06-19 | 2019-02-26 | Cisco Technology, Inc. | Multiprotocol border gateway protocol routing validation |
US10623259B2 (en) | 2017-06-19 | 2020-04-14 | Cisco Technology, Inc. | Validation of layer 1 interface in a network |
US10536337B2 (en) | 2017-06-19 | 2020-01-14 | Cisco Technology, Inc. | Validation of layer 2 interface and VLAN in a networked environment |
US11283680B2 (en) | 2017-06-19 | 2022-03-22 | Cisco Technology, Inc. | Identifying components for removal in a network configuration |
US10341184B2 (en) | 2017-06-19 | 2019-07-02 | Cisco Technology, Inc. | Validation of layer 3 bridge domain subnets in in a network |
US10348564B2 (en) | 2017-06-19 | 2019-07-09 | Cisco Technology, Inc. | Validation of routing information base-forwarding information base equivalence in a network |
US10567229B2 (en) | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validating endpoint configurations between nodes |
US10437641B2 (en) | 2017-06-19 | 2019-10-08 | Cisco Technology, Inc. | On-demand processing pipeline interleaved with temporal processing pipeline |
US10560355B2 (en) | 2017-06-19 | 2020-02-11 | Cisco Technology, Inc. | Static endpoint validation |
US10547509B2 (en) | 2017-06-19 | 2020-01-28 | Cisco Technology, Inc. | Validation of a virtual port channel (VPC) endpoint in the network fabric |
US10554493B2 (en) | 2017-06-19 | 2020-02-04 | Cisco Technology, Inc. | Identifying mismatches between a logical model and node implementation |
US10644946B2 (en) | 2017-06-19 | 2020-05-05 | Cisco Technology, Inc. | Detection of overlapping subnets in a network |
US11343150B2 (en) | 2017-06-19 | 2022-05-24 | Cisco Technology, Inc. | Validation of learned routes in a network |
US10567228B2 (en) | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validation of cross logical groups in a network |
US10528444B2 (en) | 2017-06-19 | 2020-01-07 | Cisco Technology, Inc. | Event generation in response to validation between logical level and hardware level |
US10673702B2 (en) | 2017-06-19 | 2020-06-02 | Cisco Technology, Inc. | Validation of layer 3 using virtual routing forwarding containers in a network |
US10333787B2 (en) | 2017-06-19 | 2019-06-25 | Cisco Technology, Inc. | Validation of L3OUT configuration for communications outside a network |
US10805160B2 (en) | 2017-06-19 | 2020-10-13 | Cisco Technology, Inc. | Endpoint bridge domain subnet validation |
US10411996B2 (en) | 2017-06-19 | 2019-09-10 | Cisco Technology, Inc. | Validation of routing information in a network fabric |
US10700933B2 (en) | 2017-06-19 | 2020-06-30 | Cisco Technology, Inc. | Validating tunnel endpoint addresses in a network fabric |
US10652102B2 (en) | 2017-06-19 | 2020-05-12 | Cisco Technology, Inc. | Network node memory utilization analysis |
US10587456B2 (en) | 2017-09-12 | 2020-03-10 | Cisco Technology, Inc. | Event clustering for a network assurance platform |
US10587484B2 (en) | 2017-09-12 | 2020-03-10 | Cisco Technology, Inc. | Anomaly detection and reporting in a network assurance appliance |
US10554477B2 (en) | 2017-09-13 | 2020-02-04 | Cisco Technology, Inc. | Network assurance event aggregator |
US10333833B2 (en) | 2017-09-25 | 2019-06-25 | Cisco Technology, Inc. | Endpoint path assurance |
US11102053B2 (en) | 2017-12-05 | 2021-08-24 | Cisco Technology, Inc. | Cross-domain assurance |
US10873509B2 (en) | 2018-01-17 | 2020-12-22 | Cisco Technology, Inc. | Check-pointing ACI network state and re-execution from a check-pointed state |
US10572495B2 (en) | 2018-02-06 | 2020-02-25 | Cisco Technology Inc. | Network assurance database version compatibility |
JP6805196B2 (ja) * | 2018-02-23 | 2020-12-23 | 日本電信電話株式会社 | ポリシー競合解消システム及びポリシー競合解消方法 |
CN110417568B (zh) * | 2018-04-28 | 2021-10-26 | 华为技术有限公司 | Nfv策略协商方法及系统 |
US10812315B2 (en) | 2018-06-07 | 2020-10-20 | Cisco Technology, Inc. | Cross-domain network assurance |
CN110650023A (zh) * | 2018-06-26 | 2020-01-03 | 中国移动通信有限公司研究院 | 策略规则处理方法及装置、功能网元及存储介质 |
US10659298B1 (en) | 2018-06-27 | 2020-05-19 | Cisco Technology, Inc. | Epoch comparison for network events |
US10911495B2 (en) | 2018-06-27 | 2021-02-02 | Cisco Technology, Inc. | Assurance of security rules in a network |
US11044273B2 (en) | 2018-06-27 | 2021-06-22 | Cisco Technology, Inc. | Assurance of security rules in a network |
US11218508B2 (en) | 2018-06-27 | 2022-01-04 | Cisco Technology, Inc. | Assurance of security rules in a network |
US11019027B2 (en) | 2018-06-27 | 2021-05-25 | Cisco Technology, Inc. | Address translation for external network appliance |
US10904070B2 (en) | 2018-07-11 | 2021-01-26 | Cisco Technology, Inc. | Techniques and interfaces for troubleshooting datacenter networks |
US10826770B2 (en) | 2018-07-26 | 2020-11-03 | Cisco Technology, Inc. | Synthesis of models for networks using automated boolean learning |
US10616072B1 (en) | 2018-07-27 | 2020-04-07 | Cisco Technology, Inc. | Epoch data interface |
CN109302409A (zh) * | 2018-10-31 | 2019-02-01 | 锐捷网络股份有限公司 | Acl访问控制策略的分析方法、装置、设备及存储介质 |
CN112822699B (zh) * | 2019-11-15 | 2022-09-02 | 华为技术有限公司 | 执行意图的方法及装置 |
CN113959069B (zh) * | 2021-10-20 | 2023-05-09 | 青岛海信日立空调系统有限公司 | 空调系统 |
CN114039853B (zh) * | 2021-11-15 | 2024-02-09 | 天融信雄安网络安全技术有限公司 | 一种检测安全策略的方法、装置、存储介质和电子设备 |
CN114338246B (zh) * | 2022-03-14 | 2022-06-07 | 章和技术(广州)有限公司 | 一种防火墙策略审计方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393473B1 (en) * | 1998-12-18 | 2002-05-21 | Cisco Technology, Inc. | Representing and verifying network management policies using collective constraints |
CN102215212A (zh) * | 2010-04-02 | 2011-10-12 | 中兴通讯股份有限公司 | 一种安全策略的冲突处理方法、架构及统一转换器 |
CN102760076A (zh) * | 2012-06-05 | 2012-10-31 | 华为技术有限公司 | 一种系统的策略冲突处理方法及策略冲突处理系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7505463B2 (en) * | 2004-06-15 | 2009-03-17 | Sun Microsystems, Inc. | Rule set conflict resolution |
US20070245018A1 (en) * | 2006-04-12 | 2007-10-18 | International Business Machines Corporation | Dynamic access control in a content-based publish/subscribe system with delivery guarantees |
CN100592315C (zh) * | 2008-08-29 | 2010-02-24 | 中国科学院软件研究所 | 一种xacml策略规则检测方法 |
US8345688B2 (en) * | 2010-02-23 | 2013-01-01 | Google Inc. | System and method for managing flow of packets |
WO2012054055A1 (en) * | 2010-10-22 | 2012-04-26 | Hewlett-Packard Development Company, L.P. | Distributed network instrumentation system |
US8655824B1 (en) * | 2011-03-07 | 2014-02-18 | The Boeing Company | Global policy framework analyzer |
CN102957697A (zh) * | 2012-10-26 | 2013-03-06 | 上海交通大学 | 一种多域间基于rbac模型的访问控制策略合成方法 |
WO2014085952A1 (zh) * | 2012-12-03 | 2014-06-12 | 华为技术有限公司 | 一种策略处理的方法及网络设备 |
US9258243B2 (en) * | 2013-05-10 | 2016-02-09 | Cisco Technology, Inc. | Symmetric service chain binding |
CN103516550B (zh) * | 2013-09-29 | 2016-05-11 | 国家计算机网络与信息安全管理中心 | 一种面向大规模包分类规则集的规则冲突检测方法及系统 |
CN104104615B (zh) * | 2014-07-21 | 2017-07-07 | 华为技术有限公司 | 策略冲突解决方法以及装置 |
-
2014
- 2014-07-21 CN CN201410348832.2A patent/CN104104615B/zh active Active
-
2015
- 2015-07-06 EP EP15823978.0A patent/EP3160083B1/en active Active
- 2015-07-06 WO PCT/CN2015/083379 patent/WO2016011888A1/zh active Application Filing
-
2017
- 2017-01-19 US US15/410,092 patent/US10193755B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393473B1 (en) * | 1998-12-18 | 2002-05-21 | Cisco Technology, Inc. | Representing and verifying network management policies using collective constraints |
CN102215212A (zh) * | 2010-04-02 | 2011-10-12 | 中兴通讯股份有限公司 | 一种安全策略的冲突处理方法、架构及统一转换器 |
CN102760076A (zh) * | 2012-06-05 | 2012-10-31 | 华为技术有限公司 | 一种系统的策略冲突处理方法及策略冲突处理系统 |
Non-Patent Citations (1)
Title |
---|
基于网元的策略冲突解决方法;王峰;《计算机工程与应用》;20070321;第43卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP3160083A1 (en) | 2017-04-26 |
US10193755B2 (en) | 2019-01-29 |
EP3160083B1 (en) | 2019-12-25 |
US20170134233A1 (en) | 2017-05-11 |
CN104104615A (zh) | 2014-10-15 |
WO2016011888A1 (zh) | 2016-01-28 |
EP3160083A4 (en) | 2017-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104104615B (zh) | 策略冲突解决方法以及装置 | |
US9838434B2 (en) | Creating and managing a network security tag | |
US12113916B2 (en) | Method and apparatus for hardware based file/document expiry timer enforcement | |
Butun et al. | Hardware security of fog end-devices for the internet of things | |
Yang et al. | The impact of the network topology on the viral prevalence: a node-based approach | |
Rahman et al. | Enhancing AES using chaos and logistic map-based key generation technique for securing IoT-based smart home | |
US20100037016A1 (en) | Method and system for processing access control lists using an exclusive-or sum-of-products evaluator | |
US20130156031A1 (en) | Communication apparatus and communication method | |
Li et al. | DrawerPipe: A reconfigurable pipeline for network processing on FPGA-based SmartNIC | |
CN110535742A (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
Papadogiannaki et al. | Acceleration of intrusion detection in encrypted network traffic using heterogeneous hardware | |
Almuzaini et al. | Key Aggregation Cryptosystem and Double Encryption Method for Cloud‐Based Intelligent Machine Learning Techniques‐Based Health Monitoring Systems | |
Luo et al. | [Retracted] Optimization of AES‐128 Encryption Algorithm for Security Layer in ZigBee Networking of Internet of Things | |
Malathi et al. | Pixel based method for Text to Image Encryption | |
Zheng et al. | An efficient and low-power design of the SM3 hash algorithm for IoT | |
CN117478303B (zh) | 区块链隐蔽通信方法、系统和计算机设备 | |
Fei et al. | A survey of internet worm propagation models | |
Ayachi et al. | Lightweight Cryptography for Network‐on‐Chip Data Encryption | |
CN114024933A (zh) | 一种地址保护方法、装置、网络设备和计算机存储介质 | |
Liu et al. | MultiSec: a multi-protocol security forwarding mechanism based on programmable data plane | |
Tang et al. | RICS‐DFA: a space and time‐efficient signature matching algorithm with Reduced Input Character Set | |
Tsai | Field-Programmable Gate Array-Based Implementation of Zero-Trust Stream Data Encryption for Enabling 6G-Narrowband Internet of Things Massive Device Access | |
Fukuhara et al. | Implementation of content-based anonymization edge router on netfpga | |
CN116366292B (zh) | 报文处理方法、系统、存储介质及电子设备 | |
Ostermann et al. | A Hybrid-Approach for Privacy Preserving Record Linkage–A Case Study from Germany |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |