(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210975910.6
(22)申请日 2022.08.15
(71)申请人 中国科学院信息 工程研究所
地址 100093 北京市海淀区闵庄路甲89号
(72)发明人 贾晓启 宋振宇 黄庆佳 杜海超
周梦婷 刘歌 郭璇 王明慧
侯恩泽 宋超然
(74)专利代理 机构 北京君尚知识产权代理有限
公司 11200
专利代理师 余长江
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 45/02(2022.01)
H04L 45/12(2022.01)
H04L 45/645(2022.01)H04L 45/76(2022.01)
H04L 47/125(2022.01)
(54)发明名称
面向软件定义网络的异常检测方法、 装置及
设备
(57)摘要
本发明提出了一种面向软件定义网络的异
常检测方法、 装置及设备, 应用于互联网技术领
域。 所述方法包括: 获取软件定义网络的网络拓
扑; 将各节 点所存储的链路属性转换为表示网络
流量情况的时间序列数据, 并使用固定的滑动窗
口大小对时间序列数据进行切分, 通过比较时序
片段的预测值和真实观测值之间的相对误差, 判
断软件定义网络中所有节点间的链路状态是否
存在异常; 计算网络拓扑中的中心节点, 并根据
链路状态异常情况以及节点之间的连接关系, 得
到所述网络拓扑中的异常节点; 基于中心节点和
异常节点的流表信息, 识别软件定义网络中的异
常行为。 本发 明实现了平衡网络负载和异常检测
的精度。
权利要求书3页 说明书7页 附图2页
CN 115473688 A
2022.12.13
CN 115473688 A
1.一种面向软件定义网络的异常检测方法, 其特 征在于, 所述方法包括:
获取软件定义网络的网络拓扑, 所述网络拓扑中的节点包括: 所述软件定义网络中的
交换机, 所述网络拓扑中的边包括: 所述交换机的连接关系, 所述节点的属 性包括: 若干统
计周期内的链路属性;
将各节点所存储的链路属性转换为表示网络流量情况的时间序列数据, 并使用固定的
滑动窗口大小对所述时间序列数据进 行切分, 通过比较时序片段的预测值和真实观测值之
间的相对误差, 判断所述软件定义网络中所有节点间的链路状态是否存在异常;
在所述软件定义网络中所有节点间的至少一链路状态存在异常的情况下, 计算所述网
络拓扑中的中心节点, 并根据链路状态异常情况以及节点之间的连接关系, 得到所述网络
拓扑中的异常节点;
基于所述中心节点和所述异常节点的流表信息, 识别所述软件定义网络中的异常行
为。
2.如权利要求1所述的方法, 其特 征在于, 所述获取 软件定义网络的网络 拓扑, 包括:
基于所述软件定义网络的交换机以及所述交换机的连接关系, 获取网络拓扑中的节点
与边;
针对每一统计周期, 每一所述节点开启周期线程ScheduledExecutor, 实例化OpenFlow
协议提供的端口查询消息和流表查询消息的状态获取 方法, 得到状态获取实例;
每一所述节点使用所述状态获取实例中的request_stat方法下发OFPT_STATS_
REQUEST消息, 实时查询所述软件定义网络在交换中的端口信息和流表信息, 以得到查询 信
息;
每一所述节点按照OpenFlow协议解析所述查询消息并记录本地信息之后, 按照所述
OpenFlow协议构成指定数据结构, 以生成reply消息;
每一所述节点将所述reply消息返回给控制器;
所述控制器处理所述reply消息, 得到该节点的相应链路在相应的统计周期内的链路
属性; 其中所述链路属性包括: 链路带宽bd、 链路丢包率 Loss、 链路时延Tdelay。
3.如权利 要求2所述的方法, 其特征在于, 所述控制器处理所述reply消息, 得到该节点
的相应链路在相应的统计周期内的链路带宽bd, 包括:
获取该统计周期内的物理链路的初始固定带宽capacity、 该统计周期的时间period、
当前时刻通过交换机各个端口的数据包字节数now_byte以及上一个时刻通过交换机各个
端口的数据包字节数pre_byte;
计算该周期内链路中流 量传输的速率
计算所述链路带宽bd=capacity ‑speed*period。
4.如权利 要求2所述的方法, 其特征在于, 所述控制器处理所述reply消息, 得到该节点
的相应链路在相应的统计周期内的链路丢包率 Loss, 包括:
针对所述网络拓扑中存在连接关系的任两个节点s1与节点s2, 分别获取该统计周期内
节点s2已接收的数据包数量rx_packetss2(i)、 上一个统计周期内节点s2已接收的数据包数
量rx_packetss2(i‑1), 以及该统计周期内节点s1已发送的数据包数量tx_packetss1(i)、 上一
个统计周期内节点s1已接收的数据包数量tx_packetss1(i‑1);权 利 要 求 书 1/3 页
2
CN 115473688 A
2计算该统计周期内的链路丢包率
5.如权利 要求2所述所述的方法, 其特征在于, 所述控制器处理所述reply消息, 得到该
节点的相应链路在相应的统计周期内的链路时延Tdelay, 包括:
针对所述网络拓扑中存在连接关系的任两个节点s1与节点s2, 分别获取所述控制器与
节点s1之间的往返时延RTTs1、 所述控制 器与节点s2之间的往返时延RTTs2以及所述节点s1
与所述节点s2之间的往返时延Ttravel;
计算在该统计周期内的链路时延
6.如权利要求1所述所述的方法, 其特征在于, 所述将各节点所存储的链路属性转换为
表示网络流量情况的时间序列数据, 并使用固定的滑动窗口大小对所述时间序列数据进 行
切分, 通过比较时序片段 的预测值和真实观测 值之间的相对误差, 判断在所述软件定义网
络中所有节点间的链路状态是否存在异常, 包括:
对所述链路属性进行归一 化操作;
基于归一 化操作后的数据, 获取表示网络流 量情况的时间序列数据;
以固定的滑动窗口大小对所述时间序列数据进行切片, 并进行缩放变换, 以得到若干
个输入数据;
将一输入数据输入LSTM模型以得到预测值, 获取对应时刻的真实观测值, 并将所述滑
动窗口向前移动, 将所述滑动窗口前边缘所对应的真实观测值添加到观测窗口中, 并去除
后边缘的原始数据, 开始下一个滑动窗口 的预测;
直到检测完所有滑动窗口中的数据, 判断在所述软件定义网络中所有节点间的链路状
态是否存在异常。
7.如权利要求1所述所述的方法, 其特征在于, 所述计算所述网络拓扑中的中心节点,
包括:
获取所述网络 拓扑中与节点s1存在连接关系的所有节点s2;
计算所述节点s1与每一所述节点s2之间的最短路径长度ds1, s2;
计算节点s1的紧密度
其中, Cc为紧密度表示符, N表示所述节点s2的
数量。
8.如权利要求1所述的方法, 其特征在于, 所述基于所述中心节点和所述异常节点的流
表信息, 识别所述软件定义网络中的异常行为, 包括:
在所述中心 节点和所述异常节点的流表中提取信息, 得到流表信息;
对所述流表信 息的特征进行数值化和归一化处理后, 得到特征数据集; 其中, 所述对所
述流表信息的特征进 行数值化处理包括: 基于引入交叉熵理论概念处理所述流表信息的文
本特征, 所述流表信息的特征进 行归一化处理包括: 使用Min ‑Max方法对 所述流表信息的数
据型特征进行归一 化处理;
将所述特征数据集输入基于机器学习构建的一异常分类模型中, 得到导致所述软件定
义网络中链路异常的异常行为。
9.一种面向软件定义网络的异常检测装置, 其特 征在于, 所述装置包括:
网络拓扑管理模块, 用于获取软件定义网络的网络拓扑, 所述网络拓扑中的节点包括:权 利 要 求 书 2/3 页
3
CN 115473688 A
3
专利 面向软件定义网络的异常检测方法、装置及设备
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:27:17上传分享