论文部分内容阅读
对网络流量按照应用进行分类是一项重要任务,可以使用分类结果来规划和设计高效的网络,并预测应用的发展趋势。然而,基于端口号的流量分类方法由于多种新型应用的出现,其准确度大不如从前;基于数据包负载分析的方法尽管准确度很高,但其复杂度过大且涉及用户隐私;基于机器学习的方法种类繁多,不易选择且复杂度较大;基于传输层特征的方法一般通过大量的参数在流级上进行分类,并未站在主机交互的角度分析流量,从而忽略了有一些有用信息。Thomas Karagiannis在ACM SIGCOMM上提出的BLINC (BlindClassification,盲分类)方法利用不同的网络应用在传输层子图连接模式的差异来划分网络流量,得到了较好的分类效果。该方法和其他方法相比最主要的特点是不使用数据包的负载内容,通过分析主机之间的交互来揭示应用的本质特征,具有良好的可扩展性。通过调节一系列阈值参数,该方法能对80%-90%的流量作出分类,且准确度高达95%以上。但是,BLINC方法只是简单地罗列了其中一部分子图模式,并没有给出每个模式的具体分析构造过程,也没有给出具体的算法流程。此外,BLINC方法使用的子图都是以源节点为核心的,分类的准确度很高但完整度较低。本文针对以上问题,做出的工作主要如下:第一,对Attack、Web、Spam-Filter、Game、NM(Network Management,网络管理)、Chat、Mail、Streaming、FTP、DNS、P2P这十一种应用的主机交互行为一个一个地进行了详细分析,给出了它们以源节点为核心的子图模式和各自的特点,并且对一些较相似的子图模式作了启发式区别分析。以BLINC方法为基础,提出了使用以源节点为核心的子图模式进行匹配的分类算法,并利用该算法对大型网络中四种传统应用Web、DNS、Mail、FTP和一种新型应用P2P分别进行分类性能验证,实验结果表明,分类的准确度很高但完整度较低。第二,针对以源节点为核心的子图方法对大型网络的分类完整度较低这一问题,本文通过理论分析,提出可以把以目的节点为核心的子图模式和端口分析二者补充应用于原始的分类算法。同样地,通过对上述十一种应用的工作原理分析,最终总结出了它们各自对应的以目的节点为核心的子图模式和特点。第三,提出了把以源节点为核心的子图模式、以目的节点为核心的子图模式和端口分析三者结合起来的分类算法,并使用该算法在同样的阈值条件下对同一组Web、DNS、Mail、FTP、P2P流量数据进行分类并验证性能,实验结果表明,后者相较前者而言在准确度方面变化不大,但完整度有明显提高。第四,实现了基于子图模式的流量分类软件。该软件由数据输入输出模块、分类算法模块和GUI显示交互模块三部分组成,提供了友好的界面和丰富的交互,大大方便了用户对流量数据进行分析和分类。