CN110011876B - 一种基于强化学习的Sketch的网络测量方法 - Google Patents
一种基于强化学习的Sketch的网络测量方法 Download PDFInfo
- Publication number
- CN110011876B CN110011876B CN201910321086.0A CN201910321086A CN110011876B CN 110011876 B CN110011876 B CN 110011876B CN 201910321086 A CN201910321086 A CN 201910321086A CN 110011876 B CN110011876 B CN 110011876B
- Authority
- CN
- China
- Prior art keywords
- network
- sketch
- bucket
- network flow
- action
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于强化学习的Sketch的网络测量方法。该方法其利用强化学习方法使Sketch在真实网络环境下自行寻找最优的资源和测量准确度平衡,从而适应多变的网络环境,提高测量性能,减轻管理员的配置负担。
Description
技术领域
本发明涉及网络测量,特别涉及网络异常检测和网络故障分析在网络测量中的应用,具体为一种基于强化学习的Sketch的网络测量方法。
背景技术
网络状态检测、网络故障分析、网络安全防御等是保证现代网络鲁棒性和安全性的重要技术,网络测量为上述技术提供了基本的信息,是上述技术的基础。然而,随着网络的高速发展,测量海量的流量数据成为了网络测量的难点,需要在有限的资源下,尽可能提升测量的准确度。其中,Sketch是一种基于散列的近似的数据结构,由于其具备准确度和资源理论上的平衡特性,被网络测量领域广泛接受。
然而,Sketch的理论保证与真实部署存在距离:现有基于Sketch的网络测量方法在真实环境下需要过多的资源以保证测量的准确度,造成巨大的资源开销;现有基于Sketch的网络测量在多变的环境下适应性不佳,无法保证较高的性能;现有基于Sketch的网络测量工具配置要求用户具备相关的领域知识,网络管理员并不能很好地利用现有基于Sketch网络测量方法的理论进行配置,造成严重的性能损失。强化学习是机器学习的一个分支,它通过在环境中设置状态、动作、奖励,智能体根据状态计算出动作,获得奖励并更新智能体的动作选择策略,从而获得更高的奖励。
发明内容
本发明的目的在于提供一种基于强化学习的Sketch的网络测量方法,利用强化学习方法使Sketch在真实网络环境下自行寻找最优的资源和测量准确度平衡,从而适应多变的网络环境、降低资源开销、减轻管理员的配置负担。
为实现上述目的,本发明的技术方案是:一种基于强化学习的Sketch的网络测量方法,包括如下步骤:
步骤S1、构建Sketch,将使用Sketch进行网络测量看作强化学习的过程,其具有状态、动作和奖励;
步骤S2、在构建完成Sketch后,利用数据对Sketch进行训练,Sketch的智能体根据状态计算出最优的动作,并利用奖励更新智能体;
步骤S3、训练完成后,利用训练过的Sketch进行网络测量,Sketch可在网络测量过程中间歇抽取网络数据学习。
在本发明一实施例中,所述Sketch的数据结构为:Sketch包括一个r行w列的二维表和一个智能体,二维表中每一个单元是一个桶(i,j),每个桶包括一个可动态变化的数组Ai,j,数组Ai,j包括若干用于存储一系列网络流(x,vx)的计数器,以及三个参数:Vi,j、li,j、ei,j;其中,对到来的每个网络流,Vi,j都加上vx,li,j为桶中数组的长度;ei,j为桶的测量误差,x是检测网络流的特征,vx是网络流所对应的字节数;智能体包括状态(Vi,j,li,j,vn)和动作(True,False)。
在本发明一实施例中,所述步骤S2的具体实现过程如下:
首先,设定基于强化学习Sketch的桶的状态、动作、奖励:
状态包括一个三元组(Vi,j,li,j,vn),其中,vn是当前到来网络流的字节数;
动作为一个布尔变量,真值表示将网络流(x,vx)存进桶中的数组,假值表示将网络流的字节数与已存储网络流的总字节数最小值进行对比,留下二者之间的字节数较大的网络流;
奖励公式为R=r+r×p+ɑ×s,其中,r是测量结果的召回率,p是测量结果的精度,s是Sketch的桶中网络流的总个数与经过网络流个数之比,ɑ为s在R中的权重系数。
而后,利用DQN方法对Sketch进行训练,对Sketch中的单个桶的训练过程如下:
(1)对桶的各项参数初始化,清空数组;
(2)若读取的网络流数超过预设值N,停止训练;否则,进行(3);
(3)利用哈希函数,将网络流(x,vx)散列到相应的桶中;获取(x,vx),将Vi,j的值加上vx;
(4)若网络流(x,vx)已存在于该桶中,将桶中x的值加vx;
(5)智能体通过获取该桶的参数,计算状态(Vi,j,li,j,vn),根据状态计算相应的动作;
(6)如果动作为真值,该桶创建新的计数器,将(x,vx)插入Ai,j中,如果动作为假值,将vx与已存储网络流的vx最小值进行对比,留下二者之间的vx较大的网络流;
(7)利用DQN的方法更新神经网络;
(8)判断已处理的数据包个数,如果大于预设值k,则对Sketch的检测结果和真实值比较,计算召回率r、精度p和奖励R,若r或p低于预设值P0,则返回(1),若召回率和精度均高于预设值P0,则返回(2)。
在本发明一实施例中,所述步骤S3的具体实现过程如下:
1)对桶的各项参数初始化,清空数组;
2)读取训练后的神经网络,整个基于强化学习的Sketch共享同一个神经网络;
3)利用哈希函数,将网络流(x,vx)散列到相应的桶中,获取(x,vx),将Vi,j的值加上vx;
4)智能体通过获取该桶的参数,计算状态(Vi,j,li,j,vn),根据状态计算相应的动作;
5)如果动作为真值,该桶创建新的计数器,将网络流(x,vx)插入Ai,j中,如果动作为假值,将vx与已存储网络流的vx最小值进行对比,留下二者之间的vx较大的网络流流;
6)通过查询Sketch报出Heavyhitter和Heavychanger,其中,Heavyhitter表示一段时间内,网络流的字节数超过一个阈值;表示网络流的字节数在两个相邻时间段内的变化超过一个阈值。
在本发明一实施例中,在Sketch中内置有一个可测量真实结果的计数器,并设置有一用于不断调整Sketch状态、动作、奖励、训练参数设定的应用程序接口。
相较于现有技术,本发明具有以下有益效果:本发明方法利用强化学习方法使Sketch在真实网络环境下自行寻找最优的资源和测量准确度平衡,从而适应多变的网络环境、降低资源开销、减轻管理员的配置负担。
附图说明
图1是基于强化学习Sketch的数据结构图。
图2是基于强化学习Sketch的训练过程示意图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
请参照图1,本发明基于强化学习Sketch的网络测量方法,利用强化学习使Sketch在网络环境中自学习,通过智能体和环境的不断交互,实现基于强化学习Sketch的构建,对网络流进行检测,过程如下:
将网络流看作如下对象(x,vx),x是检测网络流的特征(可用网络流的源目的IP或五元组表示),vx则是该流所对应的字节数。当有网络流到来时,将未来可能成为异常流的对象存入Sketch。所需检测的重要的异常流分为两种:1.一段时间内,网络流的字节数超过一个阈值(Heavy hitter),2.网络流的字节数在两个相邻时间段内的变化超过一个阈值(Heavychanger)。Sketch通过对网络流字节数的检测,报出满足Heavyhitter、Heavychanger要求的异常流量,达到异常检测的目的。Sketch通过存储未来可能成为Heavyhitter和Heavychanger的网络流,移除其余流,以降低测量的空间资源使用。
本发明的Sketch的数据结构如图1所示,Sketch包括一个r行w列的二维表以及一个智能体。表中每一个单元是一个桶(i,j),每个桶包括一个可动态变化的数组Ai,j,数组包括若干用于存储一系列(x,vx)的计数器,及三个参数:Vi,j:对到来每个流,Vi,j都加上vx;li,j为该桶中数组的长度;ei,j为该桶的测量误差。智能体包括状态(Vi,j,li,j,vn)和动作(True,False)。
请参照图2,本发明基于强化学习Sketch的网络测量方法,训练过程如下:
1、设定基于强化学习Sketch桶的状态、动作、奖励:状态包括一个三元组(Vi,j,li,j,vn),其中vn是当前到来网络流的字节数。动作为一个布尔变量,真值表示将(x,vx)存进桶中的数组,假值表示将该网络流的字节数与已存储流的总字节数最小值进行对比,留下二者之间的字节数较大的流。奖励:R=r+r×p+ɑ×s,其中r是测量结果的召回率,p是测量结果的精度,s是Sketch的桶中流的总个数与经过流个数之比,ɑ为s在R中的权重系数。
2、基于强化学习Sketch的训练过程利用了DQN(DeepQNetwork)的方法,对Sketch中的单个桶:
(1)对桶的各项参数初始化,清空数组;
(2)若读取的网络流数超过预设值N,停止训练;
(3)利用哈希函数,将网络流(x,vx)散列到相应的桶中。获取(x,vx),将Vi,j的值加上vx;
(4)若(x,vx)已存在于该桶中,将桶中x的值加vx;
(5)智能体通过获取该桶的参数,计算状态(Vi,j,li,j,vn),根据状态计算相应的动作;
(6)如果动作为真值,该桶创建新的计数器,将(x,vx)插入Ai,j中,如果动作为假值,将vx与已存储流的vx最小值进行对比,留下二者之间的vx较大的流。
(7)利用深度Q网络(DeepQNetwork)的方法更新神经网络;
(8)判断已处理的数据包个数,如果大于预设值k,则对Sketch的检测结果和真实值比较,计算召回率r、精度p和奖励R,若r或p低于预设值P0,则返回(1),若召回率和精度均高于预设值P0,则返回(2)。
请参照图1,基于强化学习Sketch的测量过程如下:
(1)对桶的各项参数初始化,清空数组;
(2)读取训练后的神经网络,整个基于强化学习的Sketch共享同一个神经网络;
(3)利用哈希函数,将网络流(x,vx)散列到相应的桶中。获取(x,vx),将Vi,j的值加上vx;
(4)智能体通过获取该桶的参数,计算状态(Vi,j,li,j,vn),根据状态计算相应的动作;
(5)如果动作为真值,该桶创建新的计数器,将(x,vx)插入Ai,j中,如果动作为假值,将vx与已存储流的vx最小值进行对比,留下二者之间的vx较大的流。
(6)通过查询Sketch报出Heavyhitter和Heavychanger。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (3)
1.一种基于强化学习的Sketch的网络测量方法,其特征在于,包括如下步骤:
步骤S1、构建Sketch,将使用Sketch进行网络测量看作强化学习的过程,其具有状态、动作和奖励;
步骤S2、在构建完成Sketch后,利用数据对Sketch进行训练,Sketch的智能体根据状态计算出最优的动作,并利用奖励更新智能体;
步骤S3、训练完成后,利用训练过的Sketch进行网络测量,Sketch可在网络测量过程中间歇抽取网络数据学习;
所述Sketch的数据结构为:Sketch包括一个r行w列的二维表和一个智能体,二维表中每一个单元是一个桶(i,j),每个桶包括一个可动态变化的数组Ai,j,数组Ai,j包括若干用于存储一系列网络流(x,vx)的计数器,以及三个参数:Vi,j、li,j、ei,j;其中,对到来的每个网络流,Vi,j都加上vx,li,j为桶中数组的长度;ei,j为桶的测量误差,x是检测网络流的特征,vx是网络流所对应的字节数;智能体包括状态(Vi,j,li,j,vn)和动作(True,False);
所述步骤S2的具体实现过程如下:
首先,设定基于强化学习Sketch的桶的状态、动作、奖励:
状态包括一个三元组(Vi,j,li,j,vn),其中,vn是当前到来网络流的字节数;
动作为一个布尔变量,真值表示将网络流(x,vx)存进桶中的数组,假值表示将网络流的字节数与已存储网络流的总字节数最小值进行对比,留下二者之间的字节数较大的网络流;
奖励公式为R=r+r×p+ɑ×s,其中,r是测量结果的召回率,p是测量结果的精度,s是Sketch的桶中网络流的总个数与经过网络流个数之比,ɑ为s在R中的权重系数;
而后,利用DQN方法对Sketch进行训练,对Sketch中的单个桶的训练过程如下:
(1)对桶的各项参数初始化,清空数组;
(2)若读取的网络流数超过预设值N,停止训练;否则,进行(3);
(3)利用哈希函数,将网络流(x,vx)散列到相应的桶中;获取(x,vx),将Vi,j的值加上vx;
(4)若网络流(x,vx)已存在于该桶中,将桶中x的值加vx;
(5)智能体通过获取该桶的参数,计算状态(Vi,j,li,j,vn),根据状态计算相应的动作;
(6)如果动作为真值,该桶创建新的计数器,将(x,vx)插入Ai,j中,如果动作为假值,将vx与已存储网络流的vx最小值进行对比,留下二者之间的vx较大的网络流;
(7)利用DQN的方法更新神经网络;
(8)判断已处理的数据包个数,如果大于预设值k,则对Sketch的检测结果和真实值比较,计算召回率r、精度p和奖励R,若r或p低于预设值P0,则返回(1),若召回率和精度均高于预设值P0,则返回(2)。
2.根据权利要求1所述的一种基于强化学习的Sketch的网络测量方法,其特征在于,所述步骤S3的具体实现过程如下:
1)对桶的各项参数初始化,清空数组;
2)读取训练后的神经网络,整个基于强化学习的Sketch共享同一个神经网络;
3)利用哈希函数,将网络流(x,vx)散列到相应的桶中,获取(x,vx),将Vi,j的值加上vx;
4)智能体通过获取该桶的参数,计算状态(Vi,j,li,j,vn),根据状态计算相应的动作;
5)如果动作为真值,该桶创建新的计数器,将网络流(x,vx)插入Ai,j中,如果动作为假值,将vx与已存储网络流的vx最小值进行对比,留下二者之间的vx较大的网络流;
6)通过查询Sketch报出Heavy hitter和Heavy changer,其中,Heavy hitter表示一段时间内,网络流的字节数超过一个阈值;Heavy changer表示网络流的字节数在两个相邻时间段内的变化超过一个阈值。
3.根据权利要求1所述的一种基于强化学习的Sketch的网络测量方法,其特征在于,在Sketch中内置有一个可测量真实结果的计数器,并设置有一用于不断调整Sketch状态、动作、奖励、训练参数设定的应用程序接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321086.0A CN110011876B (zh) | 2019-04-19 | 2019-04-19 | 一种基于强化学习的Sketch的网络测量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321086.0A CN110011876B (zh) | 2019-04-19 | 2019-04-19 | 一种基于强化学习的Sketch的网络测量方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110011876A CN110011876A (zh) | 2019-07-12 |
CN110011876B true CN110011876B (zh) | 2022-05-03 |
Family
ID=67173205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910321086.0A Active CN110011876B (zh) | 2019-04-19 | 2019-04-19 | 一种基于强化学习的Sketch的网络测量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110011876B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535825B (zh) * | 2019-07-16 | 2020-08-14 | 北京大学 | 一种特征网络流的数据识别方法 |
CN110740054B (zh) * | 2019-07-17 | 2022-04-01 | 东南大学 | 一种基于强化学习的数据中心虚拟化网络故障诊断方法 |
CN110830322B (zh) * | 2019-09-16 | 2021-07-06 | 北京大学 | 一种基于概率测量数据结构Sketch的网络流量测量方法和系统 |
CN113452657B (zh) * | 2020-03-26 | 2023-03-28 | 华为技术有限公司 | 大流量数据流的检测方法以及检测装置 |
CN112422579B (zh) * | 2020-11-30 | 2021-11-30 | 福州大学 | 一种基于拟态防御Sketch的执行体集构建方法 |
CN112688837B (zh) * | 2021-03-17 | 2021-06-08 | 中国人民解放军国防科技大学 | 基于时间滑动窗口的网络测量方法与装置 |
CN113225209B (zh) * | 2021-04-20 | 2022-03-18 | 河海大学 | 一种基于时间序列相似检索的网络监控实时预警方法 |
CN115484157B (zh) * | 2022-09-14 | 2023-06-02 | 浙江大学 | 一种基于可编程交换机的sketch通用配置方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017004626A1 (en) * | 2015-07-01 | 2017-01-05 | The Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for providing reinforcement learning in a deep learning system |
CN108009286A (zh) * | 2017-12-25 | 2018-05-08 | 合肥阿巴赛信息科技有限公司 | 一种基于深度学习的草图检索方法 |
WO2018217829A1 (en) * | 2017-05-23 | 2018-11-29 | Intel Corporation | Methods and apparatus for enhancing a neural network using binary tensor and scale factor pairs |
-
2019
- 2019-04-19 CN CN201910321086.0A patent/CN110011876B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017004626A1 (en) * | 2015-07-01 | 2017-01-05 | The Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for providing reinforcement learning in a deep learning system |
WO2018217829A1 (en) * | 2017-05-23 | 2018-11-29 | Intel Corporation | Methods and apparatus for enhancing a neural network using binary tensor and scale factor pairs |
CN108009286A (zh) * | 2017-12-25 | 2018-05-08 | 合肥阿巴赛信息科技有限公司 | 一种基于深度学习的草图检索方法 |
Non-Patent Citations (4)
Title |
---|
Convolutional Neural Networks for Automatic State-Time Feature Extraction in Reinforcement Learning Applied to Residential Load Control;Bert J. Claessens, Peter Vrancx, and Frederik Ruelens;《IEEE Transactions on Smart Grid》;20180704;全文 * |
一种IP可追踪性的网络流量异常检测方法;王明华等;《南京邮电大学学报(自然科学版)》;20090615(第03期);第1-6页 * |
基于直接强化学习的面向目标的仿生导航模型;于乃功等;《中国科学:信息科学》;20160320(第03期);全文 * |
基于超像素的点互信息边界检测算法;刘胜男等;《计算机应用》;20160810(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110011876A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110011876B (zh) | 一种基于强化学习的Sketch的网络测量方法 | |
EP3176981B1 (en) | Method and device for detecting the type of a network data flow | |
CN103426042B (zh) | 社交网络的分组方法及系统 | |
CN104125153B (zh) | 网络拓扑发现方法和设备 | |
CN104917739B (zh) | 虚假账号的识别方法及装置 | |
CN110417607B (zh) | 一种流量预测方法、装置及设备 | |
CN113422695B (zh) | 一种提高物联网拓扑结构鲁棒性能的优化方法 | |
CN101321134A (zh) | 动态网络条件下的服务质量路由选择方法 | |
CN107786440A (zh) | 一种数据报文转发的方法及装置 | |
CN108959370A (zh) | 一种基于知识图谱中实体相似度的社区发现方法及装置 | |
Rastegarnia et al. | Performance evaluation of castalia wireless sensor network simulator | |
CN105245362A (zh) | 一种sdn环境中重要节点信息采集方法 | |
CN107733877A (zh) | 一种物联网无线通讯架构的管理方法及系统 | |
CN111010387B (zh) | 一种物联网设备非法替换检测方法、装置、设备及介质 | |
CN104734905A (zh) | 检测数据流的方法及装置 | |
CN109952743A (zh) | 用于低内存和低流量开销大流量对象检测的系统和方法 | |
Stehlik et al. | Towards better selective forwarding and delay attacks detection in wireless sensor networks | |
CN110830499B (zh) | 一种网络攻击应用检测方法和系统 | |
CN104253712B (zh) | 一种利用深度包检测技术进行p2p网络识别的方法 | |
CN103096380B (zh) | 无线接入点负载均衡优化方法 | |
Yue et al. | S3: Characterizing sociality for user-friendly steady load balancing in enterprise WLANs | |
CN108400907A (zh) | 一种不确定网络环境下的链路丢包率推理方法 | |
CN109361658A (zh) | 基于工控行业的异常流量信息存储方法、装置及电子设备 | |
CN110868332B (zh) | 一种基于sdn的网络级流量测量方法 | |
de Souza et al. | Network traffic classification using AdaBoost dynamic |
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 |