一种基于深度学习的SDN流表冲突检测装置及方法制造方法及图纸

技术编号:15394921 阅读:55 留言:0更新日期:2017-05-19 06:36
本发明专利技术公开了一种基于深度学习的SDN流表冲突检测装置及方法。该装置包括以下模块:窗口分割模块、深度检测模块、结果分析模块、监听模块和数据存储模块。该方法包括:具体SDN应用通过策略映射模块映射为具体SDN流表项{P};窗口分割模块从数据库存储模块提取适合于深度检测模块处理的窗口大小的流表项{W};将{P}和{W}中流表项输入深度检测模块进行流表冲突检测;经过冲突检测模块后的流表输入到结果分析模块进行分析判断。本发明专利技术利用了深度学习抽象化高层数据、自动学习的特点,相比于传统的冲突查找算法,在大规模应用部署时能更快速地对超大规模的流表项做出是否冲突的检测。

SDN stream table conflict detection device and method based on depth learning

The invention discloses a SDN flow table conflict detection device based on depth learning and a method thereof. The device comprises the following modules: a window segmentation module, a depth detection module, a result analysis module, a monitoring module and a data storage module. The method includes: the specific application by SDN mapping module for specific mapping strategy SDN flow table {P}; window segmentation module is extracted from the database storage module is suitable for measuring the depth of processing module window size of flow table {W}; {P} and {W} flow table input depth detection module for flow meter after collision detection; collision detection after the input to the module table flow analysis module to analyze and judge. The invention uses the depth characteristics of the automatic learning abstract, high-level data conflict study, compared with the traditional search algorithm, can quickly detect whether the conflict on the flow table entries in the large-scale application of large scale deployment.

