论文部分内容阅读
如今,计算机网络技术的迅速发展带来了一些问题和挑战。例如:网络带宽资源越来越紧俏,网络中的异常流量对网络安全和QoS管理带来了巨大的威胁等。为了解决这一系列的问题,研究者们提出了网络流量调度、网络容量规划、QoS调度等解决方案。然而,上述解决方案的实现都需要一个基础性的核心步骤,就是网络流量分类。利用机器学习方法处理流量分类问题成为当前网络测量领域的一个研究热点。虽然基于机器学习的流量分类方法目前的理论算法研究较多,但是在实时在线分类方面的研究还不够成熟,有待进一步探索。本文提出了一种基于FPGA的网络流量在线分类方法并实现了一个基于NetFPGA平台的网络流量实时在线分类系统,理论上的创新点有以下三点:第一,提出一种基于编码的决策树数据结构转换策略。方法中以决策树算法为基础,将训练形成的决策树数据结构转化成另外一种基于编码的数据结构,这种数据结构非常适合于并行查找,因此适合于硬件实时实现。第二,提出一种并行查找决策树的策略。基于所形成的编码数据结构,提出一种并行查找决策树的策略,在没有其他读写信号的情况下,仅仅需要两个时钟周期即可以完成查找过程。第三,提出一种特征选择方法。该特征选择方法结合了利用数据流头部数据包的单个包特征的思想和传统的特征筛选算法,使得筛选出的特征有以下优点:a)适合于硬件实时提取;b)数量较少;c)分类准确率依然可以保证较高数值。为了验证本文所提出的分类方法的可行性和正确性,本文设计并实现了一种基于NetFPGA2.1平台的网络流量实时在线分类系统。并对分类系统的结果数据进行了测试分析。经过实验验证,在选择合适的特征筛选算法的前提下,基于提取数据流头部10个数据包特征的思想,该流量分类系统的准确率可以达到97%以上。在NetFPGA2.1平台上,流量分类系统的吞吐率可以达到1Gbit/s,并且,我们可以预见,该流量分类系统的设计思想可以很容易地扩展到NetFPGA-10G平台上以达到10Gbit/s的吞吐率。总之,本文所实现的网络流量在线分类系统的数据包吞吐率高、分类准确率高、分类稳定性好。本文的研究成果对于网络流量实时在线分类的研究具有十分重要的意义和贡献。