CN113794653B - 一种基于抽样数据流的高速网络流量分类方法 - Google Patents
一种基于抽样数据流的高速网络流量分类方法 Download PDFInfo
- Publication number
- CN113794653B CN113794653B CN202111302613.7A CN202111302613A CN113794653B CN 113794653 B CN113794653 B CN 113794653B CN 202111302613 A CN202111302613 A CN 202111302613A CN 113794653 B CN113794653 B CN 113794653B
- Authority
- CN
- China
- Prior art keywords
- classification
- data
- clustering
- flow
- nodes
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000005070 sampling Methods 0.000 title claims abstract description 30
- 238000013145 classification model Methods 0.000 claims abstract description 28
- 239000013598 vector Substances 0.000 claims description 39
- 238000004422 calculation algorithm Methods 0.000 claims description 38
- 238000012549 training Methods 0.000 claims description 23
- 238000007637 random forest analysis Methods 0.000 claims description 16
- 238000009833 condensation Methods 0.000 claims description 14
- 230000005494 condensation Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 238000004220 aggregation Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 7
- 238000013461 design Methods 0.000 abstract description 4
- 238000013106 supervised machine learning method Methods 0.000 abstract description 2
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005054 agglomeration Methods 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于抽样数据流的高速网络流量分类方法,该方法首先对主干网中海量流量进行抽样,并设计了HASH桶数组结构快速地提取依序抽样所得流量的特征,其次,该方法提出了批量分类器,此批量分类器能够在合理的时间内和有限的内存中实现对未标记流量特征的批量聚类,完成流量特征数据的标记工作,最后,该方法使用有监督的机器学习方法训练批量聚类结果中已标记的特征数据,得到分类模型,该分类模型可用于分类后续达到的主干网流量。本发明可在合理的时间内和有限的内存中实现未标记的海量主干网流量的分类,可用于网络流量分析与网络管理。
Description
技术领域
本发明涉及一种基于抽样数据流的高速网络流量分类方法,属于网络测量技术领域。
背景技术
主干网是Internet的核心部分,主干网的网络流量分析是全网网络管理工作的重要环节。由于主干网中海量流量的高速性,使得主干网的网络流量分析成为一项具有挑战性的工作。主干网流量分类是主干网网络管理的基础。网络流量分类的目的是从不同应用和协议的混合网络流量中识别出流量的类别,从而有效地支持下游应用(如QoS保障,网络测量,入侵检测等)。
随着动态端口的使用和加密流量的增加,流量分类方法从传统的基于端口的方法和基于负载的方法逐渐转变为基于统计学的方法(机器学习算法和深度学习算法)。
机器学习(MachineLearning,ML)算法和深度学习(Deep Learning,DL)算法由于其高分类性能以及对动态端口和加密应用的强适应性,在流量分类研究中得到了广泛应用。基于机器学习的流量分类器结合特定的特征提取方案可以获得较高的分类精度,基于深度学习的流量分类器可以自动地对未知流量或加密流量准确分类。
然而,主干网的网络流量有着高速性,通常主干网流量的传输速度在10Gbps左右。大多数相关的流量分类工作是采集全流量并从中提取特征,这种数据流处理方法应用于主干网中高速传输的海量数据时,需要较长的时间和大量的内存。其次,大多数流量分类方法需要提前对全部或者部分特征数据进行人工标注,而对于海量的主干网流量,人工标注的速度很难跟上主干网流量极高的传输速度。此外,相关的分类算法具有较高的时间复杂度和空间复杂度,难以处理中等规模的数据,更不用说主干网中的海量数据。
发明内容
为了在合理时间内和有限内存中实现海量主干网流量的准确分类。本发明结合依序采样和HASH桶数组结构快速提取海量主干网流量的特征,并结合凝聚聚类算法和随机森林算法完成分类模型的训练,从而实现对主干网流量的有效分类。
为了实现主干网络流量的准确分类。本发明首先对海量主干网流量进行依序抽样,并设计了包含多个计数器的HASH桶数组结构快速地提取抽样后流量的特征。其次,本发明提出了一个基于凝聚聚类算法的批量分类器,此批量分类器能够在合理的时间内和有限的内存中实现对未标记的流量特征的批量聚类,完成对流量特征数据的标记工作。最后,本发明使用有监督的机器学习方法训练批量聚类结果中已标记的特征数据,得到分类模型,此分类模型可用于分类后续达到的主干网流量。
一种基于抽样数据流的高速网络流量分类方法,该方法包括以下步骤:
步骤(1)获取主干网网络流量数据,包括在两个不同时间段获取的两部分主干网流量数据,第一部分主干网流量数据的采集时间早于第二部分主干网流量数据;
步骤(2)结合依序采样和HASH桶数组结构快速提取流量特征向量,建立特征向量库;
步骤(3)基于凝聚聚类算法设计一个批量分类器,针对步骤(2)中建立的特征库使用批量分类器实现对未标记的第一部分主干网流量特征数据的聚类并记录分类结果;
步骤(4)使用随机森林算法对批量聚类结果中已标记的特征数据进行模型训练,得到分类模型;
步骤(5)使用步骤(4)中的分类模型对步骤(1)中未标记的第二部分主干网流量特征数据进行分类。
进一步,所述步骤(1)中,获取主干网网络流量数据的方法如下:
(1.1)获取一个在主干网节点持续采集了一段时间得到的包含大量数据包的主干网流量数据集。
(1.2)按时间顺序将数据集中所有数据包按一定的比例分为第一部分数据和第二部分数据。按照时间顺序划分公开数据集是为了模拟实际的主干网流量数据。实际环境中,会将已经采集到的历史数据(对应采集时间较早的第一部分数据)放入模型中训练得到分类模型;之后利用这一分类模型对新达到的流量(对应采集时间较晚的第二部分数据)进行实时分类。
进一步,所述步骤(2)中,建立特征向量库的方法如下:
(2.1)针对(1)中获取的全部数据,首先使用依序抽样方法进行抽样。为了验证本发明使用的特征抽样方法的健壮性,本发明采用控制变量法,设置了一系列抽样比对分类结果进行分析,证明抽样比对分类结果的精确度影响不大。
(2.2)设计包含多个计数器的HASH桶数组结构快速地提取抽样后流量的特征。为了记录主干网流量的多个属性,本发明设计了如附图2所示的包含多个计数器的HASH桶数组结构,HASH桶数组结构使用w列d行的二维数组记录特征信息。数组中的每个单元都是一个包含多个计数器的计数桶。该结构可以实现***操作和特征向量提取操作。***操作分为三个步骤:提取数据包的三元组信息(传输层协议、IP、端口)作为key,通过d个hash函数将key散列到每一行的一个计数桶中,对计数桶中相应的计数器进行加1操作。当对应的计数器值满足阈值要求时,通过计算多个特征属性的值来完成特征向量的提取操作。
由于TCP协议和UDP协议的消息结构不同,导致各自的流量特征不同,所以我们针对使用TCP协议和UDP协议的数据包设计了相应的计数器。由于单向流和双向流的特征差异性较大,单向流和双向流混在一起分类得到的分类性能较低。所以先将流量分为单向流和双向流两大类,之后再对每一大类细分会得到更准确的分类结果。本发明中通过计数器的数值可以初步分辨单向流和双向流。
进一步,所述步骤(3)中,如附图3基于凝聚聚类算法设计一个批量分类器,针对步骤(2)中建立的特征库使用批量分类器实现对未标记的第一部分主干网流量特征数据的聚类并记录分类结果的方法如下:
(3.1)第一步为流量特征的切分:本发明将步骤(2)中第一部分主干网流量提取得到的全部特征分成多块,每块大小取决于当前用户的内存资源。
(3.2)第二步为各块流量的聚类:使用传统的凝聚聚类(AgglomerativeClustering,AGC)算法对每一块中的流量特征数据进行聚类。具体的实现细节包括分类节点之间相似度的计算、凝聚聚类算法中距离阈值的确定以及同一类中分类节点的合并。
(3.2.1)分类节点之间相似度的计算:使用合适的距离公式计算节点之间的相似度。
(3.2.2)距离阈值的确定:根据同一类中分类节点有较高的相似性,不同类中的分类节点有较高的相异性的聚类原则,本发明使用式(1-1)来评估批量分类器的性能,分析不同的距离阈值与批量分类器性能之间的关系,从而确定聚类算法中合适的距离阈值。式(1-1)中的KeyNum代表三元组的总个数,labelNum表示流量特征向量一共聚为labelNum类,nc表示所包含的所有流量特征向量都分配到同一类中的三元组的个数,nd表示类别号不同于其他三元组的三元组个数。公式中的三元组指步骤(2.2)中从数据包中提取的传输层协议、IP和端口。
(3.2.3)同一类中分类节点的合并:假设当前聚类结果中的某一类包含n个特征向量,第i个特征向量包含m个属性值{(x1)i,(x2)i,…,(xm)i},本发明使用式(2-2)计算特征向量的平均值得到作为新的分类节点。
(3.3)第三步需要合并步骤(3.2)中每块的聚类结果。假设第i块流量聚类结果中含有N个分类节点,每一个分类节点的信息包括该节点对应的特征向量以及步骤(3.2)中聚类得到的类别号。假设第i块流量一共聚为L类,则对第i块中同一类的分类节点进行聚类得到L个新的分类节点的方法如下:
(3.3.1)定义int型变量k用于表示第k类(1≤k≤L,k为整数)。
(3.3.2)遍历第i块聚类结果中的N个分类节点,将分到第k类的多个分类节点按照公式(1-2)合并为一个新的分类节点。k从1增大至L表示遍历L次第i块的聚类结果,得到L个新的分类节点。
(3.4)第四步为合并后新分类节点的二次聚类:本发明对步骤(3.3)中合并后的新分类节点再次使用传统凝聚聚类算法进行聚类,得到第二次的聚类结果。
(3.5)第五步为最终分类标签的确定:跟踪每个块中初始特征向量的分类轨迹,得到每个初始特征向量的最终类别标签,至此完成所有流量的批量聚类。上述步骤首先是对每一块中分类节点使用凝聚聚类算法进行一次聚类;随后将一次聚类中的聚类结果按照类别进行合并:即每一块中同一类的分类节点求平均值得到一个代表性分类节点;然后将所有块中的代表性分类节点作为分类对象,使用凝聚聚类算法进行二次聚类;最后找到二次聚类的分类标签与一次聚类的分类节点之间的分类映射(即找出一次聚类中的代表性节点在二次聚类结果中分到了哪一类),找到一次聚类的分类标签与全部原始分类节点的分类映射(即原始分类节点在一次聚类结果中分到了哪一类);从而得到每个原始分类节点在二次聚类的最后结果中的分类标签(即原始分类节点在二次聚类结果中最终分到了哪一类)。
进一步,所述步骤(4)中,使用随机森林算法对步骤(3.5)得到的批量聚类结果中已标记的特征数据进行模型训练,得到分类模型的方法如下:
(4.1)将步骤(3.5)中得到的已标记特征向量数据按一定的比例划分为训练集和验证集,用于随机森林分类器的模型训练。
(4.2)使用随机森林分类器针对训练集和验证集进行模型训练,得到分类模型。使用随机森林算法是因为随机森林是公认的分类性能好且稳定的有监督学习分类算法。
进一步,所述步骤(5)中,使用步骤(4)中的分类模型对(1)中未标记的第二部分主干网流量特征数据进行分类的方法如下:
(5.1)使用步骤(2)中后续达到的第二部分主干网流量特征数据作为测试集。
(5.2)使用步骤(4)中得到的分类模型对后续达到的第二部分主干网流量数据进行分类。
与现有技术相比,本发明的技术方案具有以下有益技术效果。
(1)本发明结合依序抽样和HASH桶数组结构可以实现对海量主干网流量的特征的快速提取,具有较强的实用性和创新性。
(2)本发明提出了基于凝聚聚类的批量分类器,能够以足够低的时间复杂度和空间复杂度进行准确的主干网流量聚类。
(3)本发明结合无监督的凝聚聚类算法和有监督的随机森林算法完成分类模型的训练,不仅无需事先标记数据,实现了对未标记流量的自动聚类,而且可以准确地分类后续达到的主干网流量;此外,批量分类器可以及时地根据变化的流量数据进行分类模型的批量更新,保持分类模型的分类准确性,更具可行性。
附图说明
图1为本发明的总体流程图;
图2为本发明设计的包含多个计数器的HASH桶数组结构的示意图;
图3为基于凝聚聚类提出的批量分类器的示意图;
图4为本发明的一个实例中距离阈值确定实验的数据分析图;
图5为本发明的一个实例中对分类结果中异常三元组分类标签的分析;
图6为本发明的一个实例中对异常三元组的数据包中TCP重传信息的分析。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
实施例:如附图1所示,本发明的一种基于抽样数据流的高速网络流量分类方法,所述方法包括以下步骤:
步骤(1)获取主干网网络流量数据,包括在两个不同时间段获取的两部分主干网流量数据,第一部分主干网流量数据的采集时间早于第二部分主干网流量数据;
步骤(2)结合依序采样和HASH桶数组结构快速提取流量特征向量,建立特征向量库;
步骤(3)基于凝聚聚类算法设计一个批量分类器,针对步骤(2)中建立的特征库使用批量分类器实现对未标记的第一部分主干网流量特征数据的聚类并记录分类结果;
步骤(4)使用随机森林算法对批量聚类结果中已标记的特征数据进行模型训练,得到分类模型;
步骤(5)使用步骤(4)中的分类模型对(1)中未标记的第二部分主干网流量特征数据进行分类。
本发明的一个实施例中,步骤(1)中,获取主干网网络流量数据的方法如下:
(1.1)获取MAWI工作组于2020年6月3日收集的公开数据集,此公开数据集包含了在10Gbps链路上持续收集900秒得到的453,043,378个数据包。
(1.2)按时间顺序将数据集中所有数据包按2:1的比例分为第一部分数据和第二部分数据,即公开数据集前600秒采集的数据作为第一部分数据,后300秒采集的数据作为第二部分数据。
本发明的一个实施例中,步骤(2)中,建立特征向量库的方法如下:
(2.1)针对步骤(1)中获取的全部数据,首先使用依序抽样方法进行抽样。为了验证本发明使用的特征抽样方法的健壮性,本发明采用控制变量法,如表1设置了一系列抽样比对分类结果进行分析,为了评估分类结果,本发明使用Micro F1分数综合评估分类器的查全率和查准率,使用如下公式(3-0)所示的标签预测准确度(the Accuracy ofLabelPrediction,AoLP)评估分类模型的泛化能力。
表1 相同数据在不同采样率下的精度和AOLP
可见对相同数据设置不同抽样比时,总体MicroF1分数和总体AoLP均保持在97%左右,即使抽样比为1:1024,总体MicroF1分数和总体AoLP分别也达到了96.3%和97.3%。以上结果表明,抽样比对分类精度影响不大,即使抽样比为1:1024精度也可以接受。根据实际内存条件和各抽样比对应的数据量,本发明的一个实例中将抽样比固定为1:32进行后续的实验。
(2.2)设计包含多个计数器的HASH桶数组结构快速地提取抽样后流量的特征。为了记录主干网流量的多个属性,本发明设计了如附图2所示的包含多个计数器的HASH桶数组结构,HASH桶数组结构使用w列d行的二维数组记录特征信息。数组中的每个单元都是一个包含多个计数器的计数桶。该结构可以实现***操作和特征向量提取操作。***操作分为三个步骤:提取数据包的三元组信息(传输层协议、IP、端口)作为key,通过d个hash函数将key散列到每一行的一个计数桶中,对计数桶中相应的计数器进行加1操作。当对应的计数器值满足阈值要求时,通过计算多个特征属性的值来完成特征向量的提取操作。
由于TCP协议和UDP协议的消息结构不同,导致各自的流量特征不同,所以我们针对使用TCP协议和UDP协议的数据包设计了相应的计数器。本发明的一个实例中计数器的描述如表2所示。
表2 对HASH桶数组结构中使用的计数器的描述
为了确定上表2中的数据包长度区间t1-t4、u1-u4,实现准确的分类,本发明将长度接近最大传输单元(Maximum Transmission Unit,MTU)的数据包分成一组,MTU与路径相关且普通路径的MTU在1000到1500字节之间。随后应用最大熵原理根据数据包的长度对长度小于MTU的数据包进行分类。本发明通过获取公共数据集中数据包长度的概率密度函数(Probability Density Function,PDF),发现数据包长度超过1100字节后出现多个数据包长度汇聚点,这些汇聚点可能是某些路径的MTU,因此可以将数据包长度超过1100字节的数据包划分为一个区间。随后本发明使用累积分布函数(Cumulative DistributionFunction,CDF)将长度分布在0到1100字节的数据包进行等分,以获得其他长度区间。本实例中t1到t4分别为(0,83],(83,375],(375,1100]和(1100,1500],u1到u4分别为(0,28],(28,140],(140,1100]和(1100,1500]。根据所得计数器的数值,可以区分双向流和单向流。
本发明的一个实施例中,步骤(3)中,如附图3基于凝聚聚类算法设计一个批量分类器,针对步骤(2)中建立的特征库使用批量分类器实现对未标记的第一部分主干网流量特征数据的聚类并记录分类结果的方法如下:
(3.1)第一步为流量特征的切分:本发明将步骤(2)中第一部分主干网流量提取得到的全部特征分成多块,每块大小取决于当前用户的内存资源。如表3所示,本实例设置了不同块大小进行分类研究,可见在相同条件下,当设置不同的块大小时,批量分类器可以实现与传统AGC相似的分类精度,且批量分类器需要的聚类时间会随着块大小的减小而减少,批量分类器所需聚类时间比传统AGC要少。
表3 不同块大小条件下批量分类器和AGC的分类结果比较
(NoFV表示特征向量的数目,AGC表示传统凝聚聚类算法,结果标记为示未分块)
(3.2)第二步为各块流量的聚类:使用传统的凝聚聚类(AgglomerativeClustering,AGC)算法对每一块中的流量特征数据进行聚类。具体的细节包括分类节点之间相似度的计算、凝聚聚类算法中距离阈值的确定以及同一类中分类节点的合并。
(3.2.1)分类节点之间相似度的计算:使用余弦距离计算分类节点之间的相似度。假设有两个分类节点对应的特征向量为f1=(x1,x2,…,xm)和f2=(y1,y2,…,ym),则使用如下公式(3-1)计算这两个分类节点之间的相似度。
(3.2.2)距离阈值的确定:根据同一类中分类节点有较高的相似性,不同类中的分类节点有较高的相异性的聚类原则,本发明使用式(3-2)来评估批量分类器的性能,分析不同的距离阈值与批量分类器性能之间的关系,从而确定聚类算法中合适的距离阈值。公式(3-2)中的KeyNum代表三元组的总个数,labelNum表示流量特征向量一共聚为labelNum类,nc表示所包含的所有流量特征向量都分配到同一类中的三元组的个数,nd表示类别号不同于其他三元组的三元组个数。公式中的三元组指步骤(2.2)中从数据包中提取的传输层协议、IP和端口。
本实例设置了一系列距离阈值来观察批量分类器的性能。如附图4可以看出,当距离阈值为0.05时聚类效果更好,所以将距离阈值设置为0.05继续后续的批处理分类。
(3.2.3)同一类中分类节点的合并:假设当前聚类结果中的某一类包含n个特征向量,第i个特征向量包含m个属性值{(x1)i,(x2)i,…,(xm)i},本发明使用式(3-3)计算特征向量的平均值得到作为新的分类节点。
(3.3)第三步需要合并步骤(3.2)中每块的聚类结果。假设第i块流量聚类结果中含有N个分类节点,每一个分类节点的信息包括该节点对应的特征向量以及步骤(3.2)中聚类得到的类别号。假设第i块流量一共聚为L类,则对第i块中同一类的分类节点进行聚类得到L个新的分类节点的方法如下:
(3.3.1)定义int型变量k用于表示第k类(1≤k≤L,k为整数)。
(3.3.2)遍历第i块聚类结果中的N个分类节点,将分到第k类的多个分类节点按照公式(3-3)合并为一个新的分类节点。k从1增大至L表示遍历L次第i块的聚类结果,得到L个新的分类节点。
(3.4)第四步为合并后新分类节点的二次聚类:本发明对步骤(3.3)中合并后的新分类节点再次使用传统凝聚聚类算法进行聚类,得到第二次的聚类结果。
(3.5)第五步为最终分类标签的确定:跟踪每个块中初始特征向量的分类轨迹,得到每个初始特征向量的最终类别标签,至此完成所有流量的批量聚类。上述步骤首先是对每一块中分类节点使用凝聚聚类算法进行一次聚类;随后将一次聚类中的聚类结果按照类别进行合并:即每一块中同一类的分类节点求平均值得到一个代表性分类节点;然后将所有块中的代表性分类节点作为分类对象,使用凝聚聚类算法进行二次聚类;最后找到二次聚类的分类标签与一次聚类的分类节点之间的分类映射(即找出一次聚类中的代表性节点在二次聚类结果中分到了哪一类),找到一次聚类的分类标签与全部原始分类节点的分类映射(即原始分类节点在一次聚类结果中分到了哪一类);从而得到每个原始分类节点在二次聚类的最后结果中的分类标签(即原始分类节点在二次聚类结果中最终分到了哪一类)。
本发明的一个实施例中,步骤(4)中,使用随机森林算法对步骤(3.5)得到的批量聚类结果中已标记的特征数据进行模型训练,得到分类模型的方法如下:
(4.1)将步骤(3.5)中得到的已标记特征向量数据按7:3的比例划分为训练集和验证集,用于随机森林分类器的模型训练。
(4.2)使用随机森林分类器针对训练集和验证集进行模型训练,得到分类模型。
进一步,所述步骤(5)中,使用步骤(4)中的分类模型对(1)中未标记的第二部分主干网流量特征数据进行分类的方法如下:
(5.1)使用步骤(2)中后续达到的第二部分主干网流量特征数据作为测试集。
(5.2)使用步骤(4)中得到的分类模型对后续达到的第二部分主干网流量数据进行分类,分析分类结果从而判断后续的网络状态。
本发明的一个实例中,发现在第二部分主干网流量的分类结果中有一个分类精度较低的三元组(TCP,163.61.27.198,80),这一三元组数据的分类变化如附图5,可见在600秒左右,该三元组数据所属类别发生了明显变化。
本实例中提取出该三元组对应的数据包数据,使用Wireshark工具进行分析。如附图6所示TCP重传在600秒后开始增加。随后进一步分析了此三元组的特征数据,发现丢包在大约600秒内显著增加。
上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。
Claims (6)
1.一种基于抽样数据流的高速网络流量分类方法,其特征在于,该方法包括以下步骤:
步骤(1)获取主干网网络流量数据,包括在两个不同时间段获取的两部分主干网流量数据,第一部分主干网流量数据的采集时间早于第二部分主干网流量数据;
步骤(2)结合依序采样和HASH桶数组结构快速提取流量特征向量,建立特征向量库;
步骤(3)基于凝聚聚类算法设计一个批量分类器,针对步骤(2)中建立的特征库使用批量分类器实现对未标记的第一部分主干网流量特征数据的聚类,并记录分类结果;
步骤(4)使用随机森林算法对批量聚类结果中已标记的特征数据进行模型训练,得到分类模型;
步骤(5)使用步骤(4)中的分类模型对(1)中未标记的第二部分主干网流量特征数据进行分类。
2.根据权利要求1所述的一种基于抽样数据流的高速网络流量分类方法,其特征在于,步骤(1)中,获取主干网网络流量数据的方法如下:
(1.1)获取一个在主干网节点持续采集了一段时间得到的包含大量数据包的主干网流量数据集,
(1.2)按时间顺序将数据集中所有数据包按照一定的比例分为第一部分数据和第二部分数据。
3.根据权利要求1所述的一种基于抽样数据流的高速网络流量分类方法,其特征在于,步骤(2)中,建立特征向量库的方法如下:
(2.1)针对步骤(1)中获取的全部数据,首先使用依序抽样方法进行抽样,采用控制变量法,设置一系列抽样比对分类结果进行分析,证明抽样比对分类结果的精确度影响不大;
(2.2)设计包含多个计数器的HASH桶数组结构快速地提取抽样后流量的特征,HASH桶数组结构使用w列d行的二维数组记录特征信息,数组中的每个单元都是一个包含多个计数器的计数桶,该结构实现***操作和特征向量提取操作;***操作分为三个步骤:提取数据包的三元组信息即传输层协议、IP、端口作为key,通过d个hash函数将key散列到每一行的一个计数桶中,对计数桶中相应的计数器进行加1操作,当对应的计数器值满足阈值要求时,通过计算多个特征属性的值来完成特征向量的提取操作。
4.根据权利要求1所述的一种基于抽样数据流的高速网络流量分类方法,其特征在于,步骤(3)中具体实现步骤如下:
(3.1)第一步为流量特征的切分:将步骤(2)中第一部分主干网流量提取得到的全部特征向量分成多块,每块大小取决于当前用户的内存资源;
(3.2)第二步为各块流量的聚类:使用凝聚聚类(Agglomerative Clustering,AGC)算法对每一块中的流量特征数据进行聚类,具体的实现细节包括分类节点之间相似度的计算、凝聚聚类算法中距离阈值的确定以及同一类中分类节点的合并;
(3.2.1)分类节点之间相似度的计算:使用合适的距离公式计算节点之间的相似度;
(3.2.2)距离阈值的确定:根据同一类中分类节点有较高的相似性,不同类中的分类节点有较高的相异性的聚类原则,本发明使用式(1-1)来评估批量分类器的性能,分析不同的距离阈值与批量分类器性能之间的关系,从而确定聚类算法中合适的距离阈值;式(1-1)中的KeyNum代表三元组的总个数,labelNum表示流量特征向量一共聚为labelNum类,nc表示所包含的所有流量特征向量都分配到同一类中的三元组的个数,nd表示类别号不同于其他三元组的三元组个数,公式中的三元组指步骤(2.2)中从数据包中提取的传输层协议、IP和端口;
(3.2.3)同一类中分类节点的合并:假设当前聚类结果中的某一类包含n个特征向量,第i个特征向量包含m个属性值{(x1)i,(x2)i,…,(xm)i},使用式(1-2)计算特征向量的平均值得到作为新的分类节点;
(3.3)第三步需要合并步骤(3.2)中每块的聚类结果,假设第i块流量聚类结果中含有N个分类节点,每一个分类节点的信息包括该节点对应的特征向量以及步骤(3.2)中聚类得到的类别号,假设第i块流量一共聚为L类,则对第i块中同一类的分类节点进行聚类得到L个新的分类节点的方法如下:
(3.3.1)定义int型变量k用于表示第k类(1≤k≤L,k为整数);
(3.3.2)遍历第i块聚类结果中的N个分类节点,将分到第k类的多个分类节点按照公式(1-2)合并为一个新的分类节点,k从1增大至L表示遍历L次第i块的聚类结果,得到L个新的分类节点;
(3.4)第四步为合并后新分类节点的二次聚类:对步骤(3.3)中合并后的新分类节点再次使用传统凝聚聚类算法进行聚类,得到第二次的聚类结果;
(3.5)第五步为最终分类标签的确定:跟踪每个块中初始特征向量的分类轨迹,得到每个初始特征向量的最终类别标签,至此完成所有流量的批量聚类。
5.根据权利要求1所述的一种基于抽样数据流的高速网络流量分类方法,其特征在于,步骤(4)中,使用随机森林算法对步骤(3.5)得到的批量聚类结果中已标记的特征数据进行模型训练,得到分类模型的方法如下:
(4.1)将步骤(3.5)中得到的已标记特征向量数据按一定的比例划分为训练集和验证集,用于随机森林分类器的模型训练;
(4.2)使用随机森林分类器针对训练集和验证集进行模型训练,得到分类模型。
6.根据权利要求1所述的一种基于抽样数据流的高速网络流量分类方法,其特征在于,步骤(5)中,使用步骤(4)中的分类模型对步骤(1)中未标记的第二部分主干网流量特征数据进行分类的方法如下:
(5.1)使用步骤(2)中后续达到的第二部分主干网流量特征数据作为测试集;
(5.2)使用步骤(4)中得到的分类模型对后续达到的第二部分主干网流量数据进行分类。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110414964 | 2021-04-17 | ||
CN2021104149640 | 2021-04-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113794653A CN113794653A (zh) | 2021-12-14 |
CN113794653B true CN113794653B (zh) | 2024-02-06 |
Family
ID=79185322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111302613.7A Active CN113794653B (zh) | 2021-04-17 | 2021-11-04 | 一种基于抽样数据流的高速网络流量分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113794653B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242724B (zh) * | 2022-07-21 | 2024-05-31 | 东南大学 | 一种基于两阶段聚类的高速网络流量服务分类方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848160A (zh) * | 2010-05-26 | 2010-09-29 | 钱叶魁 | 在线检测和分类全网络流量异常的方法 |
CN109067612A (zh) * | 2018-07-13 | 2018-12-21 | 哈尔滨工程大学 | 一种基于增量聚类算法的在线流量识别方法 |
CN112381121A (zh) * | 2020-10-28 | 2021-02-19 | 中国科学院信息工程研究所 | 一种基于孪生网络的未知类别网络流量的检测与识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8737961B2 (en) * | 2009-09-23 | 2014-05-27 | Nokia Corporation | Method and apparatus for incrementally determining location context |
-
2021
- 2021-11-04 CN CN202111302613.7A patent/CN113794653B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848160A (zh) * | 2010-05-26 | 2010-09-29 | 钱叶魁 | 在线检测和分类全网络流量异常的方法 |
CN109067612A (zh) * | 2018-07-13 | 2018-12-21 | 哈尔滨工程大学 | 一种基于增量聚类算法的在线流量识别方法 |
CN112381121A (zh) * | 2020-10-28 | 2021-02-19 | 中国科学院信息工程研究所 | 一种基于孪生网络的未知类别网络流量的检测与识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113794653A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021189730A1 (zh) | 检测异常高密子图的方法、装置、设备及存储介质 | |
CN110290022B (zh) | 一种基于自适应聚类的未知应用层协议识别方法 | |
CN113645232A (zh) | 一种面向工业互联网的智能化流量监测方法、***及存储介质 | |
CN114172688B (zh) | 基于gcn-dl的加密流量网络威胁关键节点自动提取方法 | |
CN106911591A (zh) | 网络流量的分类方法和*** | |
CN111526101A (zh) | 一种基于机器学习的物联网动态流量分类方法 | |
CN113794653B (zh) | 一种基于抽样数据流的高速网络流量分类方法 | |
Liu et al. | Semi-supervised encrypted traffic classification using composite features set | |
Lin et al. | Network traffic classification based on semi-supervised clustering | |
Chung et al. | An effective similarity metric for application traffic classification | |
CN109952743B (zh) | 用于低内存和低流量开销大流量对象检测的***和方法 | |
Yan et al. | Principal Component Analysis Based Network Traffic Classification. | |
CN109450876B (zh) | 一种基于多维度状态转移矩阵特征的DDos识别方法和*** | |
Min et al. | Online Internet traffic identification algorithm based on multistage classifier | |
CN114666273B (zh) | 一种面向应用层未知网络协议的流量分类方法 | |
CN114866301B (zh) | 基于直推图的加密流量识别与分类方法及*** | |
CN115242724B (zh) | 一种基于两阶段聚类的高速网络流量服务分类方法 | |
CN114978593B (zh) | 基于图匹配的不同网络环境的加密流量分类方法及*** | |
CN112187664B (zh) | 一种基于半监督学习的应用流自动分类方法 | |
CN113746707B (zh) | 一种基于分类器及网络结构的加密流量分类方法 | |
CN112367325B (zh) | 基于闭合频繁项挖掘的未知协议报文聚类方法和*** | |
CN113469275A (zh) | 一种以太坊行为流量精细化分类方法 | |
Jiang et al. | P2P traffic identification research based on the SVM | |
CN114006725B (zh) | 一种多层次信息融合的网络攻击态势实时感知方法 | |
Mahmood et al. | A scalable sampling scheme for clustering in network traffic analysis |
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 |