CN109063777A - 网络流量分类方法、装置及实现装置 - Google Patents
网络流量分类方法、装置及实现装置 Download PDFInfo
- Publication number
- CN109063777A CN109063777A CN201810894496.XA CN201810894496A CN109063777A CN 109063777 A CN109063777 A CN 109063777A CN 201810894496 A CN201810894496 A CN 201810894496A CN 109063777 A CN109063777 A CN 109063777A
- Authority
- CN
- China
- Prior art keywords
- data
- flow
- data flow
- data packet
- data stream
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种网络流量分类方法、装置及实现装置;其中,该方法包括:获取待分类的数据流;该数据流包括至少一个数据包;对数据流进行处理,得到标准数据流;根据预先建立的流量分类模型,对标准数据流进行分类;流量分类模型通过神经网络建立。本发明提升了对网络流量识别分类的效果,提高了效率。
Description
技术领域
本发明涉及网络信息技术领域,尤其是涉及一种网络流量分类方法、装置及实现装置。
背景技术
网络流量分类是现在网络管理系统中一个重要的任务,主要目的是预测网络数据流的协议和应用类型。
现在网络中也不断涌现出新的应用类型,极大地增加了网络流量的多样性和复杂性,现有的网络流量分类方法对网络流量的识别分类效果较差,比如基于端口的流量识别方法,使用IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)官方组织所定义的标准识别应用类型,但是由于一些应用不遵守该规定,使用随机端口等伪装成HTTP(HyperText Transfer Protocol,超文本传输协议)协议来躲避监管等,导致该方法效果较差;基于深度包检测的方法通过正则表达式的方法匹配数据包payload(有效负载)的数据进行分类,但加密数据包的payload由于加密算法而发生改变,甚至不再是明文或不可见,导致该方法对加密流量完全失效;基于机器学习的流量分类大都使用人工提取数据包或者数据流层面的统计特征来训练分类器,该统计特征可以为流持续时间、包的总数目、包长度分布、流包含的字节数、包到达时间间隔等,但是由于选取的统计特征不同,分类效果参差不齐,效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种网络流量分类方法、装置及实现装置,以提升对网络流量识别分类的效果,提高效率。
第一方面,本发明实施例提供了一种网络流量分类方法,包括:获取待分类的数据流;该数据流包括至少一个数据包;对数据流进行处理,得到标准数据流;根据预先建立的流量分类模型,对标准数据流进行分类;流量分类模型通过神经网络建立。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述对数据流进行处理,得到标准数据流的步骤,包括:根据数据流的属性,对数据流进行截断处理;将数据流进行标准化处理,得到标准数据流。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述根据数据流的属性,对数据流进行截断处理的步骤包括:提取第一个数据包的标识,设为当前数据流的流标识;该标识包括源IP,目的IP,源端口,目的端口及传输层协议中的一种或多种;依次判断第一个数据包以后的数据包的标识是否与当前数据流的流标识相同;如果是,确定当前数据包属于当前数据流;如果否,确定当前数据包不属于当前数据流,将当前数据包作为更新后的第一个数据包,继续执行提取第一个数据包的标识,设为当前数据流的流标识的步骤。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述将数据流进行标准化处理,得到标准数据流的步骤包括:去除各个数据包中的干扰信息;干扰信息包括数据链路层信息及IP地址;将数据包中的字节进行归一化处理;根据预设的数据包长度,对数据流中的数据包进行截取或补零;根据预设的数据包个数,对数据流进行截取或补零,得到标准数据流。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述将数据包中的字节进行归一化处理的步骤,包括:将数据包的字节转换为十进制数字;对十进制数字进行标准化处理,得到属于设定数值范围的数字;设定数值范围为大于或等于零,且小于或等于一。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述流量分类模型通过以下方式建立:获取训练样本;训练样本中包含多个数据流以及每个数据流的类型;根据预设的模型架构,建立神经网络的网络结构;模型架构包括Hierarchical attention network模型或 Attention-Based LSTM模型;将训练样本输入至网络结构中进行训练,得到流量分类模型。
结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,上述根据预先建立的流量分类模型,对标准数据流进行分类的步骤,包括:将标准数据流输入上述流量分类模型,得到标准数据流对应的数据流属于预先设定的各个类别的概率;将概率最高的类别,确定为数据流的类别。
第二方面,本发明实施例还提供一种网络流量分类装置,包括:数据流获取模块,用于获取待分类的数据流;该数据流包括至少一个数据包;数据流处理模块,用于对数据流进行处理,得到标准数据流;流量分类模块,用于根据预先建立的流量分类模型,对标准数据流进行分类;该流量分类模型通过神经网络建立。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述数据流处理模块还用于:根据数据流的属性,对数据流进行截断处理;将数据流进行标准化处理,得到标准数据流。
第三方面,本发明实施例还提供一种网络流量分类实现装置,包括存储器和处理器,其中,存储器用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述方法。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种网络流量分类方法、装置及实现装置;获取待分类的数据流后,对该数据流进行处理,得到标准数据流;根据预先建立的流量分类模型,对该标准数据流进行分类;该方式提升了对网络流量识别分类的效果,提高了效率。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络流量分类方法的流程图;
图2为本发明实施例提供的一种网络流量分类方法中,建立流量分类模型方法的流程图;
图3为本发明实施例提供的另一种网络流量分类方法中,;
图4为本发明实施例提供的另一种网络流量分类方法中,Attention based LSTM神经网络模型结构示意图;
图5为本发明实施例提供的另一种网络流量分类方法中,HierarchicalAttention Network(HAN)的网络结构示意图;
图6为本发明实施例提供的一种网络流量分类装置的结构示意图;
图7为本发明实施例提供的一种网络流量分类实现装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,网络中随着P2P(Peer to Peer,对等计算机网络)、VoIP(Voice overInternet Protocol,网络电话)等协议的爆炸式增长,严重地破坏了网络访问链路的非对称架构,也破坏了用户下载量远大于上传量的假设,导致用户上网体验极度下降;此外,现在网络中也不断涌现出新的应用类型,极大地增加了网络流量的多样性和复杂性,使得流量分类本身变得难度越来越高。这些问题都真实地存在于运营商网络中,为了更好的用户体验、更好的网络资源管理、更好的网络管控和安全,首先要解决的问题就是网络流量分类。网络流量分类主要分为协议分类,如HTTP,FTP(File Transfer Protocol,文件传输协议),BitTorrent(比特流)等,和应用分类,如Facebook (脸书),YouTube(优兔),Gmail等两种。当前流量分类任务面临以下几个主要问题:
一、网络流量数据包通常以比特数据在网络中进行传输,如何将其有效的表示为模型可以理解的数据并提取出具有类别标识的特征数据,是一个很大的挑战。好的数据表示方法,不仅可以提升模型的分类效果,还可以节省数据存储空间和计算速度;但是如果数据表示过于精简则会导致信息丢失,模型无法学习到有用的分类特征,从而使得分类效果差。
二、很多网络协议为了躲避监管往往会通过随机端口等方式伪装成别的协议类型。比如P2P、VoIP等应用往往会采用80或22端口进行传输,这就会给分类带来一定的困扰和难度,传统的基于端口的分类方法则直接失效。
三、对用户隐私和数据加密需求的不断增加,极大地提高了当今互联网的加密流量。加密过程将原始数据转换为伪随机格式,以使其难以解密。这导致加密数据几乎不包含任何区分模式来识别网络流量。因此,加密流量的准确分类已经成为现代网络的一个挑战。
四、网络流量存在严重的类别不平衡现象。在网上公开的数据集中每种类别的数据量存在较大差异,像P2P、VoIP这种视频流一般都比较大,但是想email、chat等文本流数据量都比较小;此外除了数据本身的大小之外,数据流的个数也会存在比较大的差异。这种类别不平衡现象会给分类带来极大地困扰和难度,因为模型往往很难从极少数的样本中学习到有用的特征,而会更多的关注于样本数比较多的类别。所以如何设计模型使得其可以更多地关注样本比较少的类别数据,并提取出有用的分类特征,是一个值得深究的问题。
基于此,本发明实施例提供了一种网络流量分类方法、装置及实现装置,可以应用于网络流量分类或其他分类领域。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种网络流量分类方法进行详细介绍。
参见图1所示的一种网络流量分类方法的流程图,包括以下步骤:
步骤S100,获取待分类的数据流;该数据流包括至少一个数据包;具体地,数据流可以为接收或发送的多个数据包,包括源到端和端到源两个方向;数据包包括使用源IP(Internet Protocol,网络之间互连的协议)、目的IP,源端口、目的端口及传输层协议等数据,当不同数据包的上述几种数据相同时,可以确定这些数据包属于同一个数据流;随机获取到的数据流内通常包括属于不同数据流的数据包。
步骤S102,对数据流进行处理,得到标准数据流。
由于数据流内可能包括属于不同数据流的数据包,首先需要根据数据流的属性,对数据流进行截断处理,得到分别属于同一数据流的多段数据流;具体地,可以通过以下方式实现:
(1)提取第一个数据包的标识,设为当前数据流的流标识;该标识可以为源IP,目的IP,源端口,目的端口及传输层协议中的一种或多种。
(2)依次判断第一个数据包以后的数据包的标识是否与当前数据流的流标识相同。
(3)如果是,确定当前数据包属于当前数据流;如果否,确定当前数据包不属于当前数据流,将当前数据包作为更新后的第一个数据包,继续执行提取第一个数据包的标识,设为当前数据流的流标识的步骤。
由于本实施例采用通过神经网络建立的流量分类模型对上述数据流进行分类,因此需要根据流量分类模型的输入量格式要求将截断后的数据流进行标准化处理,得到标准数据流,具体可以通过以下方式实现:
(1)去除各个数据包中的干扰信息;干扰信息包括数据链路层信息及IP地址;具体地,该干扰信息可以包括数据包内的易产生干扰的数据,也可以包括无用数据。
(2)将数据包中的字节进行归一化处理;具体地,以一种归一化方式为例:将数据包的字节转换为十进制数字;对十进制数字进行标准化处理,得到属于设定数值范围的数字;设定数值范围为大于或等于零,且小于或等于一。
(3)根据预设的数据包长度,对数据流中的数据包进行截取或补零;通常在建立流量分类模型的过程中,可以得到使得分类结果较好的输入数据流的形式及大小,即标准数据流,该形式可以包括数据包内数据长度及数据包的数量;上述截取是指将数据包中超过该预设长度的数据舍弃,补零是指当数据长度低于该预设长度的时候,用零将数据长度补至该预设长度。
(4)根据预设的数据包个数,对数据流进行截取或补零,得到标准数据流。上述截取是指当数据流中的数据包个数大于预设个数的时候,舍弃超出个数的数据包;上述补零是指当数据流中的数据包个数小于预设个数的时候,采用数据均为零的数据包补足个数。本步骤与本方法中(3) 的执行顺序可以互换。
步骤S104,根据预先建立的流量分类模型,对标准数据流进行分类;该流量分类模型通过神经网络建立。
具体地,上述流量分类模型可以通过图2所示的方法实现,包括以下步骤:
步骤S200获取训练样本;训练样本中包含多个数据流以及每个数据流的类型。
步骤S202,根据预设的模型架构,建立神经网络的网络结构;模型架构包括Hierarchical attention network(层次注意力网络)模型或 Attention-Based(基于注意力机制)LSTM(Long Short-Term Memory,长短期记忆网络)模型。
Hierarchical attention network模型是一种结合了Hierarchical networkmodel和注意力机制(attention)的神经网络模型;Attention-Based LSTM 是一种结合了注意力机制与长短期记忆网络模型的神经网络模型; Attention-based Model(基于注意力机制的模型)对相似性进行度量,当前的输入与目标状态越相似,那么在当前的输入的权重就会越大,说明当前的输出越依赖于当前的输入。
步骤S204,将训练样本输入至网络结构中进行训练,得到流量分类模型。
在对该流量分类模型进行大量样本的训练后,将上述标准数据流输入上述流量分类模型,得到标准数据流对应的数据流属于预先设定的各个类别的概率;将概率最高的类别,确定为数据流的类别。
本发明实施例提供了一种网络流量分类方法;获取待分类的数据流后,对该数据流进行处理,得到标准数据流;根据预先建立的流量分类模型,对该标准数据流进行分类;该方法提升了对网络流量识别分类的效果,提高了效率。
本发明实施例还提供了另一种网络流量分类方法,该方法在图1所示方法的基础上实现;该方法主要包括两大步骤,第一步为对数据流的标准化处理,第二步为对标准化处理后的数据流进行分类。
具体地,对数据流进行标准化处理的流程如图3所示,包括以下步骤:
步骤S300,根据数据流的属性,对数据流进行切分:将每个网络数据流flow视为一条样本,每个网络数据流Fi(i=0,1,…,n)由多个数据包 Pj(j=0,1,…,m)(包括源到端和端到源两个方向)组成。可以使用源IP、目的IP、源端口、目的端口、传输层协议,如TCP((Transmission Control Protocol,传输控制协议))或UDP(User Datagram Protocol,用户数据报协议),这五元组可以唯一标识一个数据流,即五元组相同的数据包属于同一个数据流。因此可以使用SplitCap工具将原始的pcap(primarily TCPDUMP Style Capture,过程特性分析软件包)文件按照上述的五元组进行切分,将每个流的数据分别保存为pcap格式的小文件,并使用相应文件名称对数据进行类别标注。
步骤S302,将已切分数据流中的每个数据包中的无用信息删除,并对数据进行归一化处理;具体地,每个数据包由OSI 7层协议构成,由于数据链路层信息对于流量分类任务没有什么价值,因此可以删除链路层数据。此外IP地址可能会对分类结果造成干扰,需要删除或者进行随机化。最后,因为数据包由二进制字符串组成,为了方便模型处理,将每个字节表示成10进制数字,取值范围在[0-255]。接下来对其进行标准化处理,将数值归一化到[0-1]之间。
步骤S304,对数据流进行规范化表示;具体地,该规范包括每个网络流包含多少数据包,每个数据包包含多少字节数据。一旦确定了这两个参数的最佳选择,那么一个数据流就可以表示为矩阵,其中每个元素都是 0~1之间的数字。经过试验,最终得知将一个数据流表示成10个数据包,每个数据包表示成1500个bit的形式时,分类的准确度最高。
在标准化处理的数据流后,根据预先建立的流量分类模型,对标准数据流进行分类。首先需要构建模型并进行样本训练。本实施例以两种模型架构为例,构建流量分类模型;两种模型架构分别为Attention based LSTM 和Hierarchical Attention Network。
Attention based LSTM神经网络模型结构示意图如图4所示,包括 RNN(Recurrent Neural Network,循环神经网络)层、Attention层、全连接层及softmax(柔性最大值传输函数)层。首先将数据流中的每个数据包(P1,P2,…Pj,图中以j=5为例)当作是双向LSTM的输入向量进行编码,并得到隐层向量和(t=1,2,3…l),图中以l=5为例,然后将二者连接 0起来构成其编码向量ht。接下来使用Attention机制计算每个隐层向量的重要性,Attention机制通过给不同的向量不同的权重,可以很好的解决序列的长期依赖等问题。中间向量c的计算方法如下所示:
ui=tanh(Wphi+bp) (1)
其中,ui….表示每个hi的编码向量;αi表示的是每个数据包的权重; c表示的整个数据流的编码向量;Wp、bp、us是所建立的神经网络的参数。
其实上面的公式相当于使用一个全连接层的神经网络计算每个隐层向量的权重,然后将每个隐层向量与权重值进行加权求和得到中间向量c。最后将得到的向量c输入一个全连接层和一个softmax输出层即可得到该网络流属于各个类别的概率。
Hierarchical Attention Network(HAN)的网络结构示意图如图5所示,包括BiLSTM layer(双向循环神经网络层)、Attention layer(注意力层)、 full connectlayer(全连接层)及softmax layer(柔性最大值传输函数层);图中下方的矩阵代表数据流,横向为数据包长度(Packet length),即每个数据包内包含的字节数量;纵向为数据流长度(Flow length),即每个数据流包含的数据包个数(Packe 0,Pecket 1,Packet 2,Packet 3……Packet n);在该神经网络的工作过程中,第一层LSTM网络将数据包中的每个字节作为输入,每个时刻只处理一个字节数据,并对其进行编码得到每个字节的向量(BitVector),接下来使用attention机制计算每个字节的权重并进行加权求和得到数据包的向量(Packet Vector)表示Pi;然后将每个数据包的向量作为第二层LSTM神经网络每个时刻的输入进行编码 (Packet Encoder),同样使用Attention机制计算各个数据包对分类结果的重要性得到数据包的权重(Packet Attention),并进行加权求和得到整个数据流的向量(Flow Vector)表示F(数据流)。最后将F输入全连接层和输出层计算该数据流属于每个类别的概率即可。
这两种网络结构的输入都是第三步中网络数据流的处理结果,也就是一个矩阵形式的输入,输出则是该网络流的类别信息。为了识别的准确度,在该模型中融入了Attention机制和Hierarchical机制,分别对应网络数据流的时序和层次结构,从而达到了比较好的识别效果。Attention-based LSTM和Hierarchical Attention Networks两种模型结构,将Attention机制引入到流量分类任务中,目的是让不同类别的数据流关注于相应重要的数据包,使其对分类贡献较大的信息。同样,HAN可以使每个数据包中不同的字节数据对分类起到不同的重要性。
本实施例提供的建立流量分类模型的方法将网络数据流视为时序数据,认为每个数据包到达的时序关系对分类存在很大影响,因此将网络数据流类比为文本数据,并将每个数据流表示成10个数据包,每个数据包表示成1500个字节的数据格式。接下来采用LSTM等深度学习模型对时序序列进行建模。
通过对比试验,本实施例提供的模型在是使用Attention-based LSTM 模型的时候可以到达95%的分类准确度,达到了state-of-the-art(顶尖水准的)效果,相比传统机器学习模型和别的深度学习模型都达到了很好的分类效果。
本实施例通过深度学习方法可以解决传统网络流量分类系统中的诸多问题,可以达到很高的识别准确度,并可以对加密数据包实现精准识别;此外,高效的流量数据表示方法可以极大程度上节省人工成本,不需要对不同协议、不同应用提取特征。
对应于上述实施例,本发明实施例还提供一种网络流量分类装置,其结构示意图如图6所示,该装置包括:数据流获取模块600,用于获取待分类的数据流;该数据流包括至少一个数据包;数据流处理模块602,用于对数据流进行处理,得到标准数据流;流量分类模块604,用于根据预先建立的流量分类模型,对标准数据流进行分类;该流量分类模型通过神经网络建立。
具体地,上述数据流处理模块还用于:根据数据流的属性,对数据流进行截断处理;将数据流进行标准化处理,得到标准数据流。
本发明实施例提供的网络流量分类装置,与上述实施例提供的网络流量分类方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本实施方式提供了一种与上述方法实施方式相对应的网络流量分类实现装置。图7为该实现装置的结构示意图,如图7所示,该设备包括处理器1201和存储器1202;其中,存储器1202用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述网络流量分类方法。
图7所示的实现装置还包括总线1203和转发芯片1204,处理器1201、转发芯片1204和存储器1202通过总线1203连接。该报文传输的实现装置可以是网络边缘设备。
其中,存储器1202可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。总线1203可以是ISA总线、PCI总线或EISA 总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
转发芯片1204用于通过网络接口与至少一个用户终端及其它网络单元连接,将封装好的IPv4报文或IPv6报文通过网络接口发送至用户终端。
处理器1201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1201可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1202,处理器1201读取存储器1202中的信息,结合其硬件完成前述实施方式的方法的步骤。
本发明实施方式还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述网络流量分类方法,具体实现可参见方法实施方式,在此不再赘述。
本发明实施方式所提供的网络流量分类装置及实现装置,其实现原理及产生的技术效果和前述方法实施方式相同,为简要描述,装置实施方式部分未提及之处,可参考前述方法实施方式中相应内容。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施方式中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施方式,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施方式对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施方式所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施方式技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种网络流量分类方法,其特征在于,包括:
获取待分类的数据流;所述数据流包括至少一个数据包;
对所述数据流进行处理,得到标准数据流;
根据预先建立的流量分类模型,对所述标准数据流进行分类;所述流量分类模型通过神经网络建立。
2.根据权利要求1所述的方法,其特征在于,所述对所述数据流进行处理,得到标准数据流的步骤,包括:
根据数据流的属性,对所述数据流进行截断处理;
将所述数据流进行标准化处理,得到标准数据流。
3.根据权利要求2所述的方法,其特征在于,所述根据数据流的属性,对所述数据流进行截断处理的步骤包括:
提取第一个数据包的标识,设为当前数据流的流标识;所述标识包括源IP,目的IP,源端口,目的端口及传输层协议中的一种或多种;
依次判断所述第一个数据包以后的数据包的标识是否与所述当前数据流的流标识相同;
如果是,确定当前数据包属于所述当前数据流;
如果否,确定当前数据包不属于所述当前数据流,将所述当前数据包作为更新后的第一个数据包,继续执行提取第一个数据包的标识,设为当前数据流的流标识的步骤。
4.根据权利要求3所述的方法,其特征在于,所述将所述数据流进行标准化处理,得到标准数据流的步骤包括:
去除各个所述数据包中的干扰信息;所述干扰信息包括数据链路层信息及IP地址;
将所述数据包中的字节进行归一化处理;
根据预设的数据包长度,对所述数据流中的数据包进行截取或补零;
根据预设的数据包个数,对所述数据流进行截取或补零,得到标准数据流。
5.根据权利要求4所述的方法,其特征在于,所述将所述数据包中的字节进行归一化处理的步骤,包括:
将所述数据包的字节转换为十进制数字;
对所述十进制数字进行标准化处理,得到属于设定数值范围的数字;所述设定数值范围为大于或等于零,且小于或等于一。
6.根据权利要求1所述的方法,其特征在于,所述流量分类模型通过以下方式建立:
获取训练样本;所述训练样本中包含多个数据流以及每个所述数据流的类型;
根据预设的模型架构,建立神经网络的网络结构;所述模型架构包括Hierarchicalattention network模型或Attention-Based LSTM模型;
将所述训练样本输入至所述网络结构中进行训练,得到所述流量分类模型。
7.根据权利要求6所述的方法,其特征在于,所述根据预先建立的流量分类模型,对所述标准数据流进行分类的步骤,包括:
将所述标准数据流输入所述流量分类模型,得到所述标准数据流对应的所述数据流属于预先设定的各个类别的概率;
将所述概率最高的类别,确定为所述数据流的类别。
8.一种网络流量分类装置,其特征在于,包括:
数据流获取模块,用于获取待分类的数据流;所述数据流包括至少一个数据包;
数据流处理模块,用于对所述数据流进行处理,得到标准数据流;
流量分类模块,用于根据预先建立的流量分类模型,对所述标准数据流进行分类;所述流量分类模型通过神经网络建立。
9.根据权利要求8所述的装置,其特征在于,所述数据流处理模块还用于:
根据数据流的属性,对所述数据流进行截断处理;
将所述数据流进行标准化处理,得到标准数据流。
10.一种网络流量分类实现装置,其特征在于,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理器执行,以实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810894496.XA CN109063777B (zh) | 2018-08-07 | 2018-08-07 | 网络流量分类方法、装置及实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810894496.XA CN109063777B (zh) | 2018-08-07 | 2018-08-07 | 网络流量分类方法、装置及实现装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109063777A true CN109063777A (zh) | 2018-12-21 |
CN109063777B CN109063777B (zh) | 2019-12-03 |
Family
ID=64678119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810894496.XA Active CN109063777B (zh) | 2018-08-07 | 2018-08-07 | 网络流量分类方法、装置及实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109063777B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109831422A (zh) * | 2019-01-17 | 2019-05-31 | 中国科学院信息工程研究所 | 一种基于端到端序列网络的加密流量分类方法 |
CN110781950A (zh) * | 2019-10-23 | 2020-02-11 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN111130942A (zh) * | 2019-12-27 | 2020-05-08 | 国网山西省电力公司信息通信分公司 | 一种基于消息大小分析的应用流量识别方法 |
CN111260029A (zh) * | 2020-01-13 | 2020-06-09 | 北京工业大学 | 一种面向空气质量数据的可信度分析方法 |
CN111385342A (zh) * | 2018-12-29 | 2020-07-07 | 中国移动通信集团北京有限公司 | 一种物联网行业识别方法、装置、电子设备及存储介质 |
CN111614514A (zh) * | 2020-04-30 | 2020-09-01 | 北京邮电大学 | 一种网络流量识别方法及装置 |
CN111817971A (zh) * | 2020-06-12 | 2020-10-23 | 东南大学 | 一种基于深度学习的数据中心网络流量拼接方法 |
CN111953552A (zh) * | 2019-05-14 | 2020-11-17 | 华为技术有限公司 | 数据流的分类方法和报文转发设备 |
CN112367273A (zh) * | 2020-10-30 | 2021-02-12 | 上海瀚讯信息技术股份有限公司 | 基于知识蒸馏的深度神经网络模型的流量分类方法及装置 |
CN112751781A (zh) * | 2019-10-31 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 流量数据的处理方法、装置、设备及计算机存储介质 |
CN113158390A (zh) * | 2021-04-29 | 2021-07-23 | 北京邮电大学 | 一种基于辅助分类式生成对抗网络的网络攻击流量生成方法 |
CN113472821A (zh) * | 2021-09-06 | 2021-10-01 | 成都卡莱博尔信息技术股份有限公司 | 一种数据采集管理一体化方法、系统、装置及存储介质 |
WO2021238324A1 (zh) * | 2020-05-26 | 2021-12-02 | 中兴通讯股份有限公司 | 流量识别方法、装置、电子设备及存储介质 |
CN114448905A (zh) * | 2020-11-06 | 2022-05-06 | 中国科学院深圳先进技术研究院 | 一种加密流量识别方法、系统、终端以及存储介质 |
CN114553788A (zh) * | 2022-02-18 | 2022-05-27 | 成都市联洲国际技术有限公司 | 流量分类的方法、装置、计算机可读存储介质和处理器 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7154416B1 (en) * | 2005-09-22 | 2006-12-26 | Packeteer, Inc. | Adaptive control of codebook regeneration in data compression mechanisms |
CN102136087A (zh) * | 2011-03-08 | 2011-07-27 | 湖南大学 | 基于多神经网络的流量矩阵估计方法 |
CN102271090A (zh) * | 2011-09-06 | 2011-12-07 | 电子科技大学 | 基于传输层特征的流量分类方法及装置 |
CN102469103A (zh) * | 2011-07-01 | 2012-05-23 | 中国人民解放军国防科学技术大学 | 基于bp神经网络的木马事件预测方法 |
CN102523241A (zh) * | 2012-01-09 | 2012-06-27 | 北京邮电大学 | 基于决策树高速并行处理的网络流量在线分类方法及装置 |
CN105827472A (zh) * | 2015-01-04 | 2016-08-03 | 华为技术有限公司 | 网络数据流类型检测方法及装置 |
CN106790019A (zh) * | 2016-12-14 | 2017-05-31 | 北京天融信网络安全技术有限公司 | 基于特征自学习的加密流量识别方法及装置 |
CN106878073A (zh) * | 2017-02-14 | 2017-06-20 | 南京邮电大学 | 基于t分布混合模型的网络多媒体业务半监督分类方法 |
CN106911527A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种流量监测装置及方法 |
CN108173704A (zh) * | 2017-11-24 | 2018-06-15 | 中国科学院声学研究所 | 一种基于表征学习的网络流量分类的方法及装置 |
CN108199863A (zh) * | 2017-11-27 | 2018-06-22 | 中国科学院声学研究所 | 一种基于两阶段序列特征学习的网络流量分类方法及系统 |
-
2018
- 2018-08-07 CN CN201810894496.XA patent/CN109063777B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7154416B1 (en) * | 2005-09-22 | 2006-12-26 | Packeteer, Inc. | Adaptive control of codebook regeneration in data compression mechanisms |
CN102136087A (zh) * | 2011-03-08 | 2011-07-27 | 湖南大学 | 基于多神经网络的流量矩阵估计方法 |
CN102469103A (zh) * | 2011-07-01 | 2012-05-23 | 中国人民解放军国防科学技术大学 | 基于bp神经网络的木马事件预测方法 |
CN102271090A (zh) * | 2011-09-06 | 2011-12-07 | 电子科技大学 | 基于传输层特征的流量分类方法及装置 |
CN102523241A (zh) * | 2012-01-09 | 2012-06-27 | 北京邮电大学 | 基于决策树高速并行处理的网络流量在线分类方法及装置 |
CN105827472A (zh) * | 2015-01-04 | 2016-08-03 | 华为技术有限公司 | 网络数据流类型检测方法及装置 |
CN106911527A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种流量监测装置及方法 |
CN106790019A (zh) * | 2016-12-14 | 2017-05-31 | 北京天融信网络安全技术有限公司 | 基于特征自学习的加密流量识别方法及装置 |
CN106878073A (zh) * | 2017-02-14 | 2017-06-20 | 南京邮电大学 | 基于t分布混合模型的网络多媒体业务半监督分类方法 |
CN108173704A (zh) * | 2017-11-24 | 2018-06-15 | 中国科学院声学研究所 | 一种基于表征学习的网络流量分类的方法及装置 |
CN108199863A (zh) * | 2017-11-27 | 2018-06-22 | 中国科学院声学研究所 | 一种基于两阶段序列特征学习的网络流量分类方法及系统 |
Non-Patent Citations (2)
Title |
---|
FAN WU 等: "Identification on peer to peer traffic based on deep learning", 《IEEE》 * |
林平 等: "基于流统计特性的网络流量分类算法", 《北京邮电大学学报》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385342B (zh) * | 2018-12-29 | 2023-04-07 | 中国移动通信集团北京有限公司 | 一种物联网行业识别方法、装置、电子设备及存储介质 |
CN111385342A (zh) * | 2018-12-29 | 2020-07-07 | 中国移动通信集团北京有限公司 | 一种物联网行业识别方法、装置、电子设备及存储介质 |
CN109831422B (zh) * | 2019-01-17 | 2020-08-18 | 中国科学院信息工程研究所 | 一种基于端到端序列网络的加密流量分类方法 |
CN109831422A (zh) * | 2019-01-17 | 2019-05-31 | 中国科学院信息工程研究所 | 一种基于端到端序列网络的加密流量分类方法 |
CN111953552B (zh) * | 2019-05-14 | 2022-12-13 | 华为技术有限公司 | 数据流的分类方法和报文转发设备 |
CN111953552A (zh) * | 2019-05-14 | 2020-11-17 | 华为技术有限公司 | 数据流的分类方法和报文转发设备 |
CN110781950A (zh) * | 2019-10-23 | 2020-02-11 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN110781950B (zh) * | 2019-10-23 | 2023-06-30 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN112751781A (zh) * | 2019-10-31 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 流量数据的处理方法、装置、设备及计算机存储介质 |
CN111130942B (zh) * | 2019-12-27 | 2021-09-14 | 国网山西省电力公司信息通信分公司 | 一种基于消息大小分析的应用流量识别方法 |
CN111130942A (zh) * | 2019-12-27 | 2020-05-08 | 国网山西省电力公司信息通信分公司 | 一种基于消息大小分析的应用流量识别方法 |
CN111260029A (zh) * | 2020-01-13 | 2020-06-09 | 北京工业大学 | 一种面向空气质量数据的可信度分析方法 |
CN111614514B (zh) * | 2020-04-30 | 2021-09-24 | 北京邮电大学 | 一种网络流量识别方法及装置 |
CN111614514A (zh) * | 2020-04-30 | 2020-09-01 | 北京邮电大学 | 一种网络流量识别方法及装置 |
WO2021238324A1 (zh) * | 2020-05-26 | 2021-12-02 | 中兴通讯股份有限公司 | 流量识别方法、装置、电子设备及存储介质 |
CN111817971B (zh) * | 2020-06-12 | 2023-03-24 | 华为技术有限公司 | 一种基于深度学习的数据中心网络流量拼接方法 |
CN111817971A (zh) * | 2020-06-12 | 2020-10-23 | 东南大学 | 一种基于深度学习的数据中心网络流量拼接方法 |
CN112367273A (zh) * | 2020-10-30 | 2021-02-12 | 上海瀚讯信息技术股份有限公司 | 基于知识蒸馏的深度神经网络模型的流量分类方法及装置 |
CN112367273B (zh) * | 2020-10-30 | 2023-10-31 | 上海瀚讯信息技术股份有限公司 | 基于知识蒸馏的深度神经网络模型的流量分类方法及装置 |
CN114448905A (zh) * | 2020-11-06 | 2022-05-06 | 中国科学院深圳先进技术研究院 | 一种加密流量识别方法、系统、终端以及存储介质 |
CN114448905B (zh) * | 2020-11-06 | 2024-04-19 | 中国科学院深圳先进技术研究院 | 一种加密流量识别方法、系统、终端以及存储介质 |
CN113158390A (zh) * | 2021-04-29 | 2021-07-23 | 北京邮电大学 | 一种基于辅助分类式生成对抗网络的网络攻击流量生成方法 |
CN113472821A (zh) * | 2021-09-06 | 2021-10-01 | 成都卡莱博尔信息技术股份有限公司 | 一种数据采集管理一体化方法、系统、装置及存储介质 |
CN114553788A (zh) * | 2022-02-18 | 2022-05-27 | 成都市联洲国际技术有限公司 | 流量分类的方法、装置、计算机可读存储介质和处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN109063777B (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109063777B (zh) | 网络流量分类方法、装置及实现装置 | |
Wang et al. | A survey of techniques for mobile service encrypted traffic classification using deep learning | |
WO2018054342A1 (zh) | 一种网络数据流分类的方法及系统 | |
CN109167680A (zh) | 一种基于深度学习的流量分类方法 | |
CN104052639B (zh) | 基于支持向量机的实时多应用网络流量识别方法 | |
CN103200133A (zh) | 一种基于网络流引力聚类的流量识别方法 | |
CN107181724A (zh) | 一种协同流的识别方法、系统以及使用该方法的服务器 | |
CN106815112A (zh) | 一种基于深度包检测的海量数据监控系统及方法 | |
CN100553206C (zh) | 基于报文采样和应用签名的互联网应用流量识别方法 | |
Song et al. | Encrypted traffic classification based on text convolution neural networks | |
Divakaran et al. | Slic: Self-learning intelligent classifier for network traffic | |
CN102571946B (zh) | 一种基于对等网络的协议识别与控制系统的实现方法 | |
CN103780501B (zh) | 一种不可分小波支持向量机的对等网络流量识别方法 | |
CN107196930A (zh) | 计算机网络异常检测的方法、系统及移动终端 | |
Vinayakumar et al. | Secure shell (ssh) traffic analysis with flow based features using shallow and deep networks | |
Montieri et al. | Packet-level prediction of mobile-app traffic using multitask deep learning | |
CN104135385A (zh) | Tor匿名通信流量应用分类的方法 | |
Zhang et al. | Intelligent and application-aware network traffic prediction in smart access gateways | |
Eom et al. | Network traffic classification using ensemble learning in software-defined networks | |
Dong et al. | RETRACTED: Flow online identification method for the encrypted Skype | |
Song et al. | The correlation study for parameters in four tuples | |
Min et al. | Online Internet traffic identification algorithm based on multistage classifier | |
CN103532908A (zh) | 一种基于二级决策树的p2p协议识别方法 | |
CN103095718B (zh) | 一种基于Hadoop的应用层协议特征提取方法 | |
Dener et al. | Rfse-gru: Data balanced classification model for mobile encrypted traffic in big data environment |
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 |