一种基于深度学习的网络流量分类方法与流程

文档序号:22621973发布日期:2020-10-23 19:27阅读:159来源:国知局
一种基于深度学习的网络流量分类方法与流程

本发明涉及网络流量分类技术领域,更具体的说是涉及一种基于深度学习的网络流量分类方法。



背景技术:

随着信息技术的蓬勃发展,种类繁多的互联网应用产生的大量流量占用了很多网络资源,在给服务质量带来巨大挑战的同时也给互联网安全产生负面影响。为了高效地利用网络资源并为网络管理者提供有效的管控手段,以辨别应用层协议为目的的网络流量分类技术成为近年来的研究热点问题。在网络流量分类的传统方法中,应用最广的是基于知名端口号的流量分类算法、基于特征字匹配的流量分类算法、基于传输层行为模式的流量分类算法。

但是随着端口伪造、明文加密等技术的使用以及网络类别环境差别的增大,上述三种分类方法在现阶段已经无法满足对分类的精度要求。

因此,如何提供一种分类准确的网络流量分类方法是本领域技术人员亟需解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种基于深度学习的网络流量分类方法,提高了流量分类的效率以及流量分类的精度,为流量实时分类鉴定了基础。

为了实现上述目的,本发明采用如下技术方案:

一种基于深度学习的网络流量分类方法,包括:

步骤a:采集网络流量数据集,将网络流量数据集随机分为若干训练数据集;

步骤b:将训练数据集输入至卷积神经网络进行特征学习,将学习后的特征作为分类器的输入;

步骤c:采用独立测试数据集进行测试,输出网络流量分类结果。

进一步,采用libpcap库对网络流量数据集进行捕获。

进一步,网络流量数据集具体包括:选择网络数据中心,采集原始网络流量;同时获取对应时间段内原始网络流量之间存在的相关性对应的系统网络日志。

进一步,步骤b具体为:

步骤b1:基于网络包分类技术对训练数据集的原始网络流量进行特征提取,生成不同类型的网络流数据,并根据系统网络日志对网络流数据进行标记;

步骤b2:对标记后的数据集进行预处理及归一化处理,得到带有标记的网络流数据集;

步骤b3:将标记的网络流数据集输入至卷积神经网络模型中,基于提取的特征生成网络流数据集矩阵;

步骤b4:将网络流数据集矩阵按规则转换或映射为灰度图像,利用灰度图像训练卷积神经网络模型,经过若干包含前向传播和反向传播的训练轮数,直至达到需求,则停止计算。

进一步,卷积神经网络的结构为:c1卷积层为8个3×3的卷积核,s2池化层的窗口大小为2×2,c3卷积层为16个8×8的卷积核,s4池化层的窗口大小为2×2,c5全连接层为128个4×4的卷积核。

进一步,c1卷积层利用8个3×3的卷积核对输入数据进行卷积得到特征图像;特征图像依次经过s2池化层的次抽样、c3卷积层的卷积以及s4池化层的次抽样,通过c5全连接层输出分类结果。

经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于深度学习的网络流量分类方法,通过卷积神经网络对网络流量数据进行自主特征学习,从而完成对流量的分类。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为基于深度学习的网络流量分类方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种基于深度学习的网络流量分类方法,包括:

步骤a:采用libpcap库对网络流量数据集进行捕获,将网络流量数据集分为若干组训练数据集;其中,网络流量数据集具体包括:选择网络数据中心,采集原始网络流量,同时获取对应时间段内原始网络流量之间存在的相关性对应的系统网络日志。

步骤b:将训练数据集输入至卷积神经网络进行特征学习,将学习后的特征作为分类器的输入;

具体的:

步骤b1:基于网络包分类技术对训练数据集的原始网络流量进行特征提取,生成不同类型的网络流数据,并根据系统网络日志对网络流数据进行标记;

其中,网络流量的特征提取包括:包特征、流特征、状态连接特征等。

步骤b2:对标记后的数据集进行预处理及归一化处理,得到带有标记的网络流数据集;

步骤b3:将标记的网络流数据集输入至卷积神经网络模型中,基于提取的特征生成网络流数据集矩阵;

