The invention proposes a network traffic classification method based on K_means and KNN fusion algorithm. The framework of this method is to construct a binary classifier for each application protocol, and the output of all classifiers is integrated into the final output by decision rules. The algorithm combines the unsupervised K_means algorithm with the supervised KNN algorithm. In addition, the method also proposes a feature selection algorithm based on K_means iteration. The purpose of this method is to select the features with high separation degree, so as to save time, space and improve the classification effect. The experimental results show that the accuracy and recall rate of the method can reach more than 90% on real traffic data, and the method is more effective than the existing typical traffic classification methods.
【技术实现步骤摘要】
基于K_means和KNN融合算法的网络流量分类方法
本专利技术涉及流量工程、网络安全等领域,具体涉及用于网络流量分类、网络管理、Qos和未登录流量识别。
技术介绍
网络流量分类技术作为众多网络研究课题的基础和支撑技术,正受到越来越多的网络研究工作者和ISPs的关注。在网络安全方面,大量应用程序和网络服务的出现,隐含着各式各样的恶意流量和非法行为,如网络病毒、垃圾邮件、网络攻击等。对网络流量进行正确的分类和识别,不仅能够过滤这些不良信息,也能深入了解当前网络的健康程度,优化、管理指定流量,对互联网起到一定的保护作用,保障网络带宽的质量以及应用服务的正常运行,保障网络环境的绿色、健康。在网络管理方面,网络管理员通过流量分类的结果,可以及时了解管辖网络区域内各种网络应用的变化情况,进而发现网络设备故障、网络拥塞等问题。在Qos方面,P2P、VoIP等新型应用流量已经占据了网络流量的绝大部分,并影响其它应用的正常使用。所以,ISPs迫切的希望能够为各种不同的用户提供不同的网络服务,而几乎所有的Qos策略都依赖于网络流量分类。目前常用的流量识别技术主要有三种模式:基于端口、基于负载、基于流统计特征。由于各种应用在端口的多变性使得基于端口方法具有很大的局限性。而基于负载的方法无法应对负载加密的流量。基于流统计特征的方法可以克服上述方法的缺陷,它是在数据流层面来分类流量,通过使用一些统计特征(包长、包时间间隔等)建立机器学习模型,通过训练模型参数来预测未知流量类别,该方法取得的效果要优于之前两种,所以在业界被广泛研究和使用。在目前这些研究大多使用有监督的机器学习模型( ...
【技术保护点】
1.一种基于K_means和KNN融合算法的网络流量分类方法,该方法构建的框架是针对每一种预先定义的协议类别,构建一个二分类器,多个二分类器的结果由决策规则合并为最终分类结果;每个二分类器的构建采用了K_means和KNN融合算法;还提出了一种基于迭代K_means的特征选择算法用于提取高分离度的特征;该方法具体包括以下步骤:第1步、采集流量数据集;使用的流量涵盖各种应用类别,来源包括网络公开数据集和自己捕获的数据集;将数据集按照相同的五元组分割为数据流,随机选取其中80%为训练集,剩余20%为测试集;第2步、计算流统计特征;使用的特征包括数据流中包总数、字节总数、包长的最大/最小/平均/标准差、包间隔时间的最大/最小/平均/标准差、信息熵等;为避免量纲的影响,将特征进行归一化处理;第3步、利用基于迭代K_means的特征选择算法选取高分离度的特征;以K_means聚类算法为基础,从1维特征空间开始聚类,逐渐向高维合并,以熵值评估聚类效果判断特征能否进入下一轮合并过程,算法收敛后选出的即为最优特征子集;针对每个应用类别,选出各自对应的最优特征子集;第4步、在第3步最优特征子集的基础上, ...
【技术特征摘要】
1.一种基于K_means和KNN融合算法的网络流量分类方法,该方法构建的框架是针对每一种预先定义的协议类别,构建一个二分类器,多个二分类器的结果由决策规则合并为最终分类结果;每个二分类器的构建采用了K_means和KNN融合算法;还提出了一种基于迭代K_means的特征选择算法用于提取高分离度的特征;该方法具体包括以下步骤:第1步、采集流量数据集;使用的流量涵盖各种应用类别,来源包括网络公开数据集和自己捕获的数据集;将数据集按照相同的五元组分割为数据流,随机选取其中80%为训练集,剩余20%为测试集;第2步、计算流统计特征;使用的特征包括数据流中包总数、字节总数、包长的最大/最小/平均/标准差、包间隔时间的最大/最小/平均/标准差、信息熵等;为避免量纲的影响,将特征进行归一化处理;第3步、利用基于迭代K_means的特征选择算法选取高分离度的特征;以K_means聚类算法为基础,从1维特征空间开始聚类,逐渐向高维合并,以熵值评估聚类效果判断特征能否进入下一轮合并过程,算法收敛后选出的即为最优特征子集;针对每个应用类别,选出各自对应的最优特征子集;第4步、在第3步最优特征子集的基础上,利用训练集建立(N+1)分类模型;针对N个应用类别,利用K_means和KNN融合算法构建分类器,判定流量是否属于该应用(即二分类器),所有N个二分类器的分类结果经由决策规则整合为最终分类结果;(N+1)分类模型最终可将流量分到N个预先定义的类别之一以及“未登录”类别中;第5步、在第4步建立分类器之后,使用测试集进行分类准确率和召回率测试,与其他四种现有典型的算法作对比分析。2.根据权利要求1所述的方法,其特征在于第3步所述的基于迭代K_means的特征选择算法,算法中衡量聚类效果的方法是:对任一应用类别,初始时,最优特征子集为空;建立1维的最优特征子集,把总的特征集合中的每一个特征单独拿出来用于K_means聚类,针对每个特征的聚类结果按照公式(1)计算熵值,熵值越小证明簇的纯度越好,即聚类效果越好;选取熵值大于平均熵的特征加入到最优特征子集的候选集,剩下的特征作为无用特征被放弃;针对一次聚类结果C={c1,c2,…ck},簇cj中熵值定义为:其中|A|是分类器要区分的类别数,因为是二分类器所以|A|=2,即属于对应类别和不属于对应类别;Pij表示簇cj属于第i个类别的概率,通过cj中属于第i类的样本的数量与cj中总样本数的比值来得到;整个聚类结果C的熵值E(C)通过k个簇的熵值按簇的大小加权求和得到,如公式(2)所示,其中n为所有样本数,nj为簇cj...
【专利技术属性】
技术研发人员:张玉,邹学强,包秀国,付宁佳,张建忠,
申请(专利权)人:南开大学,国家计算机网络与信息安全管理中心,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。