面向SDN网络的策略异常检测方法、系统、装置及存储介质制造方法及图纸

技术编号:27358039 阅读:24 留言:0更新日期:2021-02-19 13:38
本发明专利技术涉及一种面向SDN网络策略异常的检测方法、系统、装置和存储介质,其中,所述检测方法包括:步骤100,于SDN网络中获取一个或多个所述策略,分别对每一所述策略进行内部异常检测,当获取的所述策略为一个或者检测到所述策略存在内部异常,则直接返回结果,当获取的所述策略为多个且未检测到内部异常,则执行步骤200;步骤200,对多个所述策略之间的协同控制关系进行判断并进行外部异常检测,得到检测结果。本发明专利技术能够保证在软件定义网络(SDN)的编程过程中,可以快速发现、定位SDN策略内与策略间的功能异常和效率异常,并及时反馈给网络编程人员。编程人员。编程人员。

【技术实现步骤摘要】
面向SDN网络的策略异常检测方法、系统、装置及存储介质


[0001]本专利技术涉及计算机软件定义网络(SDN)
,特别涉及一种面向软件定义网络策略异常检测的方法、系统、装置以及存储介质。

技术介绍

[0002]经过几十年的发展,互联网已成为现代社会的信息基础设施。然而,相比于计算机产业的蓬勃发展,网络的创新相对十分缓慢。其根本原因在于网络的控制逻辑被固化于分布式的网络设备之中,而当前网络设备相对封闭僵化。为此,软件定义网络(SDN:Software-Defined Networking)应运而出,其采用了数据面与控制面相分离的开放式系统架构,通过集中化的控制器来管理控制整个网络。
[0003]为了降低SDN网络编程的复杂性,学术界与工业界广泛提出了SDN网络编程语言与编程框架,其通常采用模块化的设计思想,可支持复杂SDN网络应用的敏捷开发。在实际部署中,不同SDN网络应用相互协同,共同管理控制底层网络,而这种协作主要包括:并行、串行、重载。并行协作使得两个策略可以并行处理网络流量;串行协作使得前一个策略处理完数据包后,然后后一个策略再对数据包进行处理;重载协作使得当前一个策略无法处理数据包时,会让后一个策略对数据进行处理。
[0004]然而,SDN网络编程是易错的,单个网络策略内部的异常不仅会影响策略自身功能的正确执行(策略内异常),同时有可能影响到其他策略的正确部署(策略间异常),甚至还可能导致整个网络的瘫痪。因此,如何快速准确探测SDN网络策略异常对SDN的实际部署十分关键。
[0005]当前针对SDN网络策略异常检测主要从两个层面展开:1)从控制面出发,定义网络范围的不变量(如黑洞、回环),通过检测需要部署的网络策略是否会导致网络状态违反这些网络不变量从而判断策略是否存在异常;2)从数据面出发,利用传统检测防火墙规则的方法来验证SDN网络策略是否存在异常。
[0006]专利技术人在进行SDN模块化编程方法研究时,发现由于SDN规则的复杂性以及策略部署的多样性(策略间可以通过多种方式协同管理网络),单个策略的某条规则的不恰当配置可能会影响其他策略的正常运行(功能异常),同时单个策略的某条冗余规则可能会导致最后部署时产生成百上千的冗余规则(效率异常),这直接影响了系统的运行效率。然而,已有的检测方法难以完全探测到这些功能异常与效率异常。
[0007]因此,如何定义SDN策略的异常,如何对SDN异常规则进行快速检测定位,是一个巨大的挑战。

技术实现思路

[0008]为了解决上述技术问题,本专利技术目的在于提供一种面向软件定义网络策略异常的检测方法、系统、装置及存储介质,以便于在软件定义网络(SDN)的编程过程中,可以快速发现、定位SDN策略内与策略间的功能异常和效率异常,并及时反馈给网络编程人员。
[0009]具体地说,本专利技术公开了一种面向软件定义网络策略异常的检测方法,其中,所述检测方法包括:
[0010]步骤100,于软件定义网络中获取一个或多个所述策略,分别对每一所述策略进行内部异常检测,当获取的所述策略为一个或者检测到所述策略存在内部异常,则直接返回结果,当获取的所述策略为多个且未检测到内部异常,则执行步骤200;
[0011]步骤200,对多个所述策略之间的协同控制关系进行判断并进行外部异常检测,得到检测结果。
[0012]根据上述检测方法,其中,所述内部异常检测包括:
[0013]步骤110,判断并读取所述策略中未处理的规则;
[0014]步骤120,将所述规则基于任意通配符的匹配域分别进行线段计算,形成一个或多个线段集合,并将每一所述线段集合按照边界值大小进行排序和拆分,形成最小线段集合;
[0015]步骤130,在所述最小线段集合中,判断每一所述规则是否在至少一个线段集合中的优先级最高,若不是,则所述策略存在异常,若是,则执行步骤140;
[0016]步骤140,判断相邻两个所述线段集合是否可以合并,若可以合并,则所述策略存在异常。
[0017]根据上述检测方法,其中,所述线段计算的方法包括:
[0018]步骤121,展开所述基于任意通配符的匹配域,遍历所述匹配域对应的所有精确匹配字段;
[0019]步骤122,将每一所述精确匹配字段分别按二进制进行算术计算,以获得每一所述精确匹配字段对应的十进制的值,其中连续的值形成所述线段集合。
[0020]根据上述检测方法,其中,当所述未处理的规则包括多个规则,所述步骤 121还包括:
[0021]于所述基于任意通配符的匹配域展开后,将所述多个规则的所述匹配域所对应的同一位置的比特位统一向后移动。
[0022]根据上述检测方法,其中,所述规则至少包括第一规则和第二规则,针对所述第一规则形成一个或多个线段集合R,针对所述第二规则形成一个或多个线段集合R

