基于SDN架构的网络故障检测与修复方法技术

技术编号:15898792 阅读:59 留言:0更新日期:2017-07-28 21:34
本发明专利技术公开了一种基于SDN架构的网络故障检测与修复方法,技术方案是构建一个由网络设备、集中管理服务器、监控计算机构成的网络系统,网络设备上部署有Agent代理模块,集中管理服务器安装有业务层模块、网络状态参数获取和策略执行模块、故障检测推理模块、网络状态参数数据库和专家知识库;网络状态参数获取和策略执行模块接收到业务层发来的故障检测指令后,网络状态参数获取和策略执行模块并行地和路由器上的Agent代理模块建立通信,采用自适应轮询算法从Agent代理模块获取不同网络协议的网络状态信息,故障检测推理模块进行故障的检测与修复。采用本发明专利技术既能对已知故障进行准确定位,又能降低故障检测开销,还能确保故障自动化修复。

【技术实现步骤摘要】
基于SDN架构的网络故障检测与修复方法
本专利技术涉及一种基于SDN(SoftwareDefineNetwork,软件定义网络)架构的网络故障检测与修复方法。
技术介绍
随着互联网高速的飞速发展,互联网已经深入生活的方方面面,越来越多的业务采用“互联网+”模式,如常见的点餐服务美团,出行打车服务滴滴出行,以及支付服务微信、支付宝等。因此,网络系统的安全和稳定是现代生活的一个基本的保证,如果出现崩溃,将会造成日常生活的崩溃或者巨大损失。据统计,一个局域网在一年之内出现的故障次数高达二十多次,由此产生的网络中断服务时间在十几个小时,而那些大的运营商如电信、移动等公司,几个小时的中断可能造上亿美元的经济损失,因此,如何保证网络的安全运行,并在出现故障时候能够及时发现,并进行适当的修复是当前最为重要的问题之一。目前,存在大量的网络故障诊断方法,这些方法大都基于贝叶斯网络、人工智能、神经网络等技术,通常具有自主学习的功能,但却是基于历史信息的一种推断,仅供网络管理人员进行网络管理的一种参考,并且不能对故障进行准确定位,因此,不适合网络故障检测和自动修复系统。进行故障检测的前提是获取当前网络的状态信息,目前围绕如何降低状态获取时的系统开销,而又能保证故障检测的实时性进行了很多研究。分为三类:轮询,该种方式规定T时间周期进行定时获取网络状态信息,但存在时间大小如何设置问题;事件通知,该种方式采用异步通知机制,但是存在代理端崩溃无法发送事件通知;轮询和事件通知结合,该方式在一定程度上可以解决轮询开销和故障响应时间问题,但是却要求在代理端维持网络的状态信息,造成代理端的系统开销和维护开销。目前进行网络故障检测系统,主要存在以下弊端与不足:1.自动化程度较低。网络出现故障时候,系统不能及时对网络故障进行修复,达到网络快速恢复健康运行的目的。2.故障检测准确性较低。即无法对已知故障进行准确定位。3.在进行网络状态获取时候,无法在系统开销和故障响应时间之间取得均衡。在日益复杂的网络环境下,这些故障检测方法既不能做到故障的自动化修复,也不能降低进行故障检测的开销。
技术实现思路
本专利技术要解决的技术问题是提供基于SDN架构的网络故障检测与修复方法,既能确保故障的自动化修复,也能降低进行故障检测的开销,且提高故障检测准确性,对已知故障进行准确定位。本专利技术的技术方案是:第一步,构建一个集中与分布相结合的网络系统,它由N个网络设备、一台集中管理服务器以及一台监控计算机构成,它们通过互联网相连。网络设备主要是路由器,其上部署有Agent代理模块,N个网络设备均与集中管理服务器相连。Agent代理模块负责获取网络状态信息(主要指网络设备的状态信息,包括路由协议的网络状态信息。网络状态信息包括网络状态关键字和网络状态关键字的数值,网络状态关键字指网络设备运行的各种网络协议中描述网络状态的属性;网络状态关键字的数值指网络协议运行时网络状态关键字对应的数值),并对网络协议进行配置。Agent代理模块通过南向接口将网路状态信息送给集中管理服务器,常见南向接口有CLI(ClientLineInterface,命令行)、SNMP(SimpleNetworkManagerProtocol,简单网络管理协议)、NETCONF(NetworkConfigurationProtocol,网络配置协议)等。集中管理服务器除安装业务层模块,还安装有对网络故障进行检测和修复的控制层模块。控制层模块由网络状态参数获取和策略执行模块、故障检测推理模块、网络状态参数数据库和专家知识库组成。网络状态参数获取和策略执行模块设置一个故障标志位,初始化为0,当故障标志位为1,说明网络当前存在故障,否则不存在故障。网络状态参数获取和策略执行模块接收业务层模块发来的故障检测指令,根据故障检测指令对相应的网络协议进行检测和修复;网络状态参数获取和策略执行模块与N个网络设备的Agent代理模块相连、业务层模块、故障检测推理模块相连;网络状态参数获取和策略执行模块从Agent代理模块获取网络状态信息,将网络状态信息存储到网络状态参数数据库中;网络状态参数获取和策略执行模块从故障检测推理模块接收故障修复策略,执行故障修复策略进行修复,执行完故障修复策略后,将网络状态参数数据库中与该故障相对应的网络状态信息删除;网络故障检测推理模块与网络状态参数获取和策略执行模块、网络状态参数数据库、专家知识库以及监控计算机相连,根据专家知识库对当前的网络状态参数数据库中网络状态信息进行检测,如果某条网络状态信息满足专家知识库中故障条件,说明当前网络存在故障,则故障检测推理模块将专家知识库给出的故障修复策略发送给网络状态参数获取和策略执行模块,否则,说明存在未知故障需要监控计算机进一步确认,则故障检测推理模块将故障信息发送给监控计算机。业务层模块向网络状态参数获取和策略执行模块发送故障检测指令,故障检测指令包括OSPF故障检测指令、BGP故障检测指令等各种路由协议检测指令,网络设备运行M种网络协议,则有M中故障检测指令,M为正整数。网络状态参数数据库存储网络状态信息,在实际应用中采用MySQL数据库,有K个表项,表项内容为<网络状态关键字,网络状态关键字的数值>。K为N个网络设备上运行的所有网络协议的网络状态关键字的总数,网络状态关键字由网络管理员通过CLI向网络设备获取,网络状态关键字的数值则由网络状态参数获取和策略执行模块收集,若网络状态关键字的数值异常,表示网络出现故障。专家知识库是存贮故障条件和故障修复策略的数据库,故障条件和故障修复策略以产生式规则的形式存贮,这些产生式以树型数据结构进行存储,专家知识库由监控计算机负责初始化以及更新和维护操作。产生式规则的前半部分是故障条件,多个故障条件之间采用逻辑运算符(包括AND即“且”、OR即“或”两种)进行连接,后半部分是对应该故障修复策略(即网络协议配置命令)。故障条件内容为<网络状态关键字,逻辑符号,临界数值>,其中故障条件中的网络状态关键字和网络状态参数数据库中的网络状态关键字相同,逻辑符号包括“>”(大于)、”==”(等于)、“<”(小于)三种,临界数值是判定网络是否故障的依据,当网络状态关键字的数值高于或者低于或者等于临界数值时,网络就可能出现故障。如故障条件为<SPF,>,1000>的含义是OSPF路由协议运行SPF算法次数大于1000,网络存在路由震荡故障。监控计算机上安装有用户接口模块,用户接口模块与故障检测推理模块、专家知识库相连,负责将从故障检测推理模块接收的判定为未知的故障进行显示,供网络管理员在排除故障过程中进行参考;同时用户接口模块还提供专家知识录入接口供网络管理员录入故障条件和故障修复策略到专家知识库中。第二步,网络状态参数获取和策略执行模块初始化网络状态参数数据库,将网络状态关键字置为网络设备中运行的各种网络协议描述网络状态的属性,所有网络状态关键字的数值置空,并将故障标志位置0。第三步,监控计算机对专家知识库进行初始化,将故障条件和故障修复策略以产生式集合的形式进行组织,并将产生式集合(包括多条产生式,一条产生式包含一条故障条件以及对应的修复策略)转化为一个包含故障本文档来自技高网
...
基于SDN架构的网络故障检测与修复方法

