● 摘要
近几年,Internet通信无论是在流量还是在应用类型方面,都保持着飞速增长。同时,音频、视频以及其它实时应用的加入,更是从根本上改变了人们对于Internet的使用方式。如何认识网络系统的统计特性,以便为不同的应用提供不同级别的服务质量保证,更好的对网络进行管理,是网络流量分析中急需解决的问题。网络流量分类与应用识别为IP网络工程、管理和监控等关键领域提供了重要依据,同时也成为研究各种流的特征及相应用户行为的重要手段。本文通过深入分析和研究网络流量分类的发展及有关机器学习方法的研究成果,明确了传统的网络流量分类方法中存在的问题,并提出从网络流量的微观角度和统计特性出发,针对不同的应用分析其流特性,描述相应应用的流的统计特征,利用机器学习的方法建立不同应用的分类模型,进而对未知的流量进行分类。论文的主要工作如下:研究并总结了网络流量分类方法的现状,指出了传统流量分类方法的不足,并结合项目的实际需求,引入了基于机器学习的方法进行网络流量分类。本文采用K-means方法进行学习训练,并在此基础上设计了基于机器学习的网络流量分类系统的体系结构。提出了半监督的网络流量分类方法。半监督的方法仅利用流的统计特征,由应用类型已知和未知的流(Flow)混合进行训练,并采用概率映射法实现簇到应用类型的映射,构建分类模型。引入了基于相关性的特征子集选择方法和对数变换对训练数据进行预处理。通过特征选择删除冗余和不相关特征属性,降低学习问题的复杂性;采用对数变换去除异常和噪声点的影响,从而获得更好的分析和预测结果。设计并实现了基于机器学习的网络流量分类系统。该系统由三部分组成:网络流量采集、流量预处理、学习和评估。网络流量采集器捕获网络数据包;流量预处理完成由分组到流的聚合,并计算描述流的统计特征;学习和评估过程首先进行特征子集选择,然后采用K-means方法进行学习,获得流量分类模型,并评估分类模型的有效性。利用剑桥大学公开的流量数据集进行学习训练,验证了方法改进前后的有效性。并且通过和其他的流量分类方法相比较,证明了本文所采用的方法的优势。同时,通过分析从校园网截获的数据包,验证本文流量分类系统对校园网流量进行分类的有效性。