CN114915539B - 一种基于知识图谱的sdn流规则冲突故障检测方法 - Google Patents

一种基于知识图谱的sdn流规则冲突故障检测方法 Download PDF

Info

Publication number
CN114915539B
CN114915539B CN202210549775.9A CN202210549775A CN114915539B CN 114915539 B CN114915539 B CN 114915539B CN 202210549775 A CN202210549775 A CN 202210549775A CN 114915539 B CN114915539 B CN 114915539B
Authority
CN
China
Prior art keywords
flow
rule
matching
conflict
relationship
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
Application number
CN202210549775.9A
Other languages
English (en)
Other versions
CN114915539A (zh
Inventor
梁思韵
苏俭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202210549775.9A priority Critical patent/CN114915539B/zh
Publication of CN114915539A publication Critical patent/CN114915539A/zh
Application granted granted Critical
Publication of CN114915539B publication Critical patent/CN114915539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于SDN故障检测技术领域,具体的说是一种基于知识图谱的SDN流规则冲突故障检测方法。本发明的目的在于将SDN的集中化性质和知识图谱的表达推理能力相结合,提供一种基于知识图谱的SDN流规则冲突故障检测方法,该方法构建了SDN故障检测的知识图谱模式层,采用控制器集中收集的SDN网络实时拓扑信息作为数据层,通过定义流规则冲突检测的推理规则,实现单交换机内单级流表和多级流表的流规则冲突故障检测。

Description

一种基于知识图谱的SDN流规则冲突故障检测方法
技术领域
本发明属于SDN故障检测技术领域,具体的说是一种基于知识图谱的SDN流规则冲突故障检测方法。
背景技术
新时代复杂多变的网络环境下,软件定义网络(Software Define Network,SDN)将控制层与数据层解耦,使网络更加灵活,简化了网络管理与开发。控制层与数据层通过OpenFlow协议进行连接,控制层解析应用层的策略之后转化成数据层匹配报文的流规则向数据层下发,数据层根据流规则对报文执行操作。在理想的状态下,SDN的三层各司其职,完成用户的需求。但是随着需求的增多,每个应用都根据各自的需求制定策略。由于软件的复杂性以及流规则之间的依赖性,这些策略之间可能发生冲突,交换机不会对流规则进行检查,此时按照错误的流规则执行就会出现一系列异常。
对于此类冲突通常会使用树一类的结构进行检测,利用树的分层以及多分支结构可以简化匹配域的比较。这类方法将交换机的流表以树结构存储,从根节点到叶子节点表示一条完整的流规则,待匹配流规则从根节点开始匹配。如果匹配结束前发现再无连接的子节点则证明没有与之匹配域相关的流规则,否则继续比较动作域节点。另外还有基于机器学习的方法,例如决策树和支持向量机等。上述方法效率高,但是推理的易读性不强。知识图谱可以利用SDN控制器的集中化性质,构建SDN元素之间的易于理解的语义关系模型,通过编写规则实现推理。这种推理接近人的理解逻辑,推理路径较为明确,方便管理员分析。因此,可以通过构建SDN故障知识图谱解决单交换机的流规则冲突问题。
发明内容
本发明的目的在于将SDN的集中化性质和知识图谱的表达推理能力相结合,提供一种基于知识图谱的SDN流规则冲突故障检测方法,该方法构建了SDN故障检测的知识图谱模式层,采用控制器集中收集的SDN网络实时拓扑信息作为数据层,通过定义流规则冲突检测的推理规则,实现单交换机内单级流表和多级流表的流规则冲突故障检测。
为了方便对本发明进行描述,首先对知识图谱进行简单介绍。
知识图谱定义:知识图谱是以图模型来描述知识以及建模事物关系的技术方法。
知识图谱基本元素:实体——表现客观世界中的具体事物;概念——实体的抽象表达;关系——两个实体或概念之间的语义关系;属性——实体的内在特性,包括对象属性和数据属性,对象属性是实体与实体的关系,数据属性是实体与数据的关系;属性值——实体的属性对应的值。
产生式规则形式:若满足情况1和情况2……和情况n,则执行某动作。
OpenFlow流规则:与流规则冲突相关部分有匹配域、动作域和优先级。
本发明的技术方案是:
一种基于知识图谱的SDN流规则冲突故障检测方法,其特征在于,包括以下步骤:
S1、构建用于SDN流规则冲突检测的知识图谱,知识图谱包括模式层和数据层,具体为:采用自顶向下的构建方法,即先构建模式层规范结构,再填充数据层;其中模式层由SDN网络元素的抽象概念以及与流规则冲突检测相关的动作为本体构成,本体类至少包括交换机、流规则、端口、流表、流表动作,本体属性至少包括流规则的匹配域字段和动作域字段,SDN流规则之间以及流规则和其他网络元素之间的关系包括匹配关系、冲突关系、流规则与流表和交换机的从属关系,匹配关系包括包含关系、单级匹配关系、多级匹配关系,冲突关系包括泛化、遮蔽、动作冲突;
数据层存放一系列事实,即知识,使用三元组表达具体的实体以及实体之间的关系,数据层从获取到的实际网络拓扑信息中抽取得到,;
S2、定义用于SDN流规则冲突检测的产生式规则,所述产生式规则由条件集合和动作集合组成,满足条件集合内的所有条件即可执行动作集合,基于构建的知识图谱中SDN流规则之间以及流规则和其他网络元素之间的关系,按照流规则冲突关系的定义编写出判断单级流表匹配以及多级流表匹配的冲突问题,具体包括:
S21、将匹配域分为IP地址字段以及其它字段,定义IP的匹配是范围匹配,其它字段是精确匹配;在定义产生式规则前需要先判断各匹配字段之间是否具有重叠或包含关系,得到布尔值,具体为:
A、判断IP1和IP2之间是否重叠:将这两个IP的点分十进制转化成二进制,取子网前缀,剩余位数变为通配符,进行与运算,均为0则返回正确,否则错误;
B、判断两个重叠的IP地址IP1和IP2之间是否IP1包含IP2:若相等或者IP1通配符较小则返回正确,否则错误;
C、判断两个精确匹配字段m1和m2之间是否重叠:若相等或者存在某个字段是通配符,则返回正确,否则错误;
D、判断两个重叠的精确匹配字段m1和m2之间是否m1包含m2:若相等或者m1是通配符,则返回正确,否则错误;
E、判断字符串s1是否大于字符串s2:若大于则返回正确,否则错误;
S22、定义单级流表匹配下的冲突检测的产生式规则:
将流规则表示为Fi={Mi,Ai,Pi},其中Mi,Ai,Pi表示第i条流规则的匹配域、动作域和优先级,匹配关系包括不相关、交叉、包含、完全匹配,基于步骤S21得到的布尔值,列出以下产生式规则:
规则1:若流规则F1与流规则F2都属于同一流表,且所述匹配域所有字段之间均满足重叠关系,则F1与F2具有匹配关系;
规则2:若具有匹配关系的流规则动作不一样,则具有冲突关系;
规则3:取具有匹配关系的流规则F1和F2,若F1所有字段包含F2对应字段,则流规则F1包含流规则F2
规则4:若流规则F1与流规则F2具有冲突关系,F1包含F2,Pi≥Pj,则F1与F2有遮蔽冲突关系;
规则5:若流规则F1与流规则F2具有冲突关系,F1包含F2,Pi≤Pj,则F1与F2有泛化冲突关系;
S23、定义多级流表匹配下的冲突检测的产生式规则:
定义动作域有四个:某个端口输出、修改头部、转到下一个流表、丢弃,这四个动作是“动作”类的实例,冲突关系为“动作冲突”,其中“丢弃”与其他三个动作都有“动作冲突”关系;由于多级匹配关系具有传递性,因此流规则只需要与下一级的流规则建立多级匹配关系就可以将匹配到的各级流规则连接起来,基于步骤S21得到的布尔值,定义的产生式规则形式为:
规则6:若流规则F1需要跳转到流表x,流规则F2属于流表x,F1动作集不包含“修改头部”类动作,且所述匹配域不存在不重叠的字段,则F1与F2具有多级匹配关系;
规则7:若流规则F1需要跳转到流表x,流规则F2属于流表x,F1动作集包含“修改头部”类动作,且F1修改后的匹配域与F2的匹配域不存在不重叠的字段,则F1与F2具有多级匹配关系;
规则8:若流规则F1与流规则F2具有多级匹配关系,且动作冲突,则F1与F2具有冲突关系;
S3、基于步骤S1构建的知识图谱,采用步骤S2定义的产生式规则对故障SDN流规则进行推理检测,通过查询语言SPARQL进行检索得到故障检测结果。
本发明的有益效果为,易于理解与构建,SDN元素众多,交换机之间、流表之间关系复杂,知识图谱构建的SDN元素之间的语义关系模型,对于管理员来说易于理解与构建,同时便于计算机存储与操作。
规则制定简单灵活。可以根据每种故障的定义和特点建立故障规则库,既可以因故障而异,也可以多种故障联合建立,方便扩展。
推理路径明确,知识图谱可以根据设定的规则一步步推理出是否发生故障以及故障类型、大致位置,出错的时候方便排查。
具有共享性与可重用性。可以在SDN故障知识图谱发基础上新增其他故障检测的本体与实例,实现SDN故障领域的知识共享;也可以将此知识图谱与SDN的其他领域例如资源管理结合,实现SDN故障领域与其他领域的知识共享,这样可以创建一个实现多种功能的SDN工具。
附图说明
图1为模式层结构;
图2为判断单级流表匹配下两个流规则是否匹配;
图3为判断单级流表匹配下两个流规则是否冲突;
图4为判断多级流表匹配下两个流规则是否匹配;
图5为判断多级流表匹配下动作是否冲突;
图6为实例构建;
图7为遮蔽冲突与泛化冲突的查询语句;
图8为交叉冲突查询语句;
图9为第一组流规则匹配、冲突、包含关系的查询结果;
图10为第一组流规则的冲突查询结果;
图11为第二组流规则泛化冲突检测结果;
图12为多级流表匹配的相关查询结果。
具体实施方式
下面结合附图和实施例,详细描述本发明的技术方法:
本发明通过分析SDN网络元素,设计SDN故障检测的知识图谱模式层,再采用控制器集中收集的SDN网络实时拓扑信息作为数据层,所构建的知识图谱作为故障检测的基础;将单交换机内的流规则冲突分为单级流表匹配下的冲突和多级流表匹配下的冲突,使用产生式规则形式编写流规则冲突检测的推理规则,结合检索语句实现流规则冲突故障检测。具体步骤如下:
S1、构建用于SDN流规则冲突故障检测知识图谱。
知识图谱包含模式层和数据层。本发明主要采用自顶向下的构建方法,即先构建模式层规范结构,再填充数据层。
模式层在数据层之上,是数据层的概括性描述,作为数据层的模板规范数据层的实体以及关系,也叫本体。本发明中的模式层由网络拓扑元素的抽象概念以及与流规则冲突检测相关的动作为本体构成,使用protégé本体构建工具进行构建。其中本体类主要包含交换机、流规则、端口、流表、流表动作;本体属性根据流规则冲突检测所需,主要包含流规则的匹配域字段和动作域字段,匹配关系中的包含关系、单级匹配关系(具有对称性)、多级匹配关系(具有传递性),冲突关系中的泛化、遮蔽、动作冲突,流规则与端口的输入输出关系,流规则与流表、交换机的从属关系。
数据层存放一系列事实,即知识,使用三元组表达一个个具体的实体以及实体之间的关系。本发明中的数据层从获取到的实际网络拓扑信息中抽取得到,使用Jena API更新数据层。
S2、定义产生式规则进行SDN流规则冲突检测的推理。
本发明中的知识图谱推理主要使用产生式规则系统,它通过执行产生式规则达到推理目的。产生式规则系统的主要工作流程是首先用模式匹配模块将规则与知识相匹配,找到所有条件都能匹配的知识;再通过选择规则模块从多条满足条件的规则中选出一条;最后由执行规则模块执行这条规则的动作,并对知识进行修改。
本发明定义的产生式规则由条件集合和动作集合组成,满足条件集合内的所有条件即可执行动作集合,具体形式为“如果满足条件1和条件2和……条件n,就执行某动作”。其中条件可以采用原子式、变量、布尔式、表达式,动作可以是添加某个形式的知识、删除某个匹配知识、修改某个知识的特性。在Jena API下,可以编写一些自定义的返回布尔值的函数作为条件判断返回结果。
本发明中知识图谱包含了SDN流规则之间以及流规则和其他网络元素之间的关系,按照流规则冲突关系的定义可以定义判断单级流表匹配以及多级流表匹配的冲突问题的产生式规则,具体规则编写思路如下:
S21、匹配域分为IP地址字段以及其它字段,其区别是IP的匹配是范围匹配,其它字段是精确匹配。在定义产生式规则前需要先定义判断各匹配字段之间是否具有重叠或包含关系的原语函数,返回布尔值。
A、判断两个IP地址之间是否重叠:将IP的点分十进制转化成二进制,取子网前缀,剩余位数变为通配符,进行与运算,均为0则返回正确,否则错误。
B、判断两个重叠的IP地址之间IP1和IP2之间是否IP1包含IP2:若相等或者IP1通配符较小则返回正确,否则错误;
C、判断两个精确匹配字段m1和m2之间是否重叠:若相等或者存在某个字段是通配符,则返回正确,否则错误。所述精确匹配字段指类似MAC地址一类的原子匹配字段。
D、判断两个重叠的精确匹配字段m1和m2之间是否m1包含m2:若相等或者m1是通配符,则返回正确,否则错误。
E、判断字符串s1是否大于字符串s2:若大于则返回正确,否则错误。
S22、单级流表匹配下的冲突检测的产生式规则定义按以下思路:
流规则表示为Fi={Mi,Ai,Pi},其中Mi,Ai,Pi表示第i条流规则的匹配域、动作域和优先级。匹配关系主要分为不相关、交叉、包含、完全匹配。相应地,列出以下产生式规则:
规则1:若流规则F1与流规则F2都属于同一流表,且所述匹配域所有字段之间均满足重叠关系,则F1与F2具有匹配关系。
规则2:若具有匹配关系的流规则动作不一样,则具有冲突关系。
规则3:取具有匹配关系的流规则F1和F2,若F1所有字段包含F2对应字段,则流规则F1包含流规则F2
规则4:若流规则F1与流规则F2具有冲突关系,F1包含F2,Pi≥Pj,则F1与F2有遮蔽冲突关系。
规则5:若流规则F1与流规则F2具有冲突关系,F1包含F2,Pi≤Pj,则F1与F2有泛化冲突关系。
S23、多级流表匹配下的冲突检测的产生式规则定义按以下思路:
动作域总结起来主要有四个:某个端口输出、修改头部、转到下一个流表、丢弃。这四个动作是“动作”类的实例,冲突关系为“动作冲突”,其中“丢弃”与其他三个动作都有“动作冲突”关系。由于多级匹配关系具有传递性,因此流规则只需要与下一级的流规则建立多级匹配关系就可以将匹配到的各级流规则连接起来。
相应地,定义的产生式规则形式为:
规则6:若流规则F1需要跳转到流表x,流规则F2属于流表x,F1动作集不包含“修改头部”类动作,且所述匹配域不存在不重叠的字段,则F1与F2具有多级匹配关系。
规则7:若流规则F1需要跳转到流表x,流规则F2属于流表x,F1动作集包含“修改头部”类动作,且F1修改后的匹配域与F2的匹配域不存在不重叠的字段,则F1与F2具有多级匹配关系。
规则8:若流规则F1与流规则F2具有多级匹配关系,且动作冲突,则F1与F2具有冲突关系。
S3、推理结果的检索。
检索主要采用RDF数据标准查询语言SPARQL,其处理单元主要是三元组,以第一个字符为?的名称为变量,通过将需要查询的三元组形式与原始三元组数据匹配,找到匹配的RDF子图就可以将结果绑定到对应的变量上。在推理后泛化冲突和遮蔽冲突可以只查询知识图谱中的关系获得,而冗余和交叉冲突关系产生式规则无法直接得到,需要使用SPARQL的FILTER关键字来辅助得到结果.
实施例
主要使用工具:protége、jena
S1、构建SDN流规则冲突故障检测知识图谱模式层。
使用protégé本体构建工具,根据图1的结构构建知识图谱的模式层,重要属性为“同级匹配(Match)”具有对称性,“多级匹配(ftMatch)”具有传递性。
S2、编写产生式规则进行流规则冲突检测推理。
S21、根据技术方案S21所述流程编写产生式规则所需的匹配域相关的函数。具体名称为:
IPCross(n1,n2):判断两个IP地址是否有重叠;
IPSubset(n1,n2):判断第一个输入的IP地址是否包含第二个;
FieldCross(n1,n2):判断两个精确匹配字段内容是否有重叠;
FieldSubset(n1,n2):判断第一个输入的字段是否包含第二个;
StrCmp(n1,n2):判断第一个输入的字符串是否大于第二个。
S22、编写单级流表匹配的产生式规则,具体为:
如图7,rule_match_table规则用来匹配同一级流表里的规则。第一行选出两个同一级流表里的流规则,使用编写的StrCmp函数保证f1的flowId大于f2才会进行下一步比较,否则证明已经比较过了,不需要再比较;第2第3行主要比较IP地址范围,图中比较了源IP地址和目的IP地址,“sdn:IPSRC”表示要匹配的字段;第4第5行比较其他字段,图中比较了源MAC地址和目的MAC地址;最后一行是规则执行的动作,如果上述三元组条件都满足,则令这两个流规则是匹配关系。match_type规则用来进一步判断包含关系,写法类似rule_match_table。equal_match规则用来判断完全匹配关系,若f1和f2相互具有包含关系则属于完全匹配关系。
table_conflict规则主要选出单级流表匹配下动作不一样并且有冲突的流规则。首先第一行选出满足Match关系的两个流规则,使用StrCmp函数避免重复匹配。第二行取出动作集,假如动作集不一致则满足FlowConflict关系。
S23、编写多级流表匹配的产生式规则,具体为:
rule_nextTable用来匹配下一级流表里的规则,首先找到具有toTable关系的流规则f1和流向的下一级流表ft,选取ft里的流规则。然后对于不修改匹配域的,只要像rule_match_table第2到5行的匹配方式就可以。对于修改了IPSRC的流规则,需要用修改后的IPSRC去与下一级流表进行匹配。最后满足匹配的流规则增加ftMatch关系。
多级流表匹配比较动作是否有冲突关系,有冲突则满足ftFlowConflict关系。另外,相同动作但是值不一样的两个流规则其实也是冲突关系。但上述规则无法检出这种类型的冲突,因此像output_conflict规则是用来对比特定字段的,它选择满足Match关系的两个流规则,取出“outPort”所对应的输出端口,比较是否相同,不相同则判断为冲突。
S3、获取网络信息构建故障检测知识图谱数据层。
使用Mininet和ONOS控制器随意构建一个至少有一台交换机的拓扑,为了验证本发明所述方案,人为创造一些流规则冲突,向其中一台交换机下发两组流规则。表1为第一组,主要针对遮蔽冲突(8070和8943),交叉冲突(8422和3960)、冗余冲突(3960和0720)。表2为第二组,主要针对泛化冲突(5529和4621),多级流表冲突(8257和1934)。0720和8422、7103和8257由于优先级一样,同属泛化冲突和遮蔽冲突。
表1下发的流规则1(id为flowID的末四位)
表2下发的流规则2
通过ONOS获取交换机、主机、流规则等信息,如图2构建知识图谱数据层。另外,在“动作(Action)”类下增加六个实例,分别为“输出(OUTPUT)”、“丢弃(drop)”、“修改源地址(MODIFICATION_ipSRC)”、“修改目的地址(MODIFICATION_ipDST)”、“不修改匹配域(Unchanged_Field)”、“跳转到下级流表(GoToTable)”,其中“丢弃(drop)”实例与其他实例均为“动作冲突(ActionConflict)”关系。
S4、使用所编写的产生式规则进行知识图谱推理。
S5、使用Sparql语句进行推理结果检索。遮蔽冲突和泛化冲突直接使用WHERE查询知识图谱的关系得到。交叉冲突关系需要过滤掉包含关系,使用FILTER关键字。其他查询语句可在结果图中查看。
对于下发的第一组流规则,由于匹配对称属性,因此每对查询结果有两组,可以看到这三个关系的推理是正确的。然后查询详细的冲突关系,符合预期设置。
对于第二组下发的流规则,检测出5529和4621有泛化冲突,7103和8257动作集都有两个动作,动作集不一样,且这两个流规则之前有包含关系,优先级一样,因此也检测出了冲突关系。多级流表的检测中,8257先转到3967,修改了目的地址,再转到1934,可以查询到在不同流表之间传递的匹配结果,8257既能与下一级匹配的流规则生成关系,也能借助传递性与下级的下一级流规则生成关系。由于8257与3967不冲突,与1934在输出端口冲突,因此冲突的只有8257与1934。

Claims (1)

1.一种基于知识图谱的SDN流规则冲突故障检测方法,其特征在于,包括以下步骤:
S1、构建用于SDN流规则冲突检测的知识图谱,知识图谱包括模式层和数据层,具体为:采用自顶向下的构建方法,即先构建模式层规范结构,再填充数据层;其中模式层由SDN网络元素的抽象概念以及与流规则冲突检测相关的动作为本体构成,本体类至少包括交换机、流规则、端口、流表、流表动作,本体属性至少包括流规则的匹配域字段和动作域字段,SDN流规则之间以及流规则和其他网络元素之间的关系包括匹配关系、冲突关系、流规则与流表和交换机的从属关系,匹配关系包括包含关系、单级匹配关系、多级匹配关系,冲突关系包括泛化、遮蔽、动作冲突;
数据层存放一系列事实,即知识,使用三元组表达具体的实体以及实体之间的关系,数据层从获取到的实际网络拓扑信息中抽取得到;
S2、定义用于SDN流规则冲突检测的产生式规则,所述产生式规则由条件集合和动作集合组成,满足条件集合内的所有条件即可执行动作集合,基于构建的知识图谱中SDN流规则之间以及流规则和其他网络元素之间的关系,按照流规则冲突关系的定义编写出判断单级流表匹配以及多级流表匹配的冲突问题,具体包括:
S21、将匹配域分为IP地址字段以及其它字段,定义IP的匹配是范围匹配,其它字段是精确匹配;在定义产生式规则前需要先判断各匹配字段之间是否具有重叠或包含关系,得到布尔值,具体为:
A、判断两个IP地址IP1和IP2之间是否重叠:将这两个IP的点分十进制转化成二进制,取子网前缀,剩余位数变为通配符,进行与运算,均为0则返回正确,否则错误;
B、判断两个重叠的IP地址IP1和IP2之间是否IP1包含IP2:若相等或者IP1通配符较小则返回正确,否则错误;
C、判断两个精确匹配字段m1和m2之间是否重叠:若相等或者存在某个字段是通配符,则返回正确,否则错误;
D、判断两个重叠的精确匹配字段m1和m2之间是否m1包含m2:若相等或者m1是通配符,则返回正确,否则错误;
E、判断字符串s1是否大于字符串s2:若大于则返回正确,否则错误;
S22、定义单级流表匹配下的冲突检测的产生式规则:
将流规则表示为Fi={Mi,Ai,Pi},其中Mi,Ai,Pi表示第i条流规则的匹配域、动作域和优先级,匹配关系包括不相关、交叉、包含、完全匹配,基于步骤S21得到的布尔值,列出以下产生式规则:
规则1:若流规则F1与流规则F2都属于同一流表,且所述匹配域所有字段之间均满足重叠关系,则F1与F2具有匹配关系;
规则2:若具有匹配关系的流规则动作不一样,则具有冲突关系;
规则3:取具有匹配关系的流规则F1和F2,若F1所有字段包含F2对应字段,则流规则F1包含流规则F2
规则4:若流规则F1与流规则F2具有冲突关系,F1包含F2,Pi≥Pj,则F1与F2有遮蔽冲突关系;
规则5:若流规则F1与流规则F2具有冲突关系,F1包含F2,Pi≤Pj,则F1与F2有泛化冲突关系;
S23、定义多级流表匹配下的冲突检测的产生式规则:
定义动作域有四个:某个端口输出、修改头部、转到下一个流表、丢弃,这四个动作是“动作”类的实例,冲突关系为“动作冲突”,其中“丢弃”与其他三个动作都有“动作冲突”关系;由于多级匹配关系具有传递性,因此流规则只需要与下一级的流规则建立多级匹配关系就可以将匹配到的各级流规则连接起来,基于步骤S21得到的布尔值,定义的产生式规则形式为:
规则6:若流规则F1需要跳转到流表x,流规则F2属于流表x,F1动作集不包含“修改头部”类动作,且所述匹配域不存在不重叠的字段,则F1与F2具有多级匹配关系;
规则7:若流规则F1需要跳转到流表x,流规则F2属于流表x,F1动作集包含“修改头部”类动作,且F1修改后的匹配域与F2的匹配域不存在不重叠的字段,则F1与F2具有多级匹配关系;
规则8:若流规则F1与流规则F2具有多级匹配关系,且动作冲突,则F1与F2具有冲突关系;
S3、基于步骤S1构建的知识图谱,采用步骤S2定义的产生式规则对故障SDN流规则进行推理检测,通过查询语言SPARQL进行检索得到故障检测结果。
CN202210549775.9A 2022-05-20 2022-05-20 一种基于知识图谱的sdn流规则冲突故障检测方法 Active CN114915539B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210549775.9A CN114915539B (zh) 2022-05-20 2022-05-20 一种基于知识图谱的sdn流规则冲突故障检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210549775.9A CN114915539B (zh) 2022-05-20 2022-05-20 一种基于知识图谱的sdn流规则冲突故障检测方法

Publications (2)

Publication Number Publication Date
CN114915539A CN114915539A (zh) 2022-08-16
CN114915539B true CN114915539B (zh) 2023-07-28

Family

ID=82768918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210549775.9A Active CN114915539B (zh) 2022-05-20 2022-05-20 一种基于知识图谱的sdn流规则冲突故障检测方法

Country Status (1)

Country Link
CN (1) CN114915539B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043494B1 (en) * 2003-01-28 2006-05-09 Pmc-Sierra, Inc. Fast, deterministic exact match look-ups in large tables
CN105338003A (zh) * 2015-12-09 2016-02-17 中国电子科技集团公司第二十八研究所 一种应用于软件定义网络的防火墙实现方法
US10157226B1 (en) * 2018-01-16 2018-12-18 Accenture Global Solutions Limited Predicting links in knowledge graphs using ontological knowledge
CN110120923A (zh) * 2019-05-13 2019-08-13 电子科技大学 一种基于Hash-Trie的流规则冲突检测方法
CN113591077A (zh) * 2021-07-30 2021-11-02 北京邮电大学 一种网络攻击行为预测方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113114582B (zh) * 2021-05-25 2022-05-17 电子科技大学 基于机器学习的链路拥塞故障预测及网络自主管控方法
CN113746950B (zh) * 2021-09-07 2023-11-21 中国联合网络通信集团有限公司 Ip地址冲突预检测方法、系统、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043494B1 (en) * 2003-01-28 2006-05-09 Pmc-Sierra, Inc. Fast, deterministic exact match look-ups in large tables
CN105338003A (zh) * 2015-12-09 2016-02-17 中国电子科技集团公司第二十八研究所 一种应用于软件定义网络的防火墙实现方法
US10157226B1 (en) * 2018-01-16 2018-12-18 Accenture Global Solutions Limited Predicting links in knowledge graphs using ontological knowledge
CN110120923A (zh) * 2019-05-13 2019-08-13 电子科技大学 一种基于Hash-Trie的流规则冲突检测方法
CN113591077A (zh) * 2021-07-30 2021-11-02 北京邮电大学 一种网络攻击行为预测方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向软件定义网络的流表优化方案;唐亚哲;张永琪;颜自坚;朱桂英;;西安交通大学学报(第02期);全文 *

Also Published As

Publication number Publication date
CN114915539A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
Simitsis et al. Optimizing ETL processes in data warehouses
KR101008691B1 (ko) 메모리 및 DBMS 기반의 하이브리드 Rete 추론 시스템 및 방법
Zhang et al. Quotient FCMs-a decomposition theory for fuzzy cognitive maps
Wang et al. Benchmarking the combinatorial generalizability of complex query answering on knowledge graphs
Lhomme Arc-consistency filtering algorithms for logical combinations of constraints
Chen et al. On liveness enforcing supervisory policies for arbitrary Petri nets
Zhao et al. Ruletailor: Optimizing flow table updates in openflow switches with rule transformations
Park et al. On the power of gradual network alignment using dual-perception similarities
CN114915539B (zh) 一种基于知识图谱的sdn流规则冲突故障检测方法
Van Oirschot et al. Using trace clustering for configurable process discovery explained by event log data
Karegar et al. Data-mining by probability-based patterns
WO2024031813A1 (zh) 一种通用自学习系统及基于通用自学习系统的自学习方法
Fakhfakh et al. Formal verification approaches for distributed algorithms: A systematic literature review
Wu et al. An NP-complete fragment of fibring logic
Rosenkrantz et al. Efficiently learning the topology and behavior of a networked dynamical system via active queries
Bokhari et al. Design of Scenario-based Application-optimized Data Replication Strategies through Genetic Programming.
Jodłowiec et al. Defining semantic networks using association-oriented metamodel
Butz et al. Knowledge extraction and problem structure identification in XCS
Assunção et al. A multi-objective solution for retrieving class diagrams
Aloul et al. Identifying the shortest path in large networks using Boolean satisfiability
CN110147393A (zh) 面向数据空间的实体解析方法
Jung et al. A descriptive encoding language for evolving modular neural networks
Wu et al. Unraveling the detectability of stochastic block model with overlapping communities
Resina Studies on non-prioritized multiple belief revision
CN115827996B (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