[发明专利]一种SDN中采用深度学习的消息异常检测方法有效
申请号: | 201910798422.0 | 申请日: | 2019-08-27 |
公开(公告)号: | CN110535723B | 公开(公告)日: | 2021-01-19 |
发明(设计)人: | 王换招;许世民;张方政;王肖晨;张鹏 | 申请(专利权)人: | 西安交通大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/24;H04L29/06;G06N3/08;G06N3/04 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 贺小停 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sdn 采用 深度 学习 消息 异常 检测 方法 | ||
本发明公开了一种SDN中采用深度学习的消息异常检测方法,采用滑动窗口的方法将流式消息转化为消息序列与预测消息之间的映射,通过学习历史消息,预测一个指定消息序列所对应的输出概率,该方法可以有效的考虑历史消息对下一跳消息的影响,并能支持实时的异常检测;将预测概率中前k高的消息均视为正常消息,克服了动态策略下预测消息不唯一的问题。对消息id与参数向量中参数进行分别预测,当新到达的消息所有参数均通过检测时,才被判断为正常消息。而当出现检测失败的情形,则将正确的消息序列与预测消息作为新的输入进行增量训练,这解决了现有技术无法适应时变性网络的问题,在动态网络中也能正常运行。本发明方法简单,检测结果准确。
技术领域
本发明属于互联网技术领域,具体涉及一种SDN中采用深度学习的消息异常检测方法。
背景技术
软件定义网络(Software Defined Network,SDN)通过分离网络设备的转发平面与控制平面,实现了网络流量的灵活控制。在SDN中,转发设备不具备计算能力,仅依据控制器安装的流表项进行数据包的转发。这种架构虽然带来了可编程性等好处,也带来了新的网络异常,比如,交换机宕机、链路故障、流规则安装异常和网络攻击等等。这些异常将引发交换机与控制器的异常消息交互。
近年来SDN中异常检测的方法有:
技术方案1:探测数据包方法。该方法是针对流规则异常事件的检测方法,当输入交换机接收到数据包时,将该数据包转发到控制器,并对该数据包进行路径的预计算。同时在该数据包转发过程中打入交换机的标签,在输出交换机转发到控制器,验证两者的一致性。
技术方案2:自动机方法。该方法通过为所有的网络事件构建所对应的消息序列构建自动机模型,为每一组消息序列查询是否存在适配的自动机模型。
技术方案3:统计方法。该方法统计历史消息出现概率,计算每一组输入序列所对应的下一跳消息的可能概率,通过对比实际到达的下一跳消息与预测概率最高的消息,来进行异常消息检测。
上述方案1中存在的主要问题是:需要额外修改交换机与数据包,尽管该方法采用了编码优化的方案,仍然会带来额外的带宽开销,同时该方法只针对异常规则事件进行检测,对其它种类的异常事件无法进行有效检测。
上述方案2中存在的主要问题是:需要为每一种类的网络事件构建自动机模型,当网络策略发生变化时,需要重新构建自动机模型,无法适应时变性较强的网络。
上述方案3中存在的主要问题是:需要保证序列长度小于3,无法学习到长期依赖,检测精度无法保证。
发明内容
为了解决上述问题,本发明提出了一种SDN中采用深度学习的消息异常检测方法,能够实时检测、检测范围广且检测精度高。
为达到上述目的,本发明采用如下技术方案:
一种SDN中采用深度学习的消息异常检测方法,包括以下步骤:
步骤1、监听控制器与交换机之间交互的OpenFlow消息,依据控制器的线程id对OpenFlow消息线程进行重排序,得到重排序消息;
步骤2、解析重排序消息,生成消息id与参数向量,从而得到子类型消息,并写入日志;
步骤3、对子类型消息依据消息id进行独热码编码,采用深度学习中的长短期记忆网络模型训练子类型消息的消息序列,得到参数矩阵;将每个时刻滑动窗口中的消息视为一个序列作为长短期记忆网络模型的输入;
步骤4、采用滑动窗口存储当前时刻的输入消息序列,导入步骤3中的长短期记忆网络模型与参数矩阵,经由softmax层得到预测结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910798422.0/2.html,转载请声明来源钻瓜专利网。