步骤b4:将网络流数据集矩阵按规则转换或映射为灰度图像,利用灰度图像训练卷积神经网络模型,经过若干包含前向传播和反向传播的训练轮数,直至达到需求,则停止计算。

所述的需求为卷积神经网络预设的分类精度,达到95%以上时,则停止训练。

本发明对卷积神经网络的结构进行了优化,c1卷积层为8个3×3的卷积核,s2池化层的窗口大小为2×2,c3卷积层为16个8×8的卷积核,s4池化层的窗口大小为2×2,c5全连接层为128个4×4的卷积核,输出层利用soft-max分类器。

步骤c:将测试数据集输入至优化后的卷积神经网络模型中进行测试,输出层利用分类器输出网络流量分类结果。

测试数据集用于验证卷积神经网络模型的准确度,通过将测试数据集输入至该卷积神经网络模型中,总体分类准确率为99.3%。

本发明采用卷积神经网络对原始数据进行特征的自主学习,通过多隐含层的深层结构来构造特征空间,避免了人工特征选取的麻烦,提高了流量分类的精度。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。



技术特征:

1.一种基于深度学习的网络流量分类方法,其特征在于,包括:

步骤a:采集网络流量数据集,将网络流量数据集随机分为若干训练数据集;

步骤b:将训练数据集输入至卷积神经网络进行特征学习,将学习后的特征作为分类器的输入;

步骤c:采用独立测试数据集进行测试,输出网络流量分类结果。

2.根据权利要求1所述的一种基于深度学习的网络流量分类方法,其特征在于,采用libpcap库对网络流量数据集进行捕获。

3.根据权利要求2所述的一种基于深度学习的网络流量分类方法,其特征在于,网络流量数据集具体包括:选择网络数据中心,采集原始网络流量;同时获取对应时间段内原始网络流量之间存在的相关性对应的系统网络日志。

4.根据权利要求3所述的一种基于深度学习的网络流量分类方法,其特征在于,步骤b具体为:

步骤b1:基于网络包分类技术对训练数据集的原始网络流量进行特征提取,生成不同类型的网络流数据,并根据系统网络日志对网络流数据进行标记;

步骤b2:对标记后的数据集进行预处理及归一化处理,得到带有标记的网络流数据集;

步骤b3:将标记的网络流数据集输入至卷积神经网络模型中,基于提取的特征生成网络流数据集矩阵;

步骤b4:将网络流数据集矩阵转换或映射为灰度图像,利用灰度图像训练卷积神经网络模型,经过若干包含前向传播和反向传播的训练轮数,直至达到需求,则停止计算。

5.根据权利要求4所述的一种基于深度学习的网络流量分类方法,其特征在于,卷积神经网络的结构为:c1卷积层为8个3×3的卷积核,s2池化层的窗口大小为2×2,c3卷积层为16个8×8的卷积核,s4池化层的窗口大小为2×2,c5全连接层为128个4×4的卷积核。

6.根据权利要求5所述的一种基于深度学习的网络流量分类方法,其特征在于,c1卷积层利用8个3×3的卷积核对输入数据进行卷积得到特征图像;特征图像依次经过s2池化层的次抽样、c3卷积层的卷积以及s4池化层的次抽样,通过c5全连接层输出分类结果。


技术总结
本发明公开了一种基于深度学习的网络流量分类方法,包括采集网络流量数据集,将网络流量数据集分为若干测试数据集;将训练数据集输入至卷积神经网络进行特征学习,将学习后的特征作为分类器的输入;对测试数据集进行测试,输出网络流量分类结果。本发明可以隐性地从训练数据中进行网络学习并提取特征,不仅避免了人工特征选取的麻烦,而且提高了流量分类的精度以及效率。

技术研发人员:黄东;秦小林;刘竟成;林小光;彭泳亲;陈震宇;杨涌;杨治明;黄海松;江勇;赵向前;赵梓妍;王颜龄;蒋铮;吴健;杨润宗;王紫阳;冯涛;王万涛;谭钧译;陶汉君;黄浩俭
受保护的技术使用者:黄东
技术研发日:2020.07.01
技术公布日:2020.10.23
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1