论文部分内容阅读
随着美国斯诺登事件的出现,我们越来越深刻地认识到网络安全技术的重要性,国家也设立了中央网络安全与信息化领导小组。与此同时,很多研究机构和个人也对网络安全的相关问题进行了深入的研究,并开发了网络流分类、网络入侵检测、网络审计、网络监控与管理等系统来确保整个互联网的稳定性与安全性。然而,这些网络安全维护系统大多是基于软件和X86架构来实现对互联网中数据包的采集,并对采集的特征进行统计和分析,进而通过机器学习模型监测网络状况。这种处理过程会浪费大量的时间,导致整个系统的实时性变得较差,并不适应目前高带宽、高速网络系统。因此,实时网络环境中网络流特征的提取与分析技术是当前研究的热点与关键点。本文分析了国内外对于网络流特征提取技术的研究现状,设计并实现了基于NetFPGA板卡的网络流特征提取系统,并将其应用于高速网络环境中数据的采集与分析。本文首先对网络流特征提取中的关键技术——数据包特征提取、IP流匹配以及网络流超时等问题进行了深入的研究,在此基础上提出了基于NetFPGA的网络流特征提取系统整体架构。为了实现IP流匹配的实时性,需要优化流匹配算法,以满足O(1)的时间复杂度要求。因此,本文分别使用了Bob Jenkins的lookup3哈希算法和CRC16哈希算法,并采用双端口RAM相结合的方式实现对IP流的实时特征匹配。并对这两种算法的性能进行比较,证明它们能够满足网络流实时匹配需求。针对网络中的流超时问题,本文提出了一种高效的流表管理策略及时清除存储空间中的超时流,实现对存储空间流表的动态管理。最后对基于NetFPGA的网络流特征提取系统进行了详细的仿真与测试,验证了整个系统功能的正确性;并基于实时捕获的网络数据对整个系统的性能进行测试,结果证明该系统可以实现对高速网络环境中网络流特征的准确提取。