一种sdn服务链应用有效性的检测方法

文档序号:9491719阅读:433来源:国知局
一种sdn服务链应用有效性的检测方法
【技术领域】
[0001]本发明涉及SDN网络技术领域,尤其涉及一种SDN服务链应用有效性的检测方法。
【背景技术】
[0002]随着网络技术的不断发展,软件定义网络(SDN,Software Defined Networking)受到了极大的关注。SDN将传统网络设备的数据平面与物理平面相隔离,通过软件编程的方式管理控制整个网络。通过SDN控制器,用户可以编写自己的APP(AppliCat1n,应用程序)让网络完成指定的功能,以便实现网络的创新。这些APP可以形成一个服务链(servicechaining)来对同一流量进行处理。
[0003]然而,这些APP中可能存在恶意的APP或者用户将某个APP误配置从而导致整个服务链不能正常工作。
[0004]所谓的恶意的或者误配置的app主要是指,通过该app处理后的流量不在受服务链后续App的管理控制或者违反网络的不变量。
[0005]如图1所示,由防火墙(firewall)、监视器(monitor)和负载均衡器(loadbalance)构成的一个服务链为server提供一系列服务。但由于用户误配置监视器或者启用了一个未经安全验证的监视器,这导致了除去源IP为1.0.0.0/24的用户外其余的用户都无法正常访问到服务器。

【发明内容】

