网络流量分类是鉴别网络报文分组的应用类别的过程。应用类别一般可划分为WWW、P2P(包括BitTorrent、PPLive、Emule等)、E-mail、FTP等。网络流量分类处理对象可以直接对每个报文分组进行检测并识别出相应的应用类别,也可以以“流”为单位进行分类,“流”是具有相同五元组(源IP、目的IP、源端口、目的端口、传输层协议)的报文分组序列。在现代网络管理中,对网络流量进行精细化管理的需求推动着网络流量分类技术的研究发展。
传统网络流量分类方法
基于端口号映射方法
基于端口号映射的方法是根据IANA的端口映射表,将常用的主要应用进行端口映射,如:FTP-Data(20)、Telnet(23)、SMTP(25)、DNS(53)、HTTP(80)等。另外,对于P2P流量,虽然其广泛使用动态端口号,但是仍然可以采用一些P2P 终端软件所常用的端口号映射方法去分类P2P网络流量。
动态端口号的广泛使用以及应用软件端口伪造,基于端口号映射的流量分类方法逐渐失效,不过该分类方法简单且快速,而且端口作为一个网络流量的重要属性,在其他分类方法中依然是一个重要分类属性。
基于报文载荷特征字段方法
基于报文载荷特征字段匹配的方法,不同应用的报文载荷承载不同的特征字段信息,在建立特征字段内容与网络应用的对应关系后,通过特征字段匹配可对报文流量进行准确分类。该方法曾经能够准确识别大部分网络应用,目前仍为大多数商用系统所采用,但是随着载荷加密混淆技术的普及、应用软件的发展,不一定能提取到合适的特征字段,而且随网络流量的增大,处理性能也越来越难以满足需求。
机器学习网络流量分类方法
有监督机器学习方法
有监督机器学习方法通过样本的先验类别信息数据集训练分类模型,然后对未知数据集进行分类。Roughan等人首次使用K近邻、线性判别式分析和二次判别式分析等三种监督类机器学习算法对网络流量进行粗略分类。Zuev和Moore提出基于概率模型的朴素贝叶斯方法。该方法要求参与分类的各属性条件独立且服从高斯分布。为了避开条件独立和高斯分布假设,Moore等人采用FCBF算法对属性集合进行过滤,并使用核评估技术对朴素贝叶斯方法进行改进得到NBK分类算法。他们的实验结果使分类模型的整体准确率达到95%以上。为了进一步提高分类模型的准确性和稳定性,Auld等人又提出基于贝叶斯方法的神经网络模型,该方法不仅将分类准确率提高到99%,而且能够以95%的准确率分类8个月以后的网络流量。
该方法有比较完整的理论依据,但受限于训练样本集中的所有样本都需要进行预标记,类别标记过程开销较大,分类模型的可扩展性和稳定性受到影响。
无监督机器学习方法
无监督机器学习方法无需提供样本的先验类别信息,先对数据完成聚类,再进行从“簇”(Cluster)到流量类别的映射。2004年McGregor等人首次提出使用最大似然估计算法将流量聚簇映射到不同的网络应用类别。随后Zander等人分析得到最大似然估计算法会陷入局部最优的情况,因此改进得到AutoClass聚类方法,他们的实验结果表明流量分类模型整体准确率达到87%。Erman等人对K均值、DBSCAN和AutoClass三种聚类算法进行对比和分析,分析结果表明,AutoClass算法的训练时间较长,但整体分类准确率最高;K 均值算法的训练时间较短,但整体分类准确率最低;DBSCAN算法的计算性能和分类效果居中,这种算法不仅能够有效排除噪声干扰,而且还能够将大量的网络流汇聚在少数几个大簇中,具有良好的可扩展性。随后Erman等人又将AutoClass算法与有监督朴素贝叶斯方法进行详细的比较分析,结果表明AutoClass的整体分类准确率略高于朴素贝叶斯的分类结果,可达到91.19%,不过AutoClass算法的训练时间远远大于朴素贝叶斯方法。在Bernaille等人提出的实时流量分类模型中采用K均值、高斯混合模型和谱聚类三种无监督分类方法,实验结果表明,这些聚类算法不仅能够以超过90%的准确率有效分类知名网络流量,而且能够以60%的概率发现新型网络应用。
该方法无需对训练集进行预标识,“簇”的个数与“类”的个数基本不存在一对一的关系,难以达到有监督分类方法的分类性能;运用“簇”与“类”之间的概率倾向来进行映射,但这种概率倾向并非一定存在;最终判断“簇”内样本的类别仍然需要手工标识。目前无监督分类方法的优势更注重表现在网络新应用发现及流量聚类方面。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。