CN108566388B - 基于布鲁姆过滤器的sdn流规则冲突检测方法及系统 - Google Patents
基于布鲁姆过滤器的sdn流规则冲突检测方法及系统 Download PDFInfo
- Publication number
- CN108566388B CN108566388B CN201810258532.3A CN201810258532A CN108566388B CN 108566388 B CN108566388 B CN 108566388B CN 201810258532 A CN201810258532 A CN 201810258532A CN 108566388 B CN108566388 B CN 108566388B
- Authority
- CN
- China
- Prior art keywords
- flow rule
- flow
- rule
- rules
- bloom filter
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于软件定义网络领域,公开了一种基于布鲁姆过滤器的SDN流规则冲突检测方法及系统,首先对控制器中的流规则及新插入控制器的流规则进行预处理,包括流规则扩展、序号编排、匹配域模块哈希等步骤,在预处理之后对流规则的编码进行多重布鲁姆过滤器筛选,选择出有可能出现冲突的流规则集合,进而对该集合进行二次筛选,选择出匹配域相同的流规则集合,最后通过对该集合中流规则必备动作的比较最终检测出有冲突的流规则。本发明相较于现有的软件定义网络流规则冲突检测方法,能够快速地检测出数目巨大的流规则之间的冲突。
Description
技术领域
本发明属于软件定义网络领域,尤其涉及一种基于布鲁姆过滤器的SDN流规则冲突检测方法及系统。
背景技术
目前,业内常用的现有技术是这样的:
随着互联网技术的高速发展,传统网络的体系架构逐渐显现出其缺点:1、网络功能的升级与扩展复杂、工作量巨大;2、网络设备的运行与维护繁琐。这些缺点使得传统网络难以满足新型网络服务的需求,特别是诸如云计算、网络功能虚拟化等网络服务。为了解决现有网络的不足,一种名为软件定义网络的新型网络架构应运而生。
软件定义网络于2006年诞生在美国的斯坦福大学,该大学科研机构提出一种新型网络创新架构,通过将网络设备控制面与数据转发面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。软件定义网络的架构主要分为三层,从上往下分别为:应用层,控制层和数据层。应用层由众多业务和应用软件所构成,主要负责制定网络策略,应用层通过北向接口与控制层通信。控制层是系统的控制中心,它会根据应用层下发的软件生成网络策略,同时它也会根据网络状态变化调整网络交换路径和业务路由。数据层也称基础设施层,它通过南向接口和控制层相连接,该层主要由诸如路由器、物理交换机等硬件设备构成,主要根据控制层下发的网络策略(流表)来转发网络数据包。得益于集中控制的特点,软件定义网络的出现使得管理员可以对网络设备进行集中统一的配置与管理,大大降低了网络管理的复杂性,同时,其可编程特性也使得网络新功能的扩展易于实现,通过软件定义网络提供的北向接口,新的网络应用可以快速的部署在控制器中从而实现特定的网络功能。然而可编程特性也为软件定义网络带来了新的安全问题,大量应用的涌入使得应用之间网络策略的冲突变得不可避免,这些网络策略的冲突在运行时最终体现为不同应用间的流规则冲突。在现有的软件定义网络的架构中,控制器并没有检测流规则冲突的能力,如果遇到有冲突的流规则,控制器会用插入时间比较晚的流规则覆盖早先的流规则,这种模式将会带来很多潜在的安全隐患,如果某些负责网络安全的流规则被覆盖,将会导致网络安全策略无法正常实行,甚至有可能引发整个网络的瘫痪。
现有的流规则冲突检测方法如下:Porras等在文献【1】中提出了一种名为FortNOX的NOX控制器扩展应用,它可以检测NOX控制器中的流规则冲突,其原理主要是利用了别名简化规则将所有的流规则简化成了一个别名规则集合,然后在这个集合上对比流规则中的源和目的地址来检测流规则之间的冲突,同时FortNox在冲突检测的过程中会将流规则按可选动作Set-Field展开以避免对其流规则的修改所造成的隐藏冲突;王等在文献【2】中提出了一种基于Flowpath的流规则冲突监测方案,通过实时获取SDN的网络状态以及流规则展开,该方法可以形成一条数据转发链表,对比该链表可以检测出防火墙规则和交换机中流表规则的直接或间接冲突;Hu等在文献【3】中提出了FLOWGUARD方案,该方案可以在网络状态更新时实时地检测防火墙的安全规则是否被违反,基于Header Space Analysis方法,将变化的流规则路径条目成为转移流路径,转移流路径组成了一个名为:Shifted FlowGraph的图,用同时防火墙中的规则建立一个Authorization Space的图,通过比较ShiftedFlow Graph和Deny Authorization Space两个空间来判断是否有冲突的策略;Natarajan等在文献【4】中提出了两种软件定义网络中流规则冲突检测方法,一种是基于散列树的方法,这种方案将流表匹配域中的值分为两组,然后将两组值的结果通过堆成矩阵来进行分析,判断是否有冲突。另一种方法是将流规则换一种表述形式,例如将掩码表示的IP地址转化成由一个最大值和一个最小值表示的范围。然后在这个范围内对各个流表进行冲突检测。
【1】Porras P,Shin S,Yegneswaran V,et al.A security enforcement kernelfor OpenFlow networks[C]//Proceedings of the first workshop on Hot topics insoftware defined networks.ACM,2012:121-126.
【2】王鹃,王江,焦虹阳,等.一种基于OpenFlow的SDN访问控制策略实时冲突检测与解决方法[J].计算机学报,2015,38(4):872-883.
【3】Hu H,Han W,Ahn G J,et al.FLOWGUARD:building robust firewalls forsoftware-defined networks[C]//Proceedings of the third workshop on Hot topicsin software defined networking.ACM,2014:97-102.
【4】Natarajan S,Huang X,Wolf T.Efficient conflict detection in flow-based virtualized networks[C]//Computing,Networking and Communications(ICNC),2012International Conference on.IEEE,2012:690-696.
综上所述,现有的冲突检测技术都是通过对流规则的扩展、聚合或者变换数学模型表示来检测冲突,大多都是针对流表数目比较小的情况下来进行的,而在面对数目巨大的流规则时,现有的方法的效率不高,会消耗大量的时间,因此,急需一种能够在流表规模巨大的情况下快速检测流规则之间冲突的方法。
解决上述技术问题的意义:对于SDN未来的部署,尤其是在规模很大的网络环境下,流规则的数量将会十分巨大,在这样一种情境下,如果不能快速地检测流规则之间的冲突,一些特定的网络功能就无法及时实现,将会大大降低网络的服务质量,更为危险的是它很有可能威胁到网络的安全。
本发明借助布鲁姆过滤器作为一种精简的信息表示方案与高速数据关系查找等特点可以有效地提高流规则冲突的检测效率,大大降低查找大量流规则之间冲突的时间消耗。
发明内容
针对现有技术存在的问题,本发明提供了一种基于布鲁姆过滤器的SDN流规则冲突检测方法及系统。
本发明是这样实现的,一种基于布鲁姆过滤器的软件定义网络流规则冲突检测方法,所述基于串并行结构网络安全数据处理方法包括:所述基于布鲁姆过滤器的软件定义网络流规则冲突检测方法包括以下步骤:
步骤一:对控制器流表中的所有流规则进行流规则扩展、序号编排、匹配域模块哈希等数据预处理。
步骤二:将步骤一输出的所有流规则匹配域哈希值放入多个并联的布鲁姆过滤器中进行过滤,并将这些流规则的编号分别存入各级布鲁姆过滤器中对应的存储位置上。
步骤三:对新插入的流规则按步骤一和步骤二进行操作,之后提取出每条新插入流规则所在各级布鲁姆过滤器存储位置中的序号集,进一步对这些序号集取交集选择出有可能出现冲突的流规则编号集合。
步骤四:对步骤三输出的每个有可能出现冲突的流规则编号集进行二次筛选,比较每个序号集中对应流规则的匹配域,筛选出匹配域相同的流规则集合。
步骤五:对步骤四输出的所有匹配域相同的流规则集合进行最终判断,对比每个集合中流规则的动作域,如果必备动作相同,则判定这个集合的流规则无冲突,反之,则判定这个集合的流规则有冲突,最后输出所有检测到的有冲突流规则集合。
进一步,所述的步骤一对控制器中所有流规则进行数据预处理,按如下步骤进行:
(1)将控制器中的流规则按其动作域展开,如果一条流规则可选动作为Set-Field(更改匹配域中的匹配内容),则将该条流规则扩充成包含更改前和更改后匹配域的多条流规则。
(2)对扩充后的流规则进行排序编号,从1开始顺序编号直至为控制器中所有的流规则添加序号1~N。
(3)选取扩充后流规则匹配域中的关键位(如IP地址、MAC地址等),将第一条流规则关键位的数据按固定比特长度划分为n块x1~xn,之后用不同的哈希函数h1(x)~hn(x)计算出x1~xn的哈希值h1(x1)~hn(xn),最后将这些哈希值连接起来得到该条流规则匹配域的整体哈希值m1,如此循环直至得到所有流规则的匹配域整体哈希值m1~mN。
进一步,所述步骤二对进行过数据预处理的控制器中的流规则进行多级布鲁姆过滤器过滤,其具体过程为:将进行过数据预处理的流规则输入多级布鲁姆过滤器中,按照各级布鲁姆过滤器不同的模哈希算法h′1(x)~h′n(x)计算出第一条流规则在各级布鲁姆过滤器中的存储位置h′1(m1)~h′n(m1),并将该流规则的编号1存入其对应的存储位置中,如此循环直至控制器中所有的流规则都存入其对应的各级布鲁姆过滤器的存储位置中。
进一步,所述步骤三筛选出可能与新插入流规则有冲突的流规则集合S′,按如下步骤进行:
(1)将新插入的流规则扩展为M条,并从N+1开始顺序编号至N+M,对扩展后的每条流规则的匹配域进行分块哈希并得到它们匹配域的整体哈希值。
(2)对进行过数据预处理的每条新插入流规则按步骤二操作,直至所有的新插入流规则的编号都存入对应的各级布鲁姆过滤器的存储位置中。
(3)从第一条新插入的流规则开始,提取出该流规则所在各级布鲁姆过滤器存储位置上的流规则编号集S1~SN′(N′为多级布鲁姆过滤器的个数),并对这些集合取交集S1∩S2∩...∩SN′,得到有可能与第一条流规则有可能有冲突的流规则集合S′,如此重复直至得到所有与新插入流规则有可能有冲突的流规则集合。
本发明的另一目的在于提供一种利用所述基于布鲁姆过滤器的SDN流规则冲突检测方法的控制器。
本发明的另一目的在于提供一种利用所述基于布鲁姆过滤器的SDN流规则冲突检测方法的布鲁姆过滤器。
本发明的另一目的在于提供一种实现所述基于布鲁姆过滤器的SDN流规则冲突检测方法的计算机程序。
本发明的另一目的在于提供一种实现所述基于布鲁姆过滤器的SDN流规则冲突检测方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述基于布鲁姆过滤器的SDN流规则冲突检测方法。
本发明的另一目的在于提供一种基于布鲁姆过滤器的软件定义网络流规则冲突检测方法的流规则冲突检测系统,所述流规则冲突检测系统包括:
流规则数据预处理模块:用于对输入的流规则进行扩展、编号、匹配域分块哈希等操作;
多级布鲁姆过滤器:用于筛选出有可能出现冲突的流规则编号集合。
冲突检测模块:用于对有可能出现冲突的流规则编号集合进行二次筛选、比对动作域等操作,以检测出有冲突的流规则集合。
本发明的另一目的在于提供一种应用所述基于布鲁姆过滤器的软件定义网络流规则冲突检测方法的软件定义网络系统。
综上所述,本发明的优点及积极效果为:
本发明冲突检测速度快,借助布鲁姆过滤器能够快速查询海量数据之间关系的特点,本方法可以快速地检测出软件定义网络中流规则的冲突。举例来说,将A条流规则插入一个具有B条流规则的控制器中时,如果用传统的查找算法,将会对比A*B次,而本方法在将控制器中原有的流规则存入N级布鲁姆过滤器后,需要对进行A*N次的对比,当控制器中流规则数目特别大时,B的值将远远大于N,因此使用本方法的对比次数大大降低,从而提高了效率(例如,控制器中原有一万条流规则,新插入一百条,如果用传统算法,需要对比一百万次,而采用本方法,在使用八级布鲁姆过滤器的情况下,仅仅需要对比八百次);
本发明通用性好,适用于检测各种软件定义网络控制器中流规则的冲突,同时适用于检测各种数量级别的流规则冲突,尤其是当检测数量巨大的流规则之间的冲突时,可以大大降低冲突对比的次数;
本发明准确性高,在本方法中会根据流规则可选动作Set-Field将其扩展,因此可以检测出隐藏的流规则冲突;
本发明易于实现,本发明中没有采取复杂的算法,流程简便,可以作为独立的软件模块直接添加到现有软件定义网络的控制器中,实时地检测新插入控制器的流规则和控制器中已有的流规则之间的冲突。
本发明和现有工作的对比如表1所示:
方法 | 能够查询隐藏流规则冲突 | 检测效率 |
文献【1】 | 是 | 低 |
文献【2】 | 是 | 低 |
文献【3】 | 是 | 低 |
文献【4】 | 是 | 低 |
整体(本发明) | 是 | 高 |
附图说明
图1是本发明实施例提供的基于布鲁姆过滤器的SDN流规则冲突检测方法流程图。
图2是本发明实施例提供的基于布鲁姆过滤器的软件定义网络流规则冲突检测系统示意图。
图3是本发明实施例提供的控制器已有流规则处理阶段流程图。
图4是本发明实施例提供的新插入流规则冲突检测阶段流程图。
图5是本发明实施例提供的流规则匹配域分块哈希过程流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明相较于现有的软件定义网络流规则冲突检测方法,能够快速地检测出数目巨大的流规则之间的冲突。
如图1所示,本发明实施例提供的基于布鲁姆过滤器的软件定义网络流规则冲突检测方法包括以下步骤:
S101:对控制器流表中的所有流规则进行流规则扩展、序号编排、匹配域模块哈希等数据预处理;
S102:将S101输出的所有流规则匹配域哈希值放入多个并联的布鲁姆过滤器中进行过滤,并将这些流规则的编号分别存入各级布鲁姆过滤器中对应的存储位置上;
S103:对新插入的流规则按S101和S102进行操作,之后提取出每条新插入流规则所在各级布鲁姆过滤器存储位置中的序号集,进一步对这些序号集取交集选择出有可能出现冲突的流规则编号集合;
S104:对S103输出的每个有可能出现冲突的流规则编号集进行二次筛选,比较每个序号集中对应流规则的匹配域,筛选出匹配域相同的流规则集合;
S105:对S104输出的所有匹配域相同的流规则集合进行最终判断,对比每个集合中流规则的动作域,如果必备动作相同,则判定这个集合的流规则无冲突,反之,则判定这个集合的流规则有冲突,最后输出所有检测到的有冲突流规则集合。
本发明一共包含两个工作阶段:控制器已有流规则处理阶段和新插入流规则冲突检测阶段。其中S101~S102为控制器已有流规则处理阶段,S103~S105为新插入流规则冲突检测阶段。
下面结合具体分析对本发明的应用原理作进一步的描述。
如图2所示,本发明实施例提供的基于布鲁姆过滤器的软件定义网络流规则冲突检测系统,
主要分为三个模块:
流规则数据预处理模块,用于对输入的流规则进行扩展、编号、匹配域分块哈希等操作;
多级布鲁姆过滤器:用于筛选出有可能出现冲突的流规则编号集合;
冲突检测模块:用于对有可能出现冲突的流规则编号集合进行二次筛选、比对动作域等操作,以检测出有冲突的流规则集合。
如图3所示,控制器已有流规则处理阶段具体步骤程如下:
(1a)将控制器中所有流规则放入数据预处理模块,从第一条流规则开始操作。
(1b)对该条流规则进行扩展,查询其动作域有无可选动作Set-Field,如果有转向(1c),如果没有,转向(1d)。
(1c)将该条流规则按照Set-Field的说明扩充成多条流规则(例如一条流规则的匹配域为IP地址A到IP地址C,其可选动作为Set-Field将源IP地址改为B,则该条流规则扩充成匹配域为IP地址A到IP地址C和IP地址B到IP地址C的两条流规则),并转向下一步操作。
(1d)将该条流规则的匹配域进行分块哈希,并且对该条流规则顺序编号。
(1e)将该条流规则的匹配域哈希值和编号放入多级布鲁姆过滤器中,用每一级布鲁姆过滤器的哈希函数对该流规则的匹配域哈希值进行计算确定它在每一级布鲁姆过滤器中的存储位置,并它的编号存入对应的存储位置。
(1f)判断控制器还有没有剩余的流规则,如果有,对下一条流规则进行操作转向(1b),如果没有,则该阶段工作结束。
如图4所示,新插入流规则冲突检测阶段具体步骤如下:
(2a)将新插入控制器的所有流规则放入数据预处理模块,从第一条流规则开始操作。
(2b)对该条流规则进行扩展,查询其动作域有无可选动作Set-Field,如果有转向(2c),如果没有,转向(2d)。
(2c)将该条流规则按照Set-Field的说明扩充成多条流规则,并转向下一步操作。
(2d)将该条流规则的匹配域进行分块哈希,并且对该条流规则顺序编号(假设在控制器已有流规则处理阶段编号已经到N,那么新插入控制器的流规则就从N+1开始顺序编号)。
(2e)将该条流规则的匹配域哈希值和编号放入多级布鲁姆过滤器中,用每一级布鲁姆过滤器的哈希函数对该流规则的匹配域哈希值进行计算确定它在每一级布鲁姆过滤器中的存储位置,并它的编号存入对应的存储位置。
(2f)取出该条流规则在每一级布鲁姆过滤器存储位置上的编号集合,并取交集。
(2g)判断该交集中编号对应流规则的匹配域是否相同,如果相同转向(2h),如果不同转向(2j)。
(2h)判断该交集中编号对应流规则的匹配域是否相同,如果相同转向(2j),如果不同转向(2i)。
(2i)所得交集集合即为有冲突的流规则集合。
(2j)判断控制器还有没有剩余的流规则,如果有,对下一条流规则进行操作转向(2b),如果没有,则冲突检测结束。
如图5所示,流规则匹配域分块哈希过程的具体步骤如下:
(3a)取出流规则匹配域中的关键数据(如源和目的IP地址、MAC地址、端口地址、协议等)。
(3b)将选择的关键数据顺序连接起来,并按照同一比特长度划分为n段数据,并从第i=1段开始进行下一步的操作。
(3c)用哈希函数hi(x)对第i段数据进行哈希运算得到它的哈希值xi,并且i=i+1。
(3d)判断i是否小于等于n,如果是,则转向(3c),如果不是则进行下一步。
(3e)将得到的匹配域关键数据分块哈希值x1~xn连接起来得到该流规则匹配域的整体哈希值m。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于布鲁姆过滤器的SDN流规则冲突检测方法,其特征在于,所述基于布鲁姆过滤器的SDN流规则冲突检测方法包括:
首先对控制器中的流规则及新插入控制器的流规则进行流规则扩展、序号编排、匹配域模块哈希预处理,预处理后对流规则的编码进行多重布鲁姆过滤器筛选,选择出出现冲突的流规则集合,对出现冲突的流规则集合进行二次筛选,选择出匹配域相同的流规则集合;
最后通过对匹配域相同的集合中流规则必备动作的比较,最终检测出有冲突的流规则。
2.如权利要求1所述的基于布鲁姆过滤器的SDN流规则冲突检测方法,其特征在于,所述基于布鲁姆过滤器的SDN流规则冲突检测方法具体包括:
步骤一,对控制器流表中的所有流规则进行流规则扩展、序号编排、匹配域模块哈希的数据预处理;
步骤二,将步骤一输出的所有流规则匹配域哈希值放入多个并联的布鲁姆过滤器中进行过滤,并将这些流规则的编号分别存入各级布鲁姆过滤器中对应的存储位置上;
步骤三,对新插入的流规则按步骤一和步骤二进行操作后提取出每条新插入流规则所在各级布鲁姆过滤器存储位置中的序号集,进一步对这些序号集取交集选择出出现冲突的流规则编号集合;
步骤四,对步骤三输出的每个出现冲突的流规则编号集进行二次筛选,比较每个序号集中对应流规则的匹配域,筛选出匹配域相同的流规则集合;
步骤五,对步骤四输出的所有匹配域相同的流规则集合进行最终判断,对比每个集合中流规则的动作域;必备动作相同,则判定这个集合的流规则无冲突,反之,则判定这个集合的流规则有冲突,最后输出所有检测到的有冲突流规则集合。
3.如权利要求2所述的基于布鲁姆过滤器的SDN流规则冲突检测方法,其特征在于,
所述步骤一对控制器中所有流规则进行数据预处理,包括:
1)将控制器中的流规则的动作域展开,扩充成包含更改前和更改后匹配域的多条流规则;
2)对扩充后的流规则进行排序编号,从1开始顺序编号直至为控制器中所有的流规则添加序号1~N;
3)选取扩充后流规则匹配域中的关键位,将第一条流规则关键位的数据按固定比特长度划分为n块x1~xn后用不同的哈希函数h1(x)~hn(x)计算出x1~xn的哈希值h1(x1)~hn(xn);最后将这些哈希值连接起来得到第一条流规则匹配域的整体哈希值m1,进行循环直至得到所有流规则的匹配域整体哈希值m1~mN;
所述步骤二对进行过数据预处理的控制器中的流规则进行多级布鲁姆过滤器过滤,具体包括:将进行过数据预处理的流规则输入多级布鲁姆过滤器中,按照各级布鲁姆过滤器不同的模哈希算法h′1(x)~h′n(x)计算出第一条流规则在各级布鲁姆过滤器中的存储位置h′1(m1)~h′n(m1),并将该流规则的编号1存入其对应的存储位置中,如此循环直至控制器中所有的流规则都存入对应的各级布鲁姆过滤器的存储位置中;
步骤三筛选出与新插入流规则有冲突的流规则集合S′,具体包括:
a)将新插入的流规则扩展为M条,并从N+1开始顺序编号至N+M,对扩展后的每条流规则的匹配域进行分块哈希并得到分块匹配域的整体哈希值;
b)对进行过数据预处理的每条新插入流规则按步骤二操作,直至所有的新插入流规则的编号都存入对应的各级布鲁姆过滤器的存储位置中;
c)从第一条新插入的流规则开始,提取出该流规则所在各级布鲁姆过滤器存储位置上的流规则编号集S1~SN′,其中,N′为多级布鲁姆过滤器的个数,并对这些集合取交集S1∩S2∩...∩SN′,得到与第一条流规则有冲突的流规则集合S′,进行重复直至得到所有与新插入流规则有冲突的流规则集合。
4.一种利用如权利要求1所述基于布鲁姆过滤器的SDN流规则冲突检测方法的控制器。
5.一种利用如权利要求1所述基于布鲁姆过滤器的SDN流规则冲突检测方法的布鲁姆过滤器。
6.一种实现权利要求1~3任意一项所述基于布鲁姆过滤器的SDN流规则冲突检测方法的信息数据处理终端。
7.一种计算机可读存储介质,包括由存储器储存的指令,当其在计算机的处理器上运行时,使得计算机执行如权利要求1-3任意一项所述基于布鲁姆过滤器的SDN流规则冲突检测方法。
8.一种如权利要求1所述基于布鲁姆过滤器的软件定义网络流规则冲突检测方法的流规则冲突检测系统,其特征在于,所述流规则冲突检测系统包括:
流规则数据预处理模块,用于对输入的流规则进行扩展、编号、匹配域分块哈希操作;
多级布鲁姆过滤器,用于筛选出有出现冲突的流规则编号集合;
冲突检测模块:用于对有出现冲突的流规则编号集合进行二次筛选、比对动作域操作,检测出有冲突的流规则集合。
9.一种应用权利要求1所述基于布鲁姆过滤器的软件定义网络流规则冲突检测方法的软件定义网络系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810258532.3A CN108566388B (zh) | 2018-03-27 | 2018-03-27 | 基于布鲁姆过滤器的sdn流规则冲突检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810258532.3A CN108566388B (zh) | 2018-03-27 | 2018-03-27 | 基于布鲁姆过滤器的sdn流规则冲突检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108566388A CN108566388A (zh) | 2018-09-21 |
CN108566388B true CN108566388B (zh) | 2020-10-16 |
Family
ID=63533468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810258532.3A Active CN108566388B (zh) | 2018-03-27 | 2018-03-27 | 基于布鲁姆过滤器的sdn流规则冲突检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108566388B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367213B (zh) * | 2020-10-12 | 2022-02-25 | 中国科学院计算技术研究所 | 面向sdn网络的策略异常检测方法、系统、装置及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103684905A (zh) * | 2013-11-27 | 2014-03-26 | 北京邮电大学 | 一种网络虚拟化平台的流规则冲突检测及处理方法 |
CN105471830A (zh) * | 2014-09-10 | 2016-04-06 | 中国电信股份有限公司 | 用于消解安全策略冲突的方法、装置和系统 |
CN105871773A (zh) * | 2015-01-18 | 2016-08-17 | 吴正明 | 一种基于SDN网络架构的DDoS过滤方法 |
EP3072259A1 (en) * | 2014-06-17 | 2016-09-28 | NEC Europe Ltd. | Efficient access control for trigger events in sdn |
CN106095725A (zh) * | 2016-05-31 | 2016-11-09 | 浪潮(北京)电子信息产业有限公司 | 一种一致性目录构建方法、系统及多处理器计算机系统 |
CN106506200A (zh) * | 2016-10-31 | 2017-03-15 | 中国工程物理研究院计算机应用研究所 | 一种基于sdn的arp协议辅助模型 |
CN107277858A (zh) * | 2017-07-20 | 2017-10-20 | 西安电子科技大学 | 一种基于sdn的多信道传输的5g网络架构及传输数据的方法 |
CN107317758A (zh) * | 2017-06-12 | 2017-11-03 | 西安交通大学 | 一种高可靠性的细粒度sdn流量监控架构 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9602428B2 (en) * | 2014-01-29 | 2017-03-21 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for locality sensitive hash-based load balancing |
US10348684B2 (en) * | 2016-09-01 | 2019-07-09 | Hewlett Packard Enterprise Development Lp | Filtering of packets for packet types at network devices |
-
2018
- 2018-03-27 CN CN201810258532.3A patent/CN108566388B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103684905A (zh) * | 2013-11-27 | 2014-03-26 | 北京邮电大学 | 一种网络虚拟化平台的流规则冲突检测及处理方法 |
EP3072259A1 (en) * | 2014-06-17 | 2016-09-28 | NEC Europe Ltd. | Efficient access control for trigger events in sdn |
CN105471830A (zh) * | 2014-09-10 | 2016-04-06 | 中国电信股份有限公司 | 用于消解安全策略冲突的方法、装置和系统 |
CN105871773A (zh) * | 2015-01-18 | 2016-08-17 | 吴正明 | 一种基于SDN网络架构的DDoS过滤方法 |
CN106095725A (zh) * | 2016-05-31 | 2016-11-09 | 浪潮(北京)电子信息产业有限公司 | 一种一致性目录构建方法、系统及多处理器计算机系统 |
CN106506200A (zh) * | 2016-10-31 | 2017-03-15 | 中国工程物理研究院计算机应用研究所 | 一种基于sdn的arp协议辅助模型 |
CN107317758A (zh) * | 2017-06-12 | 2017-11-03 | 西安交通大学 | 一种高可靠性的细粒度sdn流量监控架构 |
CN107277858A (zh) * | 2017-07-20 | 2017-10-20 | 西安电子科技大学 | 一种基于sdn的多信道传输的5g网络架构及传输数据的方法 |
Non-Patent Citations (7)
Title |
---|
《A Security Enforcement Kernel for OpenFlow Networks》;Phillip Porras,et.al;《ACM》;20120813;全文 * |
《An Efficient DDoS Detection with Bloom Filter in SDN》;Peng Xiao,et.al;《2016 IEEE TrustCom/BigDataSE/ISPA》;20161231;全文 * |
《Efficient conflict detection in flow-based virtualized networks》;Sriram Natarajan,et.al;《IEEE》;20121231;全文 * |
《FLOWGUARD:building robust firewalls for software-defined networks》;Hongxin Hu,et.al;《ACM》;20140822;全文 * |
《Multi-protocol query structure for SDN switch based on parallel bloom filter》;Dongming Yuan,et.al;《IEEE》;20141231;全文 * |
《一种基于Openflow的SDN访问控制策略实时冲突检测与解决方法》;王鹃等;《计算机学报》;20150430;全文 * |
《面向软件定义网络的流表优化方案》;唐亚哲等;《西安交通大学学报》;20180228;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108566388A (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108289104B (zh) | 一种工业SDN网络DDoS攻击检测与缓解方法 | |
US7668160B2 (en) | Methods for performing packet classification | |
US8478707B1 (en) | System and method for reducing flow rules in forwarding tables | |
US20180375773A1 (en) | Technologies for efficient network flow classification with vector bloom filters | |
US20120134271A1 (en) | Identification of underutilized network devices | |
CN112311571B (zh) | 网络拓扑生成方法及装置、电子设备和非暂态存储介质 | |
Shirali-Shahreza et al. | Rewiflow: Restricted wildcard openflow rules | |
CN114401516B (zh) | 一种基于虚拟网络流量分析的5g切片网络异常检测方法 | |
CN110414236A (zh) | 一种恶意进程的检测方法及装置 | |
EP4024765A1 (en) | Method and apparatus for extracting fault propagation condition, and storage medium | |
CN106817236A (zh) | 虚拟网络功能的配置方法和装置 | |
KR101754618B1 (ko) | 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치 | |
Yang et al. | Fast OpenFlow table lookup with fast update | |
CN111709022A (zh) | 基于ap聚类与因果关系的混合报警关联方法 | |
CN104836738A (zh) | 路由硬件表项资源管理方法、装置及网络设备 | |
CN111030971A (zh) | 一种分布式访问控制方法、装置及存储设备 | |
Han et al. | A novel routing algorithm for IoT cloud based on hash offset tree | |
CN104283736B (zh) | 一种基于改良自动状态机的网络通信五元组快速匹配算法 | |
CN108566388B (zh) | 基于布鲁姆过滤器的sdn流规则冲突检测方法及系统 | |
CN106982164A (zh) | 一种网络拓扑发现方法及设备 | |
CN109408517B (zh) | 规则的多维度搜索方法、装置、设备及可读存储介质 | |
CN110505322A (zh) | 一种ip地址段查找方法及装置 | |
CN106789727A (zh) | 报文分类方法和装置 | |
CN104253754A (zh) | 一种acl快速匹配的方法和设备 | |
CN114465904A (zh) | 网络拓扑构建方法和计算设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |