论文部分内容阅读
随着互联网的发展,越来越多的新型应用应运而生,在方便人们使用时,也使得带宽资源分配不合理;同时互联网的开放性使得各种垃圾应用与病毒对网络环境造成威胁。为了解决这些问题,需要对网络进行有效的监督和管理,增强网络可控性,保障网络安全与服务质量。而网络流量分类技术作为带宽管理、信息安全、内容审计等方面的关键技术之一,可以帮助研究人员了解网络流量分布、允许网络运营商优先传输重要数据、识别计算机病毒、预防并阻止网络犯罪行为的发生。因此,网络流量分类技术已成为研究热点。 本文采用斯坦福大学开发的NetFPGA平台,运用软硬结合的方式,在网卡端实现基于深度包检测的流量分类技术,以解决当前分类技术速度慢、低吞吐率的问题。根据正则表达式匹配原理,首先分析多个表达式之间相关性,设定重组膨胀率与组合状态数上限,消除冗余状态数,完成了多个表达式的重组工作;针对表达式自身结构,设定状态数增长率参数,完成了表达式结构优化工作,解决歧义匹配;分析三种扫描算法的优缺点,结合One-Pass扫描算法,实现了报文匹配方式的改进。其次分析Wireshark抓取的数据包信息与L7-fliter特征库,总结典型应用的特性并通过正则表达式进行描述,提供特征集。最后根据NetFPGA特点,在数据通道的输入仲裁模块与输出端口查询模块间插入了自定义分类架构,实现网络报文的应用层信息提取,并根据维护在SRAM中的正则表达式状态转移表,实现了应用层协议特征的匹配与标识,达到高速分类的效果。 实验结果表明,改进的正则表达式算法在 D FA状态总数与匹配时间消耗上都达到一个合理的范围。基于 NetFPGA实现的分类技术,在吞吐率方面远远高于现有软件实现的分类技术,协议匹配精度也较高。