【技术保护点】
一种基于SDN架构的网络故障检测与修复方法,其特征在于包括以下步骤:第一步,构建一个集中与分布相结合的网络系统,它由N个网络设备、一台集中管理服务器以及一台监控计算机构成,它们通过互联网相连;网络设备上部署有Agent代理模块,N个网络设备均与集中管理服务器相连;Agent代理模块负责获取网络状态信息并对网络协议进行配置,Agent代理模块通过南向接口将网路状态信息送给集中管理服务器,网络状态信息指网络设备的状态信息,包括路由协议的网络状态信息,网络状态信息包括网络状态关键字和网络状态关键字的数值,网络状态关键字指网络设备运行的各种网络协议中描述网络状态的属性;网络状态关键字的数值指网络协议运行时网络状态关键字对应的数值;集中管理服务器除安装业务层模块,还安装有对网络故障进行检测和修复的控制层模块;控制层模块由网络状态参数获取和策略执行模块、故障检测推理模块、网络状态参数数据库和专家知识库组成;网络状态参数获取和策略执行模块设置一个故障标志位,初始化为0,当故障标志位为1,说明网络当前存在故障,否则不存在故障;网络状态参数获取和策略执行模块接收业务层模块发来的故障检测指令,根据故障检测指令对相应的网络协议进行检测和修复;网络状态参数获取和策略执行模块与N个网络设备的Agent代理模块相连、业务层模块、故障检测推理模块相连;网络状态参数获取和策略执行模块从Agent代理模块获取网络状态信息,将网络状态信息存储到网络状态参数数据库中;网络状态参数获取和策略执行模块从故障检测推理模块接收故障修复策略,执行故障修复策略进行修复,执行完故障修复策略后,将网络状态参数数据库中与该故障相对应的网络状态信息删除;网络故障检测推理模块与网络状态参数获取和策略执行模块、网络状态参数数据库、专家知识库以及监控计算机相连,根据专家知识库对当前的网络状态参数数据库中网络状态信息进行检测,如果某条网络状态信息满足专家知识库中故障条件,说明当前网络存在故障,则故障检测推理模块将专家知识库给出的故障修复策略发送给网络状态参数获取和策略执行模块,否则,说明存在未知故障需要监控计算机进一步确认,则故障检测推理模块将故障信息发送给监控计算机;业务层模块向网络状态参数获取和策略执行模块发送故障检测指令;网络状态参数数据库存储网络状态信息,有K个表项,表项内容为<网络状态关键字,网络状态关键字的数值>,K为N个网络设备上运行的所有网络协议的网络状态关键字的总数,网络状态关键字通过命令行CLI即Client Line Interface向网络设备获取,网络状态关键字的数值则由网络状态参数获取和策略执行模块收集,若网络状态关键字的数值异常,表示网络出现故障;专家知识库是存贮故障条件和故障修复策略的数据库,故障条件和故障修复策略以产生式规则的形式存贮,这些产生式以树型数据结构进行存储,专家知识库由监控计算机负责初始化以及更新和维护操作;产生式规则的前半部分是故障条件,多个故障条件之间采用逻辑运算符进行连接,后半部分是对应该故障的修复策略即网络协议配置命令,逻辑运算符包括AND即“且”、OR即“或”两种;故障条件内容为<网络状态关键字,逻辑符号,临界数值>,逻辑符号包括“>”(大于)、”==”(等于)、“<”(小于)三种,临界数值是判定网络是否故障的依据,当网络状态关键字的数值高于或者低于或者等于临界数值时,网络就可能出现故障;监控计算机上安装有用户接口模块,用户接口模块与故障检测推理模块、专家知识库相连,负责将从故障检测推理模块接收的判定为未知的故障进行显示,供网络管理员在排除故障过程中进行参考;同时用户接口模块还提供专家知识录入接口供网络管理员录入故障条件和故障修复策略到专家知识库中;第二步,网络状态参数获取和策略执行模块初始化网络状态参数数据库,将网络状态关键字置为网络设备中运行的各种网络协议描述网络状态的属性,所有网络状态关键字的数值置空,并将故障标志位置0;第三步,监控计算机对专家知识库进行初始化,将故障条件和故障修复策略以产生式集合的形式进行组织,并将产生式集合转化为一个包含故障条件和故障修复策略的树型结构;第四步,业务层模块给网络状态参数获取和策略执行模块发送故障检测指令;第五步,网络状态参数获取和策略执行模块接收到业务层发来的故障检测指令后,网络状态参数获取和策略执行模块并行地和N个路由器上的Agent代理模块建立通信,根据故障检测指令的不同,采用自适应轮询算法通过南向接口从N个网络设备的Agent代理模块获取不同网络协议的网络状态信息,故障检测推理模块基于网络状态信息进行故障的检测与修复,方法如下:5.1设置DT=T1,DT是网络状态参数获取和策略执行模块实际采用轮询周期,T1和T2为监控计算机根据经验预先设置的轮询周期下...