【技术实现步骤摘要】
一种基于深度学习的SDN流表冲突检测装置及方法
本专利技术涉及网络通信
,具体涉及一种基于深度学习的SDN流表冲突检测装置及方法。
技术介绍
随着人们对网络应用需求的增加,数据中心的规模不断扩大,在传统网络基础架构的成本、管理、复杂性方面,网络运营商、服务供应商等面临着巨大的挑战。传统网络架构部署的高成本制约了数据中心的建设,而复杂性则推迟了新服务和新应用的上市时间。传统网络架构中不易对网络设备管理的特性进一步增加了企业的运营成本,并且降低了更新网络结构的响应速度。面对传统网络架构暴露出的高成本、高复杂性、低灵活度等问题,越来越多的企业和高校开始着手研究新型网络体系架构。2006年,美国斯坦福大学CleanSlate课题组提出了软件定义网络(SoftwareDefinedNetwork,SDN)的概念。SDN是一种新型的网络架构,斯坦福大学的研究团队提出的OpenFlow协议就是实现SDN的一种方式。2011年,开放网络基金会(OpenNetworkingFoundation,ONF)成立,这极大地推动了SDN和OpenFlow的发展。SDN的主要思想是将网络设备的控制平面和数据平面分离,以实现对网络的灵活控制。SDN网络本身就是一个灵活性的网络,其网络配置和运行都是自动化控制的。基于OpenFlow协议的SDN网络抽象化了路由设备和交换设备的控制面,数据平面的转发设备由OpenFlow控制器进行管理,以便对网络进行集中化管理,从而降低了网络的部署成本,并且提升了整个网络的管理性。OpenFlow是实现SDN的一种主要方式,利用OpenFlow控制器对OpenFlow交换机下发流表来阻止恶意流量对网络节点攻击的方式是提高基于OpenFlow的SDN网络安全性的一种重要方式。虽然OpenFlow能够实现对网络灵活控制,由于OpenFlow并没有提供流表冲突检测的处理机制,如果要对一个大型的OpenFlow网络中的所有流表进行自动部署和控制,仅仅通过OpenFlow控制器来管理是不够的。如果不对OpenFlow交换机中的流表进行冲突检测,那么OpenFlow控制器对OpenFlow交换机添加的某些安全策略之间存在冲突,这可能会使一些流表项一直不能执行,进而会使某些本来被防火墙阻止的数据包顺利通过,这给基于OpenFlow实现的SDN架构的网络带来了一定安全隐患,也不利于大型网络中SDN业务的自动部署。因此,需要一种用于检测流表冲突的应用来解决这些问题。虽然当前的某些OpenFlow控制器(如:Floodlight)具有简单的流表冲突检测功能,但是其流表冲突检测是功能单一的,而且是基于传统的算法来查找OpenFlow交换机中冲突的流表项。如果OpenFlow交换机中的流表数目非常庞大,那么使用传统的流表冲突检测算法来查找冲突流表项会增加控制器的运行负载、延缓流表的部署。2006年,GeoffreyHinton等人提出了深度学习的概念。深度学习是机器学习的一个分支,是机器学习中表征学习方法的一类。通过深度学习模型中的多个处理层,能够对数据进行高层抽象。深度学习网络类似于大脑的神经网络,大脑中的神经网络由数千亿的神经元连接而成,而深度学习网络同样由大量的人工神经元组成。深度学习使用复杂的线性或非线性的模型来表示数据之间的关系,然后训练大量的数据来确定数据之间的关系。目前,深度学习已经被Google、Facebook、Microsoft、百度等公司在语音识别、计算机视觉、自然语言处理等领域广泛应用,由AndrewNg领导的GoogleBrain团队已经创建了能够学习后识别高级概念图片的神经网络。然而,目前深度学习并没有在SDN架构下的网络环境中得到广泛应用,尤其是将深度学习应用到SDN的安全领域中。对流表进行冲突检测是SDN架构下保证网络安全和业务自动部署的一个重要前提,因此本专利技术将SDN与深度学习结合,提出一种基于深度学习的SDN流表冲突检测方法。该方法利用了深度学习抽象化高层数据、自动学习的特点,能够快速地对大量的流表项做出是否冲突的判断。检测流表冲突的模块独立于控制器,所以该模块还在一定程度上减轻了OpenFlow控制器的运行负载。
技术实现思路
现有OpenFlow协议本身没有提供流表冲突检测的处理机制,尽管当前的某些OpenFlow交换机具有简单的流表冲突检测功能,但其流表冲突检测功能单一,并且采用了基于传统算法来查找OpenFlow交换机中的冲突的流表项。若是OpenFlow交换机中的流表数目非常庞大的话,那么使用传统的流表冲突检测算法在交换机中查找冲突流表项将会增加交换机的运行负担、延缓流表的部署,影响数据包正常的转发。本专利技术克服了以上不足,提出了一种基于深度学习的SDN流表冲突检测装置及方法。该专利技术利用了策略映射层将上层SDN应用映射成具体的流表项,然后将新生成的流表项输入到深度检测模块,深度检测模块利用学习好的模型判断流表项是否存在冲突。该专利技术利用了深度学习抽象化高层数据、自动学习的特点,相比于传统的冲突查找算法,在大规模应用部署时能更快速地对超大规模的流表项做出是否冲突的检测。本专利技术基于深度学习的SDN流表冲突检测装置,包括以下模块:(1)窗口分割模块:完成循环读取数据存储模块中的已有流表项,并对所有流表项按照适合于深度检测模块处理的窗口大小进行分割;(2)深度检测模块:提取新产生的流表项及数据存储模块中已经存在的流表项的特征,使用已学习好的深度学习模型,检测新产生的流表项是否与数据存储模块中已有的流表项存在冲突;(3)结果分析模块:对使用深度学习进行流表冲突检测后的结果进行处理;(4)监听模块:对所有转发设备(OpenFlow交换机)中的流表信息进行动态监听,并将转发设备中流表的动态变化结果反馈到数据存储模块中;(5)数据存储模块:存储当前SDN中所有OpenFlow交换机的流表。本专利技术还提供了一种基于深度学习的SDN流表冲突检测方法,该方法包括如下步骤:(1)将一个具体SDN应用在策略映射层(PolicyMapping)映射为具体的SDN流表项{P}后,将这些新的流表项输入到深度检测模块(DeepDetecting);(2)深度检测模块(DeepDetecting)启动窗口分割模块(windowsplitter);(3)窗口分割模块(windowsplitter)从数据存储模块(Database)中提取适合于深度检测模块(DeepDetecting)处理的窗口大小的流表项{W},并输出给深度检测模块(DeepDetecting);(4)深度检测模块(DeepDetecting)提取{P}及{W}中流表项的所有可能冲突的域作为深度学习模型的输入特征;(5)深度检测模块(DeepDetecting)利用已学习的深度学习模型进行检测,如检测到冲突,则记录{P}及{W}中冲突的具体流表项;(6)判断是否已检测完数据存储模块(Database)中的所有流表项:如未检测完,跳转到步骤3),否则将检测结果输入到结果分析模块(Resultanalysis)中,并跳转到步骤7);(7)结果分析模块(Resultanalysis)对检测结果进行分析判断,如存在冲突,将冲突的具体流表项告知策略映射层本文档来自技高网
...
一种基于深度学习的SDN流表冲突检测装置及方法

