论文部分内容阅读
随着千兆网络时代的到来,传统的报文捕获机制已经成为整个系统的性能瓶颈。最近几年,点对点(Peer-to-Pecr,P2P)应用的快速增长,极大地消耗了有限的网络资源,是导致网络带宽不够用的主要原因,如何对P2P流量进行有效的识别和控制就显得相当重要了。为了能够在高速网络中可以迅速地捕获数据包并对其进行有效分析和准确识别,需要对现有的数据包捕获技术和网络流量分类识别系统进行重新的设计和定位,而基于机器自学习的深度流检测(Deep Flow Inspection,DFI)系统可以有效的识别出采用动态端口和加密协议的网络流。DFI分类识别系统对网络流的识别准确率主要取决于它的学习和训练样本,因此本文主要研究如何在高速网络中获得有效的网络流量特征数据集,并对其进行有效的特征选择,去除冗余和类别标签不相关的特征,达到降低向量的空间维度和计算复杂度,提高DFI系统的分类准确率。具体研究内容和主要工作如下:
研究了基于深度包检测(Deep Packet Inspection,DPI)和DFI的流量识别技术。首先论述了DPI的工作原理、主要实现技术和系统的主要功能。其次研究并阐述了支持向量机(SupportVector Machine,SVM)及机器学习的基本原理和如何用SVM进行分类。最后得到了DFI流量识别的基本方法。
研究了基于Linux的底层数据包捕获系统。首先详细论述了Linux的内核模块机制和传统的数据包捕获方法。其次提出了千兆网络环境下高速捕获数据包的方法和系统框架,该系统主要涉及三个部分:修改的网卡驱动程序、构建虚拟用户捕获设备(Virtual User KernelModule,VUKM)模块和协议分析接口。修改的网卡驱动主要使到达网卡的数据包绕过内核的协议栈,转交给VUKM模块处理;VUKM模块作用是实现用户空间的应用程序和内核空间的程序共享内存;协议分析接口提供上层协议分析子系统与底层数据捕获系统的接口,为上层应用程序和网卡无冲突地访问VUKM模块提供一种机制。最后得到通过网卡并由底层数据包捕获系统捕获的原始数据包。
研究了DFI的样本获取。首先研究了特征选择的基本理论。其次给出了对数据特征集进行处理的方法,设计了Filter模块和Wrapper模块。基于ReliefF算法的Filter模块可以处理多类分类问题和去除大量不相关的特征,基于SFS算法的Wrapper模块,可以有效的选择出DFI分类器需要的样本。最后得到了DFI训练和学习需要的最优特征集。
文章最后在OfficeTen3800的硬件平台下,测试了QQ、PPLive、飞信和BT登录产生的网络流量,分析了获得的样本,得到了最优特征子集。并对全文工作进行了总结和展望。