一种冲突检测及解决的方法、装置的制造方法

文档序号:8285194阅读:216来源:国知局
一种冲突检测及解决的方法、装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种冲突检测及解决的方法、装置。
【背景技术】
[0002]在传统网络中数据层和控制层存在于交换机或路由器中;而SDN (SoftwareDefined Network,软件定义网络)分离了网络的数据层和控制层,并且把控制层移到了单独的设备,例如控制器,控制层通过OpenFlow协议对OpenFlow交换机中的流表进行控制,从而实现对整个网络进行集中管控。所述控制器可以是装置、虚拟机或物理服务器,通过OpenFlow协议控制网络通信。
[0003]目前,现行的OpenFlow标准中没有针对流表的审计和追踪机制,那么通过在交换机中添加流表规则来改写当前流表的源地址范围和目的地址范围的方式使得当前流表下的数据流的地址范围很容易绕过SDN防火墙,那么,针对在一个交换机中通过添加流表规则来改变冲突数据流的地址范围这一问题,现有技术通过扩充安全策略的源地址范围和目的地址范围来阻挡冲突数据流。
[0004]但是,现有技术中所采用的方法只考虑了一个交换机中的流表规则,也就是说数据流在传输中在一个交换机上被改写了地址,安全策略就在该交换机上进行阻挡,没有从数据流在整个网络中的一条路径这一全局角度来解决这一问题。

【发明内容】