,其中所述最小线段集合的形成方法进一步包括:
[0023]步骤123,判断所述线段集合R

中的每一线段r

=[m,n]与所述线段集合R 中的任一线段r=[x,y]之间是否存在边界重合,若y<m或者x>n,则不存在边界重合,将所述线段r

插入到所述线段集合R,否则执行步骤124;
[0024]步骤124,将所述线段r=[x,y]拆分为线段r1=[x,m]或[m,x]、r2=[m+1,y]或 [x+1,y],并将所述线段r1和r2替换所述线段r

,并再次执行步骤123。
[0025]根据上述检测方法,其中,多个所述策略之间的协同控制关系包括并行方式、串行方式、重载方式以及任意两种以上方式的结合。
[0026]根据上述检测方法,其中,多个所述策略包括第一策略和第二策略,当所述第一策略与所述第二策略之间的协同控制关系为所述并行方式,所述外部异常检测包括:
[0027]步骤211,判断所述第一策略与所述第二策略的所述最小线段集合的范围之间是否完全吻合,若是,则所述第一策略与所述第二策略之间无异常,否则二者之间存在异常。
[0028]根据上述检测方法,其中,多个所述策略包括第一策略和第二策略,当所述第一策
略与所述第二策略之间的协同控制关系为所述串行方式,所述外部异常检测包括:
[0029]步骤221,将所述第一策略对数据包空间的修改作为限制条件,并根据所述限制条件对所述第二策略中的所述最小线段集合进行调整;
[0030]步骤222,在所述限制条件下,针对调整后的所述第二策略进行所述内部异常检测,若所述内部异常检测存在异常,则所述第一策略与所述第二策略之间存在异常,否则不存在异常。
[0031]根据上述检测方法,其中,所述第二策略中的所述最小线段集合在限制条件下的调整方法包括:
[0032]将所述第二策略中的所述最小线段集合的最高优先级始终标记为空。
[0033]根据上述检测方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向SDN网络的策略异常检测方法,其特征在于,所述检测方法包括:步骤100,于软件定义网络中获取一个或多个所述策略,分别对每一所述策略进行内部异常检测,当获取的所述策略为一个或者检测到所述策略存在内部异常,则返回检测结果,当获取的所述策略为多个且未检测到内部异常,则执行步骤200;步骤200,对多个所述策略之间的协同控制关系进行判断并进行外部异常检测,得到检测结果。2.根据权利要求1所述的检测方法,其特征在于,所述内部异常检测包括:步骤110,读取并判断所述策略中未处理的规则;步骤120,将所述规则基于任意通配符的匹配域分别进行线段计算,形成一个或多个线段集合,并将每一所述线段集合按照边界值大小进行排序和拆分,形成最小线段集合;步骤130,在所述最小线段集合中,判断每一所述规则是否在至少一个线段集合中的优先级最高,若不是,则所述策略存在内部异常,若是,则执行步骤140;步骤140,判断相邻两个所述线段集合是否可以合并,若可以合并,则所述策略存在内部异常。3.根据权利要求2所述的检测方法,其特征在于,所述线段计算的方法包括:步骤121,展开所述基于任意通配符的匹配域,遍历所述匹配域对应的所有精确匹配字段;步骤122,将每一所述精确匹配字段分别按二进制进行算术计算,以获得每一所述精确匹配字段对应的十进制的值,其中连续的值形成所述线段集合。4.根据权利要求3所述的检测方法,其特征在于,当所述未处理的规则包括多个规则,所述步骤121还包括:于所述基于任意通配符的匹配域展开后,将所述多个规则的所述匹配域所对应的同一位置的比特位统一向后移动。5.根据权利要求3或4所述的检测方法,其特征在于,所述规则至少包括第一规则和第二规则,针对所述第一规则形成一个或多个线段集合R,针对所述第二规则形成一个或多个线段集合R

,其中所述最小线段集合的形成方法进一步包括:步骤123,判断所述线段集合R

中的每一线段r

=[m,n]与所述线段集合R中的任一线段r=[x,y]之间是否存在边界重合,若y<m或者x>n,则不存在边界重合,将所述线段r

插入到所述线段集合R,否则执行步骤124;步骤124,将所述线段r=[x,y]拆分为线段r1=[x,m]或[m,x]、r2=[m+1,y]或[x+1,y],并将所述线段r1和r2替换所述线段r

,并再次执行步骤123。6.根据权利要求5所述的检测方法,其特征在于,多个所述策略之间的协同控制关系包括并行方式、串行方式、重载方式以及任意两种以上方式的结合。7.根据权利要求6所述的检测方法,其特征在于,多个所述策略包括第一策略和第二策略,当所述第一策略与所述第二策略之间的协同控制关系为所述并行方式,所述外部异常检测包括:步骤211,判断所述第一策略与所述第二策略的所述最小线段集合的范围之间是否完全吻合,若是,则所述第一策略与所述第二策略之间无异常,否则二者之间存在异常。8.根据权利要求6所述的检测方法,其特征在于,多个所述策略包括第一策略和第二策
略,当所述第一策略与所述第二策略之间的协同控制关系为所述串行方式,所述外部异常检测包括:步骤221,将所述第一策略对数据包空间的修改作为限制条件,并根据所述限制条件对所述第二策略中的所述最小线段集合进行调整;步骤222,在所述限制条件下,针对调整后的所述第二策略进行所述内部异常检测,若所述内部...

【专利技术属性】
技术研发人员:潘恒李振宇张鹏豪谢高岗
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1