【技术特征摘要】
1.一种基于SDN架构的网络故障检测与修复方法,其特征在于包括以下步骤:第一步,构建一个集中与分布相结合的网络系统,它由N个网络设备、一台集中管理服务器以及一台监控计算机构成,它们通过互联网相连;网络设备上部署有Agent代理模块,N个网络设备均与集中管理服务器相连;Agent代理模块负责获取网络状态信息并对网络协议进行配置,Agent代理模块通过南向接口将网路状态信息送给集中管理服务器,网络状态信息指网络设备的状态信息,包括路由协议的网络状态信息,网络状态信息包括网络状态关键字和网络状态关键字的数值,网络状态关键字指网络设备运行的各种网络协议中描述网络状态的属性;网络状态关键字的数值指网络协议运行时网络状态关键字对应的数值;集中管理服务器除安装业务层模块,还安装有对网络故障进行检测和修复的控制层模块;控制层模块由网络状态参数获取和策略执行模块、故障检测推理模块、网络状态参数数据库和专家知识库组成;网络状态参数获取和策略执行模块设置一个故障标志位,初始化为0,当故障标志位为1,说明网络当前存在故障,否则不存在故障;网络状态参数获取和策略执行模块接收业务层模块发来的故障检测指令,根据故障检测指令对相应的网络协议进行检测和修复;网络状态参数获取和策略执行模块与N个网络设备的Agent代理模块相连、业务层模块、故障检测推理模块相连;网络状态参数获取和策略执行模块从Agent代理模块获取网络状态信息,将网络状态信息存储到网络状态参数数据库中;网络状态参数获取和策略执行模块从故障检测推理模块接收故障修复策略,执行故障修复策略进行修复,执行完故障修复策略后,将网络状态参数数据库中与该故障相对应的网络状态信息删除;网络故障检测推理模块与网络状态参数获取和策略执行模块、网络状态参数数据库、专家知识库以及监控计算机相连,根据专家知识库对当前的网络状态参数数据库中网络状态信息进行检测,如果某条网络状态信息满足专家知识库中故障条件,说明当前网络存在故障,则故障检测推理模块将专家知识库给出的故障修复策略发送给网络状态参数获取和策略执行模块,否则,说明存在未知故障需要监控计算机进一步确认,则故障检测推理模块将故障信息发送给监控计算机;业务层模块向网络状态参数获取和策略执行模块发送故障检测指令;网络状态参数数据库存储网络状态信息,有K个表项,表项内容为<网络状态关键字,网络状态关键字的数值>,K为N个网络设备上运行的所有网络协议的网络状态关键字的总数,网络状态关键字通过命令行CLI即ClientLineInterface向网络设备获取,网络状态关键字的数值则由网络状态参数获取和策略执行模块收集,若网络状态关键字的数值异常,表示网络出现故障;专家知识库是存贮故障条件和故障修复策略的数据库,故障条件和故障修复策略以产生式规则的形式存贮,这些产生式以树型数据结构进行存储,专家知识库由监控计算机负责初始化以及更新和维护操作;产生式规则的前半部分是故障条件,多个故障条件之间采用逻辑运算符进行连接,后半部分是对应该故障的修复策略即网络协议配置命令,逻辑运算符包括AND即“且”、OR即“或”两种;故障条件内容为<网络状态关键字,逻辑符号,临界数值>,逻辑符号包括“>”(大于)、”==”(等于)、“<”(小于)三种,临界数值是判定网络是否故障的依据,当网络状态关键字的数值高于或者低于或者等于临界数值时,网络就可能出现故障;监控计算机上安装有用户接口模块,用户接口模块与故障检测推理模块、专家知识库相连,负责将从故障检测推理模块接收的判定为未知的故障进行显示,供网络管理员在排除故障过程中进行参考;同时用户接口模块还提供专家知识录入接口供网络管理员录入故障条件和故障修复策略到专家知识库中;第二步,网络状态参数获取和策略执行模块初始化网络状态参数数据库,将网络状态关键字置为网络设备中运行的各种网络协议描述网络状态的属性,所有网络状态关键字的数值置空,并将故障标志位置0;第三步,监控计算机对专家知识库进行初始化,将故障条件和故障修复策略以产生式集合的形式进行组织,并将产生式集合转化为一个包含故障条件和故障修复策略的树型结构;第四步,业务层模块给网络状态参数获取和策略执行模块发送故障检测指令;第五步,网络状态参数获取和策略执行模块接收到业务层发来的故障检测指令后,网络状态参数获取和策略执行模块并行地和N个路由器上的Agent代理模块建立通信,根据故障检测指令的不同,采用自适应轮询算法通过南向接口从N个网络设备...

【专利技术属性】
技术研发人员:邓文平王宝生薛华威苏金树高先明郦苏丹王宏陶静彭伟陈琳唐竹
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南,43

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

1