[0005]本发明的实施例提供一种冲突检测及解决的方法、装置,用以从数据流在整个网络中的一条路径这一全局角度阻挡冲突数据流。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,提供了一种冲突检测的方法,该方法包括:控制器获取数据流在网络中的一条流路径;所述流路径用于表示所述数据流从源地址范围经过所述网络中的至少两个中间节点到达目的地址范围的路径,所述至少两个中间节点的流表中被添加或删除第一流表规则,所述第一流表规则为任一流表规则;
[0008]所述控制器根据所述流路径的地址范围与安全策略的地址范围确定是否存在冲关。
[0009]在第一方面的第一种可能的实现方式中,所述方法还包括:
[0010]所述安全策略包括当前的防火墙的规则和当前的防火墙的有效否定规则。
[0011 ]在第一方面的第一种可能的实现方式中,还提供第一方面的第二种可能的实现方式中,所述根据所述流路径的地址范围与安全策略的地址范围确定是否存在冲突,具体包括:
[0012]根据所述流路径的地址范围与所述当前的防火墙的规则的地址范围确定是否存在冲突。
[0013]在第一方面的第二种可能的实现方式中,还提供了第一方面的第三种可能的实现方式,所述根据所述流路径的地址范围与所述当前的防火墙的规则的地址范围确定是否存在冲突,具体包括:
[0014]判断所述流路径的地址范围与所述当前的防火墙的规则的地址范围是否存在交集,如果存在交集,则所述流路径与所述当前的防火墙的规则存在冲突,如果不存在交集,则所述流路径与所述当前的防火墙的规则不存在冲突。
[0015]在第一方面的第一种可能的实现方式中,还提供了第一方面的第四种可能的实现方式,在所述获取数据流在网络中的一条流路径之后,所述方法还包括:
[0016]根据所述当前的防火墙的规则生成所述当前的防火墙的有效否定规则。
[0017]在第一方面的第四种可能的实现方式中,还提供了第一方面的第五种可能的实现方式,所述根据所述流路径的地址范围与安全策略的地址范围确定是否存在冲突,具体包括:
[0018]根据所述流路径的地址范围与所述当前的防火墙的有效否定规则的地址范围确定是否存在冲突。
[0019]在第一方面的第五种可能的实现方式中,还提供了第一方面的第六种可能的实现方式,所述根据所述流路径的地址范围与所述当前的防火墙的有效否定规则的地址范围确定是否存在冲突,具体包括:
[0020]判断所述流路径的地址范围与所述当前的防火墙的有效否定规则的地址范围是否存在交集,如果存在交集,则所述流路径与所述当前的防火墙的有效否定规则存在冲突,如果不存在交集,则所述流路径与所述当前的防火墙的有效否定规则不存在冲突。
[0021]在第一方面的第四种可能的实现方式中,还提供了第一方面的第七种可能的实现方式,所述根据所述当前的防火墙的规则生成所述当前的防火墙的有效否定规则,具体包括:
[0022]将所述当前的防火墙的规则分成否定规则集合和允许规则集合;
[0023]判断所述允许规则集合的优先级是否大于所述否定规则集合的优先级;
[0024]若判断结果为是,则对所述允许规则集合的地址范围和所述否定规则集合的地址范围进行交集运算,得到第一交集;
[0025]求取所述否定规则集合与所述第一交集之差,得到当前的防火墙的有效否定规则;
[0026]若判断结果为否;
[0027]将所述否定规则集合确定为当前的防火墙的有效否定规则;
[0028]在所述否定规则集合中,判断第一否定规则的地址范围与第二否定规则的地址范围是否存在第二交集,所述第一否定规则与所述第二否定规则为所述否定规则集合中的任意两个否定规则;
[0029]若所述第一否定规则的地址范围与所述第二否定规则的地址范围存在第二交集,判断所述第一否定规则的优先级是否大于所述第二否定规则的优先级;
[0030]若判断结果为是,求取所述第二否定规则的地址范围与所述第二交集之差,得到当前的防火墙的有效否定规则;
[0031]若判断结果为否,求取所述第一否定规则的地址范围与所述第二交集之差,得到当前的防火墙的有效否定规则;
[0032]若所述第一否定规则的地址范围与所述第二否定规则的地址范围没有存在第二交集,将所述否定规则集合确定为当前的防火墙的有效否定规则。
[0033]在第一方面的第八种可能的实现方式,在所述获取数据流在网络中的一条流路径之后,所述方法还包括:
[0034]判断防火墙的规则中是否添加或删除第一防火墙规则,所述第一防火墙规则为任一项防火墙规则;
[0035]若判断结果为是,将添加或删除第一防火墙规则之后的防火墙的规则确定为当前的防火墙的规则;
[0036]若判断结果为否,将所述防火墙的规则确定为当前的防火墙的规则。
[0037]在第一方面的第九种可能的实现方式,所述获取数据流在网络中的一条流路径具体包括:
[0038]根据所述数据流的包头信息获取所述数据流的地址范围;
[0039]根据所述数据流的地址范围和所述至少两个中间节点的当前的流表生成用于形成所述流路径的转换函数;所述当前的流表为添加或删除所述第一流表规则之后的流表;
[0040]根据所述转换函数生成所述流路径。
[0041]在第一方面或第一方面的前九种任一可能的实现方式中,还提供了第一方面的第十种可能的实现方式,所述流路径的地址范围、所述当前的防火墙的规则的地址范围、所述当前的防火墙的有效否定规则的地址范围、所述允许规则集合的地址范围、所述否定规则集合的地址范围、所述第一否定规则的地址范围和所述第二否定规则的地址范围都包括源地址范围和/或目的地址范围。
[0042]第二方面,提供了一种冲突解决的装置,该方法包括:获取单元和第一确定单元;
[0043]所述获取单元用于获取数据流在网络中的一条流路径;所述流路径用于表示所述数据流从源地址范围经过所述网络中的至少两个中间节点到达目的地址范围的路径,所述至少两个中间节点的流表中被添加或删除第一流表规则,所述第一流表规则为任一流表规则;
[0044]所述第一确定单元用于根据所述流路径的地址范围与安全策略的地址范围确定是否存在冲突。
[0045]在第二方面的第一种可能的实现方式中,所述安全策略包括当前的防火墙的规则和当前的防火墙的有效否定规则。
[0046]在第二方面的第一种可能的实现方式中,还提供了第二方面的第二种可能的实现方式中,所述第一确定单元包括第一确定模块,所述第一确定模块用于根据所述流路径的地址范围与所述当前的防火墙的规则的地址范围确定是否存在冲突。
[0047]在第二方面的第二种可能的实现方式中,还提供了第二方面的第三种可能的实现方式,所述第一确定模块具体用于判断所述流路径的地址范围与所述当前的防火墙的规则的地址范围是否存在交集,如果存在交集,则所述流路径与所述当前的防火墙的规则存在冲突,如果不存在交集,则所述流路径与所述当前的防火墙的规则不存在冲突。
[0048]在第二方面的第一种可能的实现方式中,还提供了第二方面的第四种可能的实现方式,所述第一确定单元还包括:生成模块;
[0049]所述生成模块用于根据所述当前的防火墙的规则生成所述当前的防火墙的有效否定规则。
[0050]在第二方面的第四种可能的实现方式中,还提供了第二方面的第五种可能的实现方式,所述第一确定单元还包括第二确定模块,所述第二确定模块用于根据所述流路径的地址范围与所述当前的防火墙的有效否定规则的地址范围确定是否存在冲突。
[0051]在第二方面的第五种可能的实现方式中,还提供了第二方面的第六种可能的实现方式,所述第二确定模块具体用于判断所述流路径的地址范围与所述当前的防火墙的有效否定规则的地址范围是否存在交集,如果存在交集,则所述流路径与所述当前的防火墙的有效否定规则存在冲突,如果不存在交集,则所述流路径与所述当前的防火墙的有效否定规则不存在冲突。
[0052]在第二方面的第四种可能的实现方式中,还提供了第二方面的第七种可能的实现方式,所述生成模块具体包括:划分子模块、第一判断子模块、第一运算子模块、第一确定子模块、第二判断子模块、第三判断子模块、第二运算子模块和第二确定子模块;
[0053]所述划分子模块用于将所述当前的防火墙的规则分成否定规则集合和允许规则集合;
[0054]所述第一判断子模块用于判断所述允许规则集合的优先级是否大于所述否定规则集合的优先级;
[0055]所述第一运算子模块用于在所述判断子模块的判断结果为是的情况下,则对所述允许规则集合的地址范围和所述否定规则集合的地址范围进行交集运算,得到第一交集;求取所述否定规则集合与所述第一交集之差,得到当前的防火墙的有效否定规则;
[0056]所述第一确定子模块用于在所述第一判断子模块的判断结果为否的情况下,将所述否定规则集合确定为当前的防火墙的有效否定规则;
[0057]所述第二判断子模块用于在所述否定规则集合中,判断第一否定规则的地址范围与第二否定规则的地址范围是否存在第二交集,所述第一否定规则与所述第二否定规则为所述否定规则集合中的任意两个否定规则;
[0058]所述第三判断子模块用于在所述第二判断子模块的判断结果为是的情况下,判断所述第一否定规则的优先级是否大于所述第二否定规则的优先级;
[0059]所述第二运算子模块用于在所述第三判断子模块的判断结果为是的情况下,求取所述第二否定规则的地址范围与所述第二交集之差,得到当前的防火墙的有效否定规则;在所述第三判断子模块的判断结果为否的情况下,求取所述第一否定规则的地址范围与所述第二交集之差,得到当前的防火墙的有效否定规则;
[0060]所述第二确定子模块用于在所述第二判
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1