【技术保护点】
一种基于深度学习的SDN流表冲突检测装置,其特征在于,包括窗口分割模块(window splitter)、深度检测模块(Deep Detecting)、结果分析模块(Result analysis)、监听模块(Sniffer)及数据存储模块(Database),其中:窗口分割模块(window splitter):完成循环读取数据存储模块(Database)中的已有流表项,并对所有流表项按照适合于深度检测模块(Deep Detecting)处理的窗口大小进行分割;深度检测模块(Deep Detecting):提取新产生的流表项及数据存储模块(Database)中已经存在的流表项的特征,使用已学习好的深度学习模型,检测新产生的流表项是否与数据存储模块(Database)中已有的流表项存在冲突;结果分析模块(Result analysis):对使用深度学习进行流表冲突检测后的结果进行处理;监听模块(Sniffer):对所有转发设备(OpenFlow交换机)中的流表信息进行动态监听,并将转发设备中流表的动态变化结果反馈到数据存储模块(Database)中;数据存储模块(Database):存储当前SDN中所有OpenFlow交换机的流表。...

【技术特征摘要】
1.一种基于深度学习的SDN流表冲突检测装置,其特征在于,包括窗口分割模块(windowsplitter)、深度检测模块(DeepDetecting)、结果分析模块(Resultanalysis)、监听模块(Sniffer)及数据存储模块(Database),其中:窗口分割模块(windowsplitter):完成循环读取数据存储模块(Database)中的已有流表项,并对所有流表项按照适合于深度检测模块(DeepDetecting)处理的窗口大小进行分割;深度检测模块(DeepDetecting):提取新产生的流表项及数据存储模块(Database)中已经存在的流表项的特征,使用已学习好的深度学习模型,检测新产生的流表项是否与数据存储模块(Database)中已有的流表项存在冲突;结果分析模块(Resultanalysis):对使用深度学习进行流表冲突检测后的结果进行处理;监听模块(Sniffer):对所有转发设备(OpenFlow交换机)中的流表信息进行动态监听,并将转发设备中流表的动态变化结果反馈到数据存储模块(Database)中;数据存储模块(Database):存储当前SDN中所有OpenFlow交换机的流表。2.一种基于深度学习的SDN流表冲突检测方法,其特征在于,包括如下步骤:(1)将一个具体SDN应用在策略映射层(PolicyMapping)映射为具体的SDN流表项{P}后,将这些新的流表项输入到深度检测模块(DeepDetecting);(2)深度检测模块(DeepDetecting)启动窗口分割模块(wi...

【专利技术属性】
技术研发人员:李传煌程成金蓉王伟明岑利杰
申请(专利权)人:浙江工商大学
类型:发明
国别省市:浙江,33

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

1