[0006]本发明所要解决的技术问题是针对【背景技术】中的缺陷,提供一种SDN服务链应用有效性的检测方法,通过多app规则合并方法来检测服务链中的恶意或者误配置app。
[0007]本发明为解决上述技术问题采用以下技术方案:
[0008]一种SDN服务链应用有效性的检测方法,包含以下具体步骤:
[0009]步骤1),取SDN服务链中第一个和第二个应用,记为P和Q ;
[0010]步骤2),模拟执行P中每条规则的act1n,将其作用于规则的匹配域;
[0011]步骤3),取出Q中的一条规则,与P中的每条规则求交,求交结果不为空则作为新的一条规则;
[0012]步骤4),若步骤3)中所述Q中取出的规则与P的任何规则求交均不产生除默认规则外任何新的规则,则标记P应用使Q应用中该取出的规则失效,跳转到步骤6),否则跳转到步骤5);
[0013]步骤5),将所述Q中取出的规则从Q中删除后判定Q中是否还存在规则,若Q中不存在规则,则标记P应用没有覆盖Q中的规则,跳转到步骤6),否则转到步骤3);
[0014]步骤6),若服务链在Q后还有其他应用,则记Q应用为新的P应用,Q的后续app记为为新的Q应用,并跳转到步骤2),否则跳转到步骤7);
[0015]步骤7),结束检测。
[0016]本发明采用以上技术方案与现有技术相比,具有以下技术效果:
[0017]1.设计简单,使用方便;
[0018]2.能够有效检测SDN服务链中恶意或者误配置的apps,从而保证整个链功能的有效性。
【附图说明】
[0019]图1是SDN服务链中存在恶意或误配置App的一个示例;
[0020]图2是本发明中流表规则合并的示意图;
[0021]图3是本发明的检测流程图;
[0022]图4是本发明的一个具体实施例。
【具体实施方式】
[0023]下面结合附图对本发明的技术方案做进一步的详细说明:
[0024]本发明公开了一种SDN服务链应用有效性的检测方法,包含以下具体步骤:
[0025]步骤1),取SDN服务链中第一个和第二个应用,记为P和Q ;
[0026]步骤2),模拟执行P中每条规则的act1n,将其作用于规则的匹配域;
[0027]步骤3),取出Q中的一条规则,与P中的每条规则求交,求交结果不为空则作为新的一条规则;
[0028]步骤4),若步骤3)中所述Q中取出的规则与P的任何规则求交均不产生除默认规则外任何新的规则,则标记P应用使Q应用中该取出的规则失效,跳转到步骤6),否则跳转到步骤5);
[0029]步骤5),将所述Q中取出的规则从Q中删除后判定Q中是否还存在规则,若Q中不存在规则,则标记P应用没有覆盖Q中的规则,跳转到步骤6),否则转到步骤3);
[0030]步骤6),若服务链在Q后还有其他应用,则记Q应用为新的P应用,Q的后续app记为为新的Q应用,并跳转到步骤2),否则跳转到步骤7);
[0031]步骤7),结束检测。
[0032]如图4所示,本发明的核心思想是合并apps的流表规则,对所形成的“大流表”进行规则的有效性检查,从而分析出恶意的或者误配置的apps。
[0033]而流表规则的合并主要采用了叉乘的方法,具体过程如下:
[0034]假设P、Q分别代表了 2个不同app的规则,其在service chaining的处理顺序为P?Q,即流量需要先经过P处理之后再经过Q进行进一步处理。SPie ?且(! QP中的每条规则(Pl为例)以需要与Q中的每条规则(以q.,为例)进行如下操作:在Pl.配域上执行Pi的act1n,如图2所示。
[0035]然后,将动作完成之后的?1与q ,的匹配域“求交”(默认规则除外)从而产生“大流表”的规则。“大流表”产生规则的方式如下:若pjPq#有相同类型的匹配域,且相同匹配域的值相同,则产生一条“大流表”规则,规则的匹配域由Pl匹配域加上q.,的除去与P ,相同类型之外的其他匹配域所组成(即:PlU (q]_Pl)),动作有pjPq]的动作组合而成。若pjP q 不具有相同类型的匹配域,则其会产生两条规则,P JP q 各自形成一条规则。
[0036]最后,如果所形成的“大流表”不包含Q中的某些规则时,则说明P为恶意app。因为P中的规则使得Q中的某些规则失效,而无法构成“大流表”中对应的规则。
[0037]整个检测过程的流程图如图3所示。
[0038]本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0039]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种SDN服务链应用有效性的检测方法,其特征在于,包含以下具体步骤: 步骤1),取SDN服务链中第一个和第二个应用,记为P和Q ; 步骤2),模拟执行P中每条规则的act1n,将其作用于规则的匹配域; 步骤3),取出Q中的一条规则,与P中的每条规则求交,求交结果不为空则作为新的一条规则; 步骤4),若步骤3)中所述Q中取出的规则与P的任何规则求交均不产生除默认规则外任何新的规则,则标记P应用使Q应用中该取出的规则失效,跳转到步骤6),否则跳转到步骤5); 步骤5),将所述Q中取出的规则从Q中删除后判定Q中是否还存在规则,若Q中不存在规则,则标记P应用没有覆盖Q中的规则,跳转到步骤6),否则转到步骤3); 步骤6),若服务链在Q后还有其他应用,则记Q应用为新的P应用,Q的后续app记为为新的Q应用,并跳转到步骤2),否则跳转到步骤7); 步骤7),结束检测。
【专利摘要】本发明公开了一种SDN服务链应用有效性的检测方法,首先取SDN服务链中第一个和第二个应用,记为P和Q;然后模拟执行P中每条规则的action,将其作用于规则的匹配域;接着,对于Q中的任意一条规则,将其与P中的每条规则求交,求交结果不为空则作为新的一条规则,若其与P的任何规则求交均不产生除默认规则外任何新的规则,则标记P应用使Q应用中该取出的规则失效,否则标记P应用没有覆盖Q中的规则。若服务链在Q后还有其他应用,则记Q应用为新的P应用,Q的后续app记为新的Q应用,重新执行检测,直至服务链在Q后没有应用为止。本发明能够有效检测SDN服务链中恶意或者误配置的apps,保证整个链功能的有效性。
【IPC分类】H04L29/08, H04L12/26
【公开号】CN105245400
【申请号】CN201510590903
【发明人】温曙光, 潘恒, 谢高岗, 关洪涛, 姜海洋, 贺鹏
【申请人】江苏省未来网络创新研究院
【公开日】2016年1月13日
【申请日】2